;;; hi-lock.el --- minor mode for interactive automatic highlighting -*- lexical-binding: t -*-
-;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2016 Free Software Foundation, Inc.
;; Author: David M. Koppelman <koppel@ece.lsu.edu>
;; Keywords: faces, minor-mode, matching, display
(See `font-lock-keywords'.) They may be edited and re-loaded with \\[hi-lock-find-patterns],
any valid `font-lock-keywords' form is acceptable. When a file is
loaded the patterns are read if `hi-lock-file-patterns-policy' is
- 'ask and the user responds y to the prompt, or if
+ `ask' and the user responds y to the prompt, or if
`hi-lock-file-patterns-policy' is bound to a function and that
function returns t.
(setq hi-lock-archaic-interface-message-used t)
(if hi-lock-archaic-interface-deduce
(global-hi-lock-mode hi-lock-mode)
- (warn
+ (warn "%s"
"Possible archaic use of (hi-lock-mode).
Use (global-hi-lock-mode 1) in .emacs to enable hi-lock for all buffers,
use (hi-lock-mode 1) for individual buffers. For compatibility with Emacs
;; Make `face' the next one to use by default.
(when (symbolp face) ;Don't add it if it's a list (bug#13297).
(add-to-list 'hi-lock--unused-faces (face-name face))))
- (font-lock-remove-keywords nil (list keyword))
+ ;; FIXME: Calling `font-lock-remove-keywords' causes
+ ;; `font-lock-specified-p' to go from nil to non-nil (because it
+ ;; calls font-lock-set-defaults). This is yet-another bug in
+ ;; font-lock-add/remove-keywords, which we circumvent here by
+ ;; testing `font-lock-fontified' (bug#19796).
+ (if font-lock-fontified (font-lock-remove-keywords nil (list keyword)))
(setq hi-lock-interactive-patterns
(delq keyword hi-lock-interactive-patterns))
(remove-overlays