]> git.eshelyaron.com Git - emacs.git/commitdiff
CC Mode: in certain font lock loops, check point is not beyond limit.
authorAlan Mackenzie <acm@muc.de>
Tue, 30 Apr 2019 13:20:22 +0000 (13:20 +0000)
committerAlan Mackenzie <acm@muc.de>
Tue, 30 Apr 2019 13:20:22 +0000 (13:20 +0000)
* /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

index 831fa3088667cc5d04d76318608a9f38f8ab1314..c7c9aa5564ebc21d4c27933963813933249156fa 100644 (file)
@@ -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)