From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Herbert Euler" Newsgroups: gmane.emacs.devel Subject: Re: C++ name and add-log-current-defun Date: Fri, 22 Sep 2006 15:30:30 +0800 Message-ID: References: <20060922.133608.90794729.jet@gyve.org> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; format=flowed X-Trace: sea.gmane.org 1158910262 6229 80.91.229.2 (22 Sep 2006 07:31:02 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 22 Sep 2006 07:31:02 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Sep 22 09:31:00 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1GQfUr-0000nm-HB for ged-emacs-devel@m.gmane.org; Fri, 22 Sep 2006 09:30:53 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GQfUq-0006il-Ro for ged-emacs-devel@m.gmane.org; Fri, 22 Sep 2006 03:30:52 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GQfUb-0006hk-DH for emacs-devel@gnu.org; Fri, 22 Sep 2006 03:30:37 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GQfUZ-0006dN-BQ for emacs-devel@gnu.org; Fri, 22 Sep 2006 03:30:36 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GQfUZ-0006d1-5N for emacs-devel@gnu.org; Fri, 22 Sep 2006 03:30:35 -0400 Original-Received: from [65.54.246.142] (helo=bay0-omc2-s6.bay0.hotmail.com) by monty-python.gnu.org with esmtp (Exim 4.52) id 1GQfYF-0001vC-Mv for emacs-devel@gnu.org; Fri, 22 Sep 2006 03:34:24 -0400 Original-Received: from hotmail.com ([64.4.26.25]) by bay0-omc2-s6.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.1830); Fri, 22 Sep 2006 00:30:33 -0700 Original-Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Fri, 22 Sep 2006 00:30:34 -0700 Original-Received: from 64.4.26.200 by by112fd.bay112.hotmail.msn.com with HTTP; Fri, 22 Sep 2006 07:30:30 GMT X-Originating-IP: [216.145.54.158] X-Originating-Email: [herberteuler@hotmail.com] X-Sender: herberteuler@hotmail.com In-Reply-To: <20060922.133608.90794729.jet@gyve.org> Original-To: jet@gyve.org, ihs_4664@yahoo.com X-OriginalArrivalTime: 22 Sep 2006 07:30:34.0724 (UTC) FILETIME=[FDEAC240:01C6DE18] X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:60090 Archived-At: All of these methods, Kevin's, Masatake's and mine, work. Regards, Guanpeng Xu >From: Masatake YAMATO >To: ihs_4664@yahoo.com, "Herbert Euler" >CC: emacs-devel@gnu.org >Subject: Re: C++ name and add-log-current-defun >Date: Fri, 22 Sep 2006 13:36:08 +0900 (JST) > >Hi, > > > Herbert Euler wrote: > > > 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)) > > > > How about making the intent clear: > > > > (skip-syntax-backward "w_") ; word and symbol characters > >How about this one? > >*** add-log.el 31 5ŒŽ 2006 16:12:48 +0900 1.177 >--- add-log.el 22 9ŒŽ 2006 13:32:30 +0900 >*************** >*** 914,920 **** > ;; Include certain keywords if they > ;; precede the name. > (setq middle (point)) >! (forward-word -1) > ;; Is this C++ method? > (when (and (< 2 middle) > (string= (buffer-substring (- middle 2) >--- 914,920 ---- > ;; Include certain keywords if they > ;; precede the name. > (setq middle (point)) >! (forward-sexp -1) > ;; Is this C++ method? > (when (and (< 2 middle) > (string= (buffer-substring (- middle 2) > >Masatake YAMATO > > > >_______________________________________________ >Emacs-devel mailing list >Emacs-devel@gnu.org >http://lists.gnu.org/mailman/listinfo/emacs-devel _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/