From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Herbert Euler" Newsgroups: gmane.emacs.cc-mode.general,gmane.emacs.devel Subject: Re: On the behavior of `c-beginning-of-defun' Date: Sun, 21 Jan 2007 09:19:44 +0800 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_108f_6909_773f" X-Trace: sea.gmane.org 1169342399 30674 80.91.229.12 (21 Jan 2007 01:19:59 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 21 Jan 2007 01:19:59 +0000 (UTC) Cc: bug-cc-mode@gnu.org, rms@gnu.org, emacs-devel@gnu.org Original-X-From: cc-mode-help-bounces@lists.sourceforge.net Sun Jan 21 02:19:56 2007 Return-path: Envelope-to: sf-cc-mode-help@m.gmane.org Original-Received: from lists-outbound.sourceforge.net ([66.35.250.225]) by lo.gmane.org with esmtp (Exim 4.50) id 1H8RND-0001C0-JZ for sf-cc-mode-help@m.gmane.org; Sun, 21 Jan 2007 02:19:56 +0100 Original-Received: from sc8-sf-list1-new.sourceforge.net (sc8-sf-list1-new-b.sourceforge.net [10.3.1.93]) by sc8-sf-spam2.sourceforge.net (Postfix) with ESMTP id 24269FF26; Sat, 20 Jan 2007 17:19:54 -0800 (PST) Original-Received: from sc8-sf-mx1-b.sourceforge.net ([10.3.1.91] helo=mail.sourceforge.net) by sc8-sf-list1-new.sourceforge.net with esmtp (Exim 4.43) id 1H8RNB-0002cN-8c for cc-mode-help@lists.sourceforge.net; Sat, 20 Jan 2007 17:19:53 -0800 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by mail.sourceforge.net with esmtps (TLSv1:AES256-SHA:256) (Exim 4.44) id 1H8RN9-0000Vr-9w for cc-mode-help@lists.sourceforge.net; Sat, 20 Jan 2007 17:19:53 -0800 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by fencepost.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1H8RMP-0000xy-2T for bug-cc-mode@gnu.org; Sat, 20 Jan 2007 20:19:05 -0500 Original-Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.52) id 1H8RN5-0001oq-5p for bug-cc-mode@gnu.org; Sat, 20 Jan 2007 20:19:49 -0500 Original-Received: from [65.54.246.201] (helo=bay0-omc3-s1.bay0.hotmail.com) by monty-python.gnu.org with esmtp (Exim 4.52) id 1H8RN4-0001oV-Jm; Sat, 20 Jan 2007 20:19:47 -0500 Original-Received: from hotmail.com ([64.4.26.36]) by bay0-omc3-s1.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2668); Sat, 20 Jan 2007 17:19:45 -0800 Original-Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Sat, 20 Jan 2007 17:19:45 -0800 Original-Received: from 64.4.26.200 by by112fd.bay112.hotmail.msn.com with HTTP; Sun, 21 Jan 2007 01:19:44 GMT X-Originating-IP: [221.220.240.107] X-Originating-Email: [herberteuler@hotmail.com] X-Sender: herberteuler@hotmail.com Original-To: acm@muc.de, xugp@alibaba-inc.com X-OriginalArrivalTime: 21 Jan 2007 01:19:45.0530 (UTC) FILETIME=[3C58EDA0:01C73CFA] X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on monty-python X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=MIME_BOUND_NEXTPART, MSGID_FROM_MTA_HEADER autolearn=no version=3.0.4 X-Spam-Score: 0.1 (/) X-Spam-Report: Spam Filtering performed by sourceforge.net. See http://spamassassin.org/tag/ for more details. Report problems to http://sf.net/tracker/?func=add&group_id=1&atid=200001 0.0 MSGID_FROM_MTA_HEADER Message-Id was added by a relay 0.1 MIME_BOUND_NEXTPART Spam tool pattern in MIME boundary X-BeenThere: cc-mode-help@lists.sourceforge.net X-Mailman-Version: 2.1.8 Precedence: list List-Id: "Bug reports, feature requests, and general talk about CC Mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: cc-mode-help-bounces@lists.sourceforge.net Errors-To: cc-mode-help-bounces@lists.sourceforge.net Xref: news.gmane.org gmane.emacs.cc-mode.general:4347 gmane.emacs.devel:65337 Archived-At: This is a multi-part message in MIME format. ------=_NextPart_000_108f_6909_773f Content-Type: text/plain; format=flowed >Please try out the amended version and let me know if anything's not >right. I did not test all cases but only the case that function `c-beginning-of-defun' fails. I think it is almost Ok. However, please try the following case, it might be a bug. Suppose `-!-' indicates the position of point. If point is, for example, in the body of function `main1': /* 1. K&R C. */ /* This will not get correct result until the bug in CC mode is fixed. See http://lists.gnu.org/archive/html/emacs-devel/2006-12/msg01341.html */ int main1 (argc, argv) int argc; char *argv[]; { -!-/* ... */ } Then `c-beginning-of-defun' moves point to before ``int'': /* 1. K&R C. */ /* This will not get correct result until the bug in CC mode is fixed. See http://lists.gnu.org/archive/html/emacs-devel/2006-12/msg01341.html */ -!-int main1 (argc, argv) int argc; char *argv[]; { /* ... */ } Which is a desired behavior. But if point is just after ``[]'': /* 1. K&R C. */ /* This will not get correct result until the bug in CC mode is fixed. See http://lists.gnu.org/archive/html/emacs-devel/2006-12/msg01341.html */ int main1 (argc, argv) int argc; char *argv[]-!-; { /* ... */ } `c-beginning-of-defun' moves point to the start of the file, rather than the desired position. This is the only problem I can see until now. Thank you very much. Regards, Guanpeng Xu _________________________________________________________________ FREE pop-up blocking with the new MSN Toolbar - get it now! http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/ ------=_NextPart_000_108f_6909_773f Content-Type: application/octet-stream; name="x.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="x.c" Ci8qIDEuIEsmUiBDLiAgKi8KCi8qIFRoaXMgd2lsbCBub3QgZ2V0IGNvcnJl Y3QgcmVzdWx0IHVudGlsIHRoZSBidWcgaW4gQ0MgbW9kZSBpcyBmaXhlZC4K ICAgU2VlCiAgIGh0dHA6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9l bWFjcy1kZXZlbC8yMDA2LTEyL21zZzAxMzQxLmh0bWwgICovCmludAptYWlu MSAoYXJnYywgYXJndikKICAgICBpbnQgYXJnYzsKICAgICBjaGFyICphcmd2 W107CnsKICAvKiAuLi4gICovCn0KCmludApmMSAoYXJnKQogICAgIExpc3Bf T2JqZWN0IGFyZzsKewp9CgppbnQKZjIgKGFyZykKICAgICBMaXNwX09iamVj dCBhcmc7CiAgICAgLyogVGhlIGBhcmcnIGlzIGEgTGlzcF9PYmplY3QuICAq Lwp7Cn0KCkRFRlVOICgiY2F0Y2giLCBGY2F0Y2gxLCBTY2F0Y2gsIDEsIFVO RVZBTExFRCwgMCwKICAgICAgIGRvYzogLyogRXZhbCBCT0RZIGFsbG93aW5n IG5vbmxvY2FsIGV4aXRzIHVzaW5nIGB0aHJvdycuClRBRyBpcyBldmFsbGVk IHRvIGdldCB0aGUgdGFnIHRvIHVzZTsgaXQgbXVzdCBub3QgYmUgbmlsLgoK VGhlbiB0aGUgQk9EWSBpcyBleGVjdXRlZC4KV2l0aGluIEJPRFksIGEgY2Fs bCB0byBgdGhyb3cnIHdpdGggdGhlIHNhbWUgVEFHIGV4aXRzIEJPRFkgYW5k IHRoaXMgYGNhdGNoJy4KSWYgbm8gdGhyb3cgaGFwcGVucywgYGNhdGNoJyBy ZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgbGFzdCBCT0RZIGZvcm0uCklmIGEg dGhyb3cgaGFwcGVucywgaXQgc3BlY2lmaWVzIHRoZSB2YWx1ZSB0byByZXR1 cm4gZnJvbSBgY2F0Y2gnLgp1c2FnZTogKGNhdGNoIFRBRyBCT0RZLi4uKSAg Ki8pCiAgICAgKGFyZ3MpCiAgICAgTGlzcF9PYmplY3QgYXJnczsKewogIHJl Z2lzdGVyIExpc3BfT2JqZWN0IHRhZzsKICBzdHJ1Y3QgZ2Nwcm8gZ2Nwcm8x OwoKICBHQ1BSTzEgKGFyZ3MpOwogIHRhZyA9IEZldmFsIChGY2FyIChhcmdz KSk7CiAgVU5HQ1BSTzsKICByZXR1cm4gaW50ZXJuYWxfY2F0Y2ggKHRhZywg RnByb2duLCBGY2RyIChhcmdzKSk7Cn0KCi8qIE5vdywgc29tZSBiYWRseSBm b3JtYXR0ZWQgY29kZS4gICovCgogICBpbnQKIG1haW4yIChhcmdjLCBhcmd2 KQogICAgICBpbnQgYXJnYzsKICAgICAgY2hhciAqYXJndltdOwogICB7CiAg ICAgICAgICAgICAgICAgLyogLi4uICAqLwogfQoKICAgICAgICAgICAgICAg ICAgICAgICAgaW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGYzCiAgICAgICAgIChhcmcpCiAgICAgICAgICAgICAgICAg IExpc3BfT2JqZWN0CgogICAgICAgICAgIGFyZwoKCjsKICAgICB7Cn0KCmlu dCAgICAgICAgICAgICAgICAgICAgICAgICAgICBmNAogICAgICAgICAgICAg ICAgKGFyZykKICAgICAgICAgICAgICAgTGlzcF9PYmplY3QgYXJnOwogICAg IC8qIFRoZSBgYXJnJyBpcyBhIExpc3BfT2JqZWN0LiAgKi8KICB7CiAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgREVGVU4gKCJjYXRjaCIs IEZjYXRjaDIsIFNjYXRjaCwgMSwgVU5FVkFMTEVELCAwLAogICAgICAgICBk b2M6IC8qIEV2YWwgQk9EWSBhbGxvd2luZyBub25sb2NhbCBleGl0cyB1c2lu ZyBgdGhyb3cnLgogICAgICAgVEFHIGlzIGV2YWxsZWQgdG8gZ2V0IHRoZSB0 YWcgdG8gdXNlOyBpdCBtdXN0IG5vdCBiZSBuaWwuCgpUaGVuIHRoZSBCT0RZ IGlzIGV4ZWN1dGVkLgpXaXRoaW4gQk9EWSwgYSBjYWxsIHRvIGB0aHJvdycg d2l0aCB0aGUgc2FtZSBUQUcgZXhpdHMgQk9EWSBhbmQgdGhpcyBgY2F0Y2gn LgpJZiBubyB0aHJvdyBoYXBwZW5zLCBgY2F0Y2gnIHJldHVybnMgdGhlIHZh bHVlIG9mIHRoZSBsYXN0IEJPRFkgZm9ybS4KSWYgYSB0aHJvdyBoYXBwZW5z LCBpdCBzcGVjaWZpZXMgdGhlIHZhbHVlIHRvIHJldHVybiBmcm9tIGBjYXRj aCcuCnVzYWdlOiAoY2F0Y2ggVEFHIEJPRFkuLi4pICAqLykKICAgICAoYXJn cykKICAgICBMaXNwX09iamVjdCBhcmdzOwp7CiAgcmVnaXN0ZXIgTGlzcF9P YmplY3QgdGFnOwogIHN0cnVjdCBnY3BybyBnY3BybzE7CgogIEdDUFJPMSAo YXJncyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWcgPSBG ZXZhbCAoRmNhciAoYXJncykpOwogIFVOR0NQUk87CiAgICAgICAgICAgcmV0 dXJuIGludGVybmFsX2NhdGNoICh0YWcsIEZwcm9nbiwgRmNkciAoYXJncykp OwogICAgIH0KCi8qIDIuIEFOU0kvSVNPIEMuICAqLwoKaW50Cm1haW4zIChp bnQgYXJnYywgY2hhciAqYXJndltdKQp7Cn0KCmludApmNSAoTGlzcF9PYmpl Y3QgYXJnKQp7Cn0KCmludApmNiAoTGlzcF9PYmplY3QgYXJnKQovKiBUaGUg YGFyZycgaXMgYSBMaXNwX09iamVjdC4gICovCnsKfQoKREVGVU4gKCJjYXRj aCIsIEZjYXRjaDMsIFNjYXRjaCwgMSwgVU5FVkFMTEVELCAwLAogICAgICAg ZG9jOiAvKiBFdmFsIEJPRFkgYWxsb3dpbmcgbm9ubG9jYWwgZXhpdHMgdXNp bmcgYHRocm93Jy4KVEFHIGlzIGV2YWxsZWQgdG8gZ2V0IHRoZSB0YWcgdG8g dXNlOyBpdCBtdXN0IG5vdCBiZSBuaWwuCgpUaGVuIHRoZSBCT0RZIGlzIGV4 ZWN1dGVkLgpXaXRoaW4gQk9EWSwgYSBjYWxsIHRvIGB0aHJvdycgd2l0aCB0 aGUgc2FtZSBUQUcgZXhpdHMgQk9EWSBhbmQgdGhpcyBgY2F0Y2gnLgpJZiBu byB0aHJvdyBoYXBwZW5zLCBgY2F0Y2gnIHJldHVybnMgdGhlIHZhbHVlIG9m IHRoZSBsYXN0IEJPRFkgZm9ybS4KSWYgYSB0aHJvdyBoYXBwZW5zLCBpdCBz cGVjaWZpZXMgdGhlIHZhbHVlIHRvIHJldHVybiBmcm9tIGBjYXRjaCcuCnVz YWdlOiAoY2F0Y2ggVEFHIEJPRFkuLi4pICAqLykKICAgICAoTGlzcF9PYmpl Y3QgYXJncykKewogIHJlZ2lzdGVyIExpc3BfT2JqZWN0IHRhZzsKICBzdHJ1 Y3QgZ2Nwcm8gZ2Nwcm8xOwoKICBHQ1BSTzEgKGFyZ3MpOwogIHRhZyA9IEZl dmFsIChGY2FyIChhcmdzKSk7CiAgVU5HQ1BSTzsKICByZXR1cm4gaW50ZXJu YWxfY2F0Y2ggKHRhZywgRnByb2duLCBGY2RyIChhcmdzKSk7Cn0KCi8qIE5v dywgc29tZSBiYWRseSBmb3JtYXR0ZWQgY29kZS4gICovCgogICAgICAgIGlu dAoKICAgICAgICAgICAgIG1haW40CgogKGludAphcmdjLApjaGFyICoKYXJn dltdKQogICB7CiAgICAgICB9CgogICAgICAgICAgICAgICAgICBpbnQKZjcK ICgKTGlzcF9PYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFy ZykKICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgIGludAoKICAgICAgICBmOAoKKExpc3BfT2Jq ZWN0CmFyZykKLyogVGhlIGBhcmcnIGlzIGEgTGlzcF9PYmplY3QuICAqLwp7 Cn0KCiAgICAgICAgICAgICAgICAgICAgICAgIERFRlVOICgiY2F0Y2giLCBG Y2F0Y2g0LCBTY2F0Y2gsIDEsIFVORVZBTExFRCwgMCwKICAgICAgIGRvYzog LyogRXZhbCBCT0RZIGFsbG93aW5nIG5vbmxvY2FsIGV4aXRzIHVzaW5nIGB0 aHJvdycuClRBRyBpcyBldmFsbGVkIHRvIGdldCB0aGUgdGFnIHRvIHVzZTsg aXQgbXVzdCBub3QgYmUgbmlsLgoKVGhlbiB0aGUgQk9EWSBpcyBleGVjdXRl ZC4KV2l0aGluIEJPRFksIGEgY2FsbCB0byBgdGhyb3cnIHdpdGggdGhlIHNh bWUgVEFHIGV4aXRzIEJPRFkgYW5kIHRoaXMgYGNhdGNoJy4KSWYgbm8gdGhy b3cgaGFwcGVucywgYGNhdGNoJyByZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUg bGFzdCBCT0RZIGZvcm0uCklmIGEgdGhyb3cgaGFwcGVucywgaXQgc3BlY2lm aWVzIHRoZSB2YWx1ZSB0byByZXR1cm4gZnJvbSBgY2F0Y2gnLgp1c2FnZTog KGNhdGNoIFRBRyBCT0RZLi4uKSAgKi8pCiAgICAgKExpc3BfT2JqZWN0IGFy Z3MpCnsKICByZWdpc3RlciBMaXNwX09iamVjdCB0YWc7CiAgc3RydWN0IGdj cHJvIGdjcHJvMTsKCiAgR0NQUk8xIChhcmdzKTsKICB0YWcgPSBGZXZhbCAo RmNhciAoYXJncykpOwogIFVOR0NQUk87CiAgcmV0dXJuIGludGVybmFsX2Nh dGNoICh0YWcsIEZwcm9nbiwgRmNkciAoYXJncykpOwp9CgovKiAzLiBDKysg ZnVuY3Rpb25zLiAgKi8KCmludAphX2I6OmNfZDo6ZV9mMSAoKQp7Cn0KCmlu dAphX2IKOjoKY19kOjplX2YyICgpCnsKfQoKaW50CiAgYV9iCiAgICA6Ogog ICAgICBjX2QKICAgICAgICA6OgogICAgICAgICAgZV9mMwogICAgICAgICAg ICAoKQp7Cn0KCi8qIDQuIHN0cnVjdCwgZW51bSwgY2xhc3MsIHVuaW9uOyBw cml2YXRlLCBwcm90ZWN0ZWQsIHB1YmxpYy4gICovCgovKiBUaGUgY2FzZXMg b2YgYHN0cnVjdCcgY2FuIHJlcHJlc2VudCBhbGwgYHN0cnVjdCcsIGBlbnVt JywgYGNsYXNzJywKICAgYW5kIGB1bmlvbicuICAqLwoKc3RydWN0IHN0cnVj dDEKewp9OwoKc3RydWN0CnN0cnVjdDIKewp9OwoKICAgc3RydWN0IHN0cnVj dDMKewp9OwoKICAgc3RydWN0CnN0cnVjdDQKewp9OwoKY2xhc3MgYV9iMSA6 IHB1YmxpYyBjX2QKewp9OwoKY2xhc3MgYV9iMgo6IHB1YmxpYyBjX2QKewp9 OwoKY2xhc3MgYV9iMzoKcHVibGljIGNfZAp7Cn07CgpjbGFzcyBhX2I0CjoK cHVibGljIGNfZAp7Cn07CgogICAgY2xhc3MKYV9iNSA6IHB1YmxpYyBjX2QK ewp9OwoKIGNsYXNzIGFfYjYKICAgIDogcHVibGljCiAgICAgICAgICAgICAg ICAgICBjX2QKewp9OwoKIGNsYXNzCiBhX2I3ICAgICAgICAgICA6CiAgICAg IHB1YmxpYyBjX2QKewp9OwoKICAgY2xhc3MKYV9iOAogOgogICAgICAgICAg cHVibGljCmNfZAp7Cn07CgpjbGFzcyBhX2I6OmNfZDEgOiBwdWJsaWMgZV9m LCBwdWJsaWMgZ19oIAp7Cn07CgpjbGFzcyBhX2IKOjoKY19kMiAKOiBwdWJs aWMKIGVfZgosCiBwdWJsaWMKIGdfaCAKewp9Owo= ------=_NextPart_000_108f_6909_773f Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ------=_NextPart_000_108f_6909_773f--