GNU bug report logs -
#59498
29.0.50; c++-ts-mode get wrong-type-argument error when enabled
Previous Next
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
Message #28 received at 59498 <at> debbugs.gnu.org (full text, mbox):
> From: Yuan Fu <casouri <at> gmail.com>
> Date: Sat, 26 Nov 2022 14:11:48 -0800
> Cc: Randy Taylor <dev <at> rjt.dev>,
> aqua0210 <at> foxmail.com,
> 59498 <at> debbugs.gnu.org,
> mardani29 <at> yahoo.es
>
> >> + (setq-local treesit-comment-start (rx "/" (or (+ "/") (+ "*"))))
> >> + (setq-local treesit-comment-end (rx (+ (or "*")) "/"))
> >>
> >> (treesit-parser-create 'cpp)
> >
> > Thanks, but this doesn't look right to me: why should c++-ts-mode set
> > variables for treesit.el? It is more likely that treesit.el should use the
> > buffer-local values of comment-start and comment-end instead, and fall back
> > on generic values (if they make sense) only if the local values are not set.
> >
> > Yuan, WDYT?
>
> 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?
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.