]> git.eshelyaron.com Git - emacs.git/commitdiff
CC Mode: Correct a rare error in the state cache
authorAlan Mackenzie <acm@muc.de>
Tue, 17 May 2022 11:26:05 +0000 (11:26 +0000)
committerAlan Mackenzie <acm@muc.de>
Tue, 17 May 2022 11:26:05 +0000 (11:26 +0000)
* lisp/progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache): Do
not record a position in a macro as the starting position in
c-state-brace-pair-desert.  Instead record the position at the beginning of
that macro.

lisp/progmodes/cc-engine.el

index 2a9a7a8bf5e10dee9b7b4e01ac98dd1b19de54a0..8794a527f88fb4b6bf2a0e73828c637ffebc3ac3 100644 (file)
@@ -3886,7 +3886,10 @@ initializing CC Mode.  Currently (2020-06) these are `js-mode' and
                  (cons (if (and ce (< bra ce) (> ce here)) ; {..} straddling HERE?
                            bra
                          (point-min))
-                       (min here from)))))))))
+                       (progn
+                         (goto-char (min here from))
+                         (c-beginning-of-macro)
+                         (point))))))))))
 
 (defsubst c-state-push-any-brace-pair (bra+1 macro-start-or-here)
   ;; If BRA+1 is nil, do nothing.  Otherwise, BRA+1 is the buffer position