From unknown Sun Sep 21 18:12:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74307: 30.0.92; emacs-lisp font-locking word regexp Resent-From: Roland Winkler Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Nov 2024 06:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 74307 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 74307@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.173130655025370 (code B ref -1); Mon, 11 Nov 2024 06:30:02 +0000 Received: (at submit) by debbugs.gnu.org; 11 Nov 2024 06:29:10 +0000 Received: from localhost ([127.0.0.1]:57842 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tANvB-0006b7-Mo for submit@debbugs.gnu.org; Mon, 11 Nov 2024 01:29:09 -0500 Received: from lists.gnu.org ([209.51.188.17]:57996) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tANv8-0006az-KD for submit@debbugs.gnu.org; Mon, 11 Nov 2024 01:29:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tANv7-0004r7-UF for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2024 01:29:06 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tANv7-0007uL-FF for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2024 01:29:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=Xuol0NZ69iu8oLZ1HeVypKeCj7RHKpODivOaL8BJvBk=; b=pyHtb7KcKqFC/r n/4i5Nz4envcFnfv4y0KQUKRH8eb4qGWkvr8YPdNGKGI0MDVryErePdsrp2gxt8na6t80fgon5ZaE /0S7uxHpkr6mUQTJxFxMu30r7nxBi83/8mX99wYbJAEeQICrfx7gZcNlXfwSxfH38e9cBPCNOcpkj RcdKCWxFRUAU1GqtSa85+Asl1BTBqkDE1l4VeucsDg5kOCZtZNEJV0AuG0V5JxKkVHUZIJx62CEwB b2XuiNQnlcANDagoSm+3ggJ9s39nj+3VRGcxKf2odQz+9q30wFBKcSeaUiyziQ0bsm6hkNXj0DJV2 4GwgBbc+79z0ZhUgObyA==; From: Roland Winkler Date: Mon, 11 Nov 2024 00:28:34 -0600 Message-ID: <87jzdawagd.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Starting from emacs -Q, put the following into a buffer with emacs-lisp-mode (setq foo "\\") The part "foo\\" of the string "\\" will get font-lock-variable-name-face, which looks odd. I believe, this is due to a clause in lisp-mode.el that says ;; Words inside \\[], \\<>, \\{} or \\`' tend to be for ;; `substitute-command-keys'. But this assumption is not always correct, in particular if ">" is preceded by "\\", which happens when constructing regexps. From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 11 07:30:48 2024 Received: (at control) by debbugs.gnu.org; 11 Nov 2024 12:30:48 +0000 Received: from localhost ([127.0.0.1]:58570 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tATZ9-0005vt-Tx for submit@debbugs.gnu.org; Mon, 11 Nov 2024 07:30:48 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36678) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tATZ7-0005vR-0Z; Mon, 11 Nov 2024 07:30:45 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tATZ1-0002dA-NO; Mon, 11 Nov 2024 07:30:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=SjNfYHpO3+8WEZrx6u++pydzx935jXCb/6J4mv2+gpM=; b=E6K4NzYpGHL6 uP7RhaOBPOVG2ClH/0aeZvQf0bWVZ7j+m0w6EKLke/wBzFACCQLeFIF4Pl84Zqx0spkOAfmVss64a 6NzEqoidPY8ZKBymAO/EEmKTtZS3qcrdvNEdCj3Q8UTOrIna/+914OPqqSvVRBKnWHyZsxdus5tz/ rBFcgm+QEq53njOl9TCSGcnWoSYZCmR+pvk8xBC+GL6QzSwh5hJ3P45D56vbPkg3iOlKqVz3vcu5q 3rk+g+jqDXPd89vCgWTWhZ9Lwetq3Sr6sVwr2vJEpzNAr6Xqd8s74DQLqvEW94Bpm7AOpvC9lPlFD 9KmQk7Gwg42y19eZp0Q/gQ==; Date: Mon, 11 Nov 2024 14:30:35 +0200 Message-Id: <86zfm6j6l0.fsf@gnu.org> From: Eli Zaretskii To: Roland Winkler In-Reply-To: <87ed3iwacp.fsf@gnu.org> (message from Roland Winkler on Mon, 11 Nov 2024 00:30:46 -0600) Subject: Re: bug#74308: 30.0.92; emacs-lisp font-locking word regexp References: <87ed3iwacp.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control Cc: 74308@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) merge 74308 74307 thanks > From: Roland Winkler > Date: Mon, 11 Nov 2024 00:30:46 -0600 > > Starting from emacs -Q, put the following into a buffer with > emacs-lisp-mode > > (setq foo "\\") > > The part "foo\\" of the string "\\" will get > font-lock-variable-name-face, which looks odd. > > I believe, this is due to a clause in lisp-mode.el that says > > ;; Words inside \\[], \\<>, \\{} or \\`' tend to be for > ;; `substitute-command-keys'. > > But this assumption is not always correct, in particular if ">" is > preceded by "\\", which happens when constructing regexps. This is an exact duplicate of bug#74307 that you submitted just 2 minutes earlier, so I'm merging them. From unknown Sun Sep 21 18:12:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74307: 30.0.92; emacs-lisp font-locking word regexp Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Nov 2024 08:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74307 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Roland Winkler , Stefan Monnier Cc: 74307@debbugs.gnu.org Received: via spool by 74307-submit@debbugs.gnu.org id=B74307.1731571912560 (code B ref 74307); Thu, 14 Nov 2024 08:12:01 +0000 Received: (at 74307) by debbugs.gnu.org; 14 Nov 2024 08:11:52 +0000 Received: from localhost ([127.0.0.1]:44886 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tBUxE-00008x-Gm for submit@debbugs.gnu.org; Thu, 14 Nov 2024 03:11:52 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49024) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tBUxD-00008j-6T for 74307@debbugs.gnu.org; Thu, 14 Nov 2024 03:11:51 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tBUx7-0005SA-0F; Thu, 14 Nov 2024 03:11:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=pK2kVx3VZGQa84INLLoOc+an7Imhamx0pFUdnCJOhDI=; b=aF30TOxvYPxy viJcoodZ0tNfLT01S3dfqCWHteU0InNKGvwFZBopHiqNWq7lwDA/8gvOjGv77QDb/YBi3jg3s4Ga6 2hUmU3WAI+eN7/qu1whVAeOx1MUFQRas39Q54UqiWw3yGzbVbleZ3DM7sWeOtORZNKUYjniYRQ+B7 Fpb/WzaVZ87WPJ+yVbebE0oOahnRYkqQ76CJETXQK4Xi18hg5EcXKT12D4ansrmaRFVwR9Tp3Z6Oz /xK6RwdjovByLa1J3rI9CFzIwwHf+1W4gdTIB5tILobUd40ODJAey94hqBG0M1NQ3tJa2xwaz4ScM OEhE0wT5//TGRP98MH3SLw==; Date: Thu, 14 Nov 2024 10:11:43 +0200 Message-Id: <868qtmkzeo.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87jzdawagd.fsf@gnu.org> (message from Roland Winkler on Mon, 11 Nov 2024 00:28:34 -0600) References: <87jzdawagd.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Roland Winkler > Date: Mon, 11 Nov 2024 00:28:34 -0600 > > Starting from emacs -Q, put the following into a buffer with > emacs-lisp-mode > > (setq foo "\\") > > The part "foo\\" of the string "\\" will get > font-lock-variable-name-face, which looks odd. > > I believe, this is due to a clause in lisp-mode.el that says > > ;; Words inside \\[], \\<>, \\{} or \\`' tend to be for > ;; `substitute-command-keys'. > > But this assumption is not always correct, in particular if ">" is > preceded by "\\", which happens when constructing regexps. I believe you are saying that in (,(rx "\\\\" (or (seq "<" (group-n 1 lisp-mode-symbol) ">") (seq "{" (group-n 1 lisp-mode-symbol) "}"))) (1 font-lock-variable-name-face prepend)) we should use something like the below instead? (,(rx "\\\\" (or (seq "<" (group-n 1 lisp-mode-symbol) (not "\\\\") ">") (seq "{" (group-n 1 lisp-mode-symbol) (not "\\\\") "}")) And similarly for \\[] etc.? From unknown Sun Sep 21 18:12:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74307: 30.0.92; emacs-lisp font-locking word regexp Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Nov 2024 16:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74307 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 74307@debbugs.gnu.org, Roland Winkler Received: via spool by 74307-submit@debbugs.gnu.org id=B74307.173160149628281 (code B ref 74307); Thu, 14 Nov 2024 16:25:02 +0000 Received: (at 74307) by debbugs.gnu.org; 14 Nov 2024 16:24:56 +0000 Received: from localhost ([127.0.0.1]:46901 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tBceO-0007M5-5r for submit@debbugs.gnu.org; Thu, 14 Nov 2024 11:24:56 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:37507) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tBceM-0007Lp-OT for 74307@debbugs.gnu.org; Thu, 14 Nov 2024 11:24:55 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 6100E8092E; Thu, 14 Nov 2024 11:24:49 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1731601488; bh=hqXP/Lr2iiTZg+Y09Ck3KYG0B/h5NOlRbQR5kSKOnu8=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=JGI/cFM41yAbeQ3HDsOLrkB2j7JzumFNDTvLpK5wEBhlpYurhKEy3bF/Ipur+V2gy zO6TsA6R7wC2tfciUNH7DtemaKkw5AdWHIQSO48xeoIeacl2RIT3AQMAV2sZEJP5cx 0LOcam3wucOoEW5SW6MwZsDQsYk1s5gRk09AE1ic9qh3ljfqSbGpzP+WE1kxavd87Q Bi9wVMDhxkbbNqTcuD+KFOdLTb+wYg7aqBROT/M5dyCG8fCfmM6Dxm+qlVcM40qRxF eGHKufsezRlb6wpZ4KRZ3y3qdHo1mpIZ1vLxOv432qzyt7VwkE87WHce/BaIbWZ0Mc 0s5EhZ9xW23bA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id A8FB68045E; Thu, 14 Nov 2024 11:24:48 -0500 (EST) Received: from alfajor (modemcable005.21-80-70.mc.videotron.ca [70.80.21.5]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 8A5FB1202EF; Thu, 14 Nov 2024 11:24:48 -0500 (EST) From: Stefan Monnier In-Reply-To: <868qtmkzeo.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 14 Nov 2024 10:11:43 +0200") Message-ID: References: <87jzdawagd.fsf@gnu.org> <868qtmkzeo.fsf@gnu.org> Date: Thu, 14 Nov 2024 11:24:48 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.348 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > I believe you are saying that in > > (,(rx "\\\\" (or (seq "<" (group-n 1 lisp-mode-symbol) ">") > (seq "{" (group-n 1 lisp-mode-symbol) "}"))) > (1 font-lock-variable-name-face prepend)) > > we should use something like the below instead? > > (,(rx "\\\\" (or (seq "<" (group-n 1 lisp-mode-symbol) (not "\\\\") ">") > (seq "{" (group-n 1 lisp-mode-symbol) (not "\\\\") "}")) > > And similarly for \\[] etc.? Sounds good to me. Stefan From unknown Sun Sep 21 18:12:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74307: 30.0.92; emacs-lisp font-locking word regexp Resent-From: Roland Winkler Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Nov 2024 16:50:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74307 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 74307@debbugs.gnu.org, Stefan Monnier Received: via spool by 74307-submit@debbugs.gnu.org id=B74307.1731602990361 (code B ref 74307); Thu, 14 Nov 2024 16:50:01 +0000 Received: (at 74307) by debbugs.gnu.org; 14 Nov 2024 16:49:50 +0000 Received: from localhost ([127.0.0.1]:46945 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tBd2T-00005l-K5 for submit@debbugs.gnu.org; Thu, 14 Nov 2024 11:49:49 -0500 Received: from eggs.gnu.org ([209.51.188.92]:51148) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tBd2R-00005W-SZ for 74307@debbugs.gnu.org; Thu, 14 Nov 2024 11:49:48 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tBd2M-00088s-Ej; Thu, 14 Nov 2024 11:49:42 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=d40XVdtansX4iCB6MoWQdgMztC90pYljJCVNM1Yfic0=; b=czdFHds0VEcx+qzQlRfk JWQ6J4DYqZ8nMau6nSH+4iAJzLR/dIyRtkkx0xOCy8TOWXzzxIx0y/BI5q08HvtkBJwqeroZWDzlV r0lj1bQXIL3gE20yYE2owVqJIdN7XV87y8HhziIC81tY6P1uhdeFRnPItNdFOwYauG5xLW20vb7bx vATjkmHlXE98vVTgVh8wW9Hh2R2UCkJNgFvF65+/Xd+6eQfqGlN5RKq/G5kc86zEvq4d0W6bSQyR7 t6zmPaDtnQlXMBpUTCK4xSxJNyBE6hZ30+9BL2u4wrg7Y2T97AB4Sft9ppvKIiSOhk4Sj/UY0N3Rl I/CzdS4mSRzMvQ==; From: Roland Winkler In-Reply-To: <868qtmkzeo.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 14 Nov 2024 10:11:43 +0200") References: <87jzdawagd.fsf@gnu.org> <868qtmkzeo.fsf@gnu.org> Date: Thu, 14 Nov 2024 10:49:35 -0600 Message-ID: <87ikspbw0w.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) On Thu, Nov 14 2024, Eli Zaretskii wrote: > we should use something like the below instead? > > (,(rx "\\\\" (or (seq "<" (group-n 1 lisp-mode-symbol) (not "\\\\") ">") > (seq "{" (group-n 1 lisp-mode-symbol) (not "\\\\") "q}")) Yes, thanks. (This is my first real-world encounter with rx. Otherwise I would have proposed it myself.) > And similarly for \\[] etc.? I do not know in what context backslash-quoted right square brackets may appear in regexps. But certainly, they do not make sense in the context of substitute-command-keys either. So excluding here backslash-quoted right square brackets is probably for the better, too. From unknown Sun Sep 21 18:12:42 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Roland Winkler Subject: bug#74307: closed (Re: bug#74307: 30.0.92; emacs-lisp font-locking word regexp) Message-ID: References: <865xongsw0.fsf@gnu.org> <87jzdawagd.fsf@gnu.org> X-Gnu-PR-Message: they-closed 74307 X-Gnu-PR-Package: emacs Reply-To: 74307@debbugs.gnu.org Date: Sat, 16 Nov 2024 14:24:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1731767042-20071-1" This is a multi-part message in MIME format... ------------=_1731767042-20071-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #74307: 30.0.92; emacs-lisp font-locking word regexp which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 74307@debbugs.gnu.org. --=20 74307: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D74307 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1731767042-20071-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 74307-done) by debbugs.gnu.org; 16 Nov 2024 14:23:09 +0000 Received: from localhost ([127.0.0.1]:52620 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tCJhc-0005C7-Vi for submit@debbugs.gnu.org; Sat, 16 Nov 2024 09:23:09 -0500 Received: from eggs.gnu.org ([209.51.188.92]:47168) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tCJhZ-0005BP-JX for 74307-done@debbugs.gnu.org; Sat, 16 Nov 2024 09:23:07 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tCJhT-0005XC-HS; Sat, 16 Nov 2024 09:22:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=SYAtRKUerLKvdW0+UOt03bQUmTS/Qnc0vsDAW8Z3AnQ=; b=CXyv+kBM1PzG pIVu2JLVYIETvJnE7Uu6p2dfBVA1flqn7OPnOq2HrIqjXjxMDv+B++U/NQlbB7EcaAtqMyf8V/C4A 6XaXrcLnJIKybKwqR7D65EdRbDs/GpV7zpr/pfyAsalPjkF73tjdt70NmU59yErbajJM3fVMicBj9 iR55Pp1VtwghcySiufeUcYvxq+7oNltXUDewMgyrwfhod/rbo2BgNYjlllDPCqdD6nsOe6TqCx6oQ 5Tuj0yGs0VvLBNwvZM03sON5OzGq2XjnS6XLIaT1AdehM4kc0hDEHKqO6/GvLSIbZRDNkWA1dc2VG gRgZt55T3E7AyC9ArigTMg==; Date: Sat, 16 Nov 2024 16:22:55 +0200 Message-Id: <865xongsw0.fsf@gnu.org> From: Eli Zaretskii To: Stefan Monnier In-Reply-To: (message from Stefan Monnier on Thu, 14 Nov 2024 11:24:48 -0500) Subject: Re: bug#74307: 30.0.92; emacs-lisp font-locking word regexp References: <87jzdawagd.fsf@gnu.org> <868qtmkzeo.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 74307-done Cc: 74307-done@debbugs.gnu.org, winkler@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Stefan Monnier > Cc: Roland Winkler , 74307@debbugs.gnu.org > Date: Thu, 14 Nov 2024 11:24:48 -0500 > > > I believe you are saying that in > > > > (,(rx "\\\\" (or (seq "<" (group-n 1 lisp-mode-symbol) ">") > > (seq "{" (group-n 1 lisp-mode-symbol) "}"))) > > (1 font-lock-variable-name-face prepend)) > > > > we should use something like the below instead? > > > > (,(rx "\\\\" (or (seq "<" (group-n 1 lisp-mode-symbol) (not "\\\\") ">") > > (seq "{" (group-n 1 lisp-mode-symbol) (not "\\\\") "}")) > > > > And similarly for \\[] etc.? > > Sounds good to me. Thanks, installed on master, and closing the bug. ------------=_1731767042-20071-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 11 Nov 2024 06:29:10 +0000 Received: from localhost ([127.0.0.1]:57842 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tANvB-0006b7-Mo for submit@debbugs.gnu.org; Mon, 11 Nov 2024 01:29:09 -0500 Received: from lists.gnu.org ([209.51.188.17]:57996) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tANv8-0006az-KD for submit@debbugs.gnu.org; Mon, 11 Nov 2024 01:29:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tANv7-0004r7-UF for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2024 01:29:06 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tANv7-0007uL-FF for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2024 01:29:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=Xuol0NZ69iu8oLZ1HeVypKeCj7RHKpODivOaL8BJvBk=; b=pyHtb7KcKqFC/r n/4i5Nz4envcFnfv4y0KQUKRH8eb4qGWkvr8YPdNGKGI0MDVryErePdsrp2gxt8na6t80fgon5ZaE /0S7uxHpkr6mUQTJxFxMu30r7nxBi83/8mX99wYbJAEeQICrfx7gZcNlXfwSxfH38e9cBPCNOcpkj RcdKCWxFRUAU1GqtSa85+Asl1BTBqkDE1l4VeucsDg5kOCZtZNEJV0AuG0V5JxKkVHUZIJx62CEwB b2XuiNQnlcANDagoSm+3ggJ9s39nj+3VRGcxKf2odQz+9q30wFBKcSeaUiyziQ0bsm6hkNXj0DJV2 4GwgBbc+79z0ZhUgObyA==; From: Roland Winkler To: bug-gnu-emacs@gnu.org Subject: 30.0.92; emacs-lisp font-locking word regexp X-Debbugs-Cc: Date: Mon, 11 Nov 2024 00:28:34 -0600 Message-ID: <87jzdawagd.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Starting from emacs -Q, put the following into a buffer with emacs-lisp-mode (setq foo "\\") The part "foo\\" of the string "\\" will get font-lock-variable-name-face, which looks odd. I believe, this is due to a clause in lisp-mode.el that says ;; Words inside \\[], \\<>, \\{} or \\`' tend to be for ;; `substitute-command-keys'. But this assumption is not always correct, in particular if ">" is preceded by "\\", which happens when constructing regexps. ------------=_1731767042-20071-1-- From unknown Sun Sep 21 18:12:42 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Roland Winkler Subject: bug#74308: closed (Re: bug#74307: 30.0.92; emacs-lisp font-locking word regexp) Message-ID: References: <865xongsw0.fsf@gnu.org> <87ed3iwacp.fsf@gnu.org> X-Gnu-PR-Message: they-closed 74308 X-Gnu-PR-Package: emacs Reply-To: 74308@debbugs.gnu.org Date: Sat, 16 Nov 2024 14:24:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1731767042-20071-3" This is a multi-part message in MIME format... ------------=_1731767042-20071-3 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #74307: 30.0.92; emacs-lisp font-locking word regexp which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 74308@debbugs.gnu.org. --=20 74307: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D74307 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1731767042-20071-3 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 74307-done) by debbugs.gnu.org; 16 Nov 2024 14:23:09 +0000 Received: from localhost ([127.0.0.1]:52620 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tCJhc-0005C7-Vi for submit@debbugs.gnu.org; Sat, 16 Nov 2024 09:23:09 -0500 Received: from eggs.gnu.org ([209.51.188.92]:47168) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tCJhZ-0005BP-JX for 74307-done@debbugs.gnu.org; Sat, 16 Nov 2024 09:23:07 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tCJhT-0005XC-HS; Sat, 16 Nov 2024 09:22:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=SYAtRKUerLKvdW0+UOt03bQUmTS/Qnc0vsDAW8Z3AnQ=; b=CXyv+kBM1PzG pIVu2JLVYIETvJnE7Uu6p2dfBVA1flqn7OPnOq2HrIqjXjxMDv+B++U/NQlbB7EcaAtqMyf8V/C4A 6XaXrcLnJIKybKwqR7D65EdRbDs/GpV7zpr/pfyAsalPjkF73tjdt70NmU59yErbajJM3fVMicBj9 iR55Pp1VtwghcySiufeUcYvxq+7oNltXUDewMgyrwfhod/rbo2BgNYjlllDPCqdD6nsOe6TqCx6oQ 5Tuj0yGs0VvLBNwvZM03sON5OzGq2XjnS6XLIaT1AdehM4kc0hDEHKqO6/GvLSIbZRDNkWA1dc2VG gRgZt55T3E7AyC9ArigTMg==; Date: Sat, 16 Nov 2024 16:22:55 +0200 Message-Id: <865xongsw0.fsf@gnu.org> From: Eli Zaretskii To: Stefan Monnier In-Reply-To: (message from Stefan Monnier on Thu, 14 Nov 2024 11:24:48 -0500) Subject: Re: bug#74307: 30.0.92; emacs-lisp font-locking word regexp References: <87jzdawagd.fsf@gnu.org> <868qtmkzeo.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 74307-done Cc: 74307-done@debbugs.gnu.org, winkler@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Stefan Monnier > Cc: Roland Winkler , 74307@debbugs.gnu.org > Date: Thu, 14 Nov 2024 11:24:48 -0500 > > > I believe you are saying that in > > > > (,(rx "\\\\" (or (seq "<" (group-n 1 lisp-mode-symbol) ">") > > (seq "{" (group-n 1 lisp-mode-symbol) "}"))) > > (1 font-lock-variable-name-face prepend)) > > > > we should use something like the below instead? > > > > (,(rx "\\\\" (or (seq "<" (group-n 1 lisp-mode-symbol) (not "\\\\") ">") > > (seq "{" (group-n 1 lisp-mode-symbol) (not "\\\\") "}")) > > > > And similarly for \\[] etc.? > > Sounds good to me. Thanks, installed on master, and closing the bug. ------------=_1731767042-20071-3 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 11 Nov 2024 06:31:10 +0000 Received: from localhost ([127.0.0.1]:57854 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tANx8-0006mK-42 for submit@debbugs.gnu.org; Mon, 11 Nov 2024 01:31:10 -0500 Received: from lists.gnu.org ([209.51.188.17]:37110) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tANx6-0006m9-G3 for submit@debbugs.gnu.org; Mon, 11 Nov 2024 01:31:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tANx5-00059W-S3 for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2024 01:31:08 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tANx5-0008C3-Jv for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2024 01:31:07 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=Xuol0NZ69iu8oLZ1HeVypKeCj7RHKpODivOaL8BJvBk=; b=WBN5Hfzs9e5Rij l5Ujy6Y9z2GweCa5G11iVZMtU/e2Etsdrj6Kf/uvPoKQ0J9cN5uzSURM3ftrtNhX7kZ5doKwFICZ3 IoXwPfnNz3pORXIWe8M1MWkzMtFVTXG6rW2r8xi0AW1bIxkYkS9GteVMI4p1UmbbkhZ91E01HCsJb 3SfgRgyG/9JM0wodhTfsiG+q23ZItYtAPySZJ47DY/cAaTNLby65pj7MH4N5jAlMCZf5MvBspxGNp caKBNLHCB7lG5d5/Ushi13nhnesdTyDXK0zU9DSuUMX2Lnkct6WnWYfCus/nJFCtMunxRGnTRrHqL xLXfBq6Ga4xz72Xp18jg==; From: Roland Winkler To: bug-gnu-emacs@gnu.org Subject: 30.0.92; emacs-lisp font-locking word regexp Date: Mon, 11 Nov 2024 00:30:46 -0600 Message-ID: <87ed3iwacp.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Starting from emacs -Q, put the following into a buffer with emacs-lisp-mode (setq foo "\\") The part "foo\\" of the string "\\" will get font-lock-variable-name-face, which looks odd. I believe, this is due to a clause in lisp-mode.el that says ;; Words inside \\[], \\<>, \\{} or \\`' tend to be for ;; `substitute-command-keys'. But this assumption is not always correct, in particular if ">" is preceded by "\\", which happens when constructing regexps. ------------=_1731767042-20071-3-- From unknown Sun Sep 21 18:12:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74307: 30.0.92; emacs-lisp font-locking word regexp Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Dec 2024 07:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74307 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 74307@debbugs.gnu.org, Roland Winkler , Stefan Monnier Received: via spool by 74307-submit@debbugs.gnu.org id=B74307.173338332717227 (code B ref 74307); Thu, 05 Dec 2024 07:23:01 +0000 Received: (at 74307) by debbugs.gnu.org; 5 Dec 2024 07:22:07 +0000 Received: from localhost ([127.0.0.1]:37940 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tJ6Ba-0004Tn-Vi for submit@debbugs.gnu.org; Thu, 05 Dec 2024 02:22:07 -0500 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:36825) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tJ6BZ-0004TG-GZ for 74307@debbugs.gnu.org; Thu, 05 Dec 2024 02:22:05 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id BC6451BF207; Thu, 5 Dec 2024 07:21:55 +0000 (UTC) From: Juri Linkov In-Reply-To: <868qtmkzeo.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 14 Nov 2024 10:11:43 +0200") Organization: LINKOV.NET References: <87jzdawagd.fsf@gnu.org> <868qtmkzeo.fsf@gnu.org> Date: Thu, 05 Dec 2024 09:20:16 +0200 Message-ID: <87mshak5hz.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> (setq foo "\\") >> >> The part "foo\\" of the string "\\" will get >> font-lock-variable-name-face, which looks odd. >> >> I believe, this is due to a clause in lisp-mode.el that says >> >> ;; Words inside \\[], \\<>, \\{} or \\`' tend to be for >> ;; `substitute-command-keys'. >> >> But this assumption is not always correct, in particular if ">" is >> preceded by "\\", which happens when constructing regexps. > > I believe you are saying that in > > (,(rx "\\\\" (or (seq "<" (group-n 1 lisp-mode-symbol) ">") > (seq "{" (group-n 1 lisp-mode-symbol) "}"))) > (1 font-lock-variable-name-face prepend)) > > we should use something like the below instead? > > (,(rx "\\\\" (or (seq "<" (group-n 1 lisp-mode-symbol) (not "\\\\") ">") > (seq "{" (group-n 1 lisp-mode-symbol) (not "\\\\") "}")) The problem is that this removes highlighting from the last character because it doesn't get into the group: (rx (seq "[" (group-n 1 lisp-mode-symbol) (not "\\") "]")) => "\\[\\(?1:\\(?:\\w\\|\\s_\\|\\\\.\\)+\\)[^\\]]" A possible solution is to move (not "\\") inside the group: (rx (seq "[" (group-n 1 (seq lisp-mode-symbol (not "\\"))) "]")) => "\\[\\(?1:\\(?:\\w\\|\\s_\\|\\\\.\\)+[^\\]\\)]" But this removes highlighting completely from the reported case of (setq foo "\\"). However, I guess it should not have highlighting anyway because this is an incorrect syntax of `substitute-command-keys' that should match only \\[], \\<>, \\{} or \\`' without the second \\ From unknown Sun Sep 21 18:12:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74307: 30.0.92; emacs-lisp font-locking word regexp Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Dec 2024 07:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74307 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: 74307@debbugs.gnu.org, winkler@gnu.org, monnier@iro.umontreal.ca Received: via spool by 74307-submit@debbugs.gnu.org id=B74307.173338434120283 (code B ref 74307); Thu, 05 Dec 2024 07:39:02 +0000 Received: (at 74307) by debbugs.gnu.org; 5 Dec 2024 07:39:01 +0000 Received: from localhost ([127.0.0.1]:37998 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tJ6Rw-0005H4-NK for submit@debbugs.gnu.org; Thu, 05 Dec 2024 02:39:01 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36060) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tJ6Rv-0005Gr-7I for 74307@debbugs.gnu.org; Thu, 05 Dec 2024 02:38:59 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tJ6Ro-0003hX-ON; Thu, 05 Dec 2024 02:38:52 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=tn/wWiDjua8OZAD440cyj/t6HBIgr/gzke53olBhjdk=; b=C/X9NoBYFK0D v4Gsp9wkAP3K7GYVJto8rZD44GsEBtQBl2RtOW5OMr4Dbu24cs1N9pO//agXG2zQhjIm+cj/f+lqL fUMHg+HgtJGSBusuV/uz64fyLwYNyPoKDEh21NG+6dazeOVpKMr3jUOnJDJVj+l1soQIwgjEGivYE NeIMx4KFwzvw6F0pika8VYXgHGbIcB0rOzHJeOiT2SPl/vLR/m1ed6pvP0DeNY7nmP056T6v0boQm xmPYycj86ZuUz4QKmYqA8eM/eRbrCDGSCiyzxuPyDDH+4U5KWiqHpw5VLmBWtgg+GreDHe28PC+GY kvEiKiO4p5ZiYTIhEr7zZg==; Date: Thu, 05 Dec 2024 09:38:48 +0200 Message-Id: <86o71qy3xz.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87mshak5hz.fsf@mail.linkov.net> (message from Juri Linkov on Thu, 05 Dec 2024 09:20:16 +0200) References: <87jzdawagd.fsf@gnu.org> <868qtmkzeo.fsf@gnu.org> <87mshak5hz.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Juri Linkov > Cc: Roland Winkler , Stefan Monnier > , 74307@debbugs.gnu.org > Date: Thu, 05 Dec 2024 09:20:16 +0200 > > >> (setq foo "\\") > >> > >> The part "foo\\" of the string "\\" will get > >> font-lock-variable-name-face, which looks odd. > >> > >> I believe, this is due to a clause in lisp-mode.el that says > >> > >> ;; Words inside \\[], \\<>, \\{} or \\`' tend to be for > >> ;; `substitute-command-keys'. > >> > >> But this assumption is not always correct, in particular if ">" is > >> preceded by "\\", which happens when constructing regexps. > > > > I believe you are saying that in > > > > (,(rx "\\\\" (or (seq "<" (group-n 1 lisp-mode-symbol) ">") > > (seq "{" (group-n 1 lisp-mode-symbol) "}"))) > > (1 font-lock-variable-name-face prepend)) > > > > we should use something like the below instead? > > > > (,(rx "\\\\" (or (seq "<" (group-n 1 lisp-mode-symbol) (not "\\\\") ">") > > (seq "{" (group-n 1 lisp-mode-symbol) (not "\\\\") "}")) > > The problem is that this removes highlighting from the last character > because it doesn't get into the group: > > (rx (seq "[" (group-n 1 lisp-mode-symbol) (not "\\") "]")) > => "\\[\\(?1:\\(?:\\w\\|\\s_\\|\\\\.\\)+\\)[^\\]]" > > A possible solution is to move (not "\\") inside the group: > > (rx (seq "[" (group-n 1 (seq lisp-mode-symbol (not "\\"))) "]")) > => "\\[\\(?1:\\(?:\\w\\|\\s_\\|\\\\.\\)+[^\\]\\)]" > > But this removes highlighting completely from the reported case of > (setq foo "\\"). However, I guess it should not have highlighting > anyway because this is an incorrect syntax of `substitute-command-keys' > that should match only \\[], \\<>, \\{} or \\`' without the second \\ Sorry, I don't understand: the change which was supposed to fix this was already installed. If you are saying it caused regressions, could you please show a recipe for reproducing those regressions? From unknown Sun Sep 21 18:12:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74307: 30.0.92; emacs-lisp font-locking word regexp Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Dec 2024 07:49:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74307 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 74307@debbugs.gnu.org, winkler@gnu.org, monnier@iro.umontreal.ca Received: via spool by 74307-submit@debbugs.gnu.org id=B74307.173338490422024 (code B ref 74307); Thu, 05 Dec 2024 07:49:01 +0000 Received: (at 74307) by debbugs.gnu.org; 5 Dec 2024 07:48:24 +0000 Received: from localhost ([127.0.0.1]:38011 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tJ6b1-0005j9-VO for submit@debbugs.gnu.org; Thu, 05 Dec 2024 02:48:24 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:56549) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tJ6b0-0005iu-1J for 74307@debbugs.gnu.org; Thu, 05 Dec 2024 02:48:22 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id 9197E6000E; Thu, 5 Dec 2024 07:48:14 +0000 (UTC) From: Juri Linkov In-Reply-To: <86o71qy3xz.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 05 Dec 2024 09:38:48 +0200") Organization: LINKOV.NET References: <87jzdawagd.fsf@gnu.org> <868qtmkzeo.fsf@gnu.org> <87mshak5hz.fsf@mail.linkov.net> <86o71qy3xz.fsf@gnu.org> Date: Thu, 05 Dec 2024 09:47:05 +0200 Message-ID: <87zflainba.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> The problem is that this removes highlighting from the last character >> because it doesn't get into the group: >> >> (rx (seq "[" (group-n 1 lisp-mode-symbol) (not "\\") "]")) >> => "\\[\\(?1:\\(?:\\w\\|\\s_\\|\\\\.\\)+\\)[^\\]]" >> >> A possible solution is to move (not "\\") inside the group: >> >> (rx (seq "[" (group-n 1 (seq lisp-mode-symbol (not "\\"))) "]")) >> => "\\[\\(?1:\\(?:\\w\\|\\s_\\|\\\\.\\)+[^\\]\\)]" >> >> But this removes highlighting completely from the reported case of >> (setq foo "\\"). However, I guess it should not have highlighting >> anyway because this is an incorrect syntax of `substitute-command-keys' >> that should match only \\[], \\<>, \\{} or \\`' without the second \\ > > Sorry, I don't understand: the change which was supposed to fix this > was already installed. Ah, so (setq foo "\\") should not be highlighted. Ok, then indeed (not "\\") should be inside the group. > If you are saying it caused regressions, could you please show > a recipe for reproducing those regressions? A recipe is to put the following two lines into a buffer with emacs-lisp-mode: (setq foo "\\") (setq foo "\\") The first foo should not be highlighted, the second currently is highlighted partially without the last character. Here is the fix: diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 99980a44ddf..95fbae48bb6 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -491,16 +491,16 @@ lisp-mode--search-key ;; Words inside \\[], \\<>, \\{} or \\`' tend to be for ;; `substitute-command-keys'. (,(rx "\\\\" (or (seq "[" - (group-n 1 lisp-mode-symbol) (not "\\") "]") + (group-n 1 (seq lisp-mode-symbol (not "\\"))) "]") (seq "`" (group-n 1 ;; allow multiple words, e.g. "C-x a" lisp-mode-symbol (* " " lisp-mode-symbol)) "'"))) (1 font-lock-constant-face prepend)) (,(rx "\\\\" (or (seq "<" - (group-n 1 lisp-mode-symbol) (not "\\") ">") + (group-n 1 (seq lisp-mode-symbol (not "\\"))) ">") (seq "{" - (group-n 1 lisp-mode-symbol) (not "\\") "}"))) + (group-n 1 (seq lisp-mode-symbol) (not "\\")) "}"))) (1 font-lock-variable-name-face prepend)) ;; Ineffective backslashes (typically in need of doubling). ("\\(\\\\\\)\\([^\"\\]\\)" From unknown Sun Sep 21 18:12:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74307: 30.0.92; emacs-lisp font-locking word regexp Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Dec 2024 08:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74307 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: 74307@debbugs.gnu.org, winkler@gnu.org, monnier@iro.umontreal.ca Received: via spool by 74307-submit@debbugs.gnu.org id=B74307.173338586124936 (code B ref 74307); Thu, 05 Dec 2024 08:05:02 +0000 Received: (at 74307) by debbugs.gnu.org; 5 Dec 2024 08:04:21 +0000 Received: from localhost ([127.0.0.1]:38040 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tJ6qS-0006U7-L6 for submit@debbugs.gnu.org; Thu, 05 Dec 2024 03:04:20 -0500 Received: from eggs.gnu.org ([209.51.188.92]:43050) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tJ6qQ-0006Tt-EG for 74307@debbugs.gnu.org; Thu, 05 Dec 2024 03:04:19 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tJ6qJ-0007Qk-Gz; Thu, 05 Dec 2024 03:04:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=5Br3VuDFyEmvgizWjtnWakVA2l9Fd2XgxgqxT5yiD2g=; b=sbma/ULVVQeq Am6auL8Krs43rLdCWjgQiyEbu2UyqSV5dlEKna8YkgNnHubgyKFa1wRfR2OY8jb01FjNQs5Ro6jq6 H4P67pRFKjV3fasxm9LE2wGX9zgvcjle0kLgT7kSlu77cExNqGMDk6yGphndEJpYNrC/FDdrKYo8M Akz+cQDQoVCv/d+fRX7J7Mb1U071dBtZu2Ybys91jwrJ+IWfzy6Wr+NcGRxmQNqYwWxUAMVKBW76t 9PncJVN4Jk2IyaW7xqQHBEutSR5gkOrAG6P6/HaJHA85en4xUcl8nb/Z/OWy+l7/r0cidWm109o7P ghTJ1i43D9cYsYK7RurLDA==; Date: Thu, 05 Dec 2024 10:04:03 +0200 Message-Id: <86h67iy2rw.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87zflainba.fsf@mail.linkov.net> (message from Juri Linkov on Thu, 05 Dec 2024 09:47:05 +0200) References: <87jzdawagd.fsf@gnu.org> <868qtmkzeo.fsf@gnu.org> <87mshak5hz.fsf@mail.linkov.net> <86o71qy3xz.fsf@gnu.org> <87zflainba.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Juri Linkov > Cc: winkler@gnu.org, monnier@iro.umontreal.ca, 74307@debbugs.gnu.org > Date: Thu, 05 Dec 2024 09:47:05 +0200 > > > Sorry, I don't understand: the change which was supposed to fix this > > was already installed. > > Ah, so (setq foo "\\") should not be highlighted. Ok, then > indeed (not "\\") should be inside the group. > > > If you are saying it caused regressions, could you please show > > a recipe for reproducing those regressions? > > A recipe is to put the following two lines into a buffer with > emacs-lisp-mode: > > (setq foo "\\") > (setq foo "\\") > > The first foo should not be highlighted, the second currently is > highlighted partially without the last character. Here is the fix: Thanks, please install on master.