diff lisp/font-lock.el @ 67903:a57273fb71d3

(font-lock-compile-keywords): Signal an error when font-lock-set-defaults hasn't been called.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 30 Dec 2005 04:38:52 +0000
parents f2537ba84319
children 8ebf91fa890e c69d44922688
line wrap: on
line diff
--- a/lisp/font-lock.el	Fri Dec 30 04:10:29 2005 +0000
+++ b/lisp/font-lock.el	Fri Dec 30 04:38:52 2005 +0000
@@ -1507,6 +1507,13 @@
 `font-lock-keywords' doc string.
 If REGEXP is non-nil, it means these keywords are used for
 `font-lock-keywords' rather than for `font-lock-syntactic-keywords'."
+  (if (not font-lock-set-defaults)
+      ;; This should never happen.  But some external packages sometimes
+      ;; call font-lock in unexpected and incorrect ways.  It's important to
+      ;; stop processing at this point, otherwise we may end up changing the
+      ;; global value of font-lock-keywords and break highlighting in many
+      ;; other buffers.
+      (error "Font-lock trying to use keywords before setting them up"))
   (if (eq (car-safe keywords) t)
       keywords
     (setq keywords