diff options
author | Alan Mackenzie <acm@muc.de> | 2017-11-12 11:49:03 +0000 |
---|---|---|
committer | Alan Mackenzie <acm@muc.de> | 2017-11-12 11:49:03 +0000 |
commit | 42daf83f08b2b0ef9d571e535195df55d392ef79 (patch) | |
tree | c179741bf85ec29b6e05554f517d670cdfdfbe9f /lisp | |
parent | 7775c4729814431608c943643a490ad5f1f68a99 (diff) | |
download | emacs-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.el | 14 |
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)))) |