> The following hack fixes the problem, but this is an imperfect solution. > It sets the local variable `pos' from `font-lock-fontify-keywords-region' > to avoid changing the current position on the line:
> Could the code in font-lock-fontify-keywords-region use a marker to > maintain that position? Then it would be relocated automatically. Would the patch below do the trick? Stefan --- font-lock.el 05 mai 2005 16:09:23 -0400 1.245 +++ font-lock.el 10 mai 2005 13:35:07 -0400 @@ -1405,6 +1405,7 @@ (let ((case-fold-search font-lock-keywords-case-fold-search) (keywords (cddr font-lock-keywords)) (bufname (buffer-name)) (count 0) + (pos (make-marker)) keyword matcher highlights) ;; ;; Fontify each item in `font-lock-keywords' from `start' to `end'. @@ -1439,12 +1440,13 @@ (while highlights (if (numberp (car (car highlights))) (font-lock-apply-highlight (car highlights)) - (let ((pos (point))) + (set-marker pos (point)) (font-lock-fontify-anchored-keywords (car highlights) end) ;; Ensure forward progress. - (if (< (point) pos) (goto-char pos)))) + (if (< (point) pos) (goto-char pos))) (setq highlights (cdr highlights)))) - (setq keywords (cdr keywords))))) + (setq keywords (cdr keywords))) + (set-marker pos nil))) ;;; End of Keyword regexp fontification functions. _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel