]> git.eshelyaron.com Git - emacs.git/commitdiff
CC Mode: stop distinguishing brace blocks from defun blocks by content.
authorAlan Mackenzie <acm@muc.de>
Thu, 18 Jan 2018 17:54:02 +0000 (17:54 +0000)
committerAlan Mackenzie <acm@muc.de>
Thu, 18 Jan 2018 17:54:02 +0000 (17:54 +0000)
Don't merge to master; this is a quick fix for the emacs-26 branch.  This is
essentially a reversion of the patch from 2017-11-10 which attempted to handle
C99's compound literals.

The bug here was triggered when a defun block contained a declaration ending
in a comma, yet without a semicolon.

* lisp/progmodes/cc-engine.el (c-guess-basic-syntax): At the CASE 9 test,
remove from the `or' form the test of a block's contents.

lisp/progmodes/cc-engine.el

index e9972602812e43f10e42be501b603e0d3b0bcffa..ed8dc6de239f979442ed6fcc5e1854fd2b8ccbbf 100644 (file)
@@ -12554,11 +12554,7 @@ comment at the start of cc-engine.el for more info."
                            (save-excursion
                              (goto-char containing-sexp)
                              (c-looking-at-special-brace-list)))
-                      (c-inside-bracelist-p containing-sexp paren-state t)
-                      (save-excursion
-                        (goto-char containing-sexp)
-                        (and (eq (char-after) ?{)
-                             (not (c-looking-at-statement-block)))))))
+                      (c-inside-bracelist-p containing-sexp paren-state t))))
        (cond
 
         ;; CASE 9A: In the middle of a special brace list opener.