1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-11 09:20:51 +00:00

Correct loop termination condition in c-syntactic-skip-backward.

progmodes/cc-engine.el (c-syntactic-skip-backward): Correct for the
situation where, after moving back out of a literal, skip-chars-backward
doesn't move further, yet checks have still to be done.
This commit is contained in:
Alan Mackenzie 2014-08-02 16:42:29 +00:00
parent cb8b23675e
commit 7902217745
2 changed files with 16 additions and 6 deletions

View File

@ -1,3 +1,11 @@
2014-08-02 Alan Mackenzie <acm@muc.de>
Correct loop termination condition in c-syntactic-skip-backward.
* progmodes/cc-engine.el (c-syntactic-skip-backward): Correct for
the situation where, after moving back out of a literal,
skip-chars-backward doesn't move further, yet checks have still to
be done.
2014-08-01 Eli Zaretskii <eliz@gnu.org>
* tutorial.el (tutorial--display-changes): Accept punctuation

View File

@ -4245,16 +4245,18 @@ comment at the start of cc-engine.el for more info."
;; loops when it hasn't succeeded.
(while
(and
(< (skip-chars-backward skip-chars limit) 0)
(let ((pos (point)))
(while (and
(< (skip-chars-backward skip-chars limit) 0)
;; Don't stop inside a literal.
(when (setq lit-beg (c-ssb-lit-begin))
(goto-char lit-beg)
t)))
(< (point) pos))
(let ((pos (point)) state-2 pps-end-pos)
(cond
;; Don't stop inside a literal
((setq lit-beg (c-ssb-lit-begin))
(goto-char lit-beg)
t)
((and paren-level
(save-excursion
(setq state-2 (parse-partial-sexp