Mercurial > emacs
changeset 74911:4ddd2af6dc19
(add-log-current-defun): Call `forward-sexp'
multiple times to pick a member function name defined as
part of nested classes/namespaces.
author | Masatake YAMATO <jet@gyve.org> |
---|---|
date | Tue, 26 Dec 2006 03:53:04 +0000 |
parents | 776a7e3c21a0 |
children | 4c1d868b634b |
files | lisp/ChangeLog lisp/add-log.el |
diffstat | 2 files changed, 20 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Tue Dec 26 03:26:14 2006 +0000 +++ b/lisp/ChangeLog Tue Dec 26 03:53:04 2006 +0000 @@ -1,3 +1,9 @@ +2006-12-26 Guanpeng Xu <herberteuler@hotmail.com> (tiny change) + + * add-log.el (add-log-current-defun): Call `forward-sexp' + multiple times to pick a member function name defined as + part of nested classes/namespaces. + 2006-12-26 Vinicius Jose Latorre <viniciusjl@ig.com.br> * emacs-lisp/easymenu.el (easy-menu-change): New arg MAP to indicate @@ -2959,7 +2965,7 @@ * add-log.el (add-log-current-defun): Use `forward-sexp' instead of `forward-word' to pick c++::symbol. - Reported by Herbert Euler <herberteuler@hotmail.com>. + Reported by Guanpeng Xu <herberteuler@hotmail.com>. 2006-09-22 Kenichi Handa <handa@m17n.org>
--- a/lisp/add-log.el Tue Dec 26 03:26:14 2006 +0000 +++ b/lisp/add-log.el Tue Dec 26 03:53:04 2006 +0000 @@ -916,7 +916,19 @@ ;; Include certain keywords if they ;; precede the name. (setq middle (point)) - (forward-sexp -1) + ;; Single (forward-sexp -1) invocation is + ;; not enough for C++ member function defined + ;; as part of nested class and/or namespace + ;; like: + ;; + ;; void + ;; foo::bar::baz::bazz () + ;; { ... + ;; + ;; Here we have to move the point to + ;; the beginning of foo, not bazz. + (while (not (looking-back "\\(^\\|[ \t]\\)")) + (forward-sexp -1)) ;; Is this C++ method? (when (and (< 2 middle) (string= (buffer-substring (- middle 2)