mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
c-where-wrt-brace-construct: deal with point following a struct's semicolon.
More precisely, when point is right after the terminating semicolon of a
construct like "struct foo { .... } bar;", the function must return
'at-function-end.
* lisp/progmodes/cc-cmds.el (c-where-wrt-brace-construct): Surround an
existing test for 'at-function-end with an `or' form, the other arm testing
for being after the semicolon above.
This commit is contained in:
parent
674f276c0a
commit
3266e69dab
1 changed files with 17 additions and 15 deletions
|
|
@ -1441,21 +1441,23 @@ No indentation or other \"electric\" behavior is performed."
|
|||
'in-block)
|
||||
((c-in-function-trailer-p)
|
||||
'in-trailer)
|
||||
((and (not least-enclosing)
|
||||
(consp paren-state)
|
||||
(consp (car paren-state))
|
||||
(eq start (cdar paren-state))
|
||||
(or
|
||||
(save-excursion
|
||||
(c-forward-syntactic-ws)
|
||||
(or (not (looking-at c-symbol-start))
|
||||
(looking-at c-keywords-regexp)))
|
||||
(save-excursion
|
||||
(goto-char (caar paren-state))
|
||||
(c-beginning-of-decl-1
|
||||
(and least-enclosing
|
||||
(c-safe-position least-enclosing paren-state)))
|
||||
(not (looking-at c-defun-type-name-decl-key)))))
|
||||
((or (and (eq (char-before) ?\;)
|
||||
(save-excursion
|
||||
(backward-char)
|
||||
(c-in-function-trailer-p)))
|
||||
(and (not least-enclosing)
|
||||
(consp paren-state)
|
||||
(consp (car paren-state))
|
||||
(eq start (cdar paren-state))
|
||||
(or
|
||||
(save-excursion
|
||||
(c-forward-syntactic-ws)
|
||||
(or (not (looking-at c-symbol-start))
|
||||
(looking-at c-keywords-regexp)))
|
||||
(save-excursion
|
||||
(goto-char (caar paren-state))
|
||||
(c-beginning-of-decl-1)
|
||||
(not (looking-at c-defun-type-name-decl-key))))))
|
||||
'at-function-end)
|
||||
(t
|
||||
;; Find the start of the current declaration. NOTE: If we're in the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue