diff options
author | Eli Zaretskii <eliz@gnu.org> | 2001-12-21 19:31:06 +0000 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2001-12-21 19:31:06 +0000 |
commit | 066d7e2e7208455b69d51f3558effb0652c59edb (patch) | |
tree | 45dd3675b12aa3ba8a65825fca1ba76d9ebe7fa5 /lisp/info.el | |
parent | 4dcd20ec59ac274c4b800c026aa38c437a305844 (diff) | |
download | emacs-066d7e2e7208455b69d51f3558effb0652c59edb.tar.gz |
(Info-fontify-node): Remove any local-map text properties left
over from past visits to this node.
Diffstat (limited to 'lisp/info.el')
-rw-r--r-- | lisp/info.el | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/lisp/info.el b/lisp/info.el index cc90027a77f..f1a4621fb9d 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -2578,8 +2578,15 @@ the variable `Info-file-list-for-emacs'." ;; Only fontify the node if it hasn't already been done. [We pass in ;; LIMIT arg to `next-property-change' because it seems to search past ;; (point-max).] - (unless (< (next-property-change (point-min) nil (point-max)) - (point-max)) + (unless (and (< (next-property-change (point-min) nil (point-max)) + (point-max)) + ;; But do put the text properties if the local-map property + ;; is inconsistent with Info-use-header-line's value. + (eq + (= (next-single-property-change + (point-min) 'local-map nil (point-max)) + (point-max)) + (null Info-use-header-line))) (save-excursion (let ((buffer-read-only nil) (case-fold-search t)) @@ -2610,8 +2617,14 @@ the variable `Info-file-list-for-emacs'." (let ((keymap (make-sparse-keymap))) (define-key keymap [header-line down-mouse-1] fun) (define-key keymap [header-line down-mouse-2] fun) - (put-text-property tbeg nend 'local-map keymap)))) - ))))) + (put-text-property tbeg nend 'local-map keymap))))) + (if (not Info-use-header-line) + ;; In case they switched Info-use-header-line off + ;; in the middle of an Info session, some text + ;; properties may have been left lying around from + ;; past visits of this node. Remove them. + (remove-text-properties tbeg nend '(local-map nil))) + )))) (goto-char (point-min)) (while (re-search-forward "\n\\([^ \t\n].+\\)\n\\(\\*+\\|=+\\|-+\\|\\.+\\)$" nil t) |