+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.
(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.
(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'.
(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.
\f