emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Some issues with the tree-sitter branch


From: Po Lu
Subject: Re: Some issues with the tree-sitter branch
Date: Mon, 17 Oct 2022 13:37:39 +0800
User-agent: Gnus/5.13 (Gnus v5.13)

Yuan Fu <casouri@gmail.com> writes:

> I think you meant the lack of a range check? Like mentioned here:
>
> +  /* FIXME: We should signal an error below if START_BYTE
> +     etc. overflow the 32-bit unsigned data type.  */
>
> I added buffer size check at parser creation time, and used casts to
> uint32_t liberally, assuming the values never overflows and, so we
> don’t need to handle the error at a million places. But I should have
> added checks in ts_after_chang and other places where buffer size
> could change. I’ll add checks in ts_after_change and other places, and
> if the argumetns overflows uint32, it will set a flag (say,
> buffer_too_large) in the parser object, and next time any lisp
> function tries to use that parser, an buffer-too-large error will be
> signaled. WDYT?

Isn't there a way to make tree-sitter parse buffers larger than
uint32_t?  AFAIK, our buffers can be EMACS_INT large (especially with
long log files), and tree-sitter should be fast enough to parse them
incrementally?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]