From 28853721681436a4e0adecce1df428feec4f3211 Mon Sep 17 00:00:00 2001 From: Alan Mackenzie Date: Tue, 30 Apr 2019 13:20:22 +0000 Subject: CC Mode: in certain font lock loops, check point is not beyond limit. * /lisp/progmodes/cc-fonts.el (c-font-lock-enum-body) (autodoc-font-lock-line-markup): As part of the `while' condition, check that the previous iteration of the loop hasn't moved point past `limit', thus obviating "wrong side of point" errors in re-search-forward, etc. --- lisp/progmodes/cc-fonts.el | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el index 831fa308866..c7c9aa5564e 100644 --- a/lisp/progmodes/cc-fonts.el +++ b/lisp/progmodes/cc-fonts.el @@ -1549,7 +1549,8 @@ casts and declarations are fontified. Used on level 2 and higher." ;; font-lock-keyword-face. It always returns NIL to inhibit this and ;; prevent a repeat invocation. See elisp/lispref page "Search-based ;; Fontification". - (while (search-forward-regexp c-enum-clause-introduction-re limit t) + (while (and (< (point) limit) + (search-forward-regexp c-enum-clause-introduction-re limit t)) (when (save-excursion (backward-char) (c-backward-over-enum-header)) @@ -2850,7 +2851,8 @@ need for `pike-font-lock-extra-types'.") "\\)\\)\\s *\\)@[A-Za-z_-]+\\(\\s \\|$\\)")) (markup-faces (list c-doc-markup-face-name c-doc-face-name))) - (while (re-search-forward line-re limit t) + (while (and (< (point) limit) + (re-search-forward line-re limit t)) (goto-char (match-end 1)) (if (looking-at autodoc-decl-keywords) -- cgit v1.2.1