From 7ec31b02ef777b3174ca5be807d2987c69f061cd Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Tue, 19 Mar 2013 09:06:49 +0400 Subject: [PATCH] * lisp/whitespace.el (whitespace-font-lock-keywords): Change description. (whitespace-color-on): Don't save `font-lock-keywords' value, save the constructed keywords instead. (whitespace-color-off): Use `font-lock-remove-keywords'. Fixes: debbugs:13817 --- lisp/ChangeLog | 4 ++++ lisp/whitespace.el | 18 ++++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 85e89566b4d..a64703c3d24 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -2,6 +2,10 @@ * whitespace.el (whitespace-color-on): Use `prepend' OVERRIDE value for `whitespace-line' face (Bug#13875). + (whitespace-font-lock-keywords): Change description. + (whitespace-color-on): Don't save `font-lock-keywords' value, save + the constructed keywords instead. + (whitespace-color-off): Use `font-lock-remove-keywords' (Bug#13817). 2013-03-19 Leo Liu diff --git a/lisp/whitespace.el b/lisp/whitespace.el index 382d6f482e2..0346d17954a 100644 --- a/lisp/whitespace.el +++ b/lisp/whitespace.el @@ -1868,7 +1868,7 @@ cleaning up these problems." "Used to remember whether a buffer initially had font lock on or not.") (defvar whitespace-font-lock-keywords nil - "Used to save locally `font-lock-keywords' value.") + "Used to save the value `whitespace-color-on' adds to `font-lock-keywords'.") (defconst whitespace-help-text @@ -2158,9 +2158,7 @@ resultant list will be returned." "Turn on color visualization." (when (whitespace-style-face-p) (unless whitespace-font-lock - (setq whitespace-font-lock t - whitespace-font-lock-keywords - (copy-sequence font-lock-keywords))) + (setq whitespace-font-lock t)) ;; save current point and refontify when necessary (set (make-local-variable 'whitespace-point) (point)) @@ -2179,8 +2177,8 @@ resultant list will be returned." font-lock-mode) (font-lock-mode 0) ;; Add whitespace-mode color into font lock. - (font-lock-add-keywords - nil + (setq + whitespace-font-lock-keywords `( ,@(when (memq 'spaces whitespace-active-style) ;; Show SPACEs. @@ -2257,8 +2255,8 @@ resultant list will be returned." ((memq 'space-after-tab::space whitespace-active-style) ;; Show SPACEs after TAB (TABs). (whitespace-space-after-tab-regexp 'space))) - 1 whitespace-space-after-tab t)))) - t) + 1 whitespace-space-after-tab t))))) + (font-lock-add-keywords nil whitespace-font-lock-keywords t) ;; Now turn on font lock and highlight blanks. (font-lock-mode 1))) @@ -2271,8 +2269,8 @@ resultant list will be returned." (remove-hook 'post-command-hook #'whitespace-post-command-hook t) (remove-hook 'before-change-functions #'whitespace-buffer-changed t) (when whitespace-font-lock - (setq whitespace-font-lock nil - font-lock-keywords whitespace-font-lock-keywords)) + (setq whitespace-font-lock nil)) + (font-lock-remove-keywords nil whitespace-font-lock-keywords) ;; restore original font lock state (font-lock-mode whitespace-font-lock-mode))) -- 2.39.2