GNU bug report logs -
#73404
30.0.50; [forward/kill/etc]-sexp commands do not behave as expected in tree-sitter modes
Previous Next
Reported by: Mickey Petersen <mickey <at> masteringemacs.org>
Date: Sat, 21 Sep 2024 05:13:01 UTC
Severity: normal
Merged with 74366
Found in version 30.0.50
Fixed in version 31.0.50
Done: Juri Linkov <juri <at> linkov.net>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Examples with javascript-mode. It holds for all modes i tested with a
TS equivalent. Let -!- be the starting point and ^N be the subsequent
position after a movement command.
-!-export const add = (a, b) => a + b;
Repeated `C-M-f' yields
export const add = (a, b) => a + b;
^1 ^2 ^3 ^4 ^5 ^6
In other words, it works as it always has.
Meanwhile, in `js-ts-mode':
export const add = (a, b) => a + b;
^1 ^2 ^3 ^4
From ^1 and back with `C-M-b'
export const add-!- = (a, b) => a + b;
export const add = (a, b) => a + b;
^1
At this point, `C-M-b' no longer goes back. It is stuck.
Another example:
-!-console.log("Addition result:", result1);
With `C-M-f':
console.log("Addition result:", result1);
^1 ^2
This affects every single -sexp function that uses either
`forward-sexp-function' or `transpose-sexp-function' to do its job.
Thanks.
This bug report was last modified 131 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.