(font-lock-add-keywords): In case font-lock was only
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 11 Jun 2007 21:57:11 +0000 (21:57 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 11 Jun 2007 21:57:11 +0000 (21:57 +0000)
half-activated, forcefully activate it completely.

admin/FOR-RELEASE
lisp/ChangeLog
lisp/font-lock.el

index fe226fc..0f8bd0c 100644 (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
index f5b63f3..41c902b 100644 (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.
index c826a5f..265cc4b 100644 (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.