aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorAlan Mackenzie2008-10-17 20:24:45 +0000
committerAlan Mackenzie2008-10-17 20:24:45 +0000
commit4588b317cd404fde304ed3b61001c40277fb4342 (patch)
tree054f0935135e52a792078d50244ec812ad8a5d1f /lisp
parent48e5a21681f77bf87bc1a7ad4c296dc8008ec8e5 (diff)
downloademacs-4588b317cd404fde304ed3b61001c40277fb4342.tar.gz
emacs-4588b317cd404fde304ed3b61001c40277fb4342.zip
(c-defun-name): Make it work for "struct foo bar [] = { ...".
Diffstat (limited to 'lisp')
-rw-r--r--lisp/progmodes/cc-cmds.el17
1 files changed, 8 insertions, 9 deletions
diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el
index 8a51ca81cfa..8e7df4c95a6 100644
--- a/lisp/progmodes/cc-cmds.el
+++ b/lisp/progmodes/cc-cmds.el
@@ -1704,17 +1704,16 @@ with a brace block."
1704 1704
1705 ;; Pick out the defun name, according to the type of defun. 1705 ;; Pick out the defun name, according to the type of defun.
1706 (cond 1706 (cond
1707 ;; struct, union, enum, or similar:
1707 ((and (looking-at c-type-prefix-key) 1708 ((and (looking-at c-type-prefix-key)
1708 (progn (c-forward-token-2 2) ; over "struct foo " 1709 (progn (c-forward-token-2 2) ; over "struct foo "
1709 (eq (char-after) ?\{))) 1710 (or (eq (char-after) ?\{)
1710 ;; struct, union, enum, or similar: 1711 (looking-at c-symbol-key)))) ; "struct foo bar ..."
1711 (c-backward-syntactic-ws) 1712 (save-match-data (c-forward-token-2))
1712 (setq name-end (point)) 1713 (when (eq (char-after) ?\{)
1713 (buffer-substring-no-properties 1714 (c-backward-token-2)
1714 (progn 1715 (looking-at c-symbol-key))
1715 (c-backward-token-2 2) 1716 (match-string-no-properties 0))
1716 (point))
1717 name-end))
1718 1717
1719 ((looking-at "DEFUN\\_>") 1718 ((looking-at "DEFUN\\_>")
1720 ;; DEFUN ("file-name-directory", Ffile_name_directory, Sfile_name_directory, ...) ==> Ffile_name_directory 1719 ;; DEFUN ("file-name-directory", Ffile_name_directory, Sfile_name_directory, ...) ==> Ffile_name_directory