;;;; Internal functions
-(defvar whitespace-font-lock-mode nil
- "Used to remember whether a buffer had font lock mode on or not.")
-
-(defvar whitespace-font-lock nil
- "Used to remember whether a buffer initially had font lock on or not.")
-
(defvar whitespace-font-lock-keywords nil
"Used to save the value `whitespace-color-on' adds to `font-lock-keywords'.")
;; prepare local hooks
(add-hook 'write-file-functions 'whitespace-write-file-hook nil t)
;; create whitespace local buffer environment
- (set (make-local-variable 'whitespace-font-lock-mode) nil)
- (set (make-local-variable 'whitespace-font-lock) nil)
(set (make-local-variable 'whitespace-font-lock-keywords) nil)
(set (make-local-variable 'whitespace-display-table) nil)
(set (make-local-variable 'whitespace-display-table-was-local) nil)
(defun whitespace-color-on ()
"Turn on color visualization."
(when (whitespace-style-face-p)
- (unless whitespace-font-lock
- (setq whitespace-font-lock t))
;; save current point and refontify when necessary
(set (make-local-variable 'whitespace-point)
(point))
nil)
(add-hook 'post-command-hook #'whitespace-post-command-hook nil t)
(add-hook 'before-change-functions #'whitespace-buffer-changed nil t)
- ;; turn off font lock
- (set (make-local-variable 'whitespace-font-lock-mode)
- font-lock-mode)
- (font-lock-mode 0)
;; Add whitespace-mode color into font lock.
(setq
whitespace-font-lock-keywords
(whitespace-space-after-tab-regexp 'space)))
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)))
+ (font-lock-fontify-buffer)))
(defun whitespace-color-off ()
"Turn off color visualization."
;; turn off font lock
(when (whitespace-style-face-p)
- (font-lock-mode 0)
(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-remove-keywords nil whitespace-font-lock-keywords)
- ;; restore original font lock state
- (font-lock-mode whitespace-font-lock-mode)))
+ (font-lock-fontify-buffer)))
(defun whitespace-trailing-regexp (limit)