(font-lock-add-keywords): In case font-lock was only

half-activated, forcefully activate it completely.
This commit is contained in:
Stefan Monnier 2007-06-11 21:57:11 +00:00
parent 3a07a00bbf
commit 72fa3278be
3 changed files with 13 additions and 26 deletions

View file

@ -36,32 +36,6 @@ to the hack introduced on 2005-07-01 to fix some other Cleartype problem.
* BUGS
** hi-lock-mode doesn't always turn on font-lock-mode-internal
From: Alan Mackenzie <acm@muc.de>
Subject: hi-lock-mode doesn't work with emacs -Q.
Message-ID: <20070607092651.GA1710@muc.de>
Start emacs -Q. (Emacs 22.1, of course). Visit a new file with:
C-x C-f foo.txt
. Type this:
This file is foo.txt.
. Enable hi-lock-mode and make "foo" a highlightable pattern:
M-x hi-lock-mode
C-x w h foo<CR><CR> ; accept the default hi-yellow face.
. This highlights the "foo" yellow, as expected. At the end of the
line, type:
foo
. This new "foo" doesn't get highlighted. It should be.
* FIXES FOR EMACS 22.2
Here we list small fixes that arrived too late for Emacs 22.1, but

View file

@ -1,3 +1,8 @@
2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
* font-lock.el (font-lock-add-keywords): In case font-lock was only
half-activated, forcefully activate it completely.
2007-06-11 Richard Stallman <rms@gnu.org>
* cus-edit.el (custom-variable-type): Doc fix.

View file

@ -698,6 +698,14 @@ see the variables `c-font-lock-extra-types', `c++-font-lock-extra-types',
;; contain the new keywords.
(font-lock-update-removed-keyword-alist mode keywords how))
(t
(when (and font-lock-mode
(not (or font-lock-keywords font-lock-defaults)))
;; The major mode has not set any keywords, so when we enabled
;; font-lock-mode it only enabled the font-core.el part, not the
;; font-lock-mode-internal. Try again.
(font-lock-mode -1)
(set (make-local-variable 'font-lock-defaults) '(nil t))
(font-lock-mode 1))
;; Otherwise set or add the keywords now.
;; This is a no-op if it has been done already in this buffer
;; for the correct major mode.