]> code.delx.au - gnu-emacs/blobdiff - lisp/jit-lock.el
(fancy-about-text): New variable.
[gnu-emacs] / lisp / jit-lock.el
index 612641d095485962f2ba271fe197e8cdd684a0a7..d32f150058f27269e9bf8c2b6fc2fae1e35211e6 100644 (file)
@@ -1,7 +1,7 @@
 ;;; jit-lock.el --- just-in-time fontification
 
 ;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006 Free Software Foundation, Inc.
+;;   2005, 2006, 2007 Free Software Foundation, Inc.
 
 ;; Author: Gerd Moellmann <gerd@gnu.org>
 ;; Keywords: faces files
@@ -10,7 +10,7 @@
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
+;; the Free Software Foundation; either version 3, or (at your option)
 ;; any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
@@ -74,14 +74,14 @@ This variable controls both display-time and stealth fontification."
   :group 'jit-lock)
 
 
-(defcustom jit-lock-stealth-time 16
+(defcustom jit-lock-stealth-time nil
   "*Time in seconds to wait before beginning stealth fontification.
 Stealth fontification occurs if there is no input within this time.
 If nil, stealth fontification is never performed.
 
 The value of this variable is used when JIT Lock mode is turned on."
   :type '(choice (const :tag "never" nil)
-                (number :tag "seconds"))
+                (number :tag "seconds" :value 16))
   :group 'jit-lock)
 
 
@@ -397,19 +397,19 @@ Defaults to the whole buffer.  END can be out of bounds."
            ;; eagerly extend the refontified region with
            ;; jit-lock-after-change-extend-region-functions.
            (when (< start orig-start)
-            (run-with-timer 0 nil 'jit-lock-fontify-again
+            (run-with-timer 0 nil 'jit-lock-force-redisplay
                             (current-buffer) start orig-start))
 
           ;; Find the start of the next chunk, if any.
           (setq start (text-property-any next end 'fontified nil))))))))
 
-(defun jit-lock-fontify-again (buf start end)
-  "Fontify in buffer BUF from START to END."
-  ;; Don't bother refontifying text that's not even displayed.
-  (when (setq start (text-property-not-all start end 'fontified nil buf))
-    (with-current-buffer buf
-      (with-buffer-prepared-for-jit-lock
-       (put-text-property start end 'fontified nil)))))
+(defun jit-lock-force-redisplay (buf start end)
+  "Force the display engine to re-render buffer BUF from START to END."
+  (with-current-buffer buf
+    (with-buffer-prepared-for-jit-lock
+     ;; Don't cause refontification (it's already been done), but just do
+     ;; some random buffer change, so as to force redisplay.
+     (put-text-property start end 'fontified t))))
 
 
 \f