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
> From: Juri Linkov <juri <at> linkov.net>
> Cc: theo <at> thornhill.no, casouri <at> gmail.com, mickey <at> masteringemacs.org,
> monnier <at> iro.umontreal.ca, 73404 <at> debbugs.gnu.org
> Date: Fri, 13 Dec 2024 09:06:04 +0200
>
> >> This patch keep the current function treesit-forward-sexp,
> >> and creates a new function treesit-forward-sexp-list
> >> that uses the 'sexp-list' thing to navigate lists while
> >> using forward-sexp-default-function to navigate atoms:
> >
> > Introducing a new command raises the question how should users
> > navigate using the two. Will C-M-<RIGHT> invoke forward-sexp or the
> > new command (or maybe one or the other in some dwin-ish way)?
> >
> > What are the problems with teaching treesit-forward-sexp do what the
> > new command does? IOW, why do we need a new command?
>
> Actually, it's not a new command, but a new function for C-M-<RIGHT>
> via forward-sexp-function.
It's an interactive function, so it's a command.
> This is from treesit-major-mode-setup:
>
> (when (treesit-thing-defined-p 'sexp nil)
> (setq-local forward-sexp-function #'treesit-forward-sexp)
> (setq-local transpose-sexps-function #'treesit-transpose-sexps))
>
> (when (treesit-thing-defined-p 'sexp-list nil)
> (setq-local forward-sexp-function #'treesit-forward-sexp-list))
>
> When a ts-mode defines the 'sexp-list' thing, only then it's used.
> Otherwise the current implementation with 'sexp' is used for C-M-<RIGHT>.
Then why is the new function interactive?
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.