Subject: bug#73404: 30.0.50; [forward/kill/etc]-sexp commands do not behave as expected in tree-sitter modes

From: Juri Linkov <[email-masked]>
Date: Mon, 30 Dec 2024 20:54:39 +0200

>> BTW, my initial intention was to add the thing 'list'.
>> But then I discovered that (treesit-thing-next (point) 'list)
>> uses the function 'list' instead of the thing 'list'.
>> 
>> However, the current 'sexp-list' as a two-word composite is too ugly.
>> Now I found a better replacement: 'group'.  This word is already used
>> in lisp.el such as in the docstring of 'forward-list':
>> 
>>   "Move forward across one balanced group of parentheses."
>> 
>> And the error messages: "No next group".
>
> "Group" is too abstract and too removed from the actual thing.  I'm
> quite sure we can do better.

The proper name is "list".  Since it can't be used directly,
the second best variant is "group".

> What are the possible kinds of "groups", which are not balanced
> parenthetical expressions?

All groups should be balanced.  Even in languages that don't use
parens and brackets, e.g. "def" and "end" are balanced
while these are not parenthetical expressions.

> Can you show a more-or-less exhaustive list of them?

A exhaustive list is not yet finished.  But basically most
groups are parenthetical expressions while some don't use parens.