]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/whitespace.el (whitespace-font-lock-keywords): Change description.
authorDmitry Gutov <dgutov@yandex.ru>
Tue, 19 Mar 2013 05:06:49 +0000 (09:06 +0400)
committerDmitry Gutov <dgutov@yandex.ru>
Tue, 19 Mar 2013 05:06:49 +0000 (09:06 +0400)
(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
lisp/whitespace.el

index 85e89566b4dbc993da7800cddb1015be0c2f2afa..a64703c3d2475513c82883893e562d8f140f0841 100644 (file)
@@ -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  <sdl.web@gmail.com>
 
index 382d6f482e2f353f61ceba6efc4ffae475dd2083..0346d17954acbbf741e2e6e968f671823b7c1929 100644 (file)
@@ -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)))