From unknown Mon Jun 16 23:15:54 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#60049 <60049@debbugs.gnu.org> To: bug#60049 <60049@debbugs.gnu.org> Subject: Status: [PATCH] Add < and > to the syntax table in c++-ts-mode Reply-To: bug#60049 <60049@debbugs.gnu.org> Date: Tue, 17 Jun 2025 06:15:54 +0000 retitle 60049 [PATCH] Add < and > to the syntax table in c++-ts-mode reassign 60049 emacs submitter 60049 Daniel Mart=C3=ADn severity 60049 normal tag 60049 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 13 16:39:53 2022 Received: (at submit) by debbugs.gnu.org; 13 Dec 2022 21:39:53 +0000 Received: from localhost ([127.0.0.1]:34795 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5D0D-0001a7-6Q for submit@debbugs.gnu.org; Tue, 13 Dec 2022 16:39:53 -0500 Received: from lists.gnu.org ([209.51.188.17]:40258) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5D0B-0001a1-Kr for submit@debbugs.gnu.org; Tue, 13 Dec 2022 16:39:51 -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 1p5D07-0001J7-6s for bug-gnu-emacs@gnu.org; Tue, 13 Dec 2022 16:39:49 -0500 Received: from sonic303-21.consmr.mail.ir2.yahoo.com ([77.238.178.202]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p5D04-0007jv-JN for bug-gnu-emacs@gnu.org; Tue, 13 Dec 2022 16:39:46 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.es; s=s2048; t=1670967580; bh=jxypFgl3t95jd+/OORMc4+NXPaswCyFaghUDw+QdITc=; h=From:To:Subject:Date:References:From:Subject:Reply-To; b=HAd8lvFIX43HYI4x6JXkqW7gr2umxZlUeogDwvKTistBQ51i0Yquwebyi6hEF8t43GJA4P0WeYr7K/HQoN1ImEUkliph53ZPtQ7qBHeg+n3SD/V9MP14zSPUbMEIHrbw7KfU1zrty7nNgzeOoJ+wi/DZtmRKdGYToAjDVNlNsyhbNThLN2r8Z85GItFDIIWLY1C13KWHpVjRWFfowaf4YAdZmYl1m5iwzdrh4rMHFhXiMJCiDykLNORPR67CWM5F82CYbJamPef3vCUCEh2d4AERPidLOwDTYiEiTYRXVauSKcpTW0yNiGeCYELmuK++1MeE5Hy9IKOgL8WyV/FMSQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1670967580; bh=uEzs6uaKYMFa+sTcV2o8dg3fjcox4c+dewzcoj8zjwX=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=GDUYZB8gCzYzLetzwknXdq1OT1gHv5WDIbkZkdLUUT1+JD+Jd28rAifwXiq9b49+4N4w0K9FPdgIomU1pLyna5D7MOCN0bZ12ECZLdt2jVVPDjCK1/RA9imbZVFqSfMa42YRi70zjz2e6OLH8niZjLqIRT/NMSvR5wg7Mzf7amZSHIUQCNLWpm6mIzWuPbnn4e1iT9846//BlPDiLpdjl+Fd1fEIGbrSNa9fK6o9r9bkk4hZX6HMZ7OfMnN2jXvk/Cp7foie3jOMWoJmWeqwX1tnQJqXTSXe1Wb0h4Pn5oQVihDyq8VZOy5j52MQUP16v3rXzwULkMptonEslh404Q== X-YMail-OSG: QvwcqsUVM1n3FJUnSnOSt7lTX_JylGh1dUzK2j1HM1kmYX3VQnwxcV._LGvlJ6s TzcMZ3izbdnYeRlnSRmCk7jpK._69TnIObRzPzEE5LpEZofOhKsyNLiA88E7kcyHdxaF6erNWo6P wtlZuxxjS5C.tpsvvoFlb62WUe9AiwOQTboBkKZquEfk4_K0QmU.wzCx59GXzzlzxcxQJ.m_IbVF OmZOB1eK0BqTRzQZBYJhA4RrzD5VdCSjFpIuw4LMCxD.qSYjDtsXWwIupT61.EW4OWcBUT0ASxpM n6.aKETGf4p.fk5W59zqLiWKEPIWlucabvQk1DPO2inMiGCDlbcPYm3E_sU4U3Mg8IV3rgG2i0Cv QUHPxKNqoIJylrvHAzSfG4GWjPS7H9QoQeKHZq6XbYs70KS3yFysN60qIGUaaoGYhEMpve_1WvK6 jNSf0GDZ_gO9ZHG4d8vWSQWunZEDsx8IPBI4GUYqPjFgSY1gywrDlG9ol.ey56rCVnmnvxnw9dTr 5yi6H3hMDIrezshyeXKk7NTJje618KA4FCOcBXBuSFcvycv5K6FpKRzqygt6w401Jhuc09phyJSC nE9GZ7CYKwhBppVvOd9_OFHIv_SOz3cixWm4fBN7qh_nUoa4xhG3EZNvab_764nnFDN6.RDP9bVJ SYr2JabOrtRcVdTSOJtLHI9.5R06.yE2AwMXEFkljS5Sk0vm6wMhWNe3smJIJ.iZ1zYx16YltjKa kgvzEBM8_nayyn8opfIT.Bj6y4yGpkoPehoIJxbPYa9OBJl29Lukf0TpY7LNWSJQkdnUXCnWQQEB 7jApVp3eTre_MfbuX8RbfHmDO8WxqOdHMOiOQ67uFZx7E88g6FE_9O2O5lWxEUOMAbJeTGoX.FbB XoDSbsspPHfk.Dm4uJUQ_U542d6IuoXW.hwX_2o_n0p_u1AIOI9aV1VEyQFkle2q1jS4wOUl9LtN EbREifslM3FC1SscN0CLra0n8Vp3VtB3aI_rV.4281TBWrIW1MU2rIbb58qsg.91NmJmquTrYLt9 Bkz_ev_c_4jqZ3.vqMSgSsM5LzoXpNkSui8CmWPZlfoQZFrc6N8bA4GFUoEz_s73xaXCWkED.0au SOCEHABz4u5UmfQop3Zr1boCyFPA5PogJI6UJc7lwE.QUF5cxWO7xzP.NtCTmcE79XsTAgBeAuIO PvOKcs9_czq1maP2xnu8pX61N1yQimI4PD7U6GWjRPiR2xmvczSJ8qUPS2eLRt7qBZmeIjUqVPHo svZrsOe2gu84l.7HENhFqdyUGaPzPUBojIwI3x.Clll_Gl65SohopjssLqj9wBv0ma7x0nsu4etU TXcO9P4DeWE8pmXIxD65x1y_SEEo46uf9.trG3RmkquA4se4pI9iPuqpoxHcOK2.7AZkqFX2onLE Khh0G2WnEyZiaqlT23kr57AV1dq_tGMNgs._El1Ulsqp8yZY1WRWCWmh9xzdnXd55YxzkCHPmQf0 yKO8z1_tHE.cWs7FEMCm.GUY6XDX5cZtk34lKOABBqaFKs9NUywtptTABu5IQ2agR7JsKScaYHYc D5s1wEerICBlKjtv_a81dOpo7Xr7T7cT3AHBJBGUwNoiqYJmzkIa3QsGR55et64kl8C8RvQsutP2 ZiYWWv8Co1NCtdFCdf3W1S3OS3Mll68bvrOy8MIzhF1p3nJCCb7em_bnSnfiMgqh3o1DUWFr_g1_ 8VJvaysqTFHuvzgEjGm7zYHWU69cpBSAisOd3XtC33tBwAjgWy0LkzzinNoonDl0sCe0xQLU4Vh_ nGilbulFDAYTh9AkkevZfJHc_thTQJrVy_lr2BGDZD_k18vfw93mJxl_yuwymo5VwG8rT.YsJyNi udWtIbqUBBc2OPovdDfAm02uG08WbPzF4DYOZah0i8xRAmrJGXsTFaD3RVVSQtE0DTHh3BrPE2pm 0.LFhPRbbeUnoziwmTa.W6tZKJF8qgXxi6wCJzO9lj1wazX8EtNHx5zxy28TlESqaWldqGFfpXXR 4SDilZ0gpeUPJOXq_aCfvKcd6LNm0nDqz53a.v43EqX8w2dMLmEhpn3Xb4yScL5hFnd1oxVKUDge UJ1AMBvVog7Bf.M0UNIDpeg0u_eh4Y7aOQZitFnaSTfnmfJfErs60bVFCyOgEX1Q_mx.uIwEu5.E MAyFb_HR6EYVVFwfEB0syhnUBmVnjbJsTX3sGnYK0vYya_48B8QAv.Rw7Rk__oyOaPpZtDpTUPOQ pQMKjH811ZNIJZoiBlVCQWit61dM3 X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.ir2.yahoo.com with HTTP; Tue, 13 Dec 2022 21:39:40 +0000 Received: by hermes--production-ir2-5795fc58c8-hsgkz (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID cc070ef794b62b54e2931553120e6f9f; Tue, 13 Dec 2022 21:39:37 +0000 (UTC) From: =?utf-8?Q?Daniel_Mart=C3=ADn?= To: bug-gnu-emacs@gnu.org Subject: [PATCH] Add < and > to the syntax table in c++-ts-mode Date: Tue, 13 Dec 2022 22:39:36 +0100 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" References: X-Mailer: WebService/1.1.20926 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 2148 Received-SPF: pass client-ip=77.238.178.202; envelope-from=mardani29@yahoo.es; helo=sonic303-21.consmr.mail.ir2.yahoo.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) 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: -2.4 (--) --=-=-= Content-Type: text/plain Tags: patch Given the following C++ code (where "|" represents the point): |Expected getFoo(); If you press C-M-d when c++-ts-mode is enabled, point moves to: Expected getFoo(|); In c++-mode, point moves (correctly) to: Expected<|int> getFoo(); Also, show-paren-mode does not highlight any <> pairs in c++-ts-mode. My proposed fix is to create a syntax table for c++-ts-mode and add "<" and ">" to it as open/close delimiters. The attached patch implements the proposed solution. Thanks. --=-=-= Content-Type: text/patch Content-Disposition: attachment; filename=0001-Add-and-to-the-syntax-table-in-c-ts-mode.patch >From 868322dae6a881792c5601615c8d11b4181e7424 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=ADn?= Date: Tue, 13 Dec 2022 22:28:13 +0100 Subject: [PATCH] Add < and > to the syntax table in c++-ts-mode * lisp/progmodes/c-ts-mode.el (c++-ts-mode--syntax-table): Add a specific syntax table for C++. Consider "<" and ">" open/close delimiters (C++ templates). (c++-ts-mode): Use the new syntax table. --- lisp/progmodes/c-ts-mode.el | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lisp/progmodes/c-ts-mode.el b/lisp/progmodes/c-ts-mode.el index 8407be3b6b..31c22dc321 100644 --- a/lisp/progmodes/c-ts-mode.el +++ b/lisp/progmodes/c-ts-mode.el @@ -83,6 +83,14 @@ c-ts-mode--syntax-table table) "Syntax table for `c-ts-mode'.") +(defvar c++-ts-mode--syntax-table + (let ((table (make-syntax-table c-ts-mode--syntax-table))) + ;; Template delimiters. + (modify-syntax-entry ?< "(" table) + (modify-syntax-entry ?> ")" table) + table) + "Syntax table for `c++-ts-mode'.") + (defun c-ts-mode--indent-styles (mode) "Indent rules supported by `c-ts-mode'. MODE is either `c' or `cpp'." @@ -615,6 +623,7 @@ c-ts-mode (define-derived-mode c++-ts-mode c-ts-base-mode "C++" "Major mode for editing C++, powered by tree-sitter." :group 'c++ + :syntax-table c++-ts-mode--syntax-table (unless (treesit-ready-p 'cpp) (error "Tree-sitter for C++ isn't available")) -- 2.34.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 13 21:10:25 2022 Received: (at 60049-done) by debbugs.gnu.org; 14 Dec 2022 02:10:25 +0000 Received: from localhost ([127.0.0.1]:35956 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5HE1-0000Ge-8w for submit@debbugs.gnu.org; Tue, 13 Dec 2022 21:10:25 -0500 Received: from mail-pl1-f171.google.com ([209.85.214.171]:39890) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5HDz-0000GW-Kb for 60049-done@debbugs.gnu.org; Tue, 13 Dec 2022 21:10:24 -0500 Received: by mail-pl1-f171.google.com with SMTP id d15so1872375pls.6 for <60049-done@debbugs.gnu.org>; Tue, 13 Dec 2022 18:10:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:cc:date:message-id:subject:mime-version :content-transfer-encoding:from:from:to:cc:subject:date:message-id :reply-to; bh=9jvbBMI7jyCm396Mq4CQB5wCXuTt2/vC4WKfLyPphQU=; b=G+8nCASUQp1xspdAEKuUNqOxAl7c1U7cfCbtlyzr7tLIqzuthyE9qW6d1XWHZoRqVv 3GLUA+sm51gOfljMCoIJLdN1/Bp98CcmZ5YEMsBamvvSwhwPQqtePr1ibA3StwxWP9lo SHbk0SsFvkmTh/5INPocjJcqZugsTq1gaRIXMGuG/BDKveEEHyd8eyfvM0JyHHXRinGv 3dDhDoRSFcjwmXBwzQexVuWKVhceUY5ACRUTysxJ1Y0pJ4/u9KWq3KPj/w0meqCHqq+g DWvy/Fj2wvWDytt6UnveY/tXMjdDOPtoWXBwZYHIvbEK88bkOcYENGCuBZ+54rAw+60r 7Z9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:cc:date:message-id:subject:mime-version :content-transfer-encoding:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9jvbBMI7jyCm396Mq4CQB5wCXuTt2/vC4WKfLyPphQU=; b=JKfU+sYY8lQkRVx1VAF6Sui7WxT8vVoYkkPsVgscqdXaWHV+8WVQxemINtTHaS7gbo EPABb7qWqlBPQExL/MyVROd6NRHTVTbKJQs7buoK4yF8THkrQJg6sqELDPEYwkp4TAvj zyBGrs5ma4r6E41E8wYhM5WkPv1XKcDJr21GfWfM7IUz67aDZWnjHUWPC3tXC+w0DesH HN4vu79eSrATF/oOl3DF0ulfaZUUBlMLP0CbC7nfHhijqFVOBRbWZYCZPTcwNgli3vit syE0gZLOgC3FNH7kIThECU3O3TkWX9tFwumt1/JBX8H8VCwXkX8zOChRwLQ4fFSwxVHB E/5Q== X-Gm-Message-State: ANoB5plgsx7UcoNP7+4MRQsyJ5lBR8tsN6sEd0AN3Il7/DeFcwcM/1IF d0a0X/tFQMPHeVQIa6A7Up/PzwmWllT+lQ== X-Google-Smtp-Source: AA0mqf7RiIFWp3Mpwv8CQ9daxYvOjgSTk/fnVPdA9tlFQgxFqRG/bUsjJwN3jZZfoXrtmzhCr1Tfgw== X-Received: by 2002:a17:903:2ca:b0:189:8329:dba8 with SMTP id s10-20020a17090302ca00b001898329dba8mr26990952plk.39.1670983818040; Tue, 13 Dec 2022 18:10:18 -0800 (PST) Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com. [172.117.161.177]) by smtp.gmail.com with ESMTPSA id y2-20020a17090264c200b00174d9bbeda4sm531692pli.197.2022.12.13.18.10.17 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Dec 2022 18:10:17 -0800 (PST) From: Yuan Fu Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: bug#60049: [PATCH] Add < and > to the syntax table in c++-ts-mode Message-Id: <8BF06E36-2ECC-43E4-8704-F02C08FD55C5@gmail.com> Date: Tue, 13 Dec 2022 18:10:14 -0800 To: =?utf-8?Q?Daniel_Mart=C3=ADn?= X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60049-done Cc: 60049-done@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: -1.0 (-) Daniel Mart=C3=ADn writes: > Tags: patch > > > Given the following C++ code (where "|" represents the point): > > |Expected getFoo(); > > If you press C-M-d when c++-ts-mode is enabled, point moves to: > > Expected getFoo(|); > > In c++-mode, point moves (correctly) to: > > Expected<|int> getFoo(); > > Also, show-paren-mode does not highlight any <> pairs in c++-ts-mode. > > My proposed fix is to create a syntax table for c++-ts-mode and add = "<" > and ">" to it as open/close delimiters. > > The attached patch implements the proposed solution. Thanks. Applied, thanks! Yuan From unknown Mon Jun 16 23:15:54 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 11 Jan 2023 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator