Received: (at 79627-done) by debbugs.gnu.org; 21 Oct 2025 11:26:32 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 21 07:26:32 2025 Received: from localhost ([127.0.0.1]:50416 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vBAVc-0003sY-3U for submit <at> debbugs.gnu.org; Tue, 21 Oct 2025 07:26:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56476) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vBAVT-0003s2-ES for 79627-done <at> debbugs.gnu.org; Tue, 21 Oct 2025 07:26:29 -0400 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 <eliz@HIDDEN>) id 1vBAVM-0007C8-GF; Tue, 21 Oct 2025 07:26:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=kkCHrdxsqx/RZDsV0KUPjH2zbjxXsm+NRZtnQIspqPs=; b=HzMS13LPzzZbug3YDIjP EBnnwe9rlRMMvwbIeKkjbTnexsFrhCDfyFw0jsXC9yqH3XgHgYUaBl0QuQfdb1Yi+KP71Hxl47HQq mkZPABRiRsK+gR4JWWN3/1np8Fkkiq8Zu37cVIA3y6moxnATH/XTYwKXahJcRMs40ZxKWcJqtQncH tcqt5ubMnmHCkFO72GTzmBpEwaljFyhAH4xmAGeNVd26XQqLv7RcsONYEP9qYPzjr+6T+KOPd+63R Moyfq9AxkvsHGZi2xOHsm/DviSkWKKHQpR6CV1mLSFvlUbWeXiulapnmEh7zk29K0LnsS7WLgwo9l TD1VZdlZDhRHIg==; Date: Tue, 21 Oct 2025 14:25:08 +0300 Message-Id: <86wm4owl7v.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Yuan Fu <casouri@HIDDEN> In-Reply-To: <C8CC0EE8-EC19-4E83-B88B-06BFD8F7B76C@HIDDEN> (message from Yuan Fu on Mon, 20 Oct 2025 22:51:29 -0700) Subject: Re: bug#79627: 31.0.50; version issues in c-ts-mode (and other -ts-modes) References: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN> <87tt00n1q8.fsf@HIDDEN> <87v7kg39gk.fsf@HIDDEN> <87wm4wkuz8.fsf@HIDDEN> <CAO2hHWajgKJhmMbHL8GSWJfsYoFj2Xs4wSkRRLCaYhHj=GUgCw@HIDDEN> <87y0palsrn.fsf@HIDDEN> <86bjm6gg1m.fsf@HIDDEN> <868qh9hkmy.fsf@HIDDEN> <865xcdhj0j.fsf@HIDDEN> <C8CC0EE8-EC19-4E83-B88B-06BFD8F7B76C@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79627-done Cc: yandros@HIDDEN, 79627-done <at> debbugs.gnu.org, jroi.martin@HIDDEN, juri@HIDDEN 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: -3.3 (---) > From: Yuan Fu <casouri@HIDDEN> > Date: Mon, 20 Oct 2025 22:51:29 -0700 > Cc: juri@HIDDEN, > yandros@HIDDEN, > 79627 <at> debbugs.gnu.org, > jroi.martin@HIDDEN > > > > > On Oct 17, 2025, at 4:20 AM, Eli Zaretskii <eliz@HIDDEN> wrote: > > > >> Actually, upon thinking about this some more, I think I can implement > >> a solution that is "as good as it gets", given the changes in language > >> ABIs and breaking changes in the library's APIs. Stay tuned. > > > > Now done on master, please test. (I don't know whether tree-sitter > > 0.26 has additional "issues" beyond the removal of > > ts_language_version, so maybe some problems will still exist when > > using it.) > > Thanks! It works with latest tree-sitter master. Thanks, closing.
chad <yandros@HIDDEN>:Eli Zaretskii <eliz@HIDDEN>:Received: (at 79627) by debbugs.gnu.org; 21 Oct 2025 05:51:51 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 21 01:51:51 2025 Received: from localhost ([127.0.0.1]:49379 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vB5Hi-0005M1-MH for submit <at> debbugs.gnu.org; Tue, 21 Oct 2025 01:51:51 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]:49339) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <casouri@HIDDEN>) id 1vB5Hf-0005Lb-IS for 79627 <at> debbugs.gnu.org; Tue, 21 Oct 2025 01:51:49 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-290cd62acc3so46788255ad.2 for <79627 <at> debbugs.gnu.org>; Mon, 20 Oct 2025 22:51:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1761025901; x=1761630701; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=+faiypwOIs1Mzriv9D4H24VLMzoKVtGbM1A1pT5Gu9w=; b=J5EQe480bJrStLYhtcHEzZdxw6PtBBmOOSqwMsC79aRSaLorxNIdjiLfhs1tsm/CH0 e5OEn6tnSuCltRQ9K7QtrOIKFoe2hXaUqHZCMmLr2N3Q6hpRJaU1QrNL6yBrHYTdvi8b a96ID5GzTLz0RxZQTCaOCSP13jp1u4isobOgGP0uZH8b083KF18YixrkaYkLd5dWCynX tb55fpaAFniP47lLoWO1hleEbxOO1gj+miJET0Pbn9tJvm5jT9+ADwrngMGngoy0Fs0t 5/TNHc5WHYH9kH2G5lVGmWh51wlKstbH/d5VpteSmI5q5aLGwL8mBfZiz8HHmEW7SCpt HyjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761025901; x=1761630701; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+faiypwOIs1Mzriv9D4H24VLMzoKVtGbM1A1pT5Gu9w=; b=u8v7fnFSZfh2CwehY0B+tc+hUcvsy5AD/CK6CV/OKWtWO+fSkPbIXPw4pHiQSphNRV JRyO8YWlrzPvFSubH4glJX+98q5T+nL+gclrKN6fJKjis6mNQi01rItwuGyaKJ3ajxI1 H7D4LBcZ2t/lO8lO0c11NxIThKgjZaKBoVsEu5rs+ddOXlBZ+1ZWbng2YgG5lZmdDXPg ZAafV7Xyt7BiSl3d9/6Ii7tZQDWVIBWONyIn2xoRcsVwEN5Wtm6Qduzm7hhmY4kb7u15 EbjcQ7+iz6R1mxW0aPC1xRFuoCEfwL0pk83eyrE7pI3C8FCZq8xxm+76mk0qOctl0drt HHdQ== X-Forwarded-Encrypted: i=1; AJvYcCVn3QJbeCxUVjjZ8jfp5e7g7iLezX2JOgM4X8sg8T2bEgyzVFmaKScX2fklC39l3F8MZfU6pQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzhWatQuNXzz6J6T6YX3YFuUijwRBdKjSoGyrrAwiADeCn7OGDs bXoqAWxpgMsx1Quwt0MPHmQN3bJNDP5DUB0wfGOrvuiMhN/le5cRX1Ck X-Gm-Gg: ASbGncsFSHC/vtDRsGtKghUrHwP1IndVlsox7ebDH87aokSSuufcD3GB6HHOw79vlhu 8W3Z7Xpb8SHCRr3SZPDgZuX6znSb/B3gNdfliGQtCtpOpgD5QIFRPS/LOjHTIrR6Mw8zA1IAy2t fGJroLXo9GIW6756BHYxy7Roatl+E1d3UTILatbRgeCgtvKXU8TfXELAYSn8WMY7KZdRcADlXzA tkJVLVZrNMvwbEOd1N6X5AjlJZtNOBQBxqoT6Xa6BNJJIhWSmyb76/aequcaMm20mUReX6//6Sr 0sfbQ9A0m3a9ygLP8r0pr+dpU2LPQvB1rG4gOPVLRAHbsSKpQh+yL5ic8+z0mAVn7e9a2HmARFK LSNssdOi8Y1bXxCchm6NvJyr9o8hDj7TI8IHTlFtEMjJa9bQ0pf6uhKqLAjwb+WjBjlYOO/ZeNZ YKVH4C4bgH07oYa5/YDr2H42wOxMAaFycHwpG6txJPVrE/Pv0P X-Google-Smtp-Source: AGHT+IEjqjtVUMnoE5PEh6ImZrfbQNRgIamzFAfnZRryNOXXb9LrSWtZIvVI5tNy//wNB3rrQ7DJjw== X-Received: by 2002:a17:902:f687:b0:28e:7567:3c4b with SMTP id d9443c01a7336-290c9d1b922mr211364345ad.16.1761025901308; Mon, 20 Oct 2025 22:51:41 -0700 (PDT) Received: from smtpclient.apple (c-24-4-247-194.hsd1.ca.comcast.net. [24.4.247.194]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29246ebcce8sm98843875ad.18.2025.10.20.22.51.40 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Oct 2025 22:51:40 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81\)) Subject: Re: bug#79627: 31.0.50; version issues in c-ts-mode (and other -ts-modes) From: Yuan Fu <casouri@HIDDEN> In-Reply-To: <865xcdhj0j.fsf@HIDDEN> Date: Mon, 20 Oct 2025 22:51:29 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: <C8CC0EE8-EC19-4E83-B88B-06BFD8F7B76C@HIDDEN> References: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN> <87tt00n1q8.fsf@HIDDEN> <87v7kg39gk.fsf@HIDDEN> <87wm4wkuz8.fsf@HIDDEN> <CAO2hHWajgKJhmMbHL8GSWJfsYoFj2Xs4wSkRRLCaYhHj=GUgCw@HIDDEN> <87y0palsrn.fsf@HIDDEN> <86bjm6gg1m.fsf@HIDDEN> <868qh9hkmy.fsf@HIDDEN> <865xcdhj0j.fsf@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> X-Mailer: Apple Mail (2.3826.700.81) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79627 Cc: yandros@HIDDEN, 79627 <at> debbugs.gnu.org, jroi.martin@HIDDEN, juri@HIDDEN 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 (-) > On Oct 17, 2025, at 4:20=E2=80=AFAM, Eli Zaretskii <eliz@HIDDEN> = wrote: >=20 >> Cc: casouri@HIDDEN, 79627 <at> debbugs.gnu.org, jroi.martin@HIDDEN >> Date: Fri, 17 Oct 2025 13:45:25 +0300 >> From: Eli Zaretskii <eliz@HIDDEN> >>=20 >>> Cc: yandros@HIDDEN, 79627 <at> debbugs.gnu.org, casouri@HIDDEN, >>> jroi.martin@HIDDEN >>> Date: Fri, 17 Oct 2025 10:09:57 +0300 >>> From: Eli Zaretskii <eliz@HIDDEN> >>>=20 >>> The replacement of ts_language_version with ts_language_abi_version >>> cannot be unconditional: it must be conditional on the version of >>> Tree-sitter library with which Emacs is being built. Alas, the >>> library header api.h doesn't provide any way of distinguishing = between >>> Tree-sitter 0.25 and 0.26 (they both support the same range of >>> language ABI versions, from 13 to 15). So if we make the proposed >>> change, Emacs will be capable of using only versions 0.25 and later = of >>> Tree-sitter (because ts_language_abi_version was introduced in = 0.25). >>> This is IMO too harsh on our users, since 0.25 was released on Feb = 1, >>> 2025, and some distros for stable releases might not want to use = such >>> a new version. >>>=20 >>> I've submitted an issue to the Tree-sitter developers, here: >>>=20 >>> https://github.com/tree-sitter/tree-sitter/issues/4968 >>>=20 >>> I don't know what will come out of this. If the Tree-sitter >>> developers don't make the changes I request VSN, we will have to >>> decide whether we drop support of Tree-sitter < 0.25.0 or refuse to >>> support 0.26 and later for the time being. Both are bad decisions, >>> from where I stand. >>=20 >> Actually, upon thinking about this some more, I think I can implement >> a solution that is "as good as it gets", given the changes in = language >> ABIs and breaking changes in the library's APIs. Stay tuned. >=20 > Now done on master, please test. (I don't know whether tree-sitter > 0.26 has additional "issues" beyond the removal of > ts_language_version, so maybe some problems will still exist when > using it.) Thanks! It works with latest tree-sitter master. Yuan=
bug-gnu-emacs@HIDDEN:bug#79627; Package emacs.
Full text available.Received: (at 79627) by debbugs.gnu.org; 17 Oct 2025 11:20:43 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 17 07:20:43 2025 Received: from localhost ([127.0.0.1]:48992 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v9iVm-0003Bu-J1 for submit <at> debbugs.gnu.org; Fri, 17 Oct 2025 07:20:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59734) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1v9iVi-0003BQ-Vo for 79627 <at> debbugs.gnu.org; Fri, 17 Oct 2025 07:20:39 -0400 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 <eliz@HIDDEN>) id 1v9iVc-000408-Ks; Fri, 17 Oct 2025 07:20:32 -0400 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=L3MPnBT/VTlsSE4vEaTrYPBqeQS2PMztIPvtT1pdVNk=; b=GUshSL0xWDvI hkh38Cc2H3bk6PoVWq2MsXA5chQdKDvD/Kw8ah65gdmaz2RgrKW6vQ+BWD8LxZ4bGsFNHDn3CkM/A /1gHwvFoAX5ziKFfPwUl4238Y86nuLRsXMxq+6ZuRzgabV8OHUGC0wdqLDaYlKvo2HN95mU+0O3jR hu2zGR/UGL7lGg+vbXoFBtws+tknW0QC9P6ssboV2XjCUTb2Q8Ot6Mix2HlFnxFjSV9WhlM9oE1p9 EmbBnd59tRivcna1oX5Yh3yyQdjHHUJPLtVTlAxfb+olQ9peNraHm1adzL+9y66ZVewNXDSXpU4MS g9JwZmPbTwytKEhnPhxHmw==; Date: Fri, 17 Oct 2025 14:20:28 +0300 Message-Id: <865xcdhj0j.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: juri@HIDDEN, yandros@HIDDEN In-Reply-To: <868qh9hkmy.fsf@HIDDEN> (message from Eli Zaretskii on Fri, 17 Oct 2025 13:45:25 +0300) Subject: Re: bug#79627: 31.0.50; version issues in c-ts-mode (and other -ts-modes) References: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN> <87tt00n1q8.fsf@HIDDEN> <87v7kg39gk.fsf@HIDDEN> <87wm4wkuz8.fsf@HIDDEN> <CAO2hHWajgKJhmMbHL8GSWJfsYoFj2Xs4wSkRRLCaYhHj=GUgCw@HIDDEN> <87y0palsrn.fsf@HIDDEN> <86bjm6gg1m.fsf@HIDDEN> <868qh9hkmy.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79627 Cc: casouri@HIDDEN, 79627 <at> debbugs.gnu.org, jroi.martin@HIDDEN 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: -3.3 (---) > Cc: casouri@HIDDEN, 79627 <at> debbugs.gnu.org, jroi.martin@HIDDEN > Date: Fri, 17 Oct 2025 13:45:25 +0300 > From: Eli Zaretskii <eliz@HIDDEN> > > > Cc: yandros@HIDDEN, 79627 <at> debbugs.gnu.org, casouri@HIDDEN, > > jroi.martin@HIDDEN > > Date: Fri, 17 Oct 2025 10:09:57 +0300 > > From: Eli Zaretskii <eliz@HIDDEN> > > > > The replacement of ts_language_version with ts_language_abi_version > > cannot be unconditional: it must be conditional on the version of > > Tree-sitter library with which Emacs is being built. Alas, the > > library header api.h doesn't provide any way of distinguishing between > > Tree-sitter 0.25 and 0.26 (they both support the same range of > > language ABI versions, from 13 to 15). So if we make the proposed > > change, Emacs will be capable of using only versions 0.25 and later of > > Tree-sitter (because ts_language_abi_version was introduced in 0.25). > > This is IMO too harsh on our users, since 0.25 was released on Feb 1, > > 2025, and some distros for stable releases might not want to use such > > a new version. > > > > I've submitted an issue to the Tree-sitter developers, here: > > > > https://github.com/tree-sitter/tree-sitter/issues/4968 > > > > I don't know what will come out of this. If the Tree-sitter > > developers don't make the changes I request VSN, we will have to > > decide whether we drop support of Tree-sitter < 0.25.0 or refuse to > > support 0.26 and later for the time being. Both are bad decisions, > > from where I stand. > > Actually, upon thinking about this some more, I think I can implement > a solution that is "as good as it gets", given the changes in language > ABIs and breaking changes in the library's APIs. Stay tuned. Now done on master, please test. (I don't know whether tree-sitter 0.26 has additional "issues" beyond the removal of ts_language_version, so maybe some problems will still exist when using it.)
bug-gnu-emacs@HIDDEN:bug#79627; Package emacs.
Full text available.Received: (at 79627) by debbugs.gnu.org; 17 Oct 2025 10:45:42 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 17 06:45:41 2025 Received: from localhost ([127.0.0.1]:48598 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v9hxt-0000mG-HG for submit <at> debbugs.gnu.org; Fri, 17 Oct 2025 06:45:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36382) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1v9hxp-0000lC-Va for 79627 <at> debbugs.gnu.org; Fri, 17 Oct 2025 06:45:38 -0400 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 <eliz@HIDDEN>) id 1v9hxh-0006jF-P3; Fri, 17 Oct 2025 06:45:29 -0400 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=yTPCIZWX6bqRg7vGbfdreADNgxGdBK3IYqNzkaSp66s=; b=a1iWS/6AVN+g c1tzqwGTeLVAb3475+6uQxBTTkmncReY+rfH0Dx7PaaeJ93wp5NtHWExqSelPkRp0Ma+NjVT/qQX1 LWoUeL54WGBJ3OuNarKoSAMfW4nlGfT+E1qkQKWVuGL1OtsDAbzZU8ThD1Q8hrQ6++jDdFbmXxWbF P1fmClvFAooTUkT72Zaq8mYsoi/uYk133nvKJseqzLfyGT7fthHQL9oB6SVsamJ2hbtSnOE5GWDQQ 0HOdqCBLjKALDupAoR9Geti9Tr81/XgBYYbI4wXAHa8XWUimlC6ybzwVVXcW1BoSEZo141BR+4ASQ 3V7e1QLDeV+rmsAHX68ebg==; Date: Fri, 17 Oct 2025 13:45:25 +0300 Message-Id: <868qh9hkmy.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: juri@HIDDEN, yandros@HIDDEN In-Reply-To: <86bjm6gg1m.fsf@HIDDEN> (message from Eli Zaretskii on Fri, 17 Oct 2025 10:09:57 +0300) Subject: Re: bug#79627: 31.0.50; version issues in c-ts-mode (and other -ts-modes) References: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN> <87tt00n1q8.fsf@HIDDEN> <87v7kg39gk.fsf@HIDDEN> <87wm4wkuz8.fsf@HIDDEN> <CAO2hHWajgKJhmMbHL8GSWJfsYoFj2Xs4wSkRRLCaYhHj=GUgCw@HIDDEN> <87y0palsrn.fsf@HIDDEN> <86bjm6gg1m.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79627 Cc: casouri@HIDDEN, 79627 <at> debbugs.gnu.org, jroi.martin@HIDDEN 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: -3.3 (---) > Cc: yandros@HIDDEN, 79627 <at> debbugs.gnu.org, casouri@HIDDEN, > jroi.martin@HIDDEN > Date: Fri, 17 Oct 2025 10:09:57 +0300 > From: Eli Zaretskii <eliz@HIDDEN> > > The replacement of ts_language_version with ts_language_abi_version > cannot be unconditional: it must be conditional on the version of > Tree-sitter library with which Emacs is being built. Alas, the > library header api.h doesn't provide any way of distinguishing between > Tree-sitter 0.25 and 0.26 (they both support the same range of > language ABI versions, from 13 to 15). So if we make the proposed > change, Emacs will be capable of using only versions 0.25 and later of > Tree-sitter (because ts_language_abi_version was introduced in 0.25). > This is IMO too harsh on our users, since 0.25 was released on Feb 1, > 2025, and some distros for stable releases might not want to use such > a new version. > > I've submitted an issue to the Tree-sitter developers, here: > > https://github.com/tree-sitter/tree-sitter/issues/4968 > > I don't know what will come out of this. If the Tree-sitter > developers don't make the changes I request VSN, we will have to > decide whether we drop support of Tree-sitter < 0.25.0 or refuse to > support 0.26 and later for the time being. Both are bad decisions, > from where I stand. Actually, upon thinking about this some more, I think I can implement a solution that is "as good as it gets", given the changes in language ABIs and breaking changes in the library's APIs. Stay tuned.
bug-gnu-emacs@HIDDEN:bug#79627; Package emacs.
Full text available.Received: (at 79627) by debbugs.gnu.org; 17 Oct 2025 07:10:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 17 03:10:14 2025 Received: from localhost ([127.0.0.1]:45968 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v9ebN-0006xp-PB for submit <at> debbugs.gnu.org; Fri, 17 Oct 2025 03:10:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60028) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1v9ebH-0006rs-QU for 79627 <at> debbugs.gnu.org; Fri, 17 Oct 2025 03:10:09 -0400 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 <eliz@HIDDEN>) id 1v9ebB-0006tx-4l; Fri, 17 Oct 2025 03:10:01 -0400 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=d/JRL2FPzPB+50HQ/xL6OmRsrN8u8FzOxBtFWzS3Ndo=; b=Kq6dLFRj3lUz q2UxUixya+gevBPT/zIRxanKINS36RVJuNp5V7jS6yQp+OYr7GUJWloTNmO3dmUgNCvg6ZgZcfpzO z0jHVy5XaX5uz8zml+Q1rLYCA/KiDU/JELhTP4JBpfV1xys0bfm8Rwyoa6361v/e0B4DKo/dvxXNd Df/9NHtKNPJNv7U+KYlzJtvq1mRCLspOvPl7JTHn9XjD2x24/gioEgnCCQSaScD5/o1uApT5agAjP eaK7rnqxAiazNPc6L0+ujLGcuOxtercN8DrYenAltTLLaIezgxuCmfzN5+ThsNHfg3jRx9sGLPcjS puPZRf990VlOr6f2K7PxQw==; Date: Fri, 17 Oct 2025 10:09:57 +0300 Message-Id: <86bjm6gg1m.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Juri Linkov <juri@HIDDEN> In-Reply-To: <87y0palsrn.fsf@HIDDEN> (message from Juri Linkov on Thu, 16 Oct 2025 19:29:56 +0300) Subject: Re: bug#79627: 31.0.50; version issues in c-ts-mode (and other -ts-modes) References: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN> <87tt00n1q8.fsf@HIDDEN> <87v7kg39gk.fsf@HIDDEN> <87wm4wkuz8.fsf@HIDDEN> <CAO2hHWajgKJhmMbHL8GSWJfsYoFj2Xs4wSkRRLCaYhHj=GUgCw@HIDDEN> <87y0palsrn.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79627 Cc: yandros@HIDDEN, 79627 <at> debbugs.gnu.org, casouri@HIDDEN, jroi.martin@HIDDEN 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: -3.3 (---) > Cc: Yuan Fu <casouri@HIDDEN>, 79627 <at> debbugs.gnu.org, > Roi Martin <jroi.martin@HIDDEN> > From: Juri Linkov <juri@HIDDEN> > Date: Thu, 16 Oct 2025 19:29:56 +0300 > > Cc-ing Yuan: maybe this small patch should be pushed? The replacement of ts_language_version with ts_language_abi_version cannot be unconditional: it must be conditional on the version of Tree-sitter library with which Emacs is being built. Alas, the library header api.h doesn't provide any way of distinguishing between Tree-sitter 0.25 and 0.26 (they both support the same range of language ABI versions, from 13 to 15). So if we make the proposed change, Emacs will be capable of using only versions 0.25 and later of Tree-sitter (because ts_language_abi_version was introduced in 0.25). This is IMO too harsh on our users, since 0.25 was released on Feb 1, 2025, and some distros for stable releases might not want to use such a new version. I've submitted an issue to the Tree-sitter developers, here: https://github.com/tree-sitter/tree-sitter/issues/4968 I don't know what will come out of this. If the Tree-sitter developers don't make the changes I request VSN, we will have to decide whether we drop support of Tree-sitter < 0.25.0 or refuse to support 0.26 and later for the time being. Both are bad decisions, from where I stand. P.S. The irony of this is that the MS-Windows port of Emacs is in better shape wrt this problem: it could determine at run time which of these two functions is available, and use that. GNU/Linux and other Posix platforms, which need to see the function's prototypes at compile time, cannot do that.
bug-gnu-emacs@HIDDEN:bug#79627; Package emacs.
Full text available.
Received: (at 79627) by debbugs.gnu.org; 16 Oct 2025 16:31:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 16 12:31:36 2025
Received: from localhost ([127.0.0.1]:36799 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v9Qt5-0004MR-Pb
for submit <at> debbugs.gnu.org; Thu, 16 Oct 2025 12:31:36 -0400
Received: from mout-p-102.mailbox.org ([2001:67c:2050:0:465::102]:38892)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1v9Qsu-0004Lk-E8
for 79627 <at> debbugs.gnu.org; Thu, 16 Oct 2025 12:31:28 -0400
Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4cnYNw4Zxgz9tgK;
Thu, 16 Oct 2025 18:31:12 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001;
t=1760632272;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=DOdV6JhT2HjoXkCm44DsKT0knL6l/IL/uFMf6VEJ9m8=;
b=tSb+9Iuo+25s4Ifev365n7d2LsYrAYlgJhfk+kinkwXe8YjY3aGYXuyprdMGaCY2ne7iPb
QYh1LHbwMArP0Qr7071WJuQVMRxXZ3D5BnSSS94liqHDe2k0rz92oAp/FDro7elJNE7dqN
eRAW7M8aMVz+vitFF/1hrZZmHCQp71JoCGX1mokKwUMWuEpxs/cC1PWNVQXk/AQbe3rwQF
XODTtZapmYMFBUbX5PFscshcqXm0ntn49HI0TIIaX16eE0MlGXI+z7aijR9HTJD8pk50fA
wheSNrVBZx7uo5v7rRpGUUOUNZdJ3zXTJ4dOm3LAKOqw2rFHFJqM577NH81BFQ==
From: Juri Linkov <juri@HIDDEN>
To: chad <yandros@HIDDEN>
Subject: Re: bug#79627: 31.0.50; version issues in c-ts-mode (and other
-ts-modes)
In-Reply-To: <CAO2hHWajgKJhmMbHL8GSWJfsYoFj2Xs4wSkRRLCaYhHj=GUgCw@HIDDEN>
Organization: LINKOV.NET
References: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN>
<87tt00n1q8.fsf@HIDDEN> <87v7kg39gk.fsf@HIDDEN>
<87wm4wkuz8.fsf@HIDDEN>
<CAO2hHWajgKJhmMbHL8GSWJfsYoFj2Xs4wSkRRLCaYhHj=GUgCw@HIDDEN>
Date: Thu, 16 Oct 2025 19:29:56 +0300
Message-ID: <87y0palsrn.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 79627
Cc: Yuan Fu <casouri@HIDDEN>, 79627 <at> debbugs.gnu.org,
Roi Martin <jroi.martin@HIDDEN>
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.7 (-)
Cc-ing Yuan: maybe this small patch should be pushed?
> I added a small patch (attached) to adapt the ABI change; although
> I did it quickly before the trip, as part of trying a different
> work-around, and I haven't looked at it since then. In that
> conversation, I was trying (hoping?) to discover the best way to
> manage the 4-ish-way version problem of development-stage emacs
> C code, *-ts-mode elisp, libtree-sitter itself, and ts grammar files.
> [...]
> From 3c4cf8995c64ef2a955c99e667622fb0caad0a5e Mon Sep 17 00:00:00 2001
> From: Chad Brown <chadpbrown@HIDDEN>
> Date: Mon, 22 Sep 2025 16:21:23 -0400
> Subject: [PATCH] Updated to ts_language_abi_version (from obsoleted
> ts_lanaguage_version)
>
> ---
> src/treesit.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/src/treesit.c b/src/treesit.c
> index bf982de580b..c0d7b8d9088 100644
> --- a/src/treesit.c
> +++ b/src/treesit.c
> @@ -35,7 +35,7 @@ Copyright (C) 2021-2025 Free Software Foundation, Inc.
> # include "w32common.h"
>
> /* In alphabetical order. */
> -#undef ts_language_version
> +#undef ts_language_abi_version
> #undef ts_node_child
> #undef ts_node_child_by_field_name
> #undef ts_node_child_count
> @@ -90,7 +90,7 @@ Copyright (C) 2021-2025 Free Software Foundation, Inc.
> #undef ts_tree_get_changed_ranges
> #undef ts_tree_root_node
>
> -DEF_DLL_FN (uint32_t, ts_language_version, (const TSLanguage *));
> +DEF_DLL_FN (uint32_t, ts_language_abi_version, (const TSLanguage *));
> DEF_DLL_FN (TSNode, ts_node_child, (TSNode, uint32_t));
> DEF_DLL_FN (TSNode, ts_node_child_by_field_name,
> (TSNode, const char *, uint32_t));
> @@ -167,7 +167,7 @@ init_treesit_functions (void)
> if (!library)
> return false;
>
> - LOAD_DLL_FN (library, ts_language_version);
> + LOAD_DLL_FN (library, ts_language_abi_version);
> LOAD_DLL_FN (library, ts_node_child);
> LOAD_DLL_FN (library, ts_node_child_by_field_name);
> LOAD_DLL_FN (library, ts_node_child_count);
> @@ -225,7 +225,7 @@ init_treesit_functions (void)
> return true;
> }
>
> -#define ts_language_version fn_ts_language_version
> +#define ts_language_abi_version fn_ts_language_abi_version
> #define ts_node_child fn_ts_node_child
> #define ts_node_child_by_field_name fn_ts_node_child_by_field_name
> #define ts_node_child_count fn_ts_node_child_count
> @@ -832,7 +832,7 @@ treesit_load_language (Lisp_Object language_symbol,
> build_string ("%s's ABI version is %d, but supported versions are %d-%d");
> Lisp_Object formatted_msg =
> CALLN (Fformat_message, fmt, loaded_lib,
> - make_fixnum (ts_language_version (lang)),
> + make_fixnum (ts_language_abi_version (lang)),
> make_fixnum (TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION),
> make_fixnum (TREE_SITTER_LANGUAGE_VERSION));
> *signal_symbol = Qtreesit_load_language_error;
> @@ -914,7 +914,7 @@ DEFUN ("treesit-language-abi-version", Ftreesit_language_abi_version,
> TSLanguage *ts_language = lang.lang;
> if (ts_language == NULL)
> return Qnil;
> - uint32_t version = ts_language_version (ts_language);
> + uint32_t version = ts_language_abi_version (ts_language);
> return make_fixnum((ptrdiff_t) version);
> }
> }
> --
> 2.39.5
bug-gnu-emacs@HIDDEN:bug#79627; Package emacs.
Full text available.Received: (at 79627) by debbugs.gnu.org; 16 Oct 2025 07:51:47 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 16 03:51:47 2025 Received: from localhost ([127.0.0.1]:33767 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v9Im2-0006f3-QN for submit <at> debbugs.gnu.org; Thu, 16 Oct 2025 03:51:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55926) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1v9Ilx-0006ei-Ji for 79627 <at> debbugs.gnu.org; Thu, 16 Oct 2025 03:51:42 -0400 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 <eliz@HIDDEN>) id 1v9Ils-0006ID-6t; Thu, 16 Oct 2025 03:51:36 -0400 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=QrjzVgJ8h7kujK4nmWHr04Gm9y/wRmimxsrSDDtqi2U=; b=Q7zM4OikGgSt twGV6lsMJ6nsr5gqfimRm39Qt+Or6UpQZqN2PFuFiNNzaC4suv0+9hiJ+MVTkNuK4TeQSCqGRjCIM GGfaumvCdv1l/WghZrxO6SMt/+o+sTinCqVpWujAIvqyvb9ND/pgWXQuqhHs2FgBDhk+3yoAKERHr BFDxIi9+/+iRELCd+kU8VE8BApIBC/CVaMxH5QOBmv6R10eXtq01fIlPXz12qglWJMOni3vbUTNRG kkbpD2XSgvscfjiCuDb88an8ZuQC6mbMtdaVpUobAbfMhxl7UcwIrow0BN+H8JJ+cFdx4HO5g4kvq /7jQa8d+6s5Sgc/7pKrdWQ==; Date: Thu, 16 Oct 2025 10:51:33 +0300 Message-Id: <86qzv3b7y2.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Juri Linkov <juri@HIDDEN> In-Reply-To: <87planibm8.fsf@HIDDEN> (message from Juri Linkov on Thu, 16 Oct 2025 09:50:23 +0300) Subject: Re: bug#79627: 31.0.50; version issues in c-ts-mode (and other -ts-modes) References: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN> <87tt00n1q8.fsf@HIDDEN> <87v7kg39gk.fsf@HIDDEN> <87wm4wkuz8.fsf@HIDDEN> <CAO2hHWajgKJhmMbHL8GSWJfsYoFj2Xs4wSkRRLCaYhHj=GUgCw@HIDDEN> <86ms5scawk.fsf@HIDDEN> <CAO2hHWbLLSkvzgmQp0Zf4UXS8GBnYN32eyoDJZT0p8Ybraiq_w@HIDDEN> <87planibm8.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79627 Cc: yandros@HIDDEN, 79627 <at> debbugs.gnu.org, jroi.martin@HIDDEN 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: -3.3 (---) > From: Juri Linkov <juri@HIDDEN> > Cc: Eli Zaretskii <eliz@HIDDEN>, 79627 <at> debbugs.gnu.org, > jroi.martin@HIDDEN > Date: Thu, 16 Oct 2025 09:50:23 +0300 > > > Don't use tree-sitter 0.26, it has problems. I suggest to downgrade > > to 0.25.10, until the tree-sitter developers get their act together. > > > > I confirm that things are working as expected after the downgrade. > > Maybe we need to add a hash of the commit that supports the latest > libtree-sitter-c, like we did in rust-ts-mode: > > (add-to-list > 'treesit-language-source-alist > `(rust "https://github.com/tree-sitter/tree-sitter-rust" > :commit ,(if (and (treesit-available-p) > (< (treesit-library-abi-version) 15)) > "1f63b33efee17e833e0ea29266dd3d713e27e321" > "18b0515fca567f5a10aee9978c6d2640e878671a")) > t) > > Could you find the latest libtree-sitter-c commit > that works with a newer ABI version? Both tree-sitter 0.25 and tree-sitter 0.26 support the same range of ABIs: from 13 to 15. The current ABI of tree-sitter-c grammar's HEAD revision in their Git is 15. So I don't think this aspect matters here.
bug-gnu-emacs@HIDDEN:bug#79627; Package emacs.
Full text available.
Received: (at 79627) by debbugs.gnu.org; 16 Oct 2025 06:52:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 16 02:52:12 2025
Received: from localhost ([127.0.0.1]:33572 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v9HqO-0003AZ-2F
for submit <at> debbugs.gnu.org; Thu, 16 Oct 2025 02:52:12 -0400
Received: from mout-p-202.mailbox.org ([2001:67c:2050:0:465::202]:48620)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1v9HqL-00039e-0P
for 79627 <at> debbugs.gnu.org; Thu, 16 Oct 2025 02:52:10 -0400
Received: from smtp1.mailbox.org (smtp1.mailbox.org
[IPv6:2001:67c:2050:b231:465::1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4cnJXb28x1z9tSS;
Thu, 16 Oct 2025 08:51:59 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001;
t=1760597519;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=o1u+soXI+3gPhOE1o1se+j2IDE1f24YQOdhSvggT/EY=;
b=O4VYZMQIIx0Uzm+1Q/8aaB4/lBhl3MlJiMB3sdSBJ9v0Wmr6Kzripo+CDPd3Gjv6kNzoHp
TVDLEBmCE50fp8NIXJ7F79/FiX3rC7BJefLNsSTJb7YLIgU34+3IPtnANe5tK0M7gwZxfR
mmAYKx+B4N+tBom9+Rkcq/Mioq/RlB8rKXHDPlAp6snen+Qztdz74x9+8/+RZ98m5UWiSC
DlMVkEEKSDO0bEXeVMz1+83N0u+XDz9aTa4hFI1xEJlkEn3egexAWxmJnzxsx6xm3F7dcm
pRyWf3n4zs70ll5yK13vCfb2TsLXLAf/TVySF5d+xdN4+9AHV+jVoGQmfpZnMA==
Authentication-Results: outgoing_mbo_mout; dkim=none;
spf=pass (outgoing_mbo_mout: domain of juri@HIDDEN designates
2001:67c:2050:b231:465::1 as permitted sender) smtp.mailfrom=juri@HIDDEN
From: Juri Linkov <juri@HIDDEN>
To: chad <yandros@HIDDEN>
Subject: Re: bug#79627: 31.0.50; version issues in c-ts-mode (and other
-ts-modes)
In-Reply-To: <CAO2hHWbLLSkvzgmQp0Zf4UXS8GBnYN32eyoDJZT0p8Ybraiq_w@HIDDEN>
Organization: LINKOV.NET
References: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN>
<87tt00n1q8.fsf@HIDDEN> <87v7kg39gk.fsf@HIDDEN>
<87wm4wkuz8.fsf@HIDDEN>
<CAO2hHWajgKJhmMbHL8GSWJfsYoFj2Xs4wSkRRLCaYhHj=GUgCw@HIDDEN>
<86ms5scawk.fsf@HIDDEN>
<CAO2hHWbLLSkvzgmQp0Zf4UXS8GBnYN32eyoDJZT0p8Ybraiq_w@HIDDEN>
Date: Thu, 16 Oct 2025 09:50:23 +0300
Message-ID: <87planibm8.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Rspamd-Queue-Id: 4cnJXb28x1z9tSS
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79627
Cc: Eli Zaretskii <eliz@HIDDEN>, 79627 <at> debbugs.gnu.org, jroi.martin@HIDDEN
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.7 (-)
> Don't use tree-sitter 0.26, it has problems. I suggest to downgrade
> to 0.25.10, until the tree-sitter developers get their act together.
>
> I confirm that things are working as expected after the downgrade.
Maybe we need to add a hash of the commit that supports the latest
libtree-sitter-c, like we did in rust-ts-mode:
(add-to-list
'treesit-language-source-alist
`(rust "https://github.com/tree-sitter/tree-sitter-rust"
:commit ,(if (and (treesit-available-p)
(< (treesit-library-abi-version) 15))
"1f63b33efee17e833e0ea29266dd3d713e27e321"
"18b0515fca567f5a10aee9978c6d2640e878671a"))
t)
Could you find the latest libtree-sitter-c commit
that works with a newer ABI version?
bug-gnu-emacs@HIDDEN:bug#79627; Package emacs.
Full text available.Received: (at 79627) by debbugs.gnu.org; 15 Oct 2025 19:51:21 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 15 15:51:21 2025 Received: from localhost ([127.0.0.1]:57176 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v97Wq-00004u-NK for submit <at> debbugs.gnu.org; Wed, 15 Oct 2025 15:51:21 -0400 Received: from mail-lf1-x12a.google.com ([2a00:1450:4864:20::12a]:42053) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <yandros@HIDDEN>) id 1v97We-0008VB-OR for 79627 <at> debbugs.gnu.org; Wed, 15 Oct 2025 15:51:14 -0400 Received: by mail-lf1-x12a.google.com with SMTP id 2adb3069b0e04-57e03279bfeso1736124e87.0 for <79627 <at> debbugs.gnu.org>; Wed, 15 Oct 2025 12:51:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760557861; x=1761162661; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=xJIPiiF5qmEpnT6SphjaIvMr3iGqsb/2Jh7dUICI/mU=; b=iTQXHxCabhax3brop7taEdcsZptz2evC3kHSifHmb0aR80gIK/RL/5TTS32wwSHjiR MCF1MyN9JweOfIr2KpNCj3uk8JUstHpVByNu/ntPVPOP93+X+cJl5vEzJJ4ebLye+dCv mf44xYwvHEOdOJZLnWzuUkOjE/wr9THZ40jvFWpxOQjyQXXBtwu0RSsEX9YnpR7MXi7/ qIrna7nuE2knoV0POs0+679XpgVmXYxVl3KbcYzU2vZjs1H7KxwIKyaAbnpu5cg0/atw sP43Bn5v1n3I079xxPaapu3qkrk8RdXcvWQP4Cm7gpTPgqd3Hy8LcWmVEEURBSgTC8UL GL7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760557861; x=1761162661; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=xJIPiiF5qmEpnT6SphjaIvMr3iGqsb/2Jh7dUICI/mU=; b=vfELSp17VQBq7/kWmIOa2Hj1gWiRgGEbkwuWoJyTHb3IEAAqn/x7FIfNFw8/lgj+QD QpzvgQm3/UfgEJuSC7hdnI5F1EiWEvP0CnMug3ISDIBWk8q3esomt0SRbtdHxebzXxZs JBLglMpxm0xkQ/0UHhHfjg2JKQ9NuqxCRRe7ZNWAPNyxaE4oI2qebcvJvDkA5I+h5F3d 5wfgrHuXR87mlLbz72mEFPge2d5d7SxCp8D07zvvzn7Txr7TZMAWKkl6FAVfjz0SnX9+ 2CSEY7JVl18FFRTGHFlzkwCwKxPq6RuDwZB3OyjtaM5WsRWUtZCEA5xffU+NsngfmiJh aVzQ== X-Forwarded-Encrypted: i=1; AJvYcCXQuh8597SlLfN9wMvJcpnsCXVVwJ8mOyVzmtIUQH2/JlNnAIHJkzyAHgmxucHLkRfbSPcfDA==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yzjf4rOZH/1pd6ik/O/wXdhSh3xBi5Rcar6avKwBniRNysUVlGj Ekjvz3hqIxn0SW+pw2d8B7kkqzhdDpJVI1VA+msSOdTScXWMCEwVa1miUVpKQ/J4eB/RFVYnHKn gM6hTRLV3uJqiZ9Qb58yg9ecnWZpVUeo= X-Gm-Gg: ASbGncvqrVjWbiI2kne7DoobSiHzny+5SDgmKNdGL6CHlw/KztpOrx7X8X+VS0ZpTm5 3/Vh/a3or8OrPvi/PKI8rc08cIU4XONNciF4H6Ror6HMXdrAqNJZNlQ8EIITC16DqaTwWE6yv9j 5YDMa/yr0g9nOBZ+qtVzwy668ULP++vFdDjm80+qwz+Nt5rYJOzpLLpmwo5YdhbIxNCFyL83grT yXftkdtB6TXLfHFV5c2uKmU51dW4fsPoszlRonzhyHVZiuanvHAFujBU/mtw11L2Rjb1+0= X-Google-Smtp-Source: AGHT+IEkXz2tG5B666TLak+q9cBVFuSxUbhQ6P/+og6OxFD50DTIh/dcum9sjXmirgm6AQrqqXzeW49WdW62ui7MpAw= X-Received: by 2002:a05:6512:3087:b0:585:ec27:b571 with SMTP id 2adb3069b0e04-591d0746a96mr402006e87.4.1760557860856; Wed, 15 Oct 2025 12:51:00 -0700 (PDT) MIME-Version: 1.0 References: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN> <87tt00n1q8.fsf@HIDDEN> <87v7kg39gk.fsf@HIDDEN> <87wm4wkuz8.fsf@HIDDEN> <CAO2hHWajgKJhmMbHL8GSWJfsYoFj2Xs4wSkRRLCaYhHj=GUgCw@HIDDEN> <86ms5scawk.fsf@HIDDEN> In-Reply-To: <86ms5scawk.fsf@HIDDEN> From: chad <yandros@HIDDEN> Date: Wed, 15 Oct 2025 15:50:43 -0400 X-Gm-Features: AS18NWCKE1VmoPSoVox8xhSPtURUx1gBll2Z5LVIEbof9whLxVe2Qltgfjt7wRY Message-ID: <CAO2hHWbLLSkvzgmQp0Zf4UXS8GBnYN32eyoDJZT0p8Ybraiq_w@HIDDEN> Subject: Re: bug#79627: 31.0.50; version issues in c-ts-mode (and other -ts-modes) To: Eli Zaretskii <eliz@HIDDEN> Content-Type: multipart/alternative; boundary="000000000000e726ff064137d156" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79627 Cc: 79627 <at> debbugs.gnu.org, jroi.martin@HIDDEN, juri@HIDDEN 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 (-) --000000000000e726ff064137d156 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Oct 15, 2025 at 1:50=E2=80=AFPM Eli Zaretskii <eliz@HIDDEN> wrote: > Don't use tree-sitter 0.26, it has problems. I suggest to downgrade > to 0.25.10, until the tree-sitter developers get their act together. > I confirm that things are working as expected after the downgrade. Thanks again. ~Chad --000000000000e726ff064137d156 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote g= mail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Oct 15,= 2025 at 1:50=E2=80=AFPM Eli Zaretskii <<a href=3D"mailto:eliz@HIDDEN">= eliz@HIDDEN</a>> wrote:<br></div><blockquote class=3D"gmail_quote" styl= e=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddin= g-left:1ex">Don't use tree-sitter 0.26, it has problems.=C2=A0 I sugges= t to downgrade<br> to 0.25.10, until the tree-sitter developers get their act together.<br></b= lockquote><div><br></div><div>I confirm that things are working as expected= after the downgrade.=C2=A0</div><div><br></div><div>Thanks again.</div><di= v>~Chad</div><div><br></div></div></div> --000000000000e726ff064137d156--
bug-gnu-emacs@HIDDEN:bug#79627; Package emacs.
Full text available.Received: (at 79627) by debbugs.gnu.org; 15 Oct 2025 17:53:47 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 15 13:53:47 2025 Received: from localhost ([127.0.0.1]:56632 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v95h4-00081k-N6 for submit <at> debbugs.gnu.org; Wed, 15 Oct 2025 13:53:47 -0400 Received: from mail-lf1-x12c.google.com ([2a00:1450:4864:20::12c]:45550) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <yandros@HIDDEN>) id 1v95gp-00080P-JI for 79627 <at> debbugs.gnu.org; Wed, 15 Oct 2025 13:53:32 -0400 Received: by mail-lf1-x12c.google.com with SMTP id 2adb3069b0e04-57992ba129eso8639471e87.3 for <79627 <at> debbugs.gnu.org>; Wed, 15 Oct 2025 10:53:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760550804; x=1761155604; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=zaFv28ZIChmCAQZZWLyUbYoEkKK9Ev872uJMWY5Gl9Q=; b=nnMYagyIGL4wue05VfOwDQB3MmxwyN6YQU+uPTFxCD50uZP8ZaC81mM2lmxpdm0hQb XrW7YA3rN1O0L+xcXPO28NE3ZUP/7m/r5s3zPUv0ndHVSE8AtKOpYyiWQBX2wZ76Kbht qHg3fjxQ64mbTgl6D2GVKilPh6cmxz04XlsS34OEtQ6TmQvoaEcvmMl94iPmKkset3Yr oPPbF8Te/kOmSBzpXkX/ZtAoDHX+XiuW6f0HYhWgYJfAKn8Q8ybbQ9hwTgcqiRTQEn7e KN94MQ1TzA5ZqepzhuSFaLRIAOUlpOV/n2NS/ChnIHCWq0yyhkZMVvlwIAjyW2qYX99A HhJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760550804; x=1761155604; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=zaFv28ZIChmCAQZZWLyUbYoEkKK9Ev872uJMWY5Gl9Q=; b=hufj4vyT0A7IQuLCkLZ6iGUNx1NDVA/f6H2B1jV+vQJuYoiaiuf1wcFaIqYZ2clKas EVlIFrtiDGLUxHRPWNB9F72nHt4Itm7eNn/7p+LlPgxIiH00NB3pnnZ//BkJKPwACBLY 1RdKsdVTsEghtObO88Pg89apTLV/7N6mp9pPXmlryVLKcUOhbOs98VJvF8vjTVK+1ToQ ZKDkilJ6oTN8KyATFC26B4DWpnzDF+7oBDBEcWEdOb/bcGjyMLEBEIx14vD00mKOVwAd KlpI/Qe58Z6bn6azSDLxoQgVNGwvTXQwMk0HQRHKxJdOWQCgshBNZjfZL4/BeSSEXc0s 1emg== X-Forwarded-Encrypted: i=1; AJvYcCXKrAJWufuZ0SRtEm2l1oKDJfRIrQE1LM0oWQ/yQQqOfYLk72hQYKn/r7x0OrCJccLO7T0lqQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwqNh5KXubPjqUSGDun6GaYe5KlXwSzKzwbvkvNiZ5OETs6GQtn T2xJR7WUzK+UBnMdieHn2zxf1tWRndQ3LPQH9nBs5q3woq6jJSLtCVS04qP9OEs6JhJNVenYKaI +xSUS2i46traAVi0UGZYm3WeowjQZYt8= X-Gm-Gg: ASbGncsiFzrt/aBUh8g/HueSsM+VGwLRgPlzgA+wKD6sJCmceEXMul0g/FZ5uqYy4Mz 1l/22CdkoZDyaI2CuOG4UB0qwbpbQYMnaykyYwHSw2FUWZbEg3SWtRtAo7oF2IFT3v4lfVHmZGM FU6KzNZTk8i07Cpf1hC8T2WnFvv/HqX84lSjClpd/Ts6/Q6WZjyzB+lF4UAccimmKcjocOIyZ0C 245jiTZ9dFSFTWzKW91qwyhmW+K0JtTPWpq X-Google-Smtp-Source: AGHT+IGuxIwm3E759cI3xx33/a34SBwNkWnW2ploPdD2LfQLNIwY6/c8J6wlShEOcZfwmegOEWjfBpCVT6zzpNa+Rbg= X-Received: by 2002:a05:6512:3f27:b0:55f:3f03:946d with SMTP id 2adb3069b0e04-5906dd31abfmr8425685e87.23.1760550803758; Wed, 15 Oct 2025 10:53:23 -0700 (PDT) MIME-Version: 1.0 References: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN> <87tt00n1q8.fsf@HIDDEN> <87v7kg39gk.fsf@HIDDEN> <87wm4wkuz8.fsf@HIDDEN> <CAO2hHWajgKJhmMbHL8GSWJfsYoFj2Xs4wSkRRLCaYhHj=GUgCw@HIDDEN> <86ms5scawk.fsf@HIDDEN> In-Reply-To: <86ms5scawk.fsf@HIDDEN> From: chad <yandros@HIDDEN> Date: Wed, 15 Oct 2025 13:53:06 -0400 X-Gm-Features: AS18NWDKFnU0bZtx05neppJ582j94Vctn5PwuPzAMdSZ8q6KtdWPwidbkcYGWJQ Message-ID: <CAO2hHWb8aqcpqJ6H3WPNZCRLdDHjT0tWFE3uAOxZYUZzOOTiKw@HIDDEN> Subject: Re: bug#79627: 31.0.50; version issues in c-ts-mode (and other -ts-modes) To: Eli Zaretskii <eliz@HIDDEN> Content-Type: multipart/alternative; boundary="00000000000044615b0641362d26" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79627 Cc: 79627 <at> debbugs.gnu.org, jroi.martin@HIDDEN, juri@HIDDEN 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 (-) --00000000000044615b0641362d26 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Oct 15, 2025 at 1:50=E2=80=AFPM Eli Zaretskii <eliz@HIDDEN> wrote: > > Cc: 79627 <at> debbugs.gnu.org, Roi Martin <jroi.martin@HIDDEN> > > From: chad <yandros@HIDDEN> > > Date: Wed, 15 Oct 2025 12:46:27 -0400 > > > > I repeated the issue just now on a fresh build. That suggests that the > issue is due to me using a newer > > version of libtree-sitter than you. Apologies for not catching that > sooner. Today's build uses libtree-sitter from > > Monday, 0.26, and definitely includes the breaking-but-easily-patched > ABI change from last month. > > Don't use tree-sitter 0.26, it has problems. I suggest to downgrade > to 0.25.10, until the tree-sitter developers get their act together. > Excellent; thanks! ~Chad --00000000000044615b0641362d26 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><br></div><div class=3D"gmail_quote gmail= _quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Oct 15, 202= 5 at 1:50=E2=80=AFPM Eli Zaretskii <<a href=3D"mailto:eliz@HIDDEN">eliz= @gnu.org</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D= "margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-le= ft:1ex">> Cc: <a href=3D"mailto:79627 <at> debbugs.gnu.org" target=3D"_blank"= >79627 <at> debbugs.gnu.org</a>, Roi Martin <<a href=3D"mailto:jroi.martin@gm= ail.com" target=3D"_blank">jroi.martin@HIDDEN</a>><br> > From: chad <<a href=3D"mailto:yandros@HIDDEN" target=3D"_blank">= yandros@HIDDEN</a>><br> > Date: Wed, 15 Oct 2025 12:46:27 -0400<br> > <br> > I repeated the issue just now on a fresh build. That suggests that the= issue is due to me using a newer<br> > version of libtree-sitter than you. Apologies for not catching that so= oner. Today's build uses libtree-sitter from<br> > Monday, 0.26, and definitely includes the breaking-but-easily-patched = ABI change from last month.<br> <br> Don't use tree-sitter 0.26, it has problems.=C2=A0 I suggest to downgra= de<br> to 0.25.10, until the tree-sitter developers get their act together.<br></b= lockquote><div><br></div><div>Excellent; thanks!<br class=3D"gmail-Apple-in= terchange-newline"></div><div>~Chad</div><div>=C2=A0</div></div></div> --00000000000044615b0641362d26--
bug-gnu-emacs@HIDDEN:bug#79627; Package emacs.
Full text available.Received: (at 79627) by debbugs.gnu.org; 15 Oct 2025 17:50:30 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 15 13:50:30 2025 Received: from localhost ([127.0.0.1]:56610 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v95dt-0007qn-TJ for submit <at> debbugs.gnu.org; Wed, 15 Oct 2025 13:50:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36274) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1v95dj-0007mU-St for 79627 <at> debbugs.gnu.org; Wed, 15 Oct 2025 13:50:25 -0400 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 <eliz@HIDDEN>) id 1v95dX-0003S5-TV; Wed, 15 Oct 2025 13:50:08 -0400 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=dr3acSuivXwZFbxxAB3y3K6QFCSuXpD4nIy4OAfonbE=; b=NHAd7f/a1QCB ymnRQHeeCekHbHOcQGFMjGJm88K3JcEcN9F7dWP0z7n4HsBHiyjbJLbt8luCLb4wdK7xKR+colPAR tHoLKsabXH9bFJq0kMaLVtF2ATlYmu4MFo8FOZcw+Y01oyAFmq3yVIBHWpY0uATqyCQvozdThcNHE iaw7YHpiotydXLuFYvJc7PDSUdCAytp9MHsted523AFplOZCs29cDu9aTw/5biwENDCwZ+ZpMTxcb qhhvptQOLSNXz8Ia+u7oODf0hbw8Ce6MGPNMdpcvjtUs38HBrw6OURekKQjSpjQdvkJ5t3Bh88VlA ejK8Y8noZNdJdiTKHPn8qw==; Date: Wed, 15 Oct 2025 20:50:03 +0300 Message-Id: <86ms5scawk.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: chad <yandros@HIDDEN> In-Reply-To: <CAO2hHWajgKJhmMbHL8GSWJfsYoFj2Xs4wSkRRLCaYhHj=GUgCw@HIDDEN> (message from chad on Wed, 15 Oct 2025 12:46:27 -0400) Subject: Re: bug#79627: 31.0.50; version issues in c-ts-mode (and other -ts-modes) References: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN> <87tt00n1q8.fsf@HIDDEN> <87v7kg39gk.fsf@HIDDEN> <87wm4wkuz8.fsf@HIDDEN> <CAO2hHWajgKJhmMbHL8GSWJfsYoFj2Xs4wSkRRLCaYhHj=GUgCw@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79627 Cc: 79627 <at> debbugs.gnu.org, jroi.martin@HIDDEN, juri@HIDDEN 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: -3.3 (---) > Cc: 79627 <at> debbugs.gnu.org, Roi Martin <jroi.martin@HIDDEN> > From: chad <yandros@HIDDEN> > Date: Wed, 15 Oct 2025 12:46:27 -0400 > > I repeated the issue just now on a fresh build. That suggests that the issue is due to me using a newer > version of libtree-sitter than you. Apologies for not catching that sooner. Today's build uses libtree-sitter from > Monday, 0.26, and definitely includes the breaking-but-easily-patched ABI change from last month. Don't use tree-sitter 0.26, it has problems. I suggest to downgrade to 0.25.10, until the tree-sitter developers get their act together.
bug-gnu-emacs@HIDDEN:bug#79627; Package emacs.
Full text available.Received: (at 79627) by debbugs.gnu.org; 15 Oct 2025 16:47:07 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 15 12:47:07 2025 Received: from localhost ([127.0.0.1]:56055 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v94eZ-0003ex-J5 for submit <at> debbugs.gnu.org; Wed, 15 Oct 2025 12:47:07 -0400 Received: from mail-lf1-x12f.google.com ([2a00:1450:4864:20::12f]:59776) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <yandros@HIDDEN>) id 1v94eN-0003eB-E7 for 79627 <at> debbugs.gnu.org; Wed, 15 Oct 2025 12:46:56 -0400 Received: by mail-lf1-x12f.google.com with SMTP id 2adb3069b0e04-59093864727so5741565e87.3 for <79627 <at> debbugs.gnu.org>; Wed, 15 Oct 2025 09:46:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760546806; x=1761151606; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=WqhytEnafQrppRExP+j43rx2tiWN4GDPHmb+aP6F6dg=; b=E9wz+ETNjhjaTeFlLe2qdBfciuuamW+5na/31C71RwjMGp19QbynJ0ooy7B3UUiSLF h3mHQt4gUfi3IxJS0dBCIRRonCsS0Dys4DyplNtu6n/insbXhf85eOFgWlqCbMiRlHYD qYUnNsHMACtT9r1b+eqqVBrK+O+Rx2bhNvNbmAjfaFIQhk9EK4VgoSz95rpTTaP3zaQY MtmPW7f3fe3lums1xRjdHNqsa70ohAxeK6ChDXfmrd4ALIoh5y+3ZQ/uxq7uRrPn5fua 7Ry16Fh5dWCSiWmj6Xl20a7bo0+trTz/OLThg1WPq0yd7PvSNhd69bPTKA+HBibDTZRO p0Og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760546806; x=1761151606; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=WqhytEnafQrppRExP+j43rx2tiWN4GDPHmb+aP6F6dg=; b=c0xSrAGLNoc6ggGk2/dfNYk4ElkfrOYk9tR66y8voqHvzXewka14fnXoDZ5P3DUN2+ BR8xOdQ5kdn8MECr9tr/oghveL4oHizu3dOtFPxzk1COllw4RbxAXVV0/QzVvyC6giLZ QPkXt8ZWrp65uXdvR20xtLEtS09+X2byyO/rUsJUWXCWCdWE9eXR60VcwTUuQFppVX4F Sl6VP/7xVvjt5zm4F/HBMS9GNrOgrx355LynI0/IAFPcfnCmzgJgW6B5SDqrsK2B4iw4 Hf56C4pthr+eAFLdUoc30WcOOnsteBjwCr7BmaZkMExYysOlkollgM1PnJo34h8oKQCk zHQQ== X-Forwarded-Encrypted: i=1; AJvYcCXL6tEsWy/Asnr+7lEYLpodk+hQ3Kw5ESlDDkG6a5cpi4G5GUCpYsSIN/DaVAx6cPTrPZCgJw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YyRGUeznWbBSRAy8maoFTOMycE0LiSgX68pnT2qmRC+2cMG71sl KZhGi75Ovu61Sni9JqAiCpPW+grsg+Qg9t/Q/QhAQkeOw9aGaXtce32zlMuloAt+6BdQbC5b+MN EMFvdW3CjifWyW57aIzf2Cjp8WHbIAX0= X-Gm-Gg: ASbGncvCyLkoEtRdJAlD10mbQpQRAxyTEL8H6xBKtz06UFgxGMtXGP3oZr2RhCpfPYr 8wbyqo8dV20yb9ctitRCVQplsQXnqA8F0RVQi56AFxyQYCcKr3CafcN3p/bdXgHWAGnZ4SVWAIp /4CadBFhMRmsGEgzsUyaUyTAsf3w9Jgh6Qu84KAqUZvn1PgNr9VLE8/WyEKMo/OvR0AsGvyhrwZ K8PiSECwncCfMVqdR7ESUxQ5A== X-Google-Smtp-Source: AGHT+IFJgnOfHvCdyavXpG6A15juZ2KQJKwxc8UUOPjPGmyqInd5CBEImtU5RTeXx5zqsnc7U08a1uUGGDoyBahjjCg= X-Received: by 2002:a05:6512:6181:b0:58b:27b:ed30 with SMTP id 2adb3069b0e04-5906d8b1accmr8493816e87.22.1760546805212; Wed, 15 Oct 2025 09:46:45 -0700 (PDT) MIME-Version: 1.0 References: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN> <87tt00n1q8.fsf@HIDDEN> <87v7kg39gk.fsf@HIDDEN> <87wm4wkuz8.fsf@HIDDEN> In-Reply-To: <87wm4wkuz8.fsf@HIDDEN> From: chad <yandros@HIDDEN> Date: Wed, 15 Oct 2025 12:46:27 -0400 X-Gm-Features: AS18NWDen6LzDcB_vLPW2H_utTms7LPdCXcFxDy86N90hMOcD4Cuf5JrE9gSn-o Message-ID: <CAO2hHWajgKJhmMbHL8GSWJfsYoFj2Xs4wSkRRLCaYhHj=GUgCw@HIDDEN> Subject: Re: bug#79627: 31.0.50; version issues in c-ts-mode (and other -ts-modes) To: Juri Linkov <juri@HIDDEN> Content-Type: multipart/mixed; boundary="000000000000ef99b90641353e5f" X-Debbugs-Envelope-To: 79627 Cc: 79627 <at> debbugs.gnu.org, Roi Martin <jroi.martin@HIDDEN> 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> --000000000000ef99b90641353e5f Content-Type: multipart/alternative; boundary="000000000000ef99b80641353e5d" --000000000000ef99b80641353e5d Content-Type: text/plain; charset="UTF-8" I repeated the issue just now on a fresh build. That suggests that the issue is due to me using a newer version of libtree-sitter than you. Apologies for not catching that sooner. Today's build uses libtree-sitter from Monday, 0.26, and definitely includes the breaking-but-easily-patched ABI change from last month. Aside: I brought that issue up on emacs-devel, but lost the thread when a weekend trip turned into 11 days away from my systems. The discussion that did happen there suggested to me that I should have started with a bug report, which is how we got here. I added a small patch (attached) to adapt the ABI change; although I did it quickly before the trip, as part of trying a different work-around, and I haven't looked at it since then. In that conversation, I was trying (hoping?) to discover the best way to manage the 4-ish-way version problem of development-stage emacs C code, *-ts-mode elisp, libtree-sitter itself, and ts grammar files. In case I've missed something else, I'm attaching a screenshot of today's repro run. I am happy to try anything that will help. Thanks! ~Chad --000000000000ef99b80641353e5d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">I repeated the issue just now on a fresh build. That sugge= sts that the issue is due to me using a newer version of libtree-sitter tha= n you. Apologies for not catching that sooner. Today's build uses libtr= ee-sitter from Monday, 0.26, and definitely includes the breaking-but-easil= y-patched ABI change from last month.<div><br></div><div>Aside: I brought t= hat issue up on emacs-devel, but lost the thread when a weekend trip turned= into 11 days away from my systems. The discussion that did happen there su= ggested to me that I should have started with a bug report, which is how we= got here. I added a small patch (attached) to adapt the ABI change; althou= gh I did it quickly before the trip, as part of trying a different=C2=A0wor= k-around, and I haven't looked at it since then. In that conversation, = I was trying (hoping?) to discover the best way to manage the 4-ish-way ver= sion problem of development-stage emacs C code, *-ts-mode elisp, libtree-si= tter itself, and ts grammar=C2=A0files.</div><div><br></div><div>In case I&= #39;ve missed something else, I'm attaching a screenshot of today's= repro run. I am happy to try anything that will help. Thanks!</div><div><b= r></div><div>~Chad</div></div> --000000000000ef99b80641353e5d-- --000000000000ef99b90641353e5f Content-Type: application/octet-stream; name="0001-Updated-to-ts_language_abi_version-from-obsoleted-ts.patch" Content-Disposition: attachment; filename="0001-Updated-to-ts_language_abi_version-from-obsoleted-ts.patch" Content-Transfer-Encoding: base64 Content-ID: <f_mgs7tpp40> X-Attachment-Id: f_mgs7tpp40 RnJvbSAzYzRjZjg5OTVjNjRlZjJhOTU1Yzk5ZTY2NzYyMmZiMGNhYWQwYTVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDaGFkIEJyb3duIDxjaGFkcGJyb3duQGdtYWlsLmNvbT4KRGF0 ZTogTW9uLCAyMiBTZXAgMjAyNSAxNjoyMToyMyAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIFVwZGF0 ZWQgdG8gdHNfbGFuZ3VhZ2VfYWJpX3ZlcnNpb24gKGZyb20gb2Jzb2xldGVkCiB0c19sYW5hZ3Vh Z2VfdmVyc2lvbikKCi0tLQogc3JjL3RyZWVzaXQuYyB8IDEyICsrKysrKy0tLS0tLQogMSBmaWxl IGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmMvdHJlZXNpdC5jIGIvc3JjL3RyZWVzaXQuYwppbmRleCBiZjk4MmRlNTgwYi4uYzBkN2I4ZDkw ODggMTAwNjQ0Ci0tLSBhL3NyYy90cmVlc2l0LmMKKysrIGIvc3JjL3RyZWVzaXQuYwpAQCAtMzUs NyArMzUsNyBAQCBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICMgaW5jbHVkZSAidzMyY29tbW9uLmgiCiAKIC8qIEluIGFscGhhYmV0aWNhbCBv cmRlci4gICovCi0jdW5kZWYgdHNfbGFuZ3VhZ2VfdmVyc2lvbgorI3VuZGVmIHRzX2xhbmd1YWdl X2FiaV92ZXJzaW9uCiAjdW5kZWYgdHNfbm9kZV9jaGlsZAogI3VuZGVmIHRzX25vZGVfY2hpbGRf YnlfZmllbGRfbmFtZQogI3VuZGVmIHRzX25vZGVfY2hpbGRfY291bnQKQEAgLTkwLDcgKzkwLDcg QEAgQ29weXJpZ2h0IChDKSAyMDIxLTIwMjUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CiAjdW5kZWYgdHNfdHJlZV9nZXRfY2hhbmdlZF9yYW5nZXMKICN1bmRlZiB0c190cmVlX3Jvb3Rf bm9kZQogCi1ERUZfRExMX0ZOICh1aW50MzJfdCwgdHNfbGFuZ3VhZ2VfdmVyc2lvbiwgKGNvbnN0 IFRTTGFuZ3VhZ2UgKikpOworREVGX0RMTF9GTiAodWludDMyX3QsIHRzX2xhbmd1YWdlX2FiaV92 ZXJzaW9uLCAoY29uc3QgVFNMYW5ndWFnZSAqKSk7CiBERUZfRExMX0ZOIChUU05vZGUsIHRzX25v ZGVfY2hpbGQsIChUU05vZGUsIHVpbnQzMl90KSk7CiBERUZfRExMX0ZOIChUU05vZGUsIHRzX25v ZGVfY2hpbGRfYnlfZmllbGRfbmFtZSwKIAkgICAgKFRTTm9kZSwgY29uc3QgY2hhciAqLCB1aW50 MzJfdCkpOwpAQCAtMTY3LDcgKzE2Nyw3IEBAIGluaXRfdHJlZXNpdF9mdW5jdGlvbnMgKHZvaWQp CiAgIGlmICghbGlicmFyeSkKICAgICByZXR1cm4gZmFsc2U7CiAKLSAgTE9BRF9ETExfRk4gKGxp YnJhcnksIHRzX2xhbmd1YWdlX3ZlcnNpb24pOworICBMT0FEX0RMTF9GTiAobGlicmFyeSwgdHNf bGFuZ3VhZ2VfYWJpX3ZlcnNpb24pOwogICBMT0FEX0RMTF9GTiAobGlicmFyeSwgdHNfbm9kZV9j aGlsZCk7CiAgIExPQURfRExMX0ZOIChsaWJyYXJ5LCB0c19ub2RlX2NoaWxkX2J5X2ZpZWxkX25h bWUpOwogICBMT0FEX0RMTF9GTiAobGlicmFyeSwgdHNfbm9kZV9jaGlsZF9jb3VudCk7CkBAIC0y MjUsNyArMjI1LDcgQEAgaW5pdF90cmVlc2l0X2Z1bmN0aW9ucyAodm9pZCkKICAgcmV0dXJuIHRy dWU7CiB9CiAKLSNkZWZpbmUgdHNfbGFuZ3VhZ2VfdmVyc2lvbiBmbl90c19sYW5ndWFnZV92ZXJz aW9uCisjZGVmaW5lIHRzX2xhbmd1YWdlX2FiaV92ZXJzaW9uIGZuX3RzX2xhbmd1YWdlX2FiaV92 ZXJzaW9uCiAjZGVmaW5lIHRzX25vZGVfY2hpbGQgZm5fdHNfbm9kZV9jaGlsZAogI2RlZmluZSB0 c19ub2RlX2NoaWxkX2J5X2ZpZWxkX25hbWUgZm5fdHNfbm9kZV9jaGlsZF9ieV9maWVsZF9uYW1l CiAjZGVmaW5lIHRzX25vZGVfY2hpbGRfY291bnQgZm5fdHNfbm9kZV9jaGlsZF9jb3VudApAQCAt ODMyLDcgKzgzMiw3IEBAIHRyZWVzaXRfbG9hZF9sYW5ndWFnZSAoTGlzcF9PYmplY3QgbGFuZ3Vh Z2Vfc3ltYm9sLAogCWJ1aWxkX3N0cmluZyAoIiVzJ3MgQUJJIHZlcnNpb24gaXMgJWQsIGJ1dCBz dXBwb3J0ZWQgdmVyc2lvbnMgYXJlICVkLSVkIik7CiAgICAgICBMaXNwX09iamVjdCBmb3JtYXR0 ZWRfbXNnID0KIAlDQUxMTiAoRmZvcm1hdF9tZXNzYWdlLCBmbXQsIGxvYWRlZF9saWIsCi0JICAg ICAgIG1ha2VfZml4bnVtICh0c19sYW5ndWFnZV92ZXJzaW9uIChsYW5nKSksCisJICAgICAgIG1h a2VfZml4bnVtICh0c19sYW5ndWFnZV9hYmlfdmVyc2lvbiAobGFuZykpLAogCSAgICAgICBtYWtl X2ZpeG51bSAoVFJFRV9TSVRURVJfTUlOX0NPTVBBVElCTEVfTEFOR1VBR0VfVkVSU0lPTiksCiAJ ICAgICAgIG1ha2VfZml4bnVtIChUUkVFX1NJVFRFUl9MQU5HVUFHRV9WRVJTSU9OKSk7CiAgICAg ICAqc2lnbmFsX3N5bWJvbCA9IFF0cmVlc2l0X2xvYWRfbGFuZ3VhZ2VfZXJyb3I7CkBAIC05MTQs NyArOTE0LDcgQEAgREVGVU4gKCJ0cmVlc2l0LWxhbmd1YWdlLWFiaS12ZXJzaW9uIiwgRnRyZWVz aXRfbGFuZ3VhZ2VfYWJpX3ZlcnNpb24sCiAgICAgICBUU0xhbmd1YWdlICp0c19sYW5ndWFnZSA9 IGxhbmcubGFuZzsKICAgICAgIGlmICh0c19sYW5ndWFnZSA9PSBOVUxMKQogCXJldHVybiBRbmls OwotICAgICAgdWludDMyX3QgdmVyc2lvbiA9ICB0c19sYW5ndWFnZV92ZXJzaW9uICh0c19sYW5n dWFnZSk7CisgICAgICB1aW50MzJfdCB2ZXJzaW9uID0gIHRzX2xhbmd1YWdlX2FiaV92ZXJzaW9u ICh0c19sYW5ndWFnZSk7CiAgICAgICByZXR1cm4gbWFrZV9maXhudW0oKHB0cmRpZmZfdCkgdmVy c2lvbik7CiAgICAgfQogfQotLSAKMi4zOS41Cgo= --000000000000ef99b90641353e5f Content-Type: image/png; name="Screenshot 2025-10-15 12.28.33.png" Content-Disposition: attachment; filename="Screenshot 2025-10-15 12.28.33.png" Content-Transfer-Encoding: base64 Content-ID: <f_mgs83hly1> X-Attachment-Id: f_mgs83hly1 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 ycnh8MMPp66uzud148P5M9T+H0x5eTkFBQVcddVVbNiwgd12242CgoI+JeEjvT4G09TUxJtvvsmN N96I3W7HZDJx22238fTTT/eZ7ogjjuC+++7zaZmj6aWXXuL4449n2rRp7LLLLrz88svk5OT0SZCH Oj+GOj5VVVUceuihTJgwgfz8fBYuXEhbW9uobcNQ189Q658wYQL33HMP06ZNIzMzk0MOOYTa2tpR W/9Q189Q94eh7p9DnZ9Dbd9Q8w+1fn/HL8ROq6WlRQ32A3h/srKyVE1NjUpKSvIO83jsscfUFVdc oWbNmqV+/vlnNRz77befys3NVffcc48qKirqd5o5c+ao++67r99x8+bNU+eee65SSqmuri41e/Zs deWVV3rHf/fddyo6OlrNnTtX1dXVbTH/3Llz1VVXXaWUUmrjxo3Kbrf32YZZs2apxYsXK6WUWr16 tUpMTFQnnHCCd/z8+fPVmWeeqXRdVx0dHWr//fdXS5Ys8Xn7h1q/x+23364WLFgw4HIGGj/U/jny yCPVxRdfrJRSyuVyqQULFqhTTz11WPENdnw8HnroITVnzpxhx1dYWKhmzpypWlpalNvtVrNnz1bX XnvtoOvqbaj4h1r+9OnTvf+Xl5er1NRUddppp/m8/qHOn6H2vy/uuusudeSRR/Y7bqTXx2C+++47 BajW1tYBp7Hb7eqbb75RsbGxqrW1Vb322mtq+vTpSimlKisrFaBKS0u907/55psqNTXV5xjsdrv6 +uuv+x332muvqaioKNXU1KRmzZqlTjrpJNXY2KhMJpNqbGxUyofzY6jjc+GFF6rLL79cKaWUYRjq yiuvVG+++abP8d9www1q7ty5Q0430PUz1PoLCwvVvvvuq1pbW5Wu6+qwww5TF1xwgc/xDbV+X67P we4PQ90/hzo/h9q+oeb35f7tz/iF2FYNlR9u/tPR0aGuvvrqfn86Ojq2mH5YDyH97W9/4+9//ztV VVVbjEtPT+ekk06ipKQETdOGlQR/8MEHLF26lCeffJKLL76YSZMm8dBDD7HvvvsOOW97ezsffvgh q1evBsBut7No0SJuvPFG7rjjDgBiY2NpbGzkuuuuIzY2dotlvPvuuxiG4d2O3Nxc1q5dyx577IFh GHz99dfcfffdAOTl5XHIIYfQ2dkJQFdXF++++y4rV67EZDIRHBzM+eefz5IlS7j00kt92v7B1j9S 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 s7Px6NEjWFpaYufOnZgxYwbvGhMTEzx//hwBAQFo1qwZTExMuJtDfVBeXo7i4mLMmDEDY8aMQWZm Jiezs7NDSUkJysrKMG3aNMTExCAnJ4eTAcDGjRuRkZGByMhIvPbaazh27BguXbrEpeHg4AAA+Pjj jyGXy/Hmm2+iZ8+eAMB11JcvX0ZRURFGjhyJnJwcbNu2jYs/fPhwxMXFoVOnTkq6i4m/Zs0aPHjw AFOnToW9vT1++eUXXtw1a9YgPz8f0dHRWLBgAVJTU7F//35R9mlqFBYW4uLFi+jVqxcXtnbtWlhY WCAhIQHr16/H06dPceDAAU7+8ccfw9vbG2+//TaSkpKQlJTUaAafAHD37l0UFxdj/vz5mDFjBjZu 3IiysrKGVksrzp8/D09PT6XH6s2bN4eXlxc++eQTfPnll3j69ClatmwJW1tb7hqJRILz589jxYoV 2LZtGyQSCZKSkjj5+vXrYWpqis2bNyM+Ph5paWlITk7myVu2bImNGzdi8+bNkMvl2Lp1Kyfv168f Nm/ejLFjx6rUfevWrfD09MTmzZsRExODgwcPIj09Xc8W0h9SqRSZmZkoKioCRPi/kH0U/Oc//8Hf f/+NW7du1Wt5GAxG00Pvf1E/+eQTpbC3334bK1asgJWVFaysrBASEgIrKyul69q0aYO+ffsiKyuL mzmsL0xMTPDf//4XACCTyXgyxSzntWvXkJWVhYKCAu4RoUIWFxfHXS+Xy3HmzBk8fPiQG+Qo1hqa m5sjNjZW5eC6ZcuWiIiIAAB8//33ePLkCYgIBgYGaNu2Ldq2bQtTU1O1ZVAX//nz58jIyIBMJkNw cDAA4OzZs/jzzz+5uOXl5SgqKkJqaipkMhl27drF01GTfZoKn376KZo1a4asrCy88sor3Ax8eXk5 rl+/ji1btgDVM6TBwcHYt28fJk6c2MBaC/PixQu8ePECV69exbJly2BoaIhVq1Zh165dmDlzZkOr J5qUlBR4enqqlC1btgzHjx/Ht99+i88++wzOzs6YOXMmpFIpd42fnx83Y+fv74/Dhw8D1fa5cuUK Nm3aBAMDAzRv3hyDBg3C8ePHMXToUPz999/4+eefuQGVoaEh7wmOGKKiokBEQHU/Zmtri2fPnqn8 w1hbPv30U94a0CFDhmDgwIG1SkvRj5SVlaFZs2Ya/V8b+xgYGEAqleLOnTvo3LlzrXRjMBj/DkQN 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 8KH4cwn+X9b89fszLid3AAAAAElFTkSuQmCC --000000000000ef99b90641353e5f--
bug-gnu-emacs@HIDDEN:bug#79627; Package emacs.
Full text available.Received: (at 79627) by debbugs.gnu.org; 15 Oct 2025 16:11:20 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 15 12:11:20 2025 Received: from localhost ([127.0.0.1]:55757 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v945s-0001MM-2a for submit <at> debbugs.gnu.org; Wed, 15 Oct 2025 12:11:19 -0400 Received: from mout-p-102.mailbox.org ([80.241.56.152]:52296) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1v945a-0001Ju-LR for 79627 <at> debbugs.gnu.org; Wed, 15 Oct 2025 12:11:04 -0400 Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4cmwzr1ytlz9tJf; Wed, 15 Oct 2025 18:10:48 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; t=1760544648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=9oGF4IAwbZJ05lt1Bh7E49pSrCQco93jZWF13s3r/DY=; b=KXh+KLVe22CghaCw2PYVTGhuU4BqfiW0DZSHokvl21V04jI7cA02hbUKJ+jJQw5FCe9rTI 6Xm71/VT8w58wzsXsuLKYfM43PyF3GHUvrSM/cwBeFF1eeIH4m7Zt6QJ4FTqQshdDz0hrL nh8pLc2WFBEdIrsEN+PrvkhH70CSXy9FXsA4N0WC4ol4Kx7UY1mxYl4ivaw85LdM7R4jvm jbhVrsF9j81f/Lhi7QKprgX5PuuxfWsibF7jgB5AQLSG6w2Tjxj/mXjWkaxTPJAca1t+gS ssyTqiaRQ92OzQ+iedcqu5PI6+6QRhbDx/Y+PXTVFKz7tNSd3MsicOyPaRII7A== From: Juri Linkov <juri@HIDDEN> To: Roi Martin <jroi.martin@HIDDEN> Subject: Re: bug#79627: 31.0.50; version issues in c-ts-mode (and other -ts-modes) In-Reply-To: <87v7kg39gk.fsf@HIDDEN> Organization: LINKOV.NET References: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN> <87tt00n1q8.fsf@HIDDEN> <87v7kg39gk.fsf@HIDDEN> Date: Wed, 15 Oct 2025 19:09:15 +0300 Message-ID: <87wm4wkuz8.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 79627 Cc: chad <yandros@HIDDEN>, 79627 <at> debbugs.gnu.org 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.7 (-) > I cannot reproduce the bug in master (7845936cbbf8 > "(font-lock-defaults): Clarify the use of SYNTAX-ALIST (bug#79586)"). Maybe this is caused by a newer ABI version. Or just a specific construct used in the C program. > BTW, probably not related to this issue, but I recommend you to give a > look at the variable `treesit-enabled-modes', which can simplify your > config. I added mentions of `treesit-enabled-modes' to the doctrings of c/c++ ts modes.
bug-gnu-emacs@HIDDEN:bug#79627; Package emacs.
Full text available.
Received: (at 79627) by debbugs.gnu.org; 15 Oct 2025 07:34:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 15 03:34:08 2025
Received: from localhost ([127.0.0.1]:50971 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v8w1P-0005hQ-7Q
for submit <at> debbugs.gnu.org; Wed, 15 Oct 2025 03:34:08 -0400
Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:61499)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from <jroi.martin@HIDDEN>)
id 1v8w1H-0005gd-Sx
for 79627 <at> debbugs.gnu.org; Wed, 15 Oct 2025 03:34:01 -0400
Received: by mail-wr1-x432.google.com with SMTP id
ffacd0b85a97d-42568669606so4535352f8f.2
for <79627 <at> debbugs.gnu.org>; Wed, 15 Oct 2025 00:33:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1760513633; x=1761118433; darn=debbugs.gnu.org;
h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
:from:from:to:cc:subject:date:message-id:reply-to;
bh=a/PEP8SzAlRuhKonvj1AujmtGNXIsT6+32t+NGlFVfA=;
b=NKuoSpNoJ7x+AiTbJcYtiy4HRIj6DBGNlUbIuNHILE/LjaJMQvAh+RF/JgYCHb0rga
y1bTWsETzBs7oNhn8dsR8Mwx+ImHNb9gGxlxvnpgdPn0AmoRMSGH7neLEfX9kjuTGM8J
0NA7hatRJdCalbeWaTQUIdHZD/DjL6uvl7PFk+OojcnHzHJhW0ccLMECCEVlvMkOXLpg
IHLd8hctW9F+779WgtLo0yuQGR8dgYDEjG3h9m8jD3pzr4q+Hf5ZIPM2ubIHn4JpdBTR
fRB/irP3bTB1+d6WsechRH5eJjFbxOdM3dMrVo+WB7K0TCSZbY9VfOcDpjEeRjZfG27k
32RA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1760513633; x=1761118433;
h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
:from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=a/PEP8SzAlRuhKonvj1AujmtGNXIsT6+32t+NGlFVfA=;
b=mdYfXC+yfYAElD/Z8wfSmjkjNV/KD+i/mNLafoEvmBUs7HV7dkn7Uc5w/qSnlDBsS2
4zVjaZTvSIamX9R1GJQxSb6N0D/OF/OG0zynH9ZxOL3MfhDN5NMthDQgKsAv+Cpd/W7U
+ti3AE8z668Ze16otHf5C9BV+/C9Rcipq5gWPCXKoB0/bx+HT+RMSW+ncU3BbodZF31L
IwTLKUQpASihts78JhF9145/HyWWTfLgTFgfeMFkYqdQ0CcJmf7uXVnbgxNchThlVUXQ
/HcfQCydn4MoOnTKGcjgGGHj6g/SQX79wHRVdlStuCB+LjyAPiWoL8wtoXR82DQFlz5Y
2bww==
X-Gm-Message-State: AOJu0Yy3ci+BmnF517gMd8fzX16g2r00A1rz2gFec9FQzEH13WqHwCqG
muKYPMlypsqRvFFI5+tIC7CUvqTuD0Q4KIS5wIDmocwmzDSxR5Lt3Y00
X-Gm-Gg: ASbGncvywwiHLXSQo6SNCTjFJm37FldgO6LC2UeX9eH8b6fa6jFDLznhBukAPcvzfLu
RWxOJXhVC9+N/0j6kbPGr0TbaLgVSzutKEeI0b8qda7vdyJ1CgTUrj4YveU598CRZI/tDuOvPoH
03oFIji2+/Qm2hiWblfxfRbudNk8hu8GNCc7GnWj+RI4K6pyv3M++LjdUwD5U1K7mkf6obU9+KR
WKWXoXSjP0/kOeAorIzyvoJfaEgZBAX0+IB20scVo7tYkq0ANypQpU7wUycX3dd2MS/HTfR688g
ORsBxfIUiIEgvPv/MkVL5oOCMCUFw/O4FDV9SJPrmaslx9K6dvII/eE6L2iYf+/77A3ho3+A/At
MzexPnzPPg71cTYkQb32mkCInHpcmzi1za9Lb0NyN
X-Google-Smtp-Source: AGHT+IFmIiCm02zNdYp7nYfu00rUjtlUMRZZK0gcm1LncIUq6hjzoRzYRlPthRYEChFvrQ/OtxIDvQ==
X-Received: by 2002:a05:6000:2910:b0:425:749e:b883 with SMTP id
ffacd0b85a97d-4266e8de932mr17490652f8f.50.1760513632467;
Wed, 15 Oct 2025 00:33:52 -0700 (PDT)
Received: from localhost ([84.79.192.255]) by smtp.gmail.com with ESMTPSA id
ffacd0b85a97d-426ce5d0011sm27760147f8f.31.2025.10.15.00.33.51
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 15 Oct 2025 00:33:51 -0700 (PDT)
From: Roi Martin <jroi.martin@HIDDEN>
To: Juri Linkov <juri@HIDDEN>, chad <yandros@HIDDEN>
Subject: Re: bug#79627: 31.0.50; version issues in c-ts-mode (and other
-ts-modes)
In-Reply-To: <87tt00n1q8.fsf@HIDDEN>
References: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN>
<87tt00n1q8.fsf@HIDDEN>
Date: Wed, 15 Oct 2025 09:33:47 +0200
Message-ID: <87v7kg39gk.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 79627
Cc: 79627 <at> debbugs.gnu.org
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 (-)
Hi Juri,
Juri Linkov <juri@HIDDEN> writes:
> Roi, do we need to delay the evaluation of the font-lock rules
> in c-ts-mode the same way as we did in bug#79363?
I don't think so. `c-ts-mode--font-lock-settings' was already a
function:
(define-derived-mode c-ts-mode c-ts-base-mode "C"
;; ...
(setq-local treesit-font-lock-settings
(c-ts-mode--font-lock-settings 'c))
(define-derived-mode c++-ts-mode c-ts-base-mode "C++"
;; ...
(setq-local treesit-font-lock-settings
(c-ts-mode--font-lock-settings 'cpp))
So, it is evaluated every time a C/C++ file is opened. Also, I gave
this mode a look and didn't find any problem related to delaying
font-lock/indent rule evaluation. Plus, I didn't find any related bug
on my side.
>> Starting from emacs -Q, with libtree-sitter but no grammars installed on
>> the machine (cleaned out of /usr/local/lib, ~/.emacs.d/tree-sitter
>> removed), I tell emacs to prefer c-ts-mode with:
>>
>>> (if (not (fboundp 'c-ts-mode))
>>> (message "Using CC-mode rather than tree-sitter.")
>>> (add-to-list 'major-mode-remap-alist '(c-mode . c-ts-mode))
>>> (add-to-list 'major-mode-remap-alist '(c++-mode . c++-ts-mode))
>>> (add-to-list 'major-mode-remap-alist
>>> '(c-or-c++-mode . c-or-c++-ts-mode)))
>>
>> Then I open emacs/src/alloc.c or other C file. I am prompted to install
>> a C grammar, which creates ~/.emacs.d/tree-sitter and adds
>> libtree-sitter-c.so to it, then opens alloc.c and gives me:
>>
>>> [...]
>>
>> The resulting C buffer has no highlighting, and creates several errors
>> in *Messages* of the form:
>>
>>> [...]
I cannot reproduce the bug in master (7845936cbbf8
"(font-lock-defaults): Clarify the use of SYNTAX-ALIST (bug#79586)"). I
did the following:
1. Run emacs with:
~/src/emacs/src/emacs -Q --init-directory=~/tmp/emacs/bug-79627
2. Evaluate the following code in the scratch buffer:
(if (not (fboundp 'c-ts-mode))
(message "Using CC-mode rather than tree-sitter.")
(add-to-list 'major-mode-remap-alist '(c-mode . c-ts-mode))
(add-to-list 'major-mode-remap-alist '(c++-mode . c++-ts-mode))
(add-to-list 'major-mode-remap-alist
'(c-or-c++-mode . c-or-c++-ts-mode)))
3. Visit file ~/src/emacs/src/alloc.c
4. Answer y to install the C Tree-sitter grammar.
5. The C file is correctly opened: no warnings, no errors and major-mode
is `c-ts-mode'.
Am I missing anything?
>> If I instead load up ~/.emacs.d/tree-sitter with a bunch of current
>> tree-sitter grammars (via the tree-sitter-modules project from github,
>> for example) and repeat the process via emacs -Q, I get the same
>> errors in *Messages*, lack of highlighting, etc.
So, TS modes do not work for you at all besides the grammar being
automatically installed?
BTW, probably not related to this issue, but I recommend you to give a
look at the variable `treesit-enabled-modes', which can simplify your
config.
Roi
bug-gnu-emacs@HIDDEN:bug#79627; Package emacs.
Full text available.Received: (at 79627) by debbugs.gnu.org; 15 Oct 2025 06:08:45 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 15 02:08:45 2025 Received: from localhost ([127.0.0.1]:50235 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v8ugm-0008KA-U2 for submit <at> debbugs.gnu.org; Wed, 15 Oct 2025 02:08:45 -0400 Received: from mout-p-201.mailbox.org ([2001:67c:2050:0:465::201]:34070) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1v8ugY-0008Ir-U4 for 79627 <at> debbugs.gnu.org; Wed, 15 Oct 2025 02:08:35 -0400 Received: from smtp1.mailbox.org (smtp1.mailbox.org [10.196.197.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-201.mailbox.org (Postfix) with ESMTPS id 4cmgch71Mgz9sxW; Wed, 15 Oct 2025 08:08:20 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; t=1760508501; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LD/QAhR4HYgmWnQ1znAlcORSsuiNAS1Q5L4lFyLO2Vg=; b=c44FZKGr3Ld4p5WdIK5dGrP/0UkQ/8T6GVVAwxT8UL3sg0I5ybGzcGziTlVEKvCl7UiWKa /OCfrJUU7eEY+IWTRj41sWTJsqkFSiJnM/mtrTOARwfTlaGbBdE6/J/hLmKcjWExg8bEUE 8Wm6nWSHeN+qekwnWxDuQARgL3HzdowLMpCYt0EH3J0Zh71D6QaeDLGxffIlihNafn7Dou uhOlKRMhm+qPHjIcJ+ykAmEQU26hutMMKor21Ba78iYny61UL9aStEoRxUv9J7RmQ9BSdP IUU5P3e5Ex/ExXDAo2Hj92KFJCgXfvjn+RqtVUHuI7hgHF0FOBLpzZEp4+Kacg== From: Juri Linkov <juri@HIDDEN> To: chad <yandros@HIDDEN>, Roi Martin <jroi.martin@HIDDEN> Subject: Re: bug#79627: 31.0.50; version issues in c-ts-mode (and other -ts-modes) In-Reply-To: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN> Organization: LINKOV.NET References: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN> Date: Wed, 15 Oct 2025 09:07:31 +0300 Message-ID: <87tt00n1q8.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 79627 Cc: 79627 <at> debbugs.gnu.org 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.7 (-) Thanks for the bug report. Roi, do we need to delay the evaluation of the font-lock rules in c-ts-mode the same way as we did in bug#79363? > Starting from emacs -Q, with libtree-sitter but no grammars installed on > the machine (cleaned out of /usr/local/lib, ~/.emacs.d/tree-sitter > removed), I tell emacs to prefer c-ts-mode with: > >> (if (not (fboundp 'c-ts-mode)) >> (message "Using CC-mode rather than tree-sitter.") >> (add-to-list 'major-mode-remap-alist '(c-mode . c-ts-mode)) >> (add-to-list 'major-mode-remap-alist '(c++-mode . c++-ts-mode)) >> (add-to-list 'major-mode-remap-alist >> '(c-or-c++-mode . c-or-c++-ts-mode))) > > Then I open emacs/src/alloc.c or other C file. I am prompted to install > a C grammar, which creates ~/.emacs.d/tree-sitter and adds > libtree-sitter-c.so to it, then opens alloc.c and gives me: > >> ⛔ Warning (treesit-font-lock-rules-mismatch): Emacs cannot compile every > font-lock rules because a mismatch between the grammar and the rules. This > is most likely due to a mismatch between the font-lock rules defined by the > major mode and the tree-sitter grammar. >> >> This error can be fixed by either downgrading the grammar (tree-sitter-c) > on your system, or upgrading the major mode package. The following are the > temporarily disabled features: >> >> - `definition' for c, >> - `comment' for c. > > The resulting C buffer has no highlighting, and creates several errors > in *Messages* of the form: > >> redisplay--pre-redisplay-functions: (treesit-query-error "Syntax error > at" 93 "((declaration type: (macro_type_specifier name: (identifier) > @_name) @for-each-tail) (#match \"FOR_EACH_\\\\ > (?:ALIST_VALUE\\\\|FRAME\\\\|LIVE_BUFFER\\\\|TAIL\\\\(?:_SAFE\\\\)?\\\\)\" > @_name))" "Debug the query with `treesit-query-validate'") >> Error during redisplay: (jit-lock-function 1) signaled > (treesit-query-error "Syntax error at" 93 "((declaration type: > (macro_type_specifier name: (identifier) @_name) @for-each-tail) (#match > \"FOR_EACH_\\\\(?:ALIST_VALUE\\\\|FRAME\\\\|LIVE_BUFFER\\\\|TAIL\\\\ > (?:_SAFE\\\\)?\\\\)\" @_name))" "Debug the query with > `treesit-query-validate'") > > If I instead load up ~/.emacs.d/tree-sitter with a bunch of current > tree-sitter grammars (via the tree-sitter-modules project from github, > for example) and repeat the process via emacs -Q, I get the same > errors in *Messages*, lack of highlighting, etc.
bug-gnu-emacs@HIDDEN:bug#79627; Package emacs.
Full text available.Received: (at submit) by debbugs.gnu.org; 14 Oct 2025 19:19:59 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 14 15:19:59 2025 Received: from localhost ([127.0.0.1]:43509 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v8kYw-0004rB-7d for submit <at> debbugs.gnu.org; Tue, 14 Oct 2025 15:19:59 -0400 Received: from lists.gnu.org ([2001:470:142::17]:40942) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <yandros@HIDDEN>) id 1v8kYh-0004qk-JN for submit <at> debbugs.gnu.org; Tue, 14 Oct 2025 15:19:45 -0400 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 <yandros@HIDDEN>) id 1v8kYb-0005so-4M for bug-gnu-emacs@HIDDEN; Tue, 14 Oct 2025 15:19:37 -0400 Received: from mail-lf1-x12f.google.com ([2a00:1450:4864:20::12f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <yandros@HIDDEN>) id 1v8kYN-0007VP-SI for bug-gnu-emacs@HIDDEN; Tue, 14 Oct 2025 15:19:36 -0400 Received: by mail-lf1-x12f.google.com with SMTP id 2adb3069b0e04-59070c9111eso6968771e87.3 for <bug-gnu-emacs@HIDDEN>; Tue, 14 Oct 2025 12:19:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760469555; x=1761074355; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=9H55XbXXg7zX7t39IMvFSF22KA9Yiv9qgWc5L/eShfM=; b=CYCDk9LN+lkK9bJICtsNdNbICI0GP1qPd+8u2/cO2YPI72sj01rQf8oe7ZiaC5N+w5 XwYJOJlWq5Au7X0vGLBZR6FGirWaOGlTCwDsT5tTuSCQtID22UkOEUMTEzQKUs69WhPZ c9CUzzmt6Tk1bwtGeqGmPU+4gzEK6u/366Lj/6YZ42bl6vGxFl4TLQ1E7woM5cUZHHYk 2i/ufTxBaKN6akq6AY6Ir2XKF2W+dF7FNe0fUIchrTroHvGgWIXk1Cqzw9/BSKgSg18F fHOqojkJL3urp5B0sNPJ3ATq6N9QITA0rNKq2HmFTvoN6fBU/sOg61gfCKgze3Lw+m2s Skpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760469555; x=1761074355; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=9H55XbXXg7zX7t39IMvFSF22KA9Yiv9qgWc5L/eShfM=; b=wyTAHKmFcn8aONzt5xc8xDGv01vSqhKM7/VSj2nf/xK3kg2rwPcEYgOfz/DzMvIBET JAQQjSjylkdbFhtOqf9/92KiIZB/VWg9wcvb7t83nVKnF5CUiglfefMZpZz4gKT9+C5h TPj7t1XjgW7Matepv7k7ljfGGwldDs6oDnC1EZR0obEp45XR5t+vSOsk6witqwXFMX1Q gfAavL3m1QYPWdPpGmgYPIX8WqB/d6xAW8J/kbaU4TGskcV4KyTRKnP36cq3f2+JUA07 1dolGGdrEmZkRf1iagWdj5lzs/ltuVR7UJIFxsbHBUdQjUkFfAj8/XR1vKEQX/cI8dEh v7xw== X-Gm-Message-State: AOJu0YwVHsKKLWMI9BJSlypvdeWbCoe0j1MBua1OI4B9an5zZnK7qGEK tKr5t8Dyo/0Jf5A81W56NeCK5EyshSAdPNDCMkQZ/j8SdNct3e35dEm7PCckdVsK0FKl3w+R5lq bP1UGVVORGsC0Rd9KXlhrWn9NzabVR9t+si9H X-Gm-Gg: ASbGncvWKmh+u/Vay3sUu8s1CWrrx0CpiTnvyFoxqRygt/2ETJLdckE3L46soyX7sLM ybtYsRO7G0ef76Wmh69thZ/AMVqeKA1R4ykqs3/tz5yeZQQ0nFB1et2NOEcZdetUzWemaKk6t4z O0wtUeAdxBQleSinfZIKnJvuRJgxAEMbAjCMckcbe6X2TKEPbiQHCBY73/blgiPjXYPdhvvVeV4 EGe7hHBYHhttETgh0S+AGf0sA== X-Google-Smtp-Source: AGHT+IEBRf4SjEC+bEvrPo0Mnpa7PVMDZOQnrpago0M2YevSjtIa1561/+5rO/861s8xcOzwtju1hxNrXdnc3Nib70w= X-Received: by 2002:a05:6512:b98:b0:58a:92cc:5819 with SMTP id 2adb3069b0e04-5906d8e5d6amr8017499e87.36.1760469554741; Tue, 14 Oct 2025 12:19:14 -0700 (PDT) MIME-Version: 1.0 From: chad <yandros@HIDDEN> Date: Tue, 14 Oct 2025 15:18:57 -0400 X-Gm-Features: AS18NWDgBrOLn6QMFHTYNUG9flxPGrGF_oGWZbaWwC-_ppzkuUt_aaq7IXOTKls Message-ID: <CAO2hHWa3Z61KSf3CAPE-G-n7xqSYwrcMYnvP7ZNtePkNiWVFSA@HIDDEN> Subject: 31.0.50; version issues in c-ts-mode (and other -ts-modes) To: bug-gnu-emacs@HIDDEN Content-Type: multipart/alternative; boundary="00000000000072c5c9064123429f" Received-SPF: pass client-ip=2a00:1450:4864:20::12f; envelope-from=yandros@HIDDEN; helo=mail-lf1-x12f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit 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: -0.0 (/) --00000000000072c5c9064123429f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Starting from emacs -Q, with libtree-sitter but no grammars installed on the machine (cleaned out of /usr/local/lib, ~/.emacs.d/tree-sitter removed), I tell emacs to prefer c-ts-mode with: > (if (not (fboundp 'c-ts-mode)) > (message "Using CC-mode rather than tree-sitter.") > (add-to-list 'major-mode-remap-alist '(c-mode . c-ts-mode)) > (add-to-list 'major-mode-remap-alist '(c++-mode . c++-ts-mode)) > (add-to-list 'major-mode-remap-alist > '(c-or-c++-mode . c-or-c++-ts-mode))) Then I open emacs/src/alloc.c or other C file. I am prompted to install a C grammar, which creates ~/.emacs.d/tree-sitter and adds libtree-sitter-c.so to it, then opens alloc.c and gives me: > =E2=9B=94 Warning (treesit-font-lock-rules-mismatch): Emacs cannot compil= e every font-lock rules because a mismatch between the grammar and the rules. This is most likely due to a mismatch between the font-lock rules defined by the major mode and the tree-sitter grammar. > > This error can be fixed by either downgrading the grammar (tree-sitter-c) on your system, or upgrading the major mode package. The following are the temporarily disabled features: > > - `definition' for c, > - `comment' for c. The resulting C buffer has no highlighting, and creates several errors in *Messages* of the form: > redisplay--pre-redisplay-functions: (treesit-query-error "Syntax error at" 93 "((declaration type: (macro_type_specifier name: (identifier) @_name) @for-each-tail) (#match \"FOR_EACH_\\\\(?:ALIST_VALUE\\\\|FRAME\\\\|LIVE_BUFFER\\\\|TAIL\\\\(?:_SAF= E\\\\)?\\\\)\" @_name))" "Debug the query with `treesit-query-validate'") > Error during redisplay: (jit-lock-function 1) signaled (treesit-query-error "Syntax error at" 93 "((declaration type: (macro_type_specifier name: (identifier) @_name) @for-each-tail) (#match \"FOR_EACH_\\\\(?:ALIST_VALUE\\\\|FRAME\\\\|LIVE_BUFFER\\\\|TAIL\\\\(?:_SAF= E\\\\)?\\\\)\" @_name))" "Debug the query with `treesit-query-validate'") If I instead load up ~/.emacs.d/tree-sitter with a bunch of current tree-sitter grammars (via the tree-sitter-modules project from github, for example) and repeat the process via emacs -Q, I get the same errors in *Messages*, lack of highlighting, etc. In GNU Emacs 31.0.50 (build 20, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.16.0) of 2025-10-14 built on penguin Repository revision: 3c4cf8995c64ef2a955c99e667622fb0caad0a5e Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12014000 System Description: Debian GNU/Linux 12 (bookworm) Configured using: 'configure -C --prefix=3D/opt/emacs --with-native-compilation --without-xwidgets --without-pop --with-small-ja-dic --without-imagemagick --enable-checking=3Dyes --enable-check-lisp-object-type=3Dyes' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM XRANDR GTK3 ZLIB Important settings: value of $LC_COLLATE: C value of $LC_CTYPE: en_US.UTF-8 value of $LC_MESSAGES: en_US.UTF-8 value of $LC_NUMERIC: en_US.UTF-8 value of $LC_TIME: en_US.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Special Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-nonselected-mode: t minibuffer-regexp-mode: t buffer-read-only: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug lisp-mnt message mailcap yank-media puny rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader sendmail mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils vc-git diff-mode track-changes easy-mmode files-x vc-dispatcher bug-reference byte-opt gv thingatpt cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs warnings icons cl-seq c++-ts-mode c-ts-mode c-ts-common treesit rect time-date misearch multi-isearch compile text-property-search comint subr-x ansi-osc ansi-color ring comp-run bytecomp byte-compile comp-common rx dired-aux cl-loaddefs cl-lib dired dired-loaddefs rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process tty-child-frames native-compile emacs) Memory information: ((conses 16 126374 14808) (symbols 48 10367 0) (strings 32 29649 2529) (string-bytes 1 1169410) (vectors 16 16717) (vector-slots 8 228620 6219) (floats 8 68 74) (intervals 56 2616 10) (buffers 1064 19)) --00000000000072c5c9064123429f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><br>Starting from emacs -Q, with libtree-sitter but no gra= mmars installed on<br>the machine (cleaned out of /usr/local/lib, ~/.emacs.= d/tree-sitter<br>removed), I tell emacs to prefer c-ts-mode with:<br><br>&g= t; =C2=A0(if (not (fboundp 'c-ts-mode))<br>> =C2=A0 =C2=A0 =C2=A0(me= ssage "Using CC-mode rather than tree-sitter.")<br>> =C2=A0 = =C2=A0(add-to-list 'major-mode-remap-alist '(c-mode . c-ts-mode))<b= r>> =C2=A0 =C2=A0(add-to-list 'major-mode-remap-alist '(c++-mode= . c++-ts-mode))<br>> =C2=A0 =C2=A0(add-to-list 'major-mode-remap-al= ist<br>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 '(c-or-c++-mode . c-or-c++-ts-= mode)))<br><br>Then I open emacs/src/alloc.c or other C file. I am prompted= to install<br>a C grammar, which creates ~/.emacs.d/tree-sitter and adds<b= r>libtree-sitter-c.so to it, then opens alloc.c and gives me:<br><br>> = =E2=9B=94 Warning (treesit-font-lock-rules-mismatch): Emacs cannot compile = every font-lock rules because a mismatch between the grammar and the rules.= =C2=A0 This is most likely due to a mismatch between the font-lock rules de= fined by the major mode and the tree-sitter grammar.<br>> <br>> This = error can be fixed by either downgrading the grammar (tree-sitter-c) on you= r system, or upgrading the major mode package.=C2=A0 The following are the = temporarily disabled features:<br>> <br>> - `definition' for c,<b= r>> - `comment' for c.<br><br>The resulting C buffer has no highligh= ting, and creates several errors<br>in *Messages* of the form:<br><br>> = =C2=A0redisplay--pre-redisplay-functions: (treesit-query-error "Syntax= error at" 93 "((declaration type: (macro_type_specifier name: (i= dentifier) @_name) @for-each-tail) (#match \"FOR_EACH_\\\\(?:ALIST_VAL= UE\\\\|FRAME\\\\|LIVE_BUFFER\\\\|TAIL\\\\(?:_SAFE\\\\)?\\\\)\" @_name)= )" "Debug the query with `treesit-query-validate'")<br>&= gt; =C2=A0Error during redisplay: (jit-lock-function 1) signaled (treesit-q= uery-error "Syntax error at" 93 "((declaration type: (macro_= type_specifier name: (identifier) @_name) @for-each-tail) (#match \"FO= R_EACH_\\\\(?:ALIST_VALUE\\\\|FRAME\\\\|LIVE_BUFFER\\\\|TAIL\\\\(?:_SAFE\\\= \)?\\\\)\" @_name))" "Debug the query with `treesit-query-va= lidate'")<br><br>If I instead load up ~/.emacs.d/tree-sitter with = a bunch of current<br>tree-sitter grammars (via the tree-sitter-modules pro= ject from github,<br>for example) and repeat the process via emacs -Q, I ge= t the same<br>errors in *Messages*, lack of highlighting, etc.<br><br><br><= br><br><br>In GNU Emacs 31.0.50 (build 20, x86_64-pc-linux-gnu, GTK+ Versio= n<br>=C2=A03.24.38, cairo version 1.16.0) of 2025-10-14 built on penguin<br= >Repository revision: 3c4cf8995c64ef2a955c99e667622fb0caad0a5e<br>Repositor= y branch: master<br>Windowing system distributor 'The X.Org Foundation&= #39;, version 11.0.12014000<br>System Description: Debian GNU/Linux 12 (boo= kworm)<br><br>Configured using:<br>=C2=A0'configure -C --prefix=3D/opt/= emacs --with-native-compilation<br>=C2=A0--without-xwidgets --without-pop -= -with-small-ja-dic<br>=C2=A0--without-imagemagick --enable-checking=3Dyes<b= r>=C2=A0--enable-check-lisp-object-type=3Dyes'<br><br>Configured featur= es:<br>ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ J= PEG<br>LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_C= OMP<br>NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF<b= r>TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM<br= >XRANDR GTK3 ZLIB<br><br>Important settings:<br>=C2=A0 value of $LC_COLLATE= : C<br>=C2=A0 value of $LC_CTYPE: en_US.UTF-8<br>=C2=A0 value of $LC_MESSAG= ES: en_US.UTF-8<br>=C2=A0 value of $LC_NUMERIC: en_US.UTF-8<br>=C2=A0 value= of $LC_TIME: en_US.UTF-8<br>=C2=A0 value of $LANG: en_US.UTF-8<br>=C2=A0 l= ocale-coding-system: utf-8-unix<br><br>Major mode: Special<br><br>Minor mod= es in effect:<br>=C2=A0 tooltip-mode: t<br>=C2=A0 global-eldoc-mode: t<br>= =C2=A0 eldoc-mode: t<br>=C2=A0 show-paren-mode: t<br>=C2=A0 electric-indent= -mode: t<br>=C2=A0 mouse-wheel-mode: t<br>=C2=A0 file-name-shadow-mode: t<b= r>=C2=A0 global-font-lock-mode: t<br>=C2=A0 font-lock-mode: t<br>=C2=A0 bli= nk-cursor-mode: t<br>=C2=A0 minibuffer-nonselected-mode: t<br>=C2=A0 minibu= ffer-regexp-mode: t<br>=C2=A0 buffer-read-only: t<br>=C2=A0 line-number-mod= e: t<br>=C2=A0 indent-tabs-mode: t<br>=C2=A0 transient-mark-mode: t<br>=C2= =A0 auto-composition-mode: t<br>=C2=A0 auto-encryption-mode: t<br>=C2=A0 au= to-compression-mode: t<br><br>Load-path shadows:<br>None found.<br><br>Feat= ures:<br>(shadow sort mail-extr emacsbug lisp-mnt message mailcap yank-medi= a puny<br>rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-con= fig<br>gnus-util mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailhea= der<br>sendmail mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util<br>ma= il-prsvr mail-utils vc-git diff-mode track-changes easy-mmode files-x<br>vc= -dispatcher bug-reference byte-opt gv thingatpt cc-mode cc-fonts<br>cc-gues= s cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs<br>warnings= icons cl-seq c++-ts-mode c-ts-mode c-ts-common treesit rect<br>time-date m= isearch multi-isearch compile text-property-search comint<br>subr-x ansi-os= c ansi-color ring comp-run bytecomp byte-compile<br>comp-common rx dired-au= x cl-loaddefs cl-lib dired dired-loaddefs rmc<br>iso-transl tooltip cconv e= ldoc paren electric uniquify ediff-hook<br>vc-hooks lisp-float-type elisp-m= ode mwheel term/x-win x-win<br>term/common-win x-dnd touch-screen tool-bar = dnd fontset image regexp-opt<br>fringe tabulated-list replace newcomment te= xt-mode lisp-mode prog-mode<br>register page tab-bar menu-bar rfn-eshadow i= search easymenu timer select<br>scroll-bar mouse jit-lock font-lock syntax = font-core term/tty-colors<br>frame minibuffer nadvice seq simple cl-generic= indonesian philippine<br>cham georgian utf-8-lang misc-lang vietnamese tib= etan thai tai-viet lao<br>korean japanese eucjp-ms cp51932 hebrew greek rom= anian slovak czech<br>european ethiopic indian cyrillic chinese composite e= moji-zwj charscript<br>charprop case-table epa-hook jka-cmpr-hook help abbr= ev obarray oclosure<br>cl-preloaded button loaddefs theme-loaddefs faces cu= s-face macroexp<br>files window text-properties overlay sha1 md5 base64 for= mat env<br>code-pages mule custom widget keymap hashtable-print-readable ba= ckquote<br>threads dbusbind inotify lcms2 dynamic-setting system-font-setti= ng<br>font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-tool= bar<br>make-network-process tty-child-frames native-compile emacs)<br><br>M= emory information:<br>((conses 16 126374 14808) (symbols 48 10367 0) (strin= gs 32 29649 2529)<br>=C2=A0(string-bytes 1 1169410) (vectors 16 16717)<br>= =C2=A0(vector-slots 8 228620 6219) (floats 8 68 74) (intervals 56 2616 10)<= br>=C2=A0(buffers 1064 19))<br></div> --00000000000072c5c9064123429f--
chad <yandros@HIDDEN>:bug-gnu-emacs@HIDDEN.
Full text available.bug-gnu-emacs@HIDDEN:bug#79627; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.