Commit 3646bcd6 authored by Leo Liu's avatar Leo Liu
Browse files

* lisp/progmodes/cc-cmds.el (c-defun-name): Handle objc selectors properly.

Fixes: debbugs:7879
parent fe1a523f
2012-07-20 Leo Liu <>
* progmodes/cc-cmds.el (c-defun-name): Handle objc selectors properly.
* progmodes/cc-langs.el (c-symbol-start): Include char _ (bug#11986).
2012-07-18 Stefan Monnier <>
......@@ -1826,14 +1826,16 @@ with a brace block."
;; DEFFLAGSET(syslog_opt_flags,LOG_PID ...) ==> syslog_opt_flags
(match-string-no-properties 1))
;; Objective-C method starting with + or -.
((and (derived-mode-p 'objc-mode)
(looking-at "[-+]\s*("))
(when (c-syntactic-re-search-forward ")\s*" nil t)
(setq name-end (point))
(buffer-substring-no-properties (point) name-end)))
;; Objc selectors.
((assq 'objc-method-intro (c-guess-basic-syntax))
(let ((bound (save-excursion (c-end-of-statement) (point)))
(kw-re (concat "\\(?:" c-symbol-key "\\)?:"))
(when (c-syntactic-re-search-forward c-symbol-key bound t t t)
(push (match-string 0) stretches)
(while (c-syntactic-re-search-forward kw-re bound t t t)
(push (match-string 0) stretches)))
(apply 'concat (nreverse stretches))))
;; Normal function or initializer.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment