summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2017-11-12 11:49:03 +0000
committerAlan Mackenzie <acm@muc.de>2017-11-12 11:49:03 +0000
commit42daf83f08b2b0ef9d571e535195df55d392ef79 (patch)
treec179741bf85ec29b6e05554f517d670cdfdfbe9f /lisp
parent7775c4729814431608c943643a490ad5f1f68a99 (diff)
downloademacs-42daf83f08b2b0ef9d571e535195df55d392ef79.tar.gz
CC Mode: Fix defun-open being recognized as brace-list-open at EOB.
* lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Add handling for an open brace at EOB and nested braces inside an unclosed brace block.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/progmodes/cc-engine.el14
1 files changed, 8 insertions, 6 deletions
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 8ec01e1810b..ab0204cb961 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -10740,10 +10740,8 @@ comment at the start of cc-engine.el for more info."
(t ; We're at (1+ here).
(cond
((progn (c-forward-syntactic-ws)
- (eq (point) (1- there)))
- t)
- ((c-syntactic-re-search-forward c-keywords-regexp there t)
- t)
+ (eq (point) (1- there))))
+ ((c-syntactic-re-search-forward c-keywords-regexp there t))
((c-syntactic-re-search-forward "{" there t t)
(backward-char)
(c-looking-at-statement-block))
@@ -10752,8 +10750,12 @@ comment at the start of cc-engine.el for more info."
(cond
((c-syntactic-re-search-forward "[;,]" nil t t)
(eq (char-before) ?\;))
- ((c-syntactic-re-search-forward c-keywords-regexp nil t t)
- t)
+ ((progn (c-forward-syntactic-ws)
+ (eobp)))
+ ((c-syntactic-re-search-forward c-keywords-regexp nil t t))
+ ((c-syntactic-re-search-forward "{" nil t t)
+ (backward-char)
+ (c-looking-at-statement-block))
(t nil)))
(goto-char here))))