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.
This commit is contained in:
parent
c61bbb4c8e
commit
2885372168
1 changed files with 4 additions and 2 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue