[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
C++ name and add-log-current-defun
From: |
Herbert Euler |
Subject: |
C++ name and add-log-current-defun |
Date: |
Thu, 21 Sep 2006 20:39:37 +0800 |
add-log-current-defun cannot handle C++ names well. For
example, the current function:
int some_class::some_method(int arg)
{
// ...
}
If one invoke add-change-log-entry-other-window when point
is in this function, one would get
* some_file.cpp (class::some_method):
rather than
* some_file.cpp (some_class::some_method):
This is because add-log-current-defun in add-log.el calculates
the function name wrong. Below is the code:
;; Now find the right beginning of the name.
;; Include certain keywords if they
;; precede the name.
(setq middle (point))
(forward-word -1)
;; Is this C++ method?
;; ...
(forward-word -1) wouldn't put point before `some_class',
but puts point before `c' in `some_class'.
How about changing it to like this?
(while (not (looking-back "\\(^\\|[ \t]\\)"))
(backward-word 1))
Regards,
Guanpeng Xu
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
- C++ name and add-log-current-defun,
Herbert Euler <=