Received: (at 78503) by debbugs.gnu.org; 20 May 2025 06:55:58 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 20 02:55:58 2025 Received: from localhost ([127.0.0.1]:52756 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uHGtJ-0002g2-MC for submit <at> debbugs.gnu.org; Tue, 20 May 2025 02:55:58 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:54505) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1uHGtG-0002f8-49 for 78503 <at> debbugs.gnu.org; Tue, 20 May 2025 02:55:55 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id BBE2B43C67; Tue, 20 May 2025 06:55:45 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: Bart Otten <bart.otten85@HIDDEN> Subject: Re: bug#78503: 30.0.92; tree-sitter elixir-ts-mode structural movement broken In-Reply-To: <m2wmacdzf5.fsf@HIDDEN> Organization: LINKOV.NET References: <m2wmacdzf5.fsf@HIDDEN> Date: Tue, 20 May 2025 09:46:34 +0300 Message-ID: <87bjrnn5r5.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdefvdefheelucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvfevufgjohhffffkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucggtffrrghtthgvrhhnpeffgeetfeevlefhleejfeeuheeiudeitdffhfdutdekfeffgffhveehteegueekheenucfkphepledurdduvdelrddutdehrdduudejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepledurdduvdelrddutdehrdduudejpdhhvghlohepmhgrihhlrdhgrghnughirdhnvghtpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhgspghrtghpthhtohepfedprhgtphhtthhopeejkeehtdefseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepfihkihhrshgthhgsrghumhesghhmrghilhdrtghomhdprhgtphhtthhopegsrghrthdrohhtthgvnhekheesghhmrghilhdrtghomh X-GND-Sasl: juri@HIDDEN X-Spam-Score: -1.7 (-) X-Debbugs-Envelope-To: 78503 Cc: Wilhelm H Kirschbaum <wkirschbaum@HIDDEN>, 78503 <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: -2.7 (--) > Trying to use elixir treesit mode, it seems the navigation of defun and lists seems broken. > > 1.) `defmodule` is considered a function definition and so moving up from the first > actual function definition `def my_fun do` causes the point to jump to > 'defmodule my_mod do'. Invoking `end-of-defun` jumps to the end of the defmodule block. > Effectively, you have been ejected from the module body. > > ;; current scoped workaround > ;; does not jump up to defmodule when using `beginning-of-defun` > (defun elixir-ts--defun-p (node) > "Return non-nil when NODE is a defun." > (member (treesit-node-text > (treesit-node-child-by-field-name node "target")) > (append > (remove "defmodule" elixir-ts--definition-keywords) > elixir-ts--test-definition-keywords))) This behavior may look logically flawed, but still it makes sense for user convenience: while navigating with 'C-M-a' it's handy to use the same key to move over modules too. The same navigation exists in other ts-modes as well: for example, in java-ts-mode 'C-M-a' moves over classes, etc. OTOH, in ruby-ts-mode it's restricted to methods only. > 2.) When you use `down-list` while on a function definition line, > nothing happens. I tried to fix it, ony to find out that > `backward-up-list` will jump to `defmodule` when invoked while point is at a > function argument, instead of navigating out of the argument list only. > > Structural movement might need some extra love. This part is not reproducible. Do you use the latest master?
bug-gnu-emacs@HIDDEN:bug#78503; Package emacs.
Full text available.
Received: (at submit) by debbugs.gnu.org; 20 May 2025 04:29:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 20 00:29:20 2025
Received: from localhost ([127.0.0.1]:51120 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1uHEbP-0000hO-7t
for submit <at> debbugs.gnu.org; Tue, 20 May 2025 00:29:19 -0400
Received: from lists.gnu.org ([2001:470:142::17]:60380)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <bart.otten85@HIDDEN>)
id 1uH8ha-0002R1-09
for submit <at> debbugs.gnu.org; Mon, 19 May 2025 18:11:18 -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 <bart.otten85@HIDDEN>)
id 1uH8hU-0006Xq-A5
for bug-gnu-emacs@HIDDEN; Mon, 19 May 2025 18:11:12 -0400
Received: from mail-ed1-x534.google.com ([2a00:1450:4864:20::534])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from <bart.otten85@HIDDEN>)
id 1uH8hS-0002aD-Ds
for bug-gnu-emacs@HIDDEN; Mon, 19 May 2025 18:11:11 -0400
Received: by mail-ed1-x534.google.com with SMTP id
4fb4d7f45d1cf-6000f2f217dso4431055a12.1
for <bug-gnu-emacs@HIDDEN>; Mon, 19 May 2025 15:11:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1747692667; x=1748297467; darn=gnu.org;
h=mime-version:message-id:date:subject:to:from:from:to:cc:subject
:date:message-id:reply-to;
bh=FzW4R3F38uoD0WXILpL6jMYbnkbZRSPY3dU+gaSb2Sg=;
b=JwrLsjaqDTr+Lj/DU+FFgCpkcPnkywOuFucEIF8/8aIXjEwzltOKiZA6VjPt88QnGY
b5R1v0VDjkG2M9ltdJYJkvPYTOURmAblvSTsNW+UtI+xYreQ0o7SYGUsRpZmeTf1fPxU
u9F1xkFgn8XpWhqcjpB/1cBZzXOvFVhxIO/QrzsoeRjHicYa4NvjX5uszcroVQMbLju6
WSORz9Lgvdke8cIchUsevUFdq5duluTHeSkJt0r/kNZr6ewXP5BMCiTcaON5XyYyID+C
75WzOsA63NjIFpOtMYrXAULW6XENdxYcNdzJo/G539QCceETx6dOxZLKrEMunoi9vB0m
hbog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1747692667; x=1748297467;
h=mime-version:message-id:date:subject:to:from:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=FzW4R3F38uoD0WXILpL6jMYbnkbZRSPY3dU+gaSb2Sg=;
b=uyzFeZpswAaT0teYFAdWD1S4iLtzeBckKgny6nr86Ayo3XJlB/CA9BqWBm1ZxQIVVC
DHYF2ERtdGAJaXlSQMIDnukhBn3YwHVytg+4cRqp++1wELA78wy7BXbgyD3Cq9JSH9aY
CEVzXXU3Lf0K3nHBchWlpdwPRpzZTAvNpwwvmJjZsqZcnPmy3GsADu1meBZ0Z+Jbzfk+
smj1lMRrclSmMRoHRRF4kTsR1icG81IQ71UC3++0Y3Nzn8kmbMqr6vT72QduuBX0yahQ
Y+4opld3RF+OViIBWuph8Sup6sBUlogj2Kx9+FmZo0c3i8XtlvLh9qLPuhINHDjUZ+xX
U1hg==
X-Gm-Message-State: AOJu0Yxy03cjXuy8Nf4Cnlamr90e8Gg+8K0Rwmtm4jFH7ucjq+4AeLRX
EUsM0bQf0mBzFGfCW0k9D9aM2YTx419cvBgRYwExaeYl5DA54RZ8GJGHJT2CGQ==
X-Gm-Gg: ASbGncuZyCrsictluPIrep1PLiv+daCkhSy+aZ1tj9ihY55PJAtyNFn+Ek/aXfPys23
cq+n+yz4TV7FivT+z5Wf7fPwFCuapCGdZfHbyi4GPZzES8OdbmDBzssV7eAz1+ZqAwXndOtZ59F
ARBLGHzFFUftjQPulm5DebaM9/3us3g4Lan6fURA9ub/wImYnlJdQa8g7LlzL9oDr2dhRIlgaQF
xonfxzcimUYSGrFHLCl/ZKM4waNhnahBfYDdPf7oQPP3+8MGS3HIBjR/nYvmYNEi7/XJol5kwOP
gbl1BGzNkKQkMz9Kzuksspq+mS5jzYgBtxtm+pJhZx0OjFEjsdEihzYgGBamRAhltC3lJYOcy3A
a86YkJq6RZI+ysYGuo47Iqaifi94NmmC7N4z4HQsP7MD1R3FJhvMcsiFYT27moYZIpw==
X-Google-Smtp-Source: AGHT+IFrKWwlaAUya8Yli1nCOorEA/KpxuqS3v1hVkOz15yubQ07yn8IQ9kf46okWkSiras7gmOlhg==
X-Received: by 2002:a05:6402:42d4:b0:5ff:f524:90e0 with SMTP id
4fb4d7f45d1cf-6008a5a10c5mr13057489a12.11.1747692666809;
Mon, 19 May 2025 15:11:06 -0700 (PDT)
Received: from localhost (2a02-a45d-7bea-1-5c2d-42a0-14cf-f29c.fixed6.kpn.net.
[2a02:a45d:7bea:1:5c2d:42a0:14cf:f29c])
by smtp.gmail.com with UTF8SMTPSA id
4fb4d7f45d1cf-6005ac32f9esm6277655a12.55.2025.05.19.15.11.06
for <bug-gnu-emacs@HIDDEN>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Mon, 19 May 2025 15:11:06 -0700 (PDT)
From: Bart Otten <bart.otten85@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 30.0.92; tree-sitter elixir-ts-mode structural movement broken
X-Debbugs-Cc:
Date: Tue, 20 May 2025 00:10:54 +0200
Message-ID: <m2wmacdzf5.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=2a00:1450:4864:20::534;
envelope-from=bart.otten85@HIDDEN; helo=mail-ed1-x534.google.com
X-Spam_score_int: -17
X-Spam_score: -1.8
X-Spam_bar: -
X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.2 (+)
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: Greetings and salutions, Trying to use elixir treesit mode,
it seems the navigation of defun and lists seems broken. 1.) `defmodule`
is considered a function definition and so moving up from the first actual
function definition `def my_fun do` causes the point to jump to 'defmodule
my_mod do'. Invoking `end-of-defun [...]
Content analysis details: (1.2 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org]
1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail)
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
provider (bart.otten85[at]gmail.com)
-0.0 SPF_HELO_PASS SPF: HELO matches SPF record
0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
in digit (bart.otten85[at]gmail.com)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Tue, 20 May 2025 00:29:16 -0400
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.2 (/)
Greetings and salutions,
Trying to use elixir treesit mode, it seems the navigation of defun and lists seems broken.
1.) `defmodule` is considered a function definition and so moving up from the first
actual function definition `def my_fun do` causes the point to jump to
'defmodule my_mod do'. Invoking `end-of-defun` jumps to the end of the defmodule block.
Effectively, you have been ejected from the module body.
;; current scoped workaround
;; does not jump up to defmodule when using `beginning-of-defun`
(defun elixir-ts--defun-p (node)
"Return non-nil when NODE is a defun."
(member (treesit-node-text
(treesit-node-child-by-field-name node "target"))
(append
(remove "defmodule" elixir-ts--definition-keywords)
elixir-ts--test-definition-keywords)))
2.) When you use `down-list` while on a function definition line,
nothing happens. I tried to fix it, ony to find out that
`backward-up-list` will jump to `defmodule` when invoked while point is at a
function argument, instead of navigating out of the argument list only.
Structural movement might need some extra love.
Cheers,
Bart
Major mode: Elixir
Minor modes in effect:
electric-pair-mode: t
eglot--managed-mode: t
exunit-mode: t
mix-minor-mode: t
global-org-modern-mode: t
display-line-numbers-mode: t
global-treesit-auto-mode: t
doom-modeline-mode: t
which-key-mode: t
org-super-agenda-mode: t
undo-fu-session-global-mode: t
undo-fu-session-mode: t
apprentice-mode: t
apprentice-hooks-mode: t
flymake-mode: t
yas-minor-mode: t
treesit-inspect-mode: t
global-visual-wrap-prefix-mode: t
visual-wrap-prefix-mode: t
override-global-mode: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
prettify-symbols-mode: t
Bart Otten <bart.otten85@HIDDEN>:bug-gnu-emacs@HIDDEN.
Full text available.bug-gnu-emacs@HIDDEN:bug#78503; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.