GNU bug report logs - #59498
29.0.50; c++-ts-mode get wrong-type-argument error when enabled

Previous Next

Package: emacs;

Reported by: Eason Huang <aqua0210 <at> foxmail.com>

Date: Wed, 23 Nov 2022 02:26:02 UTC

Severity: normal

Tags: patch

Found in version 29.0.50

Fixed in version 29.1

Done: Yuan Fu <casouri <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Yuan Fu <casouri <at> gmail.com>
To: aqua0210 <at> foxmail.com
Cc: Randy Taylor <dev <at> rjt.dev>, Eli Zaretskii <eliz <at> gnu.org>, Stefan Monnier <monnier <at> iro.umontreal.ca>, 59498 <at> debbugs.gnu.org, mardani29 <at> yahoo.es
Subject: bug#59498: 29.0.50; c++-ts-mode get wrong-type-argument error  when enabled
Date: Wed, 30 Nov 2022 13:33:03 -0800
Eason Huang <aqua0210 <at> foxmail.com> writes:

> Yuan Fu <casouri <at> gmail.com> writes:
>
>>> On Nov 26, 2022, at 11:24 PM, Eli Zaretskii <eliz <at> gnu.org> wrote:
>>>
>>>> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
>>>> Cc: Yuan Fu <casouri <at> gmail.com>,  dev <at> rjt.dev,  aqua0210 <at> foxmail.com,
>>>>  59498 <at> debbugs.gnu.org,  mardani29 <at> yahoo.es
>>>> 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.

Thanks for verifying!

Yuan




This bug report was last modified 2 years and 231 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.