1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-03 11:33:37 +00:00

(font-lock-fontify-keywords-region): Use a marker

when trying to ensure forward progress.
This commit is contained in:
Stefan Monnier 2005-05-11 15:55:16 +00:00
parent cc9442f21f
commit b71813cb9a
2 changed files with 15 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2005-05-11 Stefan Monnier <monnier@iro.umontreal.ca>
* font-lock.el (font-lock-fontify-keywords-region): Use a marker
when trying to ensure forward progress.
2005-05-11 Chong Yidong <cyd@stupidchicken.com>
* mouse-sel.el (mouse-sel-follow-link-p): New function.
@ -18,8 +23,8 @@
(ada-mode): Add ada-adjust-case-skeleton to skeleton-end-hook.
* progmodes/ada-stmt.el (ada-adjust-case-skeleton):
Moved to ada-mode.el.
(ada-stmt-mode-hook): Deleted; do the work in ada-mode.
Move to ada-mode.el.
(ada-stmt-mode-hook): Delete; do the work in ada-mode.
* cus-edit.el (custom-file): Call file-chase-links.

View File

@ -1420,6 +1420,7 @@ LOUDLY, if non-nil, allows progress-meter bar."
(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'.
@ -1454,12 +1455,14 @@ LOUDLY, if non-nil, allows progress-meter bar."
(while highlights
(if (numberp (car (car highlights)))
(font-lock-apply-highlight (car highlights))
(let ((pos (point)))
(font-lock-fontify-anchored-keywords (car highlights) end)
;; Ensure forward progress.
(if (< (point) pos) (goto-char pos))))
(set-marker pos (point))
(font-lock-fontify-anchored-keywords (car highlights) end)
;; Ensure forward progress. `pos' is a marker because anchored
;; keyword may add/delete text (this happens e.g. in grep.el).
(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.