# HG changeset patch # User Stefan Monnier # Date 1129562131 0 # Node ID 934d10a9685c770360ebc4159b8d906bf3f3655e # Parent 60cdee5814e9fd11bf49981c6fdcb17120920705 (jit-lock-fontify-now): Move jit-lock-context-unfontify-pos. diff -r 60cdee5814e9 -r 934d10a9685c lisp/ChangeLog --- a/lisp/ChangeLog Mon Oct 17 06:50:12 2005 +0000 +++ b/lisp/ChangeLog Mon Oct 17 15:15:31 2005 +0000 @@ -1,3 +1,8 @@ +2005-10-17 Stefan Monnier + + * jit-lock.el (jit-lock-fontify-now): + Move jit-lock-context-unfontify-pos to avoid wasted work. + 2005-10-17 Michael Albinus * net/tramp.el (tramp-completion-mode): New defvar. Used in @@ -33,7 +38,7 @@ * savehist.el: Don't require CL at runtime. (savehist-xemacs): Remove. - (savehist-coding-system): Use utf-8 if available, regardless of religion. + (savehist-coding-system): Use utf-8 if present, regardless of religion. (savehist-no-conversion): Use (featurep 'xemacs). (savehist-load): Check existence of start-itimer rather than XEmacs. Use an idle timer. @@ -156,14 +161,13 @@ * toolbar/gud-up.*: Moved to etc/images/gud/up.*. * toolbar/gud-watch.*: Moved to etc/images/gud/watch.*. - * progmodes/gud.el (gud-tool-bar-map): Renamed the images + * progmodes/gud.el (gud-tool-bar-map): Rename the images appropriately (for example, gud-break to gud/break). 2005-10-14 Chong Yidong * longlines.el (longlinges-search-function) - (longlines-search-forward, longlines-search-backward): New - functions. + (longlines-search-forward, longlines-search-backward): New functions. (longlines-mode): Set isearch-search-fun-function to longlinges-search-function. diff -r 60cdee5814e9 -r 934d10a9685c lisp/jit-lock.el --- a/lisp/jit-lock.el Mon Oct 17 06:50:12 2005 +0000 +++ b/lisp/jit-lock.el Mon Oct 17 15:15:31 2005 +0000 @@ -349,6 +349,16 @@ (goto-char next) (setq next (line-beginning-position 2)) (goto-char start) (setq start (line-beginning-position)) + ;; Make sure the contextual refontification doesn't re-refontify + ;; what's already been refontified. + (when jit-lock-context-unfontify-pos + (if (and (< jit-lock-context-unfontify-pos next) + (when (and jit-lock-context-unfontify-pos + (< jit-lock-context-unfontify-pos next) + (>= jit-lock-context-unfontify-pos start)) + (setq jit-lock-context-unfontify-pos next))) + (setq jit-lock-context-unfontify-pos next)) + ;; Fontify the chunk, and mark it as fontified. ;; We mark it first, to make sure that we don't indefinitely ;; re-execute this fontification if an error occurs. @@ -566,9 +576,14 @@ ;; Mark the change for deferred contextual refontification. (when jit-lock-context-unfontify-pos (setq jit-lock-context-unfontify-pos + ;; Here we use `start' because nothing guarantees that the + ;; text between start and end will be otherwise refontified: + ;; usually it will be refontified by virtue of being + ;; displayed, but if it's outside of any displayed area in the + ;; buffer, only jit-lock-context-* will re-fontify it. (min jit-lock-context-unfontify-pos start)))))) (provide 'jit-lock) -;;; arch-tag: 56b5de6e-f581-453b-bb97-49c39372ff9e +;; arch-tag: 56b5de6e-f581-453b-bb97-49c39372ff9e ;;; jit-lock.el ends here