unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Mickey Petersen <mickey@masteringemacs.org>
Cc: casouri@gmail.com, 61235@debbugs.gnu.org
Subject: bug#61235: 30.0.50; tree-sit: `treesit-node-check' lacks a way to tell if a node belongs to a deleted parser
Date: Mon, 06 Feb 2023 15:19:23 +0200	[thread overview]
Message-ID: <83a61rq6ck.fsf@gnu.org> (raw)
In-Reply-To: <87o7q7dl4o.fsf@masteringemacs.org> (message from Mickey Petersen on Mon, 06 Feb 2023 12:35:20 +0000)

> From: Mickey Petersen <mickey@masteringemacs.org>
> Cc: Yuan Fu <casouri@gmail.com>, 61235@debbugs.gnu.org
> Date: Mon, 06 Feb 2023 12:35:20 +0000
> 
> > I'm not sure I understand the need.  AFAIU, a parser is deleted only
> > if we call treesit-parser-delete; are we saying that a Lisp program
> > doesn't know that it deleted a parser?  What exactly is the practical
> > situation where this problem happens, and why?
> >
> > Frankly, I don't think we should at this stage add APIs without a very
> > good reason.  We should instead collect experience, both from users
> > and from Lisp programs, and analyze them before deciding whether more
> > APIs are necessary.
> >
> 
> Because node references are retained even after a parser is deleted.
> 
> Retrieving a node; somehow deleting the parser (maybe you closed the
> buffer, or you were doing some off-hand parsing); and then doing
> _anything_ with the aforementioned node yields an error for which
> there is no way to test for.
> 
> This is particularly the case when you mix and match parsers in the
> same buffer.

I'm asking why the Lisp program cannot track the parsers its uses and
deletes, and instead expects the core to do the janitor's job for it.





  reply	other threads:[~2023-02-06 13:19 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-02 19:46 bug#61235: 30.0.50; tree-sit: `treesit-node-check' lacks a way to tell if a node belongs to a deleted parser Mickey Petersen
2023-02-06  4:24 ` Yuan Fu
2023-02-06 12:34   ` Eli Zaretskii
2023-02-06 12:35     ` Mickey Petersen
2023-02-06 13:19       ` Eli Zaretskii [this message]
2023-02-06 13:19         ` Mickey Petersen
2023-02-06 14:05           ` Eli Zaretskii
2023-02-06 14:08             ` Mickey Petersen
2023-02-06 15:21               ` Eli Zaretskii
2023-02-07  3:00                 ` Yuan Fu
2023-02-07  3:31                   ` Eli Zaretskii
2023-02-07  4:55                     ` Yuan Fu
2023-02-07 12:24                       ` Eli Zaretskii
2023-02-08  3:54                         ` Yuan Fu
2023-02-07  8:03                   ` Mickey Petersen
2023-02-08  3:52                     ` Yuan Fu
2023-02-08  8:41                       ` Mickey Petersen
2023-02-10  1:28 ` Yuan Fu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83a61rq6ck.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=61235@debbugs.gnu.org \
    --cc=casouri@gmail.com \
    --cc=mickey@masteringemacs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).