Mercurial > emacs
changeset 42243:7a61cd1024b8
(Info-fontify-node): Remove any local-map text properties left
over from past visits to this node.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Fri, 21 Dec 2001 19:30:00 +0000 |
parents | 7323f184dab6 |
children | 4858d64534cf |
files | lisp/info.el |
diffstat | 1 files changed, 17 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/info.el Fri Dec 21 18:38:52 2001 +0000 +++ b/lisp/info.el Fri Dec 21 19:30:00 2001 +0000 @@ -2578,8 +2578,15 @@ ;; 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 @@ (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)