Subject: Re: bug#59498: 29.0.50; c++-ts-mode get wrong-type-argument error when enabled

From: Eason Huang <[email-masked]>
Date: Mon, 28 Nov 2022 21:59:39 +0800

Yuan Fu <[email-masked]> writes:

>> On Nov 26, 2022, at 11:24 PM, Eli Zaretskii <[email-masked]> wrote:
>>
>>> From: Stefan Monnier <[email-masked]>
>>> Cc: Yuan Fu <[email-masked]>,  [email-masked],  [email-masked],
>>>  [email-masked],  [email-masked]
>>> Date: Sun, 27 Nov 2022 02:18:06 -0500
>>>
>>>>> I added treesit-comment-start/end to help indenting comments. So this is
>>>>> the correct way to use them. The following comment explains why I created
>>>>> new variables:
>>>>>
>>>>> ;; `comment-start' and `comment-end' assume there is only one type of
>>>>> ;; comment, and that the comment spans only one line.  So they are not
>>>>> ;; sufficient for our purpose.
>>>>
>>>> ??? This is surprisingly unclean, IMO.  For starters, the names of the
>>>> variables are confusing.  The need to define two sets of comment-start and
>>>> comment-end regexps is also a nuisance and a source of errors.
>>>>
>>>> How do non-treesit modes handle this issue?  Why do the treesit-based modes
>>>> need something special here?
>>>>
>>>> Stefan, any ideas?
>>>
>>> `comment-start` and `comment-end` do not describe the set of possible
>>> comment delimiters.  They describe the comment delimiters that should be
>>> *inserted* when we do things like `comment-dwim`.
>>>
>>> To find/match comment delimiters we have `comment-start-skip` and
>>> `comment-end-skip`.  They're not ideal, but they've been good enough so far.
>>> They don't say which comment starter matches which comment-ender (that
>>> was done by the syntax-tables), but tree-sitter should be able to tell
>>> us that when we need it.
>>>
>>> It would be nice if we could avoid the need to set/use
>>> `comment-start-skip` and `comment-end-skip` when using tree-sitter.
>>> Maybe we can compute their values from the tree-sitter grammar.
>>> But getting rid of uses of those vars will take a fair bit more work,
>>> I think.
>>
>> OK, but do you agree that adding yet another pair of variables,
>> treesit-comment-start/end, is the opposite of what we want?
>
> Yes. I removed them in d5dc1dbf7cb.
>

Hi Yuan,

I build Emacs with the commit a85ff22300, which contain d5dc1dbf7cb,
I can confirm that the indent issue has been fixed.
Thanks you very much.

-- 
Eason Huang