GNU bug report logs - #67117
[PATCH] Tree-sitter: fix an issue when searching subtree backward

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Denis Zubarev <dvzubarev@HIDDEN>; Keywords: patch; dated Sat, 11 Nov 2023 23:40:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 67117 <at> debbugs.gnu.org:


Received: (at 67117) by debbugs.gnu.org; 19 Nov 2023 06:41:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 19 01:41:21 2023
Received: from localhost ([127.0.0.1]:49819 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r4bUe-00061S-Sc
	for submit <at> debbugs.gnu.org; Sun, 19 Nov 2023 01:41:21 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:57974)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1r4bUc-00061B-Og
 for 67117 <at> debbugs.gnu.org; Sun, 19 Nov 2023 01:41:19 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1r4bUV-00031O-HD; Sun, 19 Nov 2023 01:41:11 -0500
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=8HdgjnSxAInC1UmDuvkTMA7BikKKaXpPK2W5E5Z7aes=; b=OT1Z/li6LH6C4B9OWa75
 cMaQ6EhrDuKnA+Oc6x42Q9NOWBgknt0xBae/CopKrBCZTG27TjOnWVARITmDgGx9LKelQB1l+Uxsq
 +eLRznALu8QyVH8h7OhUZQ1eS1lYEEKcwrF+wCBEwnMLtRngJWnpkMzDr48qyHr8KHSQ2oMgUYNux
 UmdyQxc3y8ITZyTAW21XOjnZ3S8T/nT5D3bXy4WN2oriko5OU9qETpQ3wWvwVqu9Zpv7JrIJVqzOW
 9RmMgI6w9VOKqz0wv5sDziPqMdN4v8FUCL8CEQM7jqM+fdTNX96xrBwIaMWYilGCGBZ5+UJjCMLJJ
 LRJcPvZ441XiKw==;
Date: Sun, 19 Nov 2023 08:40:51 +0200
Message-Id: <83jzqekzyk.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Yuan Fu <casouri@HIDDEN>
In-Reply-To: <31EB2F37-286D-4910-958B-0152A85E970F@HIDDEN> (message from
 Yuan Fu on Sat, 18 Nov 2023 22:13:49 -0800)
Subject: Re: bug#67117: [PATCH] Tree-sitter: fix an issue when searching
 subtree backward
References: <87h6lruah2.fsf@HIDDEN> <83y1ezqhhk.fsf@HIDDEN>
 <3B375BD3-CF92-4473-AC46-50D6052B79C2@HIDDEN> <831qcmmh0e.fsf@HIDDEN>
 <31EB2F37-286D-4910-958B-0152A85E970F@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: 67117
Cc: 67117 <at> debbugs.gnu.org, dvzubarev@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: Sat, 18 Nov 2023 22:13:49 -0800
> Cc: dvzubarev@HIDDEN,
>  67117 <at> debbugs.gnu.org
> 
> 
> 
> > On Nov 18, 2023, at 9:47 PM, Eli Zaretskii <eliz@HIDDEN> wrote:
> > 
> >> From: Yuan Fu <casouri@HIDDEN>
> >> Date: Sat, 18 Nov 2023 10:47:47 -0800
> >> Cc: Denis Zubarev <dvzubarev@HIDDEN>,
> >> 67117 <at> debbugs.gnu.org
> >> 
> >> 
> >>>> Steps to reproduce the issue:
> >>>> 1. emacs -Q
> >>>> 2. M-x find-file /tmp/t.py
> >>>> 3. paste to the buffer
> >>>> 
> >>>> Temp(1, 2) 
> >>>> 
> >>>> 4. M-x python-ts-mode
> >>>> 5. Call search-subtree with backward flag
> >>>>  M-x eval-expression (treesit-search-subtree
> >>>>              (treesit--thing-at (point) "call")
> >>>>              (lambda (n) (equal (treesit-node-type n ) "integer"))
> >>>>              t)
> >>>> It should return the second int node (#<treesit-node integer in 9-10>), but it returns nil.
> >>> 
> >>> Yuan, any comments to the patch and the issue in general?
> >> 
> >> LGTM. Thanks Denis, and Eli :-)
> > 
> > Should we install this on the emacs-29 branch or on master?
> 
> Emacs-29, I’d say, since it’s a bug fix. Why do you ask?

Because I want to install it, obviously.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#67117; Package emacs. Full text available.

Message received at 67117 <at> debbugs.gnu.org:


Received: (at 67117) by debbugs.gnu.org; 19 Nov 2023 06:14:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 19 01:14:11 2023
Received: from localhost ([127.0.0.1]:49801 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r4b4N-0002R3-Gv
	for submit <at> debbugs.gnu.org; Sun, 19 Nov 2023 01:14:11 -0500
Received: from mail-oi1-x236.google.com ([2607:f8b0:4864:20::236]:46342)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <casouri@HIDDEN>) id 1r4b4K-0002Qj-R6
 for 67117 <at> debbugs.gnu.org; Sun, 19 Nov 2023 01:14:10 -0500
Received: by mail-oi1-x236.google.com with SMTP id
 5614622812f47-3b6ce6fac81so2210822b6e.1
 for <67117 <at> debbugs.gnu.org>; Sat, 18 Nov 2023 22:14:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1700374442; x=1700979242; 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=suGCEoyWkcYjmah6kgM1+fR0q9bAkGqeef4oSblnVhQ=;
 b=KQdV7+YfiIUhgzM8tDPkff1cXRm+xvwG1yVXB+VVB5I+EXJAriE9YrvstFiDOfNqhf
 vbZ3KkTLC5Mh3wG+2EJPlV9pC2ppbBMalhQ1YxRpj/qoGjpzuolui55+p6G7HtfyCgKu
 wfTqmLxUD57Gmvq7YNxDRbEesnbjGn38VhrfhWzNxPvpm7aeEiB5wVpMcT/t/hk3Kjc8
 dzCp9dXEr/N0bQrTc/3RrMzTELmhmE52ymuDkQhz7XutJ3ESyciBTY22KpDzjhPvjAPf
 B1ryXaNlWAiHBqPgiUkccy3uASEvw3sFXDA0Vht1z+ZOHP4Y/SJFtIyVERX1MzmSo0ZF
 PTrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1700374442; x=1700979242;
 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=suGCEoyWkcYjmah6kgM1+fR0q9bAkGqeef4oSblnVhQ=;
 b=KbPNqi/AaQ2etBNI1c7vBYdI70m5OVuB+IJNZ8BORLRHeap0bKqNHdck84Q+iNleme
 M5d88i/pGtSe78W8sZOILhtPTRiSoAtFwht8AhqX4Tvt0/al5hpMT/KQX0tH8VTQ8ci5
 a8q7gI2ZZjcxsBabDptQcmVRMkBJgmfewK55zGZ2znBiTWgjl6ZLIPgCK1qvE2AAK5T5
 WKx/thMw/ujCk0P7gVNZVHURU5XwnQZ7lcfz2aHSZAHOocFZGQnclMYsyEB2/J7lWshJ
 Xxt4461es9IWv+Iz3imUNCR5bkom003+RFT0lfKTP04WBLMQQyqQ9YrA1wMp/+ep1Yja
 Ls5w==
X-Gm-Message-State: AOJu0Yx7CL2nfkNmGPlR3/uAs421VxaKsTl3X+dxX8cySToBoXqXf4sW
 gMNUj63cQGxlM2zxl8dvlH4=
X-Google-Smtp-Source: AGHT+IHbEBF87C34u4PJPLrvV0t2Ottd3YJKmgatHwndKhp1OZIoWZsGovZWahk3YQJuryq4IAKS/A==
X-Received: by 2002:a05:6808:3026:b0:3b6:cd77:552e with SMTP id
 ay38-20020a056808302600b003b6cd77552emr5633679oib.10.1700374441911; 
 Sat, 18 Nov 2023 22:14:01 -0800 (PST)
Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com.
 [172.117.161.177]) by smtp.gmail.com with ESMTPSA id
 c3-20020aa781c3000000b006cb7b0c2503sm569659pfn.95.2023.11.18.22.14.01
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Sat, 18 Nov 2023 22:14:01 -0800 (PST)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\))
Subject: Re: bug#67117: [PATCH] Tree-sitter: fix an issue when searching
 subtree backward
From: Yuan Fu <casouri@HIDDEN>
In-Reply-To: <831qcmmh0e.fsf@HIDDEN>
Date: Sat, 18 Nov 2023 22:13:49 -0800
Content-Transfer-Encoding: quoted-printable
Message-Id: <31EB2F37-286D-4910-958B-0152A85E970F@HIDDEN>
References: <87h6lruah2.fsf@HIDDEN> <83y1ezqhhk.fsf@HIDDEN>
 <3B375BD3-CF92-4473-AC46-50D6052B79C2@HIDDEN> <831qcmmh0e.fsf@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
X-Mailer: Apple Mail (2.3731.700.6)
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67117
Cc: 67117 <at> debbugs.gnu.org, dvzubarev@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 Nov 18, 2023, at 9:47 PM, Eli Zaretskii <eliz@HIDDEN> wrote:
>=20
>> From: Yuan Fu <casouri@HIDDEN>
>> Date: Sat, 18 Nov 2023 10:47:47 -0800
>> Cc: Denis Zubarev <dvzubarev@HIDDEN>,
>> 67117 <at> debbugs.gnu.org
>>=20
>>=20
>>>> Steps to reproduce the issue:
>>>> 1. emacs -Q
>>>> 2. M-x find-file /tmp/t.py
>>>> 3. paste to the buffer
>>>>=20
>>>> Temp(1, 2)=20
>>>>=20
>>>> 4. M-x python-ts-mode
>>>> 5. Call search-subtree with backward flag
>>>>  M-x eval-expression (treesit-search-subtree
>>>>              (treesit--thing-at (point) "call")
>>>>              (lambda (n) (equal (treesit-node-type n ) "integer"))
>>>>              t)
>>>> It should return the second int node (#<treesit-node integer in =
9-10>), but it returns nil.
>>>=20
>>> Yuan, any comments to the patch and the issue in general?
>>=20
>> LGTM. Thanks Denis, and Eli :-)
>=20
> Should we install this on the emacs-29 branch or on master?

Emacs-29, I=E2=80=99d say, since it=E2=80=99s a bug fix. Why do you ask?

Yuan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#67117; Package emacs. Full text available.

Message received at 67117 <at> debbugs.gnu.org:


Received: (at 67117) by debbugs.gnu.org; 19 Nov 2023 05:47:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 19 00:47:43 2023
Received: from localhost ([127.0.0.1]:49767 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r4aek-0001R0-V9
	for submit <at> debbugs.gnu.org; Sun, 19 Nov 2023 00:47:43 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:39078)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1r4aej-0001QY-2o
 for 67117 <at> debbugs.gnu.org; Sun, 19 Nov 2023 00:47:41 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1r4aec-0006oh-8z; Sun, 19 Nov 2023 00:47:34 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=v5x5u8l7Q2x0iUMmhL7Ufj1J/4ZRA8OQrqOhAGHCMIc=; b=OjOYe7vbpi0D
 Y74/N+VtgqMGVCm29SG2XhLokunVgylQ+JGEHUZZnEE6jHPmm2/om582o9thFq3tXnDyhkQPuMQxb
 WmPx0rHI78IuYN3FVMJRjCxQjblhnDopcQT1KMFswGysbDA0HqzmEUAnfA3mUVs/Rp2Bj6SEfKQRK
 UMrcwCAhOl06KOeAo8A4lIdOkxyEg63kWRxjQjR8pmFkY+0n3Kv+MNC+faIeeEbyNXA9cckAldhoT
 UnBl01ej1nqHvdoirgUikaXaZzzK+wl7ug5t/XCbTGsq5JzMHJ7dVZZDwiQ8RMwRzqRu+5o2GhyKV
 KvALwpfPk5cAwAVok1+QdA==;
Date: Sun, 19 Nov 2023 07:47:13 +0200
Message-Id: <831qcmmh0e.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Yuan Fu <casouri@HIDDEN>
In-Reply-To: <3B375BD3-CF92-4473-AC46-50D6052B79C2@HIDDEN> (message from
 Yuan Fu on Sat, 18 Nov 2023 10:47:47 -0800)
Subject: Re: bug#67117: [PATCH] Tree-sitter: fix an issue when searching
 subtree backward
References: <87h6lruah2.fsf@HIDDEN> <83y1ezqhhk.fsf@HIDDEN>
 <3B375BD3-CF92-4473-AC46-50D6052B79C2@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 67117
Cc: 67117 <at> debbugs.gnu.org, dvzubarev@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: Sat, 18 Nov 2023 10:47:47 -0800
> Cc: Denis Zubarev <dvzubarev@HIDDEN>,
>  67117 <at> debbugs.gnu.org
> 
> 
> >> Steps to reproduce the issue:
> >> 1. emacs -Q
> >> 2. M-x find-file /tmp/t.py
> >> 3. paste to the buffer
> >> 
> >> Temp(1, 2) 
> >> 
> >> 4. M-x python-ts-mode
> >> 5. Call search-subtree with backward flag
> >>   M-x eval-expression (treesit-search-subtree
> >>               (treesit--thing-at (point) "call")
> >>               (lambda (n) (equal (treesit-node-type n ) "integer"))
> >>               t)
> >> It should return the second int node (#<treesit-node integer in 9-10>), but it returns nil.
> > 
> > Yuan, any comments to the patch and the issue in general?
> 
> LGTM. Thanks Denis, and Eli :-)

Should we install this on the emacs-29 branch or on master?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#67117; Package emacs. Full text available.

Message received at 67117 <at> debbugs.gnu.org:


Received: (at 67117) by debbugs.gnu.org; 18 Nov 2023 18:48:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 18 13:48:14 2023
Received: from localhost ([127.0.0.1]:49521 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r4QMW-0000gA-3g
	for submit <at> debbugs.gnu.org; Sat, 18 Nov 2023 13:48:13 -0500
Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]:42229)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <casouri@HIDDEN>) id 1r4QMQ-0000em-Ap
 for 67117 <at> debbugs.gnu.org; Sat, 18 Nov 2023 13:48:10 -0500
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-1ce618b7919so10412645ad.0
 for <67117 <at> debbugs.gnu.org>; Sat, 18 Nov 2023 10:48:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1700333279; x=1700938079; 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=Gg6GJJzZ4S0cCdwn0z24CEOxCkHZCWWl12wwaMwLkuQ=;
 b=cMKfQe31X92lWr1HD31ObG/vLwEh8LB/5nLnAtahpfAAPeBKAI4z16g3girMQ3wdHl
 xcetrAP60HMebsxO3O5bi0K04uX+X5QjC9p+lmFF9aOtCdQMj0mi5DQ9tyxpd4Ja3Ovw
 x/hxHmP96dzmhgiOjidzBz/MWuqMeFCHQr8kVcHku/KL/Vh5cUEA0daMkRjMWd7F7UUp
 JJTJBRiGxgwIJ9/g3mJVwr3tkgq0ZPYgh6CjOSCbBznXMrH8MIJWCfC9SqIPniEZpnBj
 hrxn5QB+gZsQi7Yht8W2hsNCgk7jXOmak0hWrj++mfRHZYYZW17ctCzcCFgTT+Ol1xb5
 BxDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1700333279; x=1700938079;
 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=Gg6GJJzZ4S0cCdwn0z24CEOxCkHZCWWl12wwaMwLkuQ=;
 b=iVISn8i1pBg/TtpMHPDvlZ0oxwqyVDnEdVocGKzDNKD9Alv+SYgtfnCYQx3HqjVN4C
 AxZO6unKWwODxzxmRVw75HP0jkhRE6Pkw+Zpba8/W1Brx5ajtzG8KeXC8BZ+bM83LN30
 fGBxSWt//GEgKRVo+Ybvh+cKNecZ5879bzo8X/AnGMTdeXYXqT1kqHsieSkZhrQLw3Aa
 dQiauJz+C1nxMT2afLNSjpqXiOoTHGdKI6XZQarxUQwuRiftDVaQ/fkss2NBCeLuiQd1
 zOZKaismt39DoTDD0z2xaXS2V18Cf1VX164Sas+sSwH9slLdr+fe9pm0C6gRnq1NK19F
 2DtQ==
X-Gm-Message-State: AOJu0YwJDaoip9KlOL72uwBGfP0FkTDZJ81mQtPYasTSNw1JqsVEIfW0
 EJGIpAIiwuWo8sO/4U3gQPM=
X-Google-Smtp-Source: AGHT+IHHDP0wnXwE59G/H07sO0VhOxX21qUNV7ow8F0YHZSGEyJ4pX22RUH41UsaPC6ya1apYVKSsA==
X-Received: by 2002:a17:902:db07:b0:1c7:5776:a30f with SMTP id
 m7-20020a170902db0700b001c75776a30fmr3825742plx.12.1700333279360; 
 Sat, 18 Nov 2023 10:47:59 -0800 (PST)
Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com.
 [172.117.161.177]) by smtp.gmail.com with ESMTPSA id
 j21-20020a170902759500b001cf57ea953csm306581pll.290.2023.11.18.10.47.58
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Sat, 18 Nov 2023 10:47:58 -0800 (PST)
Content-Type: text/plain;
	charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\))
Subject: Re: bug#67117: [PATCH] Tree-sitter: fix an issue when searching
 subtree backward
From: Yuan Fu <casouri@HIDDEN>
In-Reply-To: <83y1ezqhhk.fsf@HIDDEN>
Date: Sat, 18 Nov 2023 10:47:47 -0800
Content-Transfer-Encoding: quoted-printable
Message-Id: <3B375BD3-CF92-4473-AC46-50D6052B79C2@HIDDEN>
References: <87h6lruah2.fsf@HIDDEN> <83y1ezqhhk.fsf@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
X-Mailer: Apple Mail (2.3731.700.6)
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67117
Cc: 67117 <at> debbugs.gnu.org, Denis Zubarev <dvzubarev@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 Nov 15, 2023, at 5:21 AM, Eli Zaretskii <eliz@HIDDEN> wrote:
>=20
>> From: Denis Zubarev <dvzubarev@HIDDEN>
>> Date: Sun, 12 Nov 2023 02:38:33 +0300
>>=20
>> Steps to reproduce the issue:
>> 1. emacs -Q
>> 2. M-x find-file /tmp/t.py
>> 3. paste to the buffer
>>=20
>> Temp(1, 2)=20
>>=20
>> 4. M-x python-ts-mode
>> 5. Call search-subtree with backward flag
>>   M-x eval-expression (treesit-search-subtree
>>               (treesit--thing-at (point) "call")
>>               (lambda (n) (equal (treesit-node-type n ) "integer"))
>>               t)
>> It should return the second int node (#<treesit-node integer in =
9-10>), but it returns nil.
>=20
> Yuan, any comments to the patch and the issue in general?

LGTM. Thanks Denis, and Eli :-)

Yuan=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#67117; Package emacs. Full text available.

Message received at 67117 <at> debbugs.gnu.org:


Received: (at 67117) by debbugs.gnu.org; 15 Nov 2023 17:01:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 15 12:01:49 2023
Received: from localhost ([127.0.0.1]:53328 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r3JGv-0005xo-91
	for submit <at> debbugs.gnu.org; Wed, 15 Nov 2023 12:01:49 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:46918)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1r3JGt-0005xY-JL
 for 67117 <at> debbugs.gnu.org; Wed, 15 Nov 2023 12:01:48 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1r3JGo-0002hM-ML; Wed, 15 Nov 2023 12:01:43 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=JeX1G5VBK5gpcw6VYTg3UYuSYTVf4+OV8B98Gq6QqAA=; b=e6vjsF+SczUl
 rxEYl2Zf92hgwAzcNV1VlRU5RFqmR9gGZOVX9+tIPoiw3L/BeiCb4nIns+Zgj+Lw/1xL9nylJEiYp
 w4jjkVpQFo0/ylC2XVNfo/7CDEzlcz9HU4hE/zXDKUgU+o2mBxgFqdVMyQyxeRgLpz0HyIxGr85a1
 Dh+vaMbWMvQ98uiN40l4TuJeohwWE9WcsVov1OWmmqa58RrOvN5xBeHmYscN9TRvAvHRCIXALpowz
 RAJYX7Zlf6EZWoQhXTVUZI57Y56nE37pYGSEw++RJBFCJZ3etr12O91h5kAcX3CNgzm7ijSdduQAY
 IHCeucn55E28BNqjCbwciw==;
Date: Wed, 15 Nov 2023 19:01:28 +0200
Message-Id: <83fs17q7br.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: dvzubarev@HIDDEN
In-Reply-To: <83y1ezqhhk.fsf@HIDDEN> (message from Eli Zaretskii on Wed, 15
 Nov 2023 15:21:59 +0200)
Subject: Re: bug#67117: [PATCH] Tree-sitter: fix an issue when searching
 subtree backward
References: <87h6lruah2.fsf@HIDDEN> <83y1ezqhhk.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 67117
Cc: 67117 <at> debbugs.gnu.org, casouri@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: 67117 <at> debbugs.gnu.org
> Date: Wed, 15 Nov 2023 15:21:59 +0200
> From: Eli Zaretskii <eliz@HIDDEN>
> 
> Denis, your changes are too large for us to accept them without a
> copyright assignment.  Would you like to start your assignment
> paperwork at this time, so that we could accept this contribution, and
> all your future ones?

Oops, I see that you already started the paperwork.  So let's wait for
it to run to completion.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#67117; Package emacs. Full text available.

Message received at 67117 <at> debbugs.gnu.org:


Received: (at 67117) by debbugs.gnu.org; 15 Nov 2023 16:28:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 15 11:28:07 2023
Received: from localhost ([127.0.0.1]:53114 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r3IkI-00027a-Lx
	for submit <at> debbugs.gnu.org; Wed, 15 Nov 2023 11:28:07 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:58120)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1r3IQc-0001QS-UT
 for 67117 <at> debbugs.gnu.org; Wed, 15 Nov 2023 11:07:47 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1r3FqL-0003M3-Qb; Wed, 15 Nov 2023 08:22:09 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=ui7EUguTunVn+uiTlTg4770I3UHS8zk+i3c1emQGPlw=; b=EXFpj2quaBA0
 llE+5SGtXhph1faOW82Vw8aMKKbA5jCuaQ98O0nGZ3ci2OPAaipIFkQL0ir2j3X9i82bZt5uPaATu
 OKqF/CrC6lCELaSvs2/0MZXNFo3Ef2NnvJZ81z2tImnFV0cf4tLLuDjOjwwvbRTQWyVBtMXLQEFyD
 /KLDOkeaCA83i10QkWEvH9eF3rLmnAneLSwnQWX+/KEdL7gNIwWd98g4gPddmQzfDb9RDdb2knaH0
 bFfrMR32xqqDgJ0eokjdMgG5zqTt5SX5zNESvAWifmNVrnGpn9uIYG98oMxOshW5fhfY4Ih05D4n1
 fnmIgNLxreS1Zim6TMZ/Pw==;
Date: Wed, 15 Nov 2023 15:21:59 +0200
Message-Id: <83y1ezqhhk.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Denis Zubarev <dvzubarev@HIDDEN>, Yuan Fu <casouri@HIDDEN>
In-Reply-To: <87h6lruah2.fsf@HIDDEN> (message from Denis Zubarev on Sun, 12
 Nov 2023 02:38:33 +0300)
Subject: Re: bug#67117: [PATCH] Tree-sitter: fix an issue when searching
 subtree backward
References: <87h6lruah2.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 67117
Cc: 67117 <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: -3.3 (---)

> From: Denis Zubarev <dvzubarev@HIDDEN>
> Date: Sun, 12 Nov 2023 02:38:33 +0300
> 
> Steps to reproduce the issue:
> 1. emacs -Q
> 2. M-x find-file /tmp/t.py
> 3. paste to the buffer
>  
> Temp(1, 2) 
>  
> 4. M-x python-ts-mode
> 5. Call search-subtree with backward flag
>    M-x eval-expression (treesit-search-subtree
>                (treesit--thing-at (point) "call")
>                (lambda (n) (equal (treesit-node-type n ) "integer"))
>                t)
> It should return the second int node (#<treesit-node integer in 9-10>), but it returns nil.

Yuan, any comments to the patch and the issue in general?

Denis, your changes are too large for us to accept them without a
copyright assignment.  Would you like to start your assignment
paperwork at this time, so that we could accept this contribution, and
all your future ones?

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#67117; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 11 Nov 2023 23:39:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 11 18:39:51 2023
Received: from localhost ([127.0.0.1]:54658 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r1xZv-0003BA-14
	for submit <at> debbugs.gnu.org; Sat, 11 Nov 2023 18:39:51 -0500
Received: from lists.gnu.org ([2001:470:142::17]:52420)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dvzubarev@HIDDEN>) id 1r1xZt-0003As-RX
 for submit <at> debbugs.gnu.org; Sat, 11 Nov 2023 18:39:50 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <dvzubarev@HIDDEN>)
 id 1r1xYu-0004UV-3c
 for bug-gnu-emacs@HIDDEN; Sat, 11 Nov 2023 18:38:50 -0500
Received: from forward100c.mail.yandex.net ([178.154.239.211])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <dvzubarev@HIDDEN>)
 id 1r1xYp-000855-92
 for bug-gnu-emacs@HIDDEN; Sat, 11 Nov 2023 18:38:45 -0500
Received: from mail-nwsmtp-smtp-production-main-39.sas.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-39.sas.yp-c.yandex.net
 [IPv6:2a02:6b8:c08:2087:0:640:7bf5:0])
 by forward100c.mail.yandex.net (Yandex) with ESMTP id 65B9E60917
 for <bug-gnu-emacs@HIDDEN>; Sun, 12 Nov 2023 02:38:39 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-39.sas.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id ccqrv9QSruQ0-RNtiU6kR; 
 Sun, 12 Nov 2023 02:38:39 +0300
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
 t=1699745919; bh=RGeyzpKkrW0/YXwKmGxjyZPboqOEXsdP9CLu3v+OaqE=;
 h=Message-ID:Date:Subject:To:From;
 b=ZsaRlMwWRE/j3NY9+k5IwBaqwwogVNB/zBPCKKrMUNrr+jzdd5E+oCGPRpY04iLcT
 AAOa9TOEy1FwuhlyhKLN+JDlwUB2AwT/bzDOvsWQGLH+lKGi1EPaXGP3pvsv77GANX
 z4eYTD3CLJrAPV2nyNQMZiz5LYFbdAaZy3Ar3Im0=
Authentication-Results: mail-nwsmtp-smtp-production-main-39.sas.yp-c.yandex.net;
 dkim=pass header.i=@yandex.ru
From: Denis Zubarev <dvzubarev@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: [PATCH] Tree-sitter: fix an issue when searching subtree backward
Date: Sun, 12 Nov 2023 02:38:33 +0300
Message-ID: <87h6lruah2.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=178.154.239.211; envelope-from=dvzubarev@HIDDEN;
 helo=forward100c.mail.yandex.net
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,
 RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 3.0 (+++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: Tags: patch Steps to reproduce the issue: 1. emacs -Q 2. M-x
 find-file /tmp/t.py 3. paste to the buffer Temp(1, 2) 
 Content analysis details:   (3.0 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (dvzubarev[at]yandex.ru)
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
 2.0 SPOOFED_FREEMAIL       No description available.
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 (/)

--=-=-=
Content-Type: text/plain

Tags: patch


Steps to reproduce the issue:
1. emacs -Q
2. M-x find-file /tmp/t.py
3. paste to the buffer
 
Temp(1, 2) 
 
4. M-x python-ts-mode
5. Call search-subtree with backward flag
   M-x eval-expression (treesit-search-subtree
               (treesit--thing-at (point) "call")
               (lambda (n) (equal (treesit-node-type n ) "integer"))
               t)
It should return the second int node (#<treesit-node integer in 9-10>), but it returns nil.

I fixed it in treesit_traverse_child_helper.
Do not call treesit_traverse_sibling_helper when the named node is
required and the last child is the named node.
Otherwise treesit_traverse_sibling_helper will move cursor to the
previous sibling and the last node will be skipped.
I've added test for this bug.




In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.33, cairo version 1.16.0) of 2023-11-12 built on NUC-here
Repository revision: 400a71b8f2c5a49dce4f542adfd2fdb59eb34243
Repository branch: search-subtree-bacward-fix
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Ubuntu 22.04.3 LTS

Configured using:
 'configure --with-modules --with-native-compilation=aot
 --with-imagemagick --with-json --with-tree-sitter --with-xft'


--=-=-=
Content-Type: text/patch
Content-Disposition: attachment;
 filename=0001-Fix-an-issue-when-searching-subtree-backward.patch

From 88e913940cdd3c82afbdf2ad6520e1a1b9c2797b Mon Sep 17 00:00:00 2001
From: Denis Zubarev <dvzubarev@HIDDEN>
Date: Sun, 12 Nov 2023 01:42:42 +0300
Subject: [PATCH] Fix an issue when searching subtree backward

* src/treesit.c (treesit_traverse_child_helper):
Do not call treesit_traverse_sibling_helper when the named node is
required and the last child is the named node.
Otherwise treesit_traverse_sibling_helper will move cursor to the
previous sibling and last node will be skipped.
* test/src/treesit-tests.el (treesit-search-subtree-forward-1):
(treesit-search-subtree-backward-1):
Add tests
---
 src/treesit.c             |  4 ++--
 test/src/treesit-tests.el | 30 ++++++++++++++++++++++++++++++
 2 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/src/treesit.c b/src/treesit.c
index 69b59fca11..4dcad751f4 100644
--- a/src/treesit.c
+++ b/src/treesit.c
@@ -3247,9 +3247,9 @@ treesit_traverse_child_helper (TSTreeCursor *cursor,
       /* First go to the last child.  */
       while (ts_tree_cursor_goto_next_sibling (cursor));
 
-      if (!named)
+      if (!named || (named && ts_node_is_named (ts_tree_cursor_current_node(cursor))))
 	return true;
-      /* Else named... */
+      /* Else named is required and last child is not named node */
       if (treesit_traverse_sibling_helper(cursor, false, true))
 	return true;
       else
diff --git a/test/src/treesit-tests.el b/test/src/treesit-tests.el
index 791e902bd0..c9b15c618c 100644
--- a/test/src/treesit-tests.el
+++ b/test/src/treesit-tests.el
@@ -1167,6 +1167,36 @@ treesit-defun-navigation-top-level
    treesit--ert-defun-navigation-top-level-master
    'top-level))
 
+(ert-deftest treesit-search-subtree-forward-1 ()
+  "Test search subtree forward."
+  (skip-unless (treesit-language-available-p 'python))
+  (require 'python)
+  (python-ts-mode)
+  (insert "Temp(1, 2)")
+  (goto-char (point-min))
+  (let ((node (treesit-search-subtree
+               (treesit--thing-at (point) "call")
+               (lambda (n) (equal (treesit-node-type n ) "integer")))))
+
+    (should node)
+    (should (equal (treesit-node-text node) "1"))))
+
+(ert-deftest treesit-search-subtree-backward-1 ()
+  "Test search subtree with backward=t."
+  (skip-unless (treesit-language-available-p 'python))
+  (require 'python)
+  (python-ts-mode)
+  (insert "Temp(1, 2)")
+  (goto-char (point-min))
+  (let ((node (treesit-search-subtree
+               (treesit--thing-at (point) "call")
+               (lambda (n) (equal (treesit-node-type n ) "integer"))
+               t)))
+
+    (should node)
+    (should (equal (treesit-node-text node) "2"))))
+
+
 ;; TODO
 ;; - Functions in treesit.el
 ;; - treesit-load-name-override-list
-- 
2.34.1


--=-=-=--




Acknowledgement sent to Denis Zubarev <dvzubarev@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#67117; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sun, 19 Nov 2023 06:45:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.