[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
emacs-29 706ed85285: Avoid assertion violations in treesit.c with --enab
From: |
Eli Zaretskii |
Subject: |
emacs-29 706ed85285: Avoid assertion violations in treesit.c with --enable-checking |
Date: |
Thu, 29 Dec 2022 06:52:52 -0500 (EST) |
branch: emacs-29
commit 706ed85285515e7047e16608815c1d02d4907b07
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>
Avoid assertion violations in treesit.c with --enable-checking
* src/treesit.c (Ftreesit_node_first_child_for_pos)
(Ftreesit_node_descendant_for_range): Check validity of buffer
positions before converting them to byte-positions, to avoid
assertion violations in buf_charpos_to_bytepos.
---
src/treesit.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/treesit.c b/src/treesit.c
index 6570ada1d9..eaa563a54c 100644
--- a/src/treesit.c
+++ b/src/treesit.c
@@ -2070,12 +2070,11 @@ Note that this function returns an immediate child, not
the smallest
struct buffer *buf = XBUFFER (XTS_PARSER (XTS_NODE (node)->parser)->buffer);
ptrdiff_t visible_beg = XTS_PARSER (XTS_NODE (node)->parser)->visible_beg;
- ptrdiff_t byte_pos = buf_charpos_to_bytepos (buf, XFIXNUM (pos));
treesit_check_position (pos, buf);
-
treesit_initialize ();
+ ptrdiff_t byte_pos = buf_charpos_to_bytepos (buf, XFIXNUM (pos));
TSNode treesit_node = XTS_NODE (node)->node;
TSNode child;
if (NILP (named))
@@ -2106,14 +2105,14 @@ If NODE is nil, return nil. */)
struct buffer *buf = XBUFFER (XTS_PARSER (XTS_NODE (node)->parser)->buffer);
ptrdiff_t visible_beg = XTS_PARSER (XTS_NODE (node)->parser)->visible_beg;
- ptrdiff_t byte_beg = buf_charpos_to_bytepos (buf, XFIXNUM (beg));
- ptrdiff_t byte_end = buf_charpos_to_bytepos (buf, XFIXNUM (end));
treesit_check_position (beg, buf);
treesit_check_position (end, buf);
treesit_initialize ();
+ ptrdiff_t byte_beg = buf_charpos_to_bytepos (buf, XFIXNUM (beg));
+ ptrdiff_t byte_end = buf_charpos_to_bytepos (buf, XFIXNUM (end));
TSNode treesit_node = XTS_NODE (node)->node;
TSNode child;
if (NILP (named))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- emacs-29 706ed85285: Avoid assertion violations in treesit.c with --enable-checking,
Eli Zaretskii <=