unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
@ 2024-06-12 12:33 Eli Zaretskii
  2024-06-12 13:53 ` Vincenzo Pupillo
  0 siblings, 1 reply; 16+ messages in thread
From: Eli Zaretskii @ 2024-06-12 12:33 UTC (permalink / raw)
  To: 71518; +Cc: Yuan Fu

To reproduce in "emacs -Q", visit some C++ source file (I used
breakpoint.c from the GDB sources), then turn on c++-ts-mode.  The
fontification is all incorrect, and *Messages* has these error
messages:

  Error during redisplay: (jit-lock-function 7286) signaled (treesit-query-error "Node type error at" 575 "[\"_Atomic\" \"break\" \"case\" \"const\" \"continue\" \"default\" \"do\" \"else\" \"enum\" \"extern\" \"for\" \"goto\" \"if\" \"inline\" \"register\" \"restrict\" \"return\" \"sizeof\" \"static\" \"struct\" \"switch\" \"typedef\" \"union\" \"volatile\" \"while\" \"and\" \"and_eq\" \"bitand\" \"bitor\" \"catch\" \"class\" \"co_await\" \"co_return\" \"co_yield\" \"compl\" \"concept\" \"consteval\" \"constexpr\" \"constinit\" \"decltype\" \"delete\" \"explicit\" \"final\" \"friend\" \"mutable\" \"namespace\" \"new\" \"noexcept\" \"not\" \"not_eq\" \"operator\" \"or\" \"or_eq\" \"override\" \"private\" \"protected\" \"public\" \"requires\" \"template\" \"throw\" \"try\" \"typename\" \"us
 ing\" \"virtual\" \"xor\" \"xor_eq\"] @font-lock-keyword-face (auto) @font-lock-keyword-face (this) @font-lock-keyword-face" "Debug the query with `treesit-query-validate'")

This happens with the latest C++ tree-sitter grammar library.  I guess
they made some incompatible change in the grammar or something?



In GNU Emacs 30.0.50 (build 1390, i686-pc-mingw32) of 2024-06-12 built
 on ELIZ-PC
Windowing system distributor 'Microsoft Corp.', version 10.0.22631
System Description: Microsoft Windows 10 Enterprise (v10.0.2009.22631.3737)

Configured using:
 'configure -C --prefix=/d/usr --with-wide-int
 --without-native-compilation --enable-checking=yes,glyphs 'CFLAGS=-O0
 -gdwarf-4 -g3''

Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG LCMS2 LIBXML2 MODULES NOTIFY W32NOTIFY
PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP XPM ZLIB

Important settings:
  value of $LANG: ENU
  locale-coding-system: cp1252

Major mode: C++//

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date subr-x mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils cl-seq
c++-ts-mode c-ts-mode c-ts-common treesit cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric
uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
touch-screen dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars
term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads w32notify w32 lcms2 multi-tty move-toolbar make-network-process
emacs)

Memory information:
((conses 16 77555 16252) (symbols 48 8646 0) (strings 16 23283 3114)
 (string-bytes 1 664446) (vectors 16 12923)
 (vector-slots 8 142312 10122) (floats 8 27 167)
 (intervals 40 3770 136) (buffers 896 12))





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
  2024-06-12 12:33 bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode Eli Zaretskii
@ 2024-06-12 13:53 ` Vincenzo Pupillo
  2024-06-13  6:51   ` Yuan Fu
  0 siblings, 1 reply; 16+ messages in thread
From: Vincenzo Pupillo @ 2024-06-12 13:53 UTC (permalink / raw)
  To: 71518; +Cc: Yuan Fu, Eli Zaretskii


In data mercoledì 12 giugno 2024 14:33:17 CEST, Eli Zaretskii ha scritto:
> To reproduce in "emacs -Q", visit some C++ source file (I used
> breakpoint.c from the GDB sources), then turn on c++-ts-mode.  The
> fontification is all incorrect, and *Messages* has these error
> messages:
> 
>   Error during redisplay: (jit-lock-function 7286) signaled (treesit-query-error "Node type error at" 575 "[\"_Atomic\" \"break\" \"case\" \"const\" \"continue\" \"default\" \"do\" \"else\" \"enum\" \"extern\" \"for\" \"goto\" \"if\" \"inline\" \"register\" \"restrict\" \"return\" \"sizeof\" \"static\" \"struct\" \"switch\" \"typedef\" \"union\" \"volatile\" \"while\" \"and\" \"and_eq\" \"bitand\" \"bitor\" \"catch\" \"class\" \"co_await\" \"co_return\" \"co_yield\" \"compl\" \"concept\" \"consteval\" \"constexpr\" \"constinit\" \"decltype\" \"delete\" \"explicit\" \"final\" \"friend\" \"mutable\" \"namespace\" \"new\" \"noexcept\" \"not\" \"not_eq\" \"operator\" \"or\" \"or_eq\" \"override\" \"private\" \"protected\" \"public\" \"requires\" \"template\" \"throw\" \"try\" \"typename\" \"using\" \"virtual\" \"xor\" \"xor_eq\"] @font-lock-keyword-face (auto) @font-lock-keyword-face (this) @font-lock-keyword-face" "Debug the query with `treesit-query-validate'")
> 
> This happens with the latest C++ tree-sitter grammar library.  I guess
> they made some incompatible change in the grammar or something?
> 
> 
Yes, they changed the grammar. 
https://github.com/tree-sitter/tree-sitter-cpp/issues/271

V.

> 
> In GNU Emacs 30.0.50 (build 1390, i686-pc-mingw32) of 2024-06-12 built
>  on ELIZ-PC
> Windowing system distributor 'Microsoft Corp.', version 10.0.22631
> System Description: Microsoft Windows 10 Enterprise (v10.0.2009.22631.3737)
> 
> Configured using:
>  'configure -C --prefix=/d/usr --with-wide-int
>  --without-native-compilation --enable-checking=yes,glyphs 'CFLAGS=-O0
>  -gdwarf-4 -g3''
> 
> Configured features:
> ACL GIF GMP GNUTLS HARFBUZZ JPEG LCMS2 LIBXML2 MODULES NOTIFY W32NOTIFY
> PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
> TREE_SITTER WEBP XPM ZLIB
> 
> Important settings:
>   value of $LANG: ENU
>   locale-coding-system: cp1252
> 
> Major mode: C++//
> 
> Minor modes in effect:
>   tooltip-mode: t
>   global-eldoc-mode: t
>   show-paren-mode: t
>   electric-indent-mode: t
>   mouse-wheel-mode: t
>   tool-bar-mode: t
>   menu-bar-mode: t
>   file-name-shadow-mode: t
>   global-font-lock-mode: t
>   font-lock-mode: t
>   blink-cursor-mode: t
>   minibuffer-regexp-mode: t
>   line-number-mode: t
>   indent-tabs-mode: t
>   transient-mark-mode: t
>   auto-composition-mode: t
>   auto-encryption-mode: t
>   auto-compression-mode: t
> 
> Load-path shadows:
> None found.
> 
> Features:
> (shadow sort mail-extr emacsbug message mailcap yank-media puny dired
> dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
> epg-config gnus-util text-property-search time-date subr-x mm-decode
> mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
> sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils cl-seq
> c++-ts-mode c-ts-mode c-ts-common treesit cc-mode cc-fonts cc-guess
> cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
> cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric
> uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
> touch-screen dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars
> term/common-win tool-bar dnd fontset image regexp-opt fringe
> tabulated-list replace newcomment text-mode lisp-mode prog-mode register
> page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
> scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
> frame minibuffer nadvice seq simple cl-generic indonesian philippine
> cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
> korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
> european ethiopic indian cyrillic chinese composite emoji-zwj charscript
> charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
> cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
> files window text-properties overlay sha1 md5 base64 format env
> code-pages mule custom widget keymap hashtable-print-readable backquote
> threads w32notify w32 lcms2 multi-tty move-toolbar make-network-process
> emacs)
> 
> Memory information:
> ((conses 16 77555 16252) (symbols 48 8646 0) (strings 16 23283 3114)
>  (string-bytes 1 664446) (vectors 16 12923)
>  (vector-slots 8 142312 10122) (floats 8 27 167)
>  (intervals 40 3770 136) (buffers 896 12))
> 
> 
> 
> 

-- 
Those who can't write, write manuals.








^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
  2024-06-12 13:53 ` Vincenzo Pupillo
@ 2024-06-13  6:51   ` Yuan Fu
  2024-06-13  8:24     ` Eli Zaretskii
                       ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Yuan Fu @ 2024-06-13  6:51 UTC (permalink / raw)
  To: Vincenzo Pupillo; +Cc: 71518, eliz



> On Jun 12, 2024, at 6:53 AM, Vincenzo Pupillo <vincenzo.pupillo@lpsd.it> wrote:
> 
> 
> In data mercoledì 12 giugno 2024 14:33:17 CEST, Eli Zaretskii ha scritto:
>> To reproduce in "emacs -Q", visit some C++ source file (I used
>> breakpoint.c from the GDB sources), then turn on c++-ts-mode.  The
>> fontification is all incorrect, and *Messages* has these error
>> messages:
>> 
>>  Error during redisplay: (jit-lock-function 7286) signaled (treesit-query-error "Node type error at" 575 "[\"_Atomic\" \"break\" \"case\" \"const\" \"continue\" \"default\" \"do\" \"else\" \"enum\" \"extern\" \"for\" \"goto\" \"if\" \"inline\" \"register\" \"restrict\" \"return\" \"sizeof\" \"static\" \"struct\" \"switch\" \"typedef\" \"union\" \"volatile\" \"while\" \"and\" \"and_eq\" \"bitand\" \"bitor\" \"catch\" \"class\" \"co_await\" \"co_return\" \"co_yield\" \"compl\" \"concept\" \"consteval\" \"constexpr\" \"constinit\" \"decltype\" \"delete\" \"explicit\" \"final\" \"friend\" \"mutable\" \"namespace\" \"new\" \"noexcept\" \"not\" \"not_eq\" \"operator\" \"or\" \"or_eq\" \"override\" \"private\" \"protected\" \"public\" \"requires\" \"template\" \"throw\" \"try\" \"typename\" \"using\" \"virtual\" \"xor\" \"xor_eq\"] @font-lock-keyword-face (auto) @font-lock-keyword-face (this) @font-lock-keyword-face" "Debug the query with `treesit-query-validate'")
>> 
>> This happens with the latest C++ tree-sitter grammar library.  I guess
>> they made some incompatible change in the grammar or something?
>> 
>> 
> Yes, they changed the grammar. 
> https://github.com/tree-sitter/tree-sitter-cpp/issues/271
> 
> V.

So it seems “virtual” is now a named node rather than an anonymous node, which is a little odd. I asked the author about it in the GitHub issue, let me clear that up before fixing c-ts-mode.

And, Eli, we really really should pin tree-sitter grammars. As more people start using tree-sitter modes, they will found out about the breakage before we do and the tree-sitter major mode would be unusable for them before they upgrade their grammar. Most of them will not know how to do it and which commit to downgrade to. And I really don’t want to chase the random changes these grammars make all the time. Fixing for these breakages is arguably a heavier maintenance burden than pinning tree-sitter grammars.

Yuan 




^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
  2024-06-13  6:51   ` Yuan Fu
@ 2024-06-13  8:24     ` Eli Zaretskii
  2024-06-13  8:57     ` Vincenzo Pupillo
  2024-06-22  8:26     ` Eli Zaretskii
  2 siblings, 0 replies; 16+ messages in thread
From: Eli Zaretskii @ 2024-06-13  8:24 UTC (permalink / raw)
  To: Yuan Fu; +Cc: vincenzo.pupillo, 71518

> From: Yuan Fu <casouri@gmail.com>
> Date: Wed, 12 Jun 2024 23:51:21 -0700
> Cc: 71518@debbugs.gnu.org,
>  Bug Report Emacs <bug-gnu-emacs@gnu.org>,
>  Eli Zaretskii <eliz@gnu.org>
> 
> So it seems “virtual” is now a named node rather than an anonymous node, which is a little odd. I asked the author about it in the GitHub issue, let me clear that up before fixing c-ts-mode.

Thanks.

> And, Eli, we really really should pin tree-sitter grammars. As more people start using tree-sitter modes, they will found out about the breakage before we do and the tree-sitter major mode would be unusable for them before they upgrade their grammar. Most of them will not know how to do it and which commit to downgrade to. And I really don’t want to chase the random changes these grammars make all the time. Fixing for these breakages is arguably a heavier maintenance burden than pinning tree-sitter grammars.

But we've been through this already: pinning versions is impractical,
except for those of us who build their own grammar libraries and can
checkout and build the specific pinned revision.  The rest of the
users, who rely on grammars compiled by someone else, will have no
practical way of using the TS modes, unless that someone happens to
provide the pinned version.

And what is the mechanism of selecting the pinned version?  Who and
how will determine which version to pin, and how will we indicate
those versions in Emacs?  This was never finalized, and is not trivial
at all.

When we discussed that, there was a question of how the various
distros handle these libraries, if they at all distribute that.  Did
we learn something new about this?

If nothing has changed since we discussed that, why are you saying now
that we "really should pin"?  That other editors use pinned versions
doesn't mean it's a good solution, for us or in general.  It
definitely has a disadvantage of preventing users to upgrade the
grammar libraries until the next Emacs release (which could be several
months or even a year away), and the advantage is quite illusory.
yes, without pinning we have a maintenance headache on our hands, but
if there's no better alternative, what else can we do?





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
  2024-06-13  6:51   ` Yuan Fu
  2024-06-13  8:24     ` Eli Zaretskii
@ 2024-06-13  8:57     ` Vincenzo Pupillo
  2024-06-22  8:26     ` Eli Zaretskii
  2 siblings, 0 replies; 16+ messages in thread
From: Vincenzo Pupillo @ 2024-06-13  8:57 UTC (permalink / raw)
  To: 71518; +Cc: eliz, casouri

In data giovedì 13 giugno 2024 08:51:21 CEST, Yuan Fu ha scritto:
> 
> > On Jun 12, 2024, at 6:53 AM, Vincenzo Pupillo <vincenzo.pupillo@lpsd.it> wrote:
> > 
> > 
> > In data mercoledì 12 giugno 2024 14:33:17 CEST, Eli Zaretskii ha scritto:
> >> To reproduce in "emacs -Q", visit some C++ source file (I used
> >> breakpoint.c from the GDB sources), then turn on c++-ts-mode.  The
> >> fontification is all incorrect, and *Messages* has these error
> >> messages:
> >> 
> >>  Error during redisplay: (jit-lock-function 7286) signaled (treesit-query-error "Node type error at" 575 "[\"_Atomic\" \"break\" \"case\" \"const\" \"continue\" \"default\" \"do\" \"else\" \"enum\" \"extern\" \"for\" \"goto\" \"if\" \"inline\" \"register\" \"restrict\" \"return\" \"sizeof\" \"static\" \"struct\" \"switch\" \"typedef\" \"union\" \"volatile\" \"while\" \"and\" \"and_eq\" \"bitand\" \"bitor\" \"catch\" \"class\" \"co_await\" \"co_return\" \"co_yield\" \"compl\" \"concept\" \"consteval\" \"constexpr\" \"constinit\" \"decltype\" \"delete\" \"explicit\" \"final\" \"friend\" \"mutable\" \"namespace\" \"new\" \"noexcept\" \"not\" \"not_eq\" \"operator\" \"or\" \"or_eq\" \"override\" \"private\" \"protected\" \"public\" \"requires\" \"template\" \"throw\" \"try\" \"typename\" \"using\" \"virtual\" \"xor\" \"xor_eq\"] @font-lock-keyword-face (auto) @font-lock-keyword-face (this) @font-lock-keyword-face" "Debug the query with `treesit-query-validate'")
> >> 
> >> This happens with the latest C++ tree-sitter grammar library.  I guess
> >> they made some incompatible change in the grammar or something?
> >> 
> >> 
> > Yes, they changed the grammar. 
> > https://github.com/tree-sitter/tree-sitter-cpp/issues/271
> > 
> > V.
> 
> So it seems “virtual” is now a named node rather than an anonymous node, which is a little odd. I asked the author about it in the GitHub issue, let me clear that up before fixing c-ts-mode.
> 
> And, Eli, we really really should pin tree-sitter grammars. As more people start using tree-sitter modes, they will found out about the breakage before we do and the tree-sitter major mode would be unusable for them before they upgrade their grammar. Most of them will not know how to do it and which commit to downgrade to. And I really don’t want to chase the random changes these grammars make all the time. Fixing for these breakages is arguably a heavier maintenance burden than pinning tree-sitter grammars.

+1. 

This is why php-ts-mode has a feature just for installing specific versions of grammars (unfortunately phpdoc has no tags on the repository :-( )

Vincenzo

> 
> Yuan 
> 
> 
> 










^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
  2024-06-13  6:51   ` Yuan Fu
  2024-06-13  8:24     ` Eli Zaretskii
  2024-06-13  8:57     ` Vincenzo Pupillo
@ 2024-06-22  8:26     ` Eli Zaretskii
  2024-06-22 14:42       ` Vincenzo Pupillo
  2 siblings, 1 reply; 16+ messages in thread
From: Eli Zaretskii @ 2024-06-22  8:26 UTC (permalink / raw)
  To: Yuan Fu; +Cc: vincenzo.pupillo, 71518

Ping!  Any progress with this bug?

> From: Yuan Fu <casouri@gmail.com>
> Date: Wed, 12 Jun 2024 23:51:21 -0700
> Cc: 71518@debbugs.gnu.org,
>  Bug Report Emacs <bug-gnu-emacs@gnu.org>,
>  Eli Zaretskii <eliz@gnu.org>
> 
> 
> 
> > On Jun 12, 2024, at 6:53 AM, Vincenzo Pupillo <vincenzo.pupillo@lpsd.it> wrote:
> > 
> > 
> > In data mercoledì 12 giugno 2024 14:33:17 CEST, Eli Zaretskii ha scritto:
> >> To reproduce in "emacs -Q", visit some C++ source file (I used
> >> breakpoint.c from the GDB sources), then turn on c++-ts-mode.  The
> >> fontification is all incorrect, and *Messages* has these error
> >> messages:
> >> 
> >>  Error during redisplay: (jit-lock-function 7286) signaled (treesit-query-error "Node type error at" 575 "[\"_Atomic\" \"break\" \"case\" \"const\" \"continue\" \"default\" \"do\" \"else\" \"enum\" \"extern\" \"for\" \"goto\" \"if\" \"inline\" \"register\" \"restrict\" \"return\" \"sizeof\" \"static\" \"struct\" \"switch\" \"typedef\" \"union\" \"volatile\" \"while\" \"and\" \"and_eq\" \"bitand\" \"bitor\" \"catch\" \"class\" \"co_await\" \"co_return\" \"co_yield\" \"compl\" \"concept\" \"consteval\" \"constexpr\" \"constinit\" \"decltype\" \"delete\" \"explicit\" \"final\" \"friend\" \"mutable\" \"namespace\" \"new\" \"noexcept\" \"not\" \"not_eq\" \"operator\" \"or\" \"or_eq\" \"override\" \"private\" \"protected\" \"public\" \"requires\" \"template\" \"throw\" \"try\" \"typename\" 
 \"using\" \"virtual\" \"xor\" \"xor_eq\"] @font-lock-keyword-face (auto) @font-lock-keyword-face (this) @font-lock-keyword-face" "Debug the query with `treesit-query-validate'")
> >> 
> >> This happens with the latest C++ tree-sitter grammar library.  I guess
> >> they made some incompatible change in the grammar or something?
> >> 
> >> 
> > Yes, they changed the grammar. 
> > https://github.com/tree-sitter/tree-sitter-cpp/issues/271
> > 
> > V.
> 
> So it seems “virtual” is now a named node rather than an anonymous node, which is a little odd. I asked the author about it in the GitHub issue, let me clear that up before fixing c-ts-mode.
> 
> And, Eli, we really really should pin tree-sitter grammars. As more people start using tree-sitter modes, they will found out about the breakage before we do and the tree-sitter major mode would be unusable for them before they upgrade their grammar. Most of them will not know how to do it and which commit to downgrade to. And I really don’t want to chase the random changes these grammars make all the time. Fixing for these breakages is arguably a heavier maintenance burden than pinning tree-sitter grammars.
> 
> Yuan 





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
  2024-06-22  8:26     ` Eli Zaretskii
@ 2024-06-22 14:42       ` Vincenzo Pupillo
  2024-06-22 15:57         ` Eli Zaretskii
  0 siblings, 1 reply; 16+ messages in thread
From: Vincenzo Pupillo @ 2024-06-22 14:42 UTC (permalink / raw)
  To: Yuan Fu, Eli Zaretskii; +Cc: 71518

[-- Attachment #1: Type: text/plain, Size: 3029 bytes --]

Hi Eli,
fortunately, this time it was easier than usual!

Ciao.
Vincenzo

In data sabato 22 giugno 2024 10:26:43 CEST, Eli Zaretskii ha scritto:
> Ping!  Any progress with this bug?
> 
> > From: Yuan Fu <casouri@gmail.com>
> > Date: Wed, 12 Jun 2024 23:51:21 -0700
> > Cc: 71518@debbugs.gnu.org,
> > 
> >  Bug Report Emacs <bug-gnu-emacs@gnu.org>,
> >  Eli Zaretskii <eliz@gnu.org>
> >  
> > > On Jun 12, 2024, at 6:53 AM, Vincenzo Pupillo <vincenzo.pupillo@lpsd.it>
> > > wrote:> > 
> > > In data mercoledì 12 giugno 2024 14:33:17 CEST, Eli Zaretskii ha 
scritto:
> > >> To reproduce in "emacs -Q", visit some C++ source file (I used
> > >> breakpoint.c from the GDB sources), then turn on c++-ts-mode.  The
> > >> fontification is all incorrect, and *Messages* has these error
> > >> 
> > >> messages:
> > >>  Error during redisplay: (jit-lock-function 7286) signaled
> > >>  (treesit-query-error "Node type error at" 575 "[\"_Atomic\" \"break\"
> > >>  \"case\" \"const\" \"continue\" \"default\" \"do\" \"else\" \"enum\"
> > >>  \"extern\" \"for\" \"goto\" \"if\" \"inline\" \"register\"
> > >>  \"restrict\" \"return\" \"sizeof\" \"static\" \"struct\" \"switch\"
> > >>  \"typedef\" \"union\" \"volatile\" \"while\" \"and\" \"and_eq\"
> > >>  \"bitand\" \"bitor\" \"catch\" \"class\" \"co_await\" \"co_return\"
> > >>  \"co_yield\" \"compl\" \"concept\" \"consteval\" \"constexpr\"
> > >>  \"constinit\" \"decltype\" \"delete\" \"explicit\" \"final\"
> > >>  \"friend\" \"mutable\" \"namespace\" \"new\" \"noexcept\" \"not\"
> > >>  \"not_eq\" \"operator\" \"or\" \"or_eq\" \"override\" \"private\"
> > >>  \"protected\" \"public\" \"requires\" \"template\" \"throw\" \"try\"
> > >>  \"typename\" \"using\" \"virtual\" \"xor\" \"xor_eq\"]
> > >>  @font-lock-keyword-face (auto) @font-lock-keyword-face (this)
> > >>  @font-lock-keyword-face" "Debug the query with
> > >>  `treesit-query-validate'")> >> 
> > >> This happens with the latest C++ tree-sitter grammar library.  I guess
> > >> they made some incompatible change in the grammar or something?
> > > 
> > > Yes, they changed the grammar.
> > > https://github.com/tree-sitter/tree-sitter-cpp/issues/271
> > > 
> > > V.
> > 
> > So it seems “virtual” is now a named node rather than an anonymous node,
> > which is a little odd. I asked the author about it in the GitHub issue,
> > let me clear that up before fixing c-ts-mode.
> > 
> > And, Eli, we really really should pin tree-sitter grammars. As more people
> > start using tree-sitter modes, they will found out about the breakage
> > before we do and the tree-sitter major mode would be unusable for them
> > before they upgrade their grammar. Most of them will not know how to do
> > it and which commit to downgrade to. And I really don’t want to chase the
> > random changes these grammars make all the time. Fixing for these
> > breakages is arguably a heavier maintenance burden than pinning
> > tree-sitter grammars.
> > 
> > Yuan


[-- Attachment #2: 0001-Fix-for-grammar-change-of-keyword-virtual-in-tree-si.patch --]
[-- Type: text/x-patch, Size: 1446 bytes --]

From 84c0c0c821b82d59874996cb7bb78e8205fa1377 Mon Sep 17 00:00:00 2001
From: Vincenzo Pupillo <v.pupillo@gmail.com>
Date: Sat, 22 Jun 2024 16:22:16 +0200
Subject: [PATCH] Fix for grammar change of keyword "virtual" in
 tree-sitter-cpp

* lisp/progmodes/c-ts-mode.el (c-ts-mode--keywords):
  Removed the keyword "virtual".
* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings):
  New font lock rule.
---
 lisp/progmodes/c-ts-mode.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lisp/progmodes/c-ts-mode.el b/lisp/progmodes/c-ts-mode.el
index f453392ff7f..7bfb84baecb 100644
--- a/lisp/progmodes/c-ts-mode.el
+++ b/lisp/progmodes/c-ts-mode.el
@@ -572,7 +572,7 @@ c-ts-mode--keywords
                   "not" "not_eq" "operator" "or"
                   "or_eq" "override" "private" "protected"
                   "public" "requires" "template" "throw"
-                  "try" "typename" "using" "virtual"
+                  "try" "typename" "using"
                   "xor" "xor_eq"))
       (append '("auto") c-keywords))))
 
@@ -632,7 +632,8 @@ c-ts-mode--font-lock-settings
 
    :language mode
    :feature 'keyword
-   `([,@(c-ts-mode--keywords mode)] @font-lock-keyword-face
+   `((virtual) @font-lock-keyword-face
+     [,@(c-ts-mode--keywords mode)] @font-lock-keyword-face
      ,@(when (eq mode 'cpp)
          '((auto) @font-lock-keyword-face
            (this) @font-lock-keyword-face)))
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
  2024-06-22 14:42       ` Vincenzo Pupillo
@ 2024-06-22 15:57         ` Eli Zaretskii
  2024-06-22 16:14           ` Vincenzo Pupillo
  0 siblings, 1 reply; 16+ messages in thread
From: Eli Zaretskii @ 2024-06-22 15:57 UTC (permalink / raw)
  To: Vincenzo Pupillo; +Cc: 71518, casouri

> From: Vincenzo Pupillo <v.pupillo@gmail.com>
> Cc: 71518@debbugs.gnu.org
> Date: Sat, 22 Jun 2024 16:42:09 +0200
> 
> fortunately, this time it was easier than usual!

Thanks, but this change will _require_ the new version of the grammar
library, right?  I think we usually fix these problems in a way that
both the old and the new versions are supported, because people could
have different versions installed.

Could you please amend the fix along these lines?





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
  2024-06-22 15:57         ` Eli Zaretskii
@ 2024-06-22 16:14           ` Vincenzo Pupillo
  2024-06-22 16:56             ` Eli Zaretskii
  0 siblings, 1 reply; 16+ messages in thread
From: Vincenzo Pupillo @ 2024-06-22 16:14 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 71518, casouri

[-- Attachment #1: Type: text/plain, Size: 685 bytes --]

In data sabato 22 giugno 2024 17:57:21 CEST, Eli Zaretskii ha scritto:
> > From: Vincenzo Pupillo <v.pupillo@gmail.com>
> > Cc: 71518@debbugs.gnu.org
> > Date: Sat, 22 Jun 2024 16:42:09 +0200
> > 
> > fortunately, this time it was easier than usual!
> 
> Thanks, but this change will _require_ the new version of the grammar
> library, right?  I think we usually fix these problems in a way that
> both the old and the new versions are supported, because people could
> have different versions installed.

In the tests I have done, it works with both the new and the old grammar.

> 
> Could you please amend the fix along these lines?
Okay, done. Can this be okay? 

Thanks.
Vincenzo

[-- Attachment #2: 0001-Fix-for-grammar-change-of-keyword-virtual-in-tree-si.patch --]
[-- Type: text/x-patch, Size: 1541 bytes --]

From 5f88ff0001e8c4edb7519d1a85ebb13390d1a285 Mon Sep 17 00:00:00 2001
From: Vincenzo Pupillo <v.pupillo@gmail.com>
Date: Sat, 22 Jun 2024 16:22:16 +0200
Subject: [PATCH] Fix for grammar change of keyword "virtual" in
 tree-sitter-cpp

The new rule works with both the new (>= 0.22.1) and the old (<= 0.22.0)
grammar.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--keywords):
  Removed the keyword "virtual".
* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings):
  New font lock rule. (Bug#71518)
---
 lisp/progmodes/c-ts-mode.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lisp/progmodes/c-ts-mode.el b/lisp/progmodes/c-ts-mode.el
index f453392ff7f..7bfb84baecb 100644
--- a/lisp/progmodes/c-ts-mode.el
+++ b/lisp/progmodes/c-ts-mode.el
@@ -572,7 +572,7 @@ c-ts-mode--keywords
                   "not" "not_eq" "operator" "or"
                   "or_eq" "override" "private" "protected"
                   "public" "requires" "template" "throw"
-                  "try" "typename" "using" "virtual"
+                  "try" "typename" "using"
                   "xor" "xor_eq"))
       (append '("auto") c-keywords))))
 
@@ -632,7 +632,8 @@ c-ts-mode--font-lock-settings
 
    :language mode
    :feature 'keyword
-   `([,@(c-ts-mode--keywords mode)] @font-lock-keyword-face
+   `((virtual) @font-lock-keyword-face
+     [,@(c-ts-mode--keywords mode)] @font-lock-keyword-face
      ,@(when (eq mode 'cpp)
          '((auto) @font-lock-keyword-face
            (this) @font-lock-keyword-face)))
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
  2024-06-22 16:14           ` Vincenzo Pupillo
@ 2024-06-22 16:56             ` Eli Zaretskii
  2024-06-22 17:03               ` Eli Zaretskii
  0 siblings, 1 reply; 16+ messages in thread
From: Eli Zaretskii @ 2024-06-22 16:56 UTC (permalink / raw)
  To: Vincenzo Pupillo; +Cc: 71518, casouri

> From: Vincenzo Pupillo <v.pupillo@gmail.com>
> Cc: casouri@gmail.com, 71518@debbugs.gnu.org
> Date: Sat, 22 Jun 2024 18:14:54 +0200
> 
> > > fortunately, this time it was easier than usual!
> > 
> > Thanks, but this change will _require_ the new version of the grammar
> > library, right?  I think we usually fix these problems in a way that
> > both the old and the new versions are supported, because people could
> > have different versions installed.
> 
> In the tests I have done, it works with both the new and the old grammar.
> 
> > 
> > Could you please amend the fix along these lines?
> Okay, done. Can this be okay? 

Hmm... I still see an error message in *Messages* after installing
this (I have grammar library version 0.22.2):

  Error during redisplay: (jit-lock-function 1) signaled (treesit-query-error "Node type error at" 2 "(virtual) @font-lock-keyword-face [\"auto\" \"_Atomic\" \"break\" \"case\" \"const\" \"continue\" \"default\" \"do\" \"else\" \"enum\" \"extern\" \"for\" \"goto\" \"if\" \"inline\" \"register\" \"restrict\" \"return\" \"sizeof\" \"static\" \"struct\" \"switch\" \"typedef\" \"union\" \"volatile\" \"while\"] @font-lock-keyword-face" "Debug the query with `treesit-query-validate'")

Any ideas or suggestions?  "virtual" is highlighted, though, so I
guess this is a matter of suppressing the errors or something?

Thanks.





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
  2024-06-22 16:56             ` Eli Zaretskii
@ 2024-06-22 17:03               ` Eli Zaretskii
  2024-06-22 17:59                 ` Vincenzo Pupillo
  0 siblings, 1 reply; 16+ messages in thread
From: Eli Zaretskii @ 2024-06-22 17:03 UTC (permalink / raw)
  To: v.pupillo; +Cc: 71518, casouri

> Cc: 71518@debbugs.gnu.org, casouri@gmail.com
> Date: Sat, 22 Jun 2024 19:56:34 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> 
> Hmm... I still see an error message in *Messages* after installing
> this (I have grammar library version 0.22.2):
> 
>   Error during redisplay: (jit-lock-function 1) signaled (treesit-query-error "Node type error at" 2 "(virtual) @font-lock-keyword-face [\"auto\" \"_Atomic\" \"break\" \"case\" \"const\" \"continue\" \"default\" \"do\" \"else\" \"enum\" \"extern\" \"for\" \"goto\" \"if\" \"inline\" \"register\" \"restrict\" \"return\" \"sizeof\" \"static\" \"struct\" \"switch\" \"typedef\" \"union\" \"volatile\" \"while\"] @font-lock-keyword-face" "Debug the query with `treesit-query-validate'")
> 
> Any ideas or suggestions?  "virtual" is highlighted, though, so I
> guess this is a matter of suppressing the errors or something?

E.g., you can see in go-ts-mode.el how the code probes whether a
certain query is supported, and uses it only if it is.





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
  2024-06-22 17:03               ` Eli Zaretskii
@ 2024-06-22 17:59                 ` Vincenzo Pupillo
  2024-06-22 18:15                   ` Eli Zaretskii
  2024-06-22 18:15                   ` Vincenzo Pupillo
  0 siblings, 2 replies; 16+ messages in thread
From: Vincenzo Pupillo @ 2024-06-22 17:59 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 71518, casouri

[-- Attachment #1: Type: text/plain, Size: 1318 bytes --]

In data sabato 22 giugno 2024 19:03:43 CEST, Eli Zaretskii ha scritto:
> > Cc: 71518@debbugs.gnu.org, casouri@gmail.com
> > Date: Sat, 22 Jun 2024 19:56:34 +0300
> > From: Eli Zaretskii <eliz@gnu.org>
> > 
> > Hmm... I still see an error message in *Messages* after installing
> > 
> > this (I have grammar library version 0.22.2):
> >   Error during redisplay: (jit-lock-function 1) signaled
> >   (treesit-query-error "Node type error at" 2 "(virtual)
> >   @font-lock-keyword-face [\"auto\" \"_Atomic\" \"break\" \"case\"
> >   \"const\" \"continue\" \"default\" \"do\" \"else\" \"enum\" \"extern\"
> >   \"for\" \"goto\" \"if\" \"inline\" \"register\" \"restrict\" \"return\"
> >   \"sizeof\" \"static\" \"struct\" \"switch\" \"typedef\" \"union\"
> >   \"volatile\" \"while\"] @font-lock-keyword-face" "Debug the query with
> >   `treesit-query-validate'")> 
> > Any ideas or suggestions?  "virtual" is highlighted, though, so I
> > guess this is a matter of suppressing the errors or something?
> 
> E.g., you can see in go-ts-mode.el how the code probes whether a
> certain query is supported, and uses it only if it is.
Sorry, I only tested with .cpp files.
The rule had to be protected by (when (eq mode 'cpp)...

Now I have tested this with *.c and *.h as well, with old and new grammar.

Thanks
Vincenzo




[-- Attachment #2: 0001-Fix-for-grammar-change-of-keyword-virtual-in-tree-si.patch --]
[-- Type: text/x-patch, Size: 1533 bytes --]

From f518a28117c0418dc11bc4d9312df6609272813b Mon Sep 17 00:00:00 2001
From: Vincenzo Pupillo <v.pupillo@gmail.com>
Date: Sat, 22 Jun 2024 16:22:16 +0200
Subject: [PATCH] Fix for grammar change of keyword "virtual" in
 tree-sitter-cpp

The new rule works with both the new (>= 0.22.1) and the old (<= 0.22.0)
grammar.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--keywords):
  Removed the keyword "virtual".
* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings):
  New font lock rule. (Bug#71518)
---
 lisp/progmodes/c-ts-mode.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lisp/progmodes/c-ts-mode.el b/lisp/progmodes/c-ts-mode.el
index f453392ff7f..e7f74fc53f2 100644
--- a/lisp/progmodes/c-ts-mode.el
+++ b/lisp/progmodes/c-ts-mode.el
@@ -572,7 +572,7 @@ c-ts-mode--keywords
                   "not" "not_eq" "operator" "or"
                   "or_eq" "override" "private" "protected"
                   "public" "requires" "template" "throw"
-                  "try" "typename" "using" "virtual"
+                  "try" "typename" "using"
                   "xor" "xor_eq"))
       (append '("auto") c-keywords))))
 
@@ -635,7 +635,8 @@ c-ts-mode--font-lock-settings
    `([,@(c-ts-mode--keywords mode)] @font-lock-keyword-face
      ,@(when (eq mode 'cpp)
          '((auto) @font-lock-keyword-face
-           (this) @font-lock-keyword-face)))
+           (this) @font-lock-keyword-face
+           (virtual) @font-lock-keyword-face)))
 
    :language mode
    :feature 'operator
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
  2024-06-22 17:59                 ` Vincenzo Pupillo
@ 2024-06-22 18:15                   ` Eli Zaretskii
  2024-06-22 18:15                   ` Vincenzo Pupillo
  1 sibling, 0 replies; 16+ messages in thread
From: Eli Zaretskii @ 2024-06-22 18:15 UTC (permalink / raw)
  To: Vincenzo Pupillo; +Cc: casouri, 71518-done

> From: Vincenzo Pupillo <v.pupillo@gmail.com>
> Cc: 71518@debbugs.gnu.org, casouri@gmail.com
> Date: Sat, 22 Jun 2024 19:59:42 +0200
> 
> In data sabato 22 giugno 2024 19:03:43 CEST, Eli Zaretskii ha scritto:
> > > Cc: 71518@debbugs.gnu.org, casouri@gmail.com
> > > Date: Sat, 22 Jun 2024 19:56:34 +0300
> > > From: Eli Zaretskii <eliz@gnu.org>
> > > 
> > > Hmm... I still see an error message in *Messages* after installing
> > > 
> > > this (I have grammar library version 0.22.2):
> > >   Error during redisplay: (jit-lock-function 1) signaled
> > >   (treesit-query-error "Node type error at" 2 "(virtual)
> > >   @font-lock-keyword-face [\"auto\" \"_Atomic\" \"break\" \"case\"
> > >   \"const\" \"continue\" \"default\" \"do\" \"else\" \"enum\" \"extern\"
> > >   \"for\" \"goto\" \"if\" \"inline\" \"register\" \"restrict\" \"return\"
> > >   \"sizeof\" \"static\" \"struct\" \"switch\" \"typedef\" \"union\"
> > >   \"volatile\" \"while\"] @font-lock-keyword-face" "Debug the query with
> > >   `treesit-query-validate'")> 
> > > Any ideas or suggestions?  "virtual" is highlighted, though, so I
> > > guess this is a matter of suppressing the errors or something?
> > 
> > E.g., you can see in go-ts-mode.el how the code probes whether a
> > certain query is supported, and uses it only if it is.
> Sorry, I only tested with .cpp files.
> The rule had to be protected by (when (eq mode 'cpp)...
> 
> Now I have tested this with *.c and *.h as well, with old and new grammar.

Thanks, installed on master, and closing the bug.





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
  2024-06-22 17:59                 ` Vincenzo Pupillo
  2024-06-22 18:15                   ` Eli Zaretskii
@ 2024-06-22 18:15                   ` Vincenzo Pupillo
  2024-06-22 18:19                     ` Eli Zaretskii
  1 sibling, 1 reply; 16+ messages in thread
From: Vincenzo Pupillo @ 2024-06-22 18:15 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 71518, casouri

In data sabato 22 giugno 2024 19:59:42 CEST, Vincenzo Pupillo ha scritto:
> In data sabato 22 giugno 2024 19:03:43 CEST, Eli Zaretskii ha scritto:
> > > Cc: 71518@debbugs.gnu.org, casouri@gmail.com
> > > Date: Sat, 22 Jun 2024 19:56:34 +0300
> > > From: Eli Zaretskii <eliz@gnu.org>
> > > 
> > > Hmm... I still see an error message in *Messages* after installing
> > > 
> > > this (I have grammar library version 0.22.2):
> > >   Error during redisplay: (jit-lock-function 1) signaled
> > >   (treesit-query-error "Node type error at" 2 "(virtual)
> > >   @font-lock-keyword-face [\"auto\" \"_Atomic\" \"break\" \"case\"
> > >   \"const\" \"continue\" \"default\" \"do\" \"else\" \"enum\" \"extern\"
> > >   \"for\" \"goto\" \"if\" \"inline\" \"register\" \"restrict\"
> > >   \"return\"
> > >   \"sizeof\" \"static\" \"struct\" \"switch\" \"typedef\" \"union\"
> > >   \"volatile\" \"while\"] @font-lock-keyword-face" "Debug the query with
> > >   `treesit-query-validate'")>
> > > 
> > > Any ideas or suggestions?  "virtual" is highlighted, though, so I
> > > guess this is a matter of suppressing the errors or something?
> > 
> > E.g., you can see in go-ts-mode.el how the code probes whether a
> > certain query is supported, and uses it only if it is.
> 
> Sorry, I only tested with .cpp files.
> The rule had to be protected by (when (eq mode 'cpp)...
> 
> Now I have tested this with *.c and *.h as well, with old and new grammar.
> 
> Thanks
> Vincenzo
I forgot to add that I have another patch that tests the grammar, but it 
doesn't seem to help in this case. With both the old and the new grammar, the 
node is identified as (virtual "virtual").

Vincenzo








^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
  2024-06-22 18:15                   ` Vincenzo Pupillo
@ 2024-06-22 18:19                     ` Eli Zaretskii
  2024-06-22 23:18                       ` Yuan Fu
  0 siblings, 1 reply; 16+ messages in thread
From: Eli Zaretskii @ 2024-06-22 18:19 UTC (permalink / raw)
  To: Vincenzo Pupillo; +Cc: 71518, casouri

> From: Vincenzo Pupillo <v.pupillo@gmail.com>
> Cc: 71518@debbugs.gnu.org, casouri@gmail.com
> Date: Sat, 22 Jun 2024 20:15:39 +0200
> 
> I forgot to add that I have another patch that tests the grammar, but it 
> doesn't seem to help in this case. With both the old and the new grammar, the 
> node is identified as (virtual "virtual").

OK, thanks.





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode
  2024-06-22 18:19                     ` Eli Zaretskii
@ 2024-06-22 23:18                       ` Yuan Fu
  0 siblings, 0 replies; 16+ messages in thread
From: Yuan Fu @ 2024-06-22 23:18 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 71518, Vincenzo Pupillo



> On Jun 22, 2024, at 11:19 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
>> From: Vincenzo Pupillo <v.pupillo@gmail.com>
>> Cc: 71518@debbugs.gnu.org, casouri@gmail.com
>> Date: Sat, 22 Jun 2024 20:15:39 +0200
>> 
>> I forgot to add that I have another patch that tests the grammar, but it 
>> doesn't seem to help in this case. With both the old and the new grammar, the 
>> node is identified as (virtual "virtual").
> 
> OK, thanks.

Thanks to you both, I was a bit busy this week 😬

Yuan




^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-06-22 23:18 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-12 12:33 bug#71518: 30.0.50; Errors during redisplay with c++-ts-mode Eli Zaretskii
2024-06-12 13:53 ` Vincenzo Pupillo
2024-06-13  6:51   ` Yuan Fu
2024-06-13  8:24     ` Eli Zaretskii
2024-06-13  8:57     ` Vincenzo Pupillo
2024-06-22  8:26     ` Eli Zaretskii
2024-06-22 14:42       ` Vincenzo Pupillo
2024-06-22 15:57         ` Eli Zaretskii
2024-06-22 16:14           ` Vincenzo Pupillo
2024-06-22 16:56             ` Eli Zaretskii
2024-06-22 17:03               ` Eli Zaretskii
2024-06-22 17:59                 ` Vincenzo Pupillo
2024-06-22 18:15                   ` Eli Zaretskii
2024-06-22 18:15                   ` Vincenzo Pupillo
2024-06-22 18:19                     ` Eli Zaretskii
2024-06-22 23:18                       ` Yuan Fu

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).