From: Alan Mackenzie Date: Mon, 6 May 2019 17:36:28 +0000 (+0000) Subject: c-beginning-of-statement-1: Handle syntactic WS macros properly. X-Git-Tag: emacs-27.0.90~2954^2~3 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=77b1148b5164c71c4ba673173eed2a37918d4f78;p=emacs.git c-beginning-of-statement-1: Handle syntactic WS macros properly. * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): The variable before-sws-pos should record the position of a closing paren/brace/bracket before moving backwards over a sexp. When there is a syntactic WS macro between the starting point and the closing p/b/b, setq before-sws-pos again after moving backward over the macro. --- diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index 7e6a46ea6e0..a2762ca2097 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el @@ -1143,6 +1143,9 @@ comment at the start of cc-engine.el for more info." ;; Have we moved into a macro? ((and (not macro-start) (c-beginning-of-macro)) + (save-excursion + (c-backward-syntactic-ws) + (setq before-sws-pos (point))) ;; Have we crossed a statement boundary? If not, ;; keep going back until we find one or a "real" sexp. (and