summaryrefslogtreecommitdiff
path: root/lisp/whitespace.el
diff options
context:
space:
mode:
authorDmitry Gutov <dgutov@yandex.ru>2013-03-19 09:06:49 +0400
committerDmitry Gutov <dgutov@yandex.ru>2013-03-19 09:06:49 +0400
commit7ec31b02ef777b3174ca5be807d2987c69f061cd (patch)
tree9f2974e7f2958b1b140307703cbf6fa72caad031 /lisp/whitespace.el
parentbad98418bf75efc6dd8ac393157413bc6ef769b4 (diff)
downloademacs-7ec31b02ef777b3174ca5be807d2987c69f061cd.tar.gz
* 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
Diffstat (limited to 'lisp/whitespace.el')
-rw-r--r--lisp/whitespace.el18
1 files changed, 8 insertions, 10 deletions
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)))