Subject: bug#61502: 29.0.60; c-ts-mode auto-indent not working

From: Theodor Thornhill <[email-masked]>
Date: Wed, 15 Feb 2023 15:21:11 +0100

Eli Zaretskii <[email-masked]> writes:

>> From: Theodor Thornhill <[email-masked]>
>> Cc: [email-masked], [email-masked], [email-masked]
>> Date: Wed, 15 Feb 2023 13:41:47 +0100
>> 
>>   "Return the smallest node covering BEG to END.
>> 
>> BEWARE!  Calling this function on an empty line that is not
>> inside any top-level construct (function definition, etc.) most
>> probably will give you the root node, because the root node is
>> the smallest node that covers that empty line.  You probably want
>> to use `treesit-node-at' instead.
>> 
>> Return nil if none was found.  If NAMED is non-nil, only look for
>> named node.
>> 
>> If PARSER-OR-LANG is a parser, use that parser; if PARSER-OR-LANG
>> is a language, find the first parser for that language in the
>> current buffer, or create one if none exists; If PARSER-OR-LANG
>> is nil, try to guess the language at BEG using `treesit-language-at'."
>> 
>> 
>> Rather selecting the first node "above" point sounds more reasonable?
>
> What happens if you indeed call treesit-node-at, as the doc string
> suggests?

int
main
{
  for (;;)
|

eval: (treesit-node-at (point)) ;; #<treesit-node ")" in 21-22>

Theo