X-Loop: help-debbugs@HIDDEN Subject: bug#37547: CC Mode 5.33.2 (Dired by date); c-electric-backspace throws error `c-unfind-coalesced-tokens: Wrong type argument: integer-or-marker-p, nil` Resent-From: "Sun, Wei" <waysun@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-cc-mode@HIDDEN Resent-Date: Sun, 29 Sep 2019 05:26:02 +0000 Resent-Message-ID: <handler.37547.B.156973473712604 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 37547 X-GNU-PR-Package: cc-mode X-GNU-PR-Keywords: To: 37547 <at> debbugs.gnu.org X-Debbugs-Original-To: "submit <at> debbugs.gnu.org" <submit <at> debbugs.gnu.org> Received: via spool by submit <at> debbugs.gnu.org id=B.156973473712604 (code B ref -1); Sun, 29 Sep 2019 05:26:02 +0000 Received: (at submit) by debbugs.gnu.org; 29 Sep 2019 05:25:37 +0000 Received: from localhost ([127.0.0.1]:52024 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1iERiC-0003HB-TF for submit <at> debbugs.gnu.org; Sun, 29 Sep 2019 01:25:37 -0400 Received: from smtp-fw-33001.amazon.com ([207.171.190.10]:22204) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <prvs=168c55306=waysun@HIDDEN>) id 1iEP5T-0007jU-C2 for submit <at> debbugs.gnu.org; Sat, 28 Sep 2019 22:37:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1569724647; x=1601260647; h=from:to:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=b0VXQsxa/onYOlGbKwBkseWXorwvPL+g+Fq9pZEIohw=; b=nIOm0Dn4iyswchGe5Ywsjg/Wvv4acRONUSfbOOhp+aAC8tiLnb7Ul1BW Q9p13C890U8wgPa0ddw9HooW+AZFzhZH2EYbFBTva2LkV2wKWS/N2mDRe smTfpwQROuz1RYKX/PTe8FNhI1Nc1fW9T7gdKiWL5/PnGX0BqvwFhnwkZ I=; X-IronPort-AV: E=Sophos;i="5.64,561,1559520000"; d="scan'208";a="837668201" Received: from sea3-co-svc-lb6-vlan2.sea.amazon.com (HELO email-inbound-relay-1d-5dd976cd.us-east-1.amazon.com) ([10.47.22.34]) by smtp-border-fw-out-33001.sea14.amazon.com with ESMTP; 29 Sep 2019 02:37:05 +0000 Received: from EX13MTAUWA001.ant.amazon.com (iad55-ws-svc-p15-lb9-vlan3.iad.amazon.com [10.40.159.166]) by email-inbound-relay-1d-5dd976cd.us-east-1.amazon.com (Postfix) with ESMTPS id CE2B3A23B9 for <submit <at> debbugs.gnu.org>; Sun, 29 Sep 2019 02:36:49 +0000 (UTC) Received: from EX13D01ANC002.ant.amazon.com (10.43.157.162) by EX13MTAUWA001.ant.amazon.com (10.43.160.58) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Sun, 29 Sep 2019 02:36:48 +0000 Received: from EX13D01ANC002.ant.amazon.com (10.43.157.162) by EX13D01ANC002.ant.amazon.com (10.43.157.162) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Sun, 29 Sep 2019 02:36:47 +0000 Received: from EX13D01ANC002.ant.amazon.com ([10.43.157.162]) by EX13D01ANC002.ant.amazon.com ([10.43.157.162]) with mapi id 15.00.1367.000; Sun, 29 Sep 2019 02:36:47 +0000 From: "Sun, Wei" <waysun@HIDDEN> Thread-Topic: CC Mode 5.33.2 (Dired by date); c-electric-backspace throws error `c-unfind-coalesced-tokens: Wrong type argument: integer-or-marker-p, nil` Thread-Index: AQHVdm69qPZFgZNCb02BHUjNuS48Zw== Date: Sun, 29 Sep 2019 02:36:47 +0000 Message-ID: <pjich8y2y7ygjl.fsf@HIDDEN> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.43.162.30] Content-Type: text/plain; charset="utf-8" Content-ID: <20706CFFFA1AB94A90DEA3F66ABB0B6F@HIDDEN> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Precedence: Bulk X-Spam-Score: -9.8 (---------) X-Mailman-Approved-At: Sun, 29 Sep 2019 01:25:35 -0400 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -10.8 (----------) UGFja2FnZTogY2MtbW9kZQ0KDQokIGNhdCB0ZXN0LmNjDQovLyDkvaDlpb1hDQoNCkkgd2FudCB0 byBkZWxldGUgdGhlIGBhYCwgd2hlbiBwcmVzcyBgYmFja3NwYWNlYCBhZnRlciBgYWAsIGVtYWNz IHdpbGwgdGhyb3cgYW4gZXJyb3I6DQoNCmBjLXVuZmluZC1jb2FsZXNjZWQtdG9rZW5zOiBXcm9u ZyB0eXBlIGFyZ3VtZW50OiBpbnRlZ2VyLW9yLW1hcmtlci1wLA0KbmlsYA0KDQp0aGUgYmFja3Ry YWNlIGlzOg0KDQpEZWJ1Z2dlciBlbnRlcmVkLS1MaXNwIGVycm9yOiAod3JvbmctdHlwZS1hcmd1 bWVudCBpbnRlZ2VyLW9yLW1hcmtlci1wIG5pbCkNCiAgYy1mb3J3YXJkLXN3cygpDQogIGMtdW5m aW5kLWNvYWxlc2NlZC10b2tlbnMoNiA3KQ0KICBjLWJlZm9yZS1jaGFuZ2UoNiA3KQ0KICBkZWxl dGUtY2hhcigtMSBuaWwpDQogIGRlbGV0ZS1iYWNrd2FyZC1jaGFyKDEgbmlsKQ0KICBiYWNrd2Fy ZC1kZWxldGUtY2hhci11bnRhYmlmeSgxKQ0KICBjLWVsZWN0cmljLWJhY2tzcGFjZShuaWwpDQog IGZ1bmNhbGwtaW50ZXJhY3RpdmVseShjLWVsZWN0cmljLWJhY2tzcGFjZSBuaWwpDQogIGNhbGwt aW50ZXJhY3RpdmVseShjLWVsZWN0cmljLWJhY2tzcGFjZSBuaWwgbmlsKQ0KICBjb21tYW5kLWV4 ZWN1dGUoYy1lbGVjdHJpYy1iYWNrc3BhY2UpDQoNCndoYXQncyBtb3JlLCBpZiB5b3UgYXJlIHZp c2l0aW5nIGEgbGFyZ2UgYysrIGZpbGUsIGFmdGVyIHRoaXMgZXJyb3INCm9jY3VycywgdGhlbiBl dmVyeXRoaW5nIHdpbGwgYmVjb21lIHZlcnkgc2xvdy4NCg0KDQpQYWNrYWdlOiBjYy1tb2RlDQoN CkVtYWNzICA6IEdOVSBFbWFjcyAyNi4zIChidWlsZCAyLCB4ODZfNjQtcGMtbGludXgtZ251LCBH VEsrIFZlcnNpb24gMy4xOC45KQ0KIG9mIDIwMTktMDktMDUNClBhY2thZ2U6IENDIE1vZGUgNS4z My4yIChEaXJlZCBieSBkYXRlKQ0KQnVmZmVyIFN0eWxlOiBuaWwNCmMtZW1hY3MtZmVhdHVyZXM6 IChwcHMtZXh0ZW5kZWQtc3RhdGUgY29sLTAtcGFyZW4gcG9zaXgtY2hhci1jbGFzc2VzIGdlbi1z dHJpbmctZGVsaW0gZ2VuLWNvbW1lbnQtZGVsaW0gc3ludGF4LXByb3BlcnRpZXMgMS1iaXQpDQoN CmN1cnJlbnQgc3RhdGU6DQo9PT09PT09PT09PT09PQ0KKHNldHENCiBjLWJhc2ljLW9mZnNldCAn c2V0LWZyb20tc3R5bGUNCiBjLWNvbW1lbnQtb25seS1saW5lLW9mZnNldCAnc2V0LWZyb20tc3R5 bGUNCiBjLWluZGVudC1jb21tZW50LWFsaXN0ICdzZXQtZnJvbS1zdHlsZQ0KIGMtaW5kZW50LWNv bW1lbnRzLXN5bnRhY3RpY2FsbHktcCAnc2V0LWZyb20tc3R5bGUNCiBjLWJsb2NrLWNvbW1lbnQt cHJlZml4ICdzZXQtZnJvbS1zdHlsZQ0KIGMtY29tbWVudC1wcmVmaXgtcmVnZXhwICdzZXQtZnJv bS1zdHlsZQ0KIGMtZG9jLWNvbW1lbnQtc3R5bGUgJ3NldC1mcm9tLXN0eWxlDQogYy1jbGVhbnVw LWxpc3QgJ3NldC1mcm9tLXN0eWxlDQogYy1oYW5naW5nLWJyYWNlcy1hbGlzdCAnc2V0LWZyb20t c3R5bGUNCiBjLWhhbmdpbmctY29sb25zLWFsaXN0ICdzZXQtZnJvbS1zdHlsZQ0KIGMtaGFuZ2lu Zy1zZW1pJmNvbW1hLWNyaXRlcmlhICdzZXQtZnJvbS1zdHlsZQ0KIGMtYmFja3NsYXNoLWNvbHVt biAnc2V0LWZyb20tc3R5bGUNCiBjLWJhY2tzbGFzaC1tYXgtY29sdW1uICdzZXQtZnJvbS1zdHls ZQ0KIGMtc3BlY2lhbC1pbmRlbnQtaG9vayBuaWwNCiBjLWxhYmVsLW1pbmltdW0taW5kZW50YXRp b24gJ3NldC1mcm9tLXN0eWxlDQogYy1vZmZzZXRzLWFsaXN0ICcoKGNhc2UtbGFiZWwgLiAwKSkN CiBjLWJ1ZmZlci1pcy1jYy1tb2RlIG5pbA0KIGMtdGFiLWFsd2F5cy1pbmRlbnQgdA0KIGMtc3lu dGFjdGljLWluZGVudGF0aW9uIHQNCiBjLXN5bnRhY3RpYy1pbmRlbnRhdGlvbi1pbi1tYWNyb3Mg dA0KIGMtaWdub3JlLWF1dG8tZmlsbCAnKHN0cmluZyBjcHAgY29kZSkNCiBjLWF1dG8tYWxpZ24t YmFja3NsYXNoZXMgdA0KIGMtYmFja3NwYWNlLWZ1bmN0aW9uICdiYWNrd2FyZC1kZWxldGUtY2hh ci11bnRhYmlmeQ0KIGMtZGVsZXRlLWZ1bmN0aW9uICdkZWxldGUtY2hhcg0KIGMtZWxlY3RyaWMt cG91bmQtYmVoYXZpb3IgbmlsDQogYy1kZWZhdWx0LXN0eWxlICcoKGphdmEtbW9kZSAuICJqYXZh IikgKGF3ay1tb2RlIC4gImF3ayIpIChvdGhlciAuICJnbnUiKSkNCiBjLWVuYWJsZS14ZW1hY3Mt cGVyZm9ybWFuY2Uta2x1ZGdlLXAgdA0KIGMtb2xkLXN0eWxlLXZhcmlhYmxlLWJlaGF2aW9yIG5p bA0KIGRlZnVuLXByb21wdC1yZWdleHAgbmlsDQogdGFiLXdpZHRoIDQNCiBjb21tZW50LWNvbHVt biAzMg0KIHBhcnNlLXNleHAtaWdub3JlLWNvbW1lbnRzIG5pbA0KIHBhcnNlLXNleHAtbG9va3Vw LXByb3BlcnRpZXMgbmlsDQogYXV0by1maWxsLWZ1bmN0aW9uIG5pbA0KIGNvbW1lbnQtbXVsdGkt bGluZSBuaWwNCiBjb21tZW50LXN0YXJ0LXNraXAgbmlsDQogZmlsbC1wcmVmaXggbmlsDQogZmls bC1jb2x1bW4gODANCiBwYXJhZ3JhcGgtc3RhcnQgIlxmXFx8WyAJXSokIg0KIGFkYXB0aXZlLWZp bGwtbW9kZSB0DQogYWRhcHRpdmUtZmlsbC1yZWdleHAgIlsgCV0rXFx8WyAJXSpcXChbMC05XStc XC5cXHxcXCorXFwpWyAJXSoiDQogKQ==
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: "Sun, Wei" <waysun@HIDDEN> Subject: bug#37547: Acknowledgement (CC Mode 5.33.2 (Dired by date); c-electric-backspace throws error `c-unfind-coalesced-tokens: Wrong type argument: integer-or-marker-p, nil`) Message-ID: <handler.37547.B.156973473712604.ack <at> debbugs.gnu.org> References: <pjich8y2y7ygjl.fsf@HIDDEN> X-Gnu-PR-Message: ack 37547 X-Gnu-PR-Package: cc-mode Reply-To: 37547 <at> debbugs.gnu.org Date: Sun, 29 Sep 2019 05:26:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-cc-mode@HIDDEN If you wish to submit further information on this problem, please send it to 37547 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 37547: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D37547 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#37547: CC Mode 5.33.2 (Dired by date); c-electric-backspace throws error `c-unfind-coalesced-tokens: Wrong type argument: integer-or-marker-p, nil` Resent-From: Alan Mackenzie <acm@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-cc-mode@HIDDEN Resent-Date: Sun, 29 Sep 2019 16:15:01 +0000 Resent-Message-ID: <handler.37547.B37547.156977369019277 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 37547 X-GNU-PR-Package: cc-mode X-GNU-PR-Keywords: To: "Sun, Wei" <waysun@HIDDEN> Cc: 37547 <at> debbugs.gnu.org Received: via spool by 37547-submit <at> debbugs.gnu.org id=B37547.156977369019277 (code B ref 37547); Sun, 29 Sep 2019 16:15:01 +0000 Received: (at 37547) by debbugs.gnu.org; 29 Sep 2019 16:14:50 +0000 Received: from localhost ([127.0.0.1]:55677 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1iEbqT-00050r-NS for submit <at> debbugs.gnu.org; Sun, 29 Sep 2019 12:14:50 -0400 Received: from colin.muc.de ([193.149.48.1]:18120 helo=mail.muc.de) by debbugs.gnu.org with smtp (Exim 4.84_2) (envelope-from <acm@HIDDEN>) id 1iEbqP-00050g-V1 for 37547 <at> debbugs.gnu.org; Sun, 29 Sep 2019 12:14:47 -0400 Received: (qmail 26814 invoked by uid 3782); 29 Sep 2019 16:14:44 -0000 Received: from acm.muc.de (p4FE15D9A.dip0.t-ipconnect.de [79.225.93.154]) by colin.muc.de (tmda-ofmipd) with ESMTP; Sun, 29 Sep 2019 18:14:42 +0200 Received: (qmail 12017 invoked by uid 1000); 29 Sep 2019 16:14:42 -0000 Date: Sun, 29 Sep 2019 16:14:42 +0000 Message-ID: <20190929161442.GB3993@ACM> References: <pjich8y2y7ygjl.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="huq684BweRXVnRxX" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <pjich8y2y7ygjl.fsf@HIDDEN> User-Agent: Mutt/1.10.1 (2018-07-13) X-Delivery-Agent: TMDA/1.1.12 (Macallan) From: Alan Mackenzie <acm@HIDDEN> X-Primary-Address: acm@HIDDEN X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --huq684BweRXVnRxX Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Hello, Wei. Thank you for taking the trouble to report this bug, and thanks even more for stripping it down to a bare minimum amount of text. On Sun, Sep 29, 2019 at 02:36:47 +0000, Sun, Wei via CC-Mode-help wrote: > Package: cc-mode > $ cat test.cc > // 你好a > I want to delete the `a`, when press `backspace` after `a`, emacs will throw an error: > `c-unfind-coalesced-tokens: Wrong type argument: integer-or-marker-p, > nil` > the backtrace is: > Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p nil) > c-forward-sws() > c-unfind-coalesced-tokens(6 7) > c-before-change(6 7) > delete-char(-1 nil) > delete-backward-char(1 nil) > backward-delete-char-untabify(1) > c-electric-backspace(nil) > funcall-interactively(c-electric-backspace nil) > call-interactively(c-electric-backspace nil nil) > command-execute(c-electric-backspace) Yes. The cause of this problem is the use of the regular expression "\\<\\>" in CC Mode, which was meant "not to match anything". It turns out that if an Asian character is directly followed by a European character without spaces between them, this position can be at both the start of a word and the end of a word. This is what has happened here. This bug was actually fixed in the Emacs master branch last year, but was too late to make it into Emacs 26. The fix was to use an actual "will never match" regular expression, namely "a\\`". > what's more, if you are visiting a large c++ file, after this error > occurs, then everything will become very slow. This happens because the error with the regexp causes CC Mode's "before change function" to get removed from before-change-hook. When CC Mode detects this, as a precaution against file corruption, it assumes every change is over the entire buffer. This prevents any loss of text, but runs very slowly. [ Dump of CC Mode's configuration appreciated, but snipped.] As a workaround to the bug, please apply the attached patch and byte compile CC Mode. (CC Mode is the ?14 files emacs/lisp/progmodes/cc-*.el). If you want any help in applying this patch or byte compiling the result, feel free to send me private email. Thanks again for this bug report! -- Alan Mackenzie (Nuremberg, Germany). --huq684BweRXVnRxX Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="diff.20190929.diff" diff -r 26d4dd0886aa -r cb028a1b5b77 cc-defs.el --- a/cc-defs.el Wed Mar 28 18:28:54 2018 +0000 +++ b/cc-defs.el Wed Mar 28 18:29:49 2018 +0000 @@ -85,7 +85,7 @@ (progn (require 'font-lock) (let (font-lock-keywords) - (font-lock-compile-keywords '("\\<\\>")) + (font-lock-compile-keywords '("a\\`")) font-lock-keywords)))) @@ -1776,8 +1776,8 @@ ;; Produce a regexp that matches nothing. (if adorn - "\\(\\<\\>\\)" - "\\<\\>"))) + "\\(a\\`\\)" + "a\\`"))) (put 'c-make-keywords-re 'lisp-indent-function 1) diff -r 26d4dd0886aa -r cb028a1b5b77 cc-engine.el --- a/cc-engine.el Wed Mar 28 18:28:54 2018 +0000 +++ b/cc-engine.el Wed Mar 28 18:29:49 2018 +0000 @@ -874,7 +874,7 @@ stack ;; Regexp which matches "for", "if", etc. (cond-key (or c-opt-block-stmt-key - "\\<\\>")) ; Matches nothing. + "a\\`")) ; Matches nothing. ;; Return value. (ret 'same) ;; Positions of the last three sexps or bounds we've stopped at. @@ -7158,7 +7158,7 @@ (progn (c-forward-syntactic-ws) (when (or (and c-record-type-identifiers all-types) - (not (equal c-inside-<>-type-key "\\(\\<\\>\\)"))) + (not (equal c-inside-<>-type-key "\\(a\\`\\)"))) (c-forward-syntactic-ws) (cond ((eq (char-after) ??) @@ -8566,7 +8566,7 @@ ;; Skip over type decl prefix operators. (Note similar code in ;; `c-forward-declarator'.) (if (and c-recognize-typeless-decls - (equal c-type-decl-prefix-key "\\<\\>")) + (equal c-type-decl-prefix-key "a\\`")) (when (eq (char-after) ?\() (progn (setq paren-depth (1+ paren-depth)) @@ -10192,7 +10192,7 @@ ;; legal because it's part of a "compound keyword" like ;; "enum class". Of course, if c-after-brace-list-key ;; is nil, we can skip the test. - (or (equal c-after-brace-list-key "\\<\\>") + (or (equal c-after-brace-list-key "a\\`") (save-match-data (save-excursion (not diff -r 26d4dd0886aa -r cb028a1b5b77 cc-langs.el --- a/cc-langs.el Wed Mar 28 18:28:54 2018 +0000 +++ b/cc-langs.el Wed Mar 28 18:29:49 2018 +0000 @@ -1263,7 +1263,7 @@ (c--set-difference (c-lang-const c-assignment-operators) '("=") :test 'string-equal))) - "\\<\\>")) + "a\\`")) (c-lang-defvar c-assignment-op-regexp (c-lang-const c-assignment-op-regexp)) @@ -1486,7 +1486,7 @@ ;; language) t (if (c-lang-const c-block-comment-ender) (regexp-quote (c-lang-const c-block-comment-ender)) - "\\<\\>")) + "a\\`")) (c-lang-defvar c-block-comment-ender-regexp (c-lang-const c-block-comment-ender-regexp)) @@ -1505,7 +1505,7 @@ ;; language) t (if (c-lang-const c-block-comment-starter) (regexp-quote (c-lang-const c-block-comment-starter)) - "\\<\\>")) + "a\\`")) (c-lang-defvar c-block-comment-start-regexp (c-lang-const c-block-comment-start-regexp)) @@ -1514,7 +1514,7 @@ ;; language; it does in all 7 CC Mode languages). t (if (c-lang-const c-line-comment-starter) (regexp-quote (c-lang-const c-line-comment-starter)) - "\\<\\>")) + "a\\`")) (c-lang-defvar c-line-comment-start-regexp (c-lang-const c-line-comment-start-regexp)) @@ -1529,7 +1529,7 @@ (c-lang-defconst c-doc-comment-start-regexp "Regexp to match the start of documentation comments." - t "\\<\\>" + t "a\\`" ;; From font-lock.el: `doxygen' uses /*! while others use /**. (c c++ objc) "/\\*[*!]" java "/\\*\\*" @@ -2978,7 +2978,7 @@ "Regexp matching a keyword that is followed by a colon, where the whole construct can precede a declaration. E.g. \"public:\" in C++." - t "\\<\\>" + t "a\\`" c++ (c-make-keywords-re t (c-lang-const c-protection-kwds))) (c-lang-defvar c-decl-start-colon-kwd-re (c-lang-const c-decl-start-colon-kwd-re)) @@ -3159,7 +3159,7 @@ t (if (c-lang-const c-type-modifier-kwds) (concat (regexp-opt (c-lang-const c-type-modifier-kwds) t) "\\>") ;; Default to a regexp that never matches. - "\\<\\>") + "a\\`") ;; Check that there's no "=" afterwards to avoid matching tokens ;; like "*=". (c objc) (concat "\\(" @@ -3197,7 +3197,7 @@ as the end of the operator. Identifier syntax is in effect when this is matched \(see `c-identifier-syntax-table')." t ;; Default to a regexp that never matches. - "\\<\\>" + "a\\`" ;; Check that there's no "=" afterwards to avoid matching tokens ;; like "*=". (c objc) (concat "\\(\\*\\)" @@ -3356,7 +3356,7 @@ (c-lang-defconst c-pre-id-bracelist-key "A regexp matching tokens which, preceding an identifier, signify a bracelist. " - t "\\<\\>" + t "a\\`" c++ "new\\([^[:alnum:]_$]\\|$\\)\\|&&?\\(\\S.\\|$\\)") (c-lang-defvar c-pre-id-bracelist-key (c-lang-const c-pre-id-bracelist-key)) @@ -3412,7 +3412,7 @@ ;; before the '{' of the enum list, to avoid searching too far. "[^][{};/#=]*" "{") - "\\<\\>")) + "a\\`")) (c-lang-defvar c-enum-clause-introduction-re (c-lang-const c-enum-clause-introduction-re)) @@ -3528,7 +3528,7 @@ "Regexp matching things that can't occur two symbols before a colon in a label construct. This catches C++'s inheritance construct \"class foo : bar\". Only used if `c-recognize-colon-labels' is set." - t "\\<\\>" ; matches nothing + t "a\\`" ; matches nothing c++ (c-make-keywords-re t '("class"))) (c-lang-defvar c-nonlabel-token-2-key (c-lang-const c-nonlabel-token-2-key)) diff -r 26d4dd0886aa -r cb028a1b5b77 cc-vars.el --- a/cc-vars.el Wed Mar 28 18:28:54 2018 +0000 +++ b/cc-vars.el Wed Mar 28 18:29:49 2018 +0000 @@ -1645,8 +1645,8 @@ :type 'boolean :group 'c) -(defvar c-noise-macro-with-parens-name-re "\\<\\>") -(defvar c-noise-macro-name-re "\\<\\>") +(defvar c-noise-macro-with-parens-name-re "a\\`") +(defvar c-noise-macro-name-re "a\\`") (defcustom c-noise-macro-names nil "A list of names of macros which expand to nothing, or compiler extensions @@ -1673,7 +1673,7 @@ ;; Convert `c-noise-macro-names' and `c-noise-macro-with-parens-names' into ;; `c-noise-macro-name-re' and `c-noise-macro-with-parens-name-re'. (setq c-noise-macro-with-parens-name-re - (cond ((null c-noise-macro-with-parens-names) "\\<\\>") + (cond ((null c-noise-macro-with-parens-names) "a\\`") ((consp c-noise-macro-with-parens-names) (concat (regexp-opt c-noise-macro-with-parens-names t) "\\([^[:alnum:]_$]\\|$\\)")) @@ -1682,7 +1682,7 @@ (t (error "c-make-noise-macro-regexps: \ c-noise-macro-with-parens-names is invalid: %s" c-noise-macro-with-parens-names)))) (setq c-noise-macro-name-re - (cond ((null c-noise-macro-names) "\\<\\>") + (cond ((null c-noise-macro-names) "a\\`") ((consp c-noise-macro-names) (concat (regexp-opt c-noise-macro-names t) "\\([^[:alnum:]_$]\\|$\\)")) --huq684BweRXVnRxX--
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.