]> git.eshelyaron.com Git - emacs.git/commitdiff
* font-lock.el (font-lock-refresh-defaults): New function, which
authorTassilo Horn <tassilo@member.fsf.org>
Mon, 28 Dec 2009 19:34:10 +0000 (20:34 +0100)
committerTassilo Horn <tassilo@member.fsf.org>
Mon, 28 Dec 2009 19:34:10 +0000 (20:34 +0100)
can be used to let font-lock react to external changes in
variables like font-lock-defaults and keywords.
See http://thread.gmane.org/gmane.emacs.devel/118777/focus=118802

lisp/ChangeLog
lisp/font-lock.el

index a454f1327332928a85604926519cc85971c841d0..236f2fe35ad272506b125e7d0dd968a54d2ef29a 100644 (file)
@@ -1,3 +1,10 @@
+2009-12-28  Tassilo Horn  <tassilo@member.fsf.org>
+
+       * font-lock.el (font-lock-refresh-defaults): New function, which
+       can be used to let font-lock react to external changes in
+       variables like font-lock-defaults and keywords.
+       See http://thread.gmane.org/gmane.emacs.devel/118777/focus=118802
+
 2009-12-28  Dan Nicolaescu  <dann@ics.uci.edu>
 
        * vc-rcs.el (vc-rcs-register): Fix registering a specific version.
index 95d061b3024ea3dc96d342c6c8332b053b18d7f8..c2fd86ed726890f36be2ed51357af62ef9190bce 100644 (file)
@@ -1767,6 +1767,23 @@ A LEVEL of nil is equal to a LEVEL of 0, a LEVEL of t is equal to
 
 (defvar font-lock-set-defaults nil)    ; Whether we have set up defaults.
 
+(defun font-lock-refresh-defaults ()
+  "Restart fontification in current buffer after recomputing from defaults.
+Recompute fontification variables using `font-lock-defaults' (or,
+if nil, using `font-lock-defaults-alist') and
+`font-lock-maximum-decoration'.  Then restart fontification.
+
+Use this function when you have changed any of the above
+variables directly.
+
+Note: This function will erase modifications done by
+`font-lock-add-keywords' or `font-lock-remove-keywords', but will
+preserve `hi-lock-mode' highlighting patterns."
+  (let ((hi-lock--inhibit-font-lock-hook t))
+    (font-lock-mode -1))
+  (kill-local-variable 'font-lock-set-defaults)
+  (font-lock-mode 1))
+
 (defvar font-lock-mode-major-mode)
 (defun font-lock-set-defaults ()
   "Set fontification defaults appropriately for this mode.