1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-02-07 20:54:32 +00:00

(c-in-knr-argdecl): Limit number of paren/bracket pairs parsed, to solve

performance problem.
This commit is contained in:
Alan Mackenzie 2008-03-07 22:34:09 +00:00
parent f1bb4ee1b8
commit 6b6481ed72

View File

@ -6336,7 +6336,8 @@ comment at the start of cc-engine.el for more info."
;; the searchable range.
(let* ((macro-start (c-query-macro-start))
(lim (max (or lim (point-min)) (or macro-start (point-min))))
before-lparen after-rparen)
before-lparen after-rparen
(pp-count-out 20)) ; Max number of paren/brace constructs before we give up
(narrow-to-region lim (c-point 'eol))
;; Search backwards for the defun's argument list. We give up if we
@ -6358,7 +6359,8 @@ comment at the start of cc-engine.el for more info."
;; {
(catch 'knr
(while t ; go round one paren/bracket construct each time round.
(while (> pp-count-out 0) ; go back one paren/bracket pair each time.
(setq pp-count-out (1- pp-count-out))
(c-syntactic-skip-backward "^)]}")
(cond ((eq (char-before) ?\))
(setq after-rparen (point)))