[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
feature/tree-sitter d729e3e3fc 19/26: * src/treesit.c (ts_check_range_ar
From: |
Yuan Fu |
Subject: |
feature/tree-sitter d729e3e3fc 19/26: * src/treesit.c (ts_check_range_argument): Check for point-min/max. |
Date: |
Thu, 16 Jun 2022 14:53:53 -0400 (EDT) |
branch: feature/tree-sitter
commit d729e3e3fcad4270f6da358b12ab8e4a52fdc204
Author: Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
Commit: Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
* src/treesit.c (ts_check_range_argument): Check for point-min/max.
---
src/treesit.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/treesit.c b/src/treesit.c
index dc64aef425..92692f550f 100644
--- a/src/treesit.c
+++ b/src/treesit.c
@@ -719,7 +719,11 @@ DEFUN ("treesit-parser-root-node",
static void
ts_check_range_argument (Lisp_Object ranges)
{
- EMACS_INT last_point = 1;
+ struct buffer *buffer = current_buffer;
+ ptrdiff_t point_min = BUF_BEGV (buffer);
+ ptrdiff_t point_max = BUF_ZV (buffer);
+ EMACS_INT last_point = point_min;
+
for (Lisp_Object tail = ranges;
!NILP (tail); tail = XCDR (tail))
{
@@ -730,11 +734,10 @@ ts_check_range_argument (Lisp_Object ranges)
CHECK_FIXNUM (XCDR (range));
EMACS_INT beg = XFIXNUM (XCAR (range));
EMACS_INT end = XFIXNUM (XCDR (range));
- /* TODO: Maybe we should check for point-min/max, too? */
- if (!(last_point <= beg && beg <= end))
+ if (!(last_point <= beg && beg <= end && end <= point_max))
xsignal2 (Qtreesit_range_invalid,
build_pure_c_string
- ("RANGE is either overlapping or out-of-order"),
+ ("RANGE is either overlapping or out-of-order or
out-of-range"),
ranges);
last_point = end;
}
- feature/tree-sitter e171ef933f 10/26: Support compiled queries in treesit-query-capture, (continued)
- feature/tree-sitter e171ef933f 10/26: Support compiled queries in treesit-query-capture, Yuan Fu, 2022/06/16
- feature/tree-sitter b3de8850e0 06/26: Use the up-only parameter in treesit navigation functions, Yuan Fu, 2022/06/16
- feature/tree-sitter 016e4ca7a7 12/26: ; * doc/lispref/parsing.texi: Minor fix-up., Yuan Fu, 2022/06/16
- feature/tree-sitter a7288594f4 14/26: Change treesit-check-query and mention it in documentation, Yuan Fu, 2022/06/16
- feature/tree-sitter 0332b8e2c5 21/26: ; * src/treesit.c (ts_check_buffer_size): Improve error message., Yuan Fu, 2022/06/16
- feature/tree-sitter c5b172ec58 03/26: * configure.ac (HAVE_TREE_SITTER): Not set TREE_SITTER_LIBS., Yuan Fu, 2022/06/16
- feature/tree-sitter bd1b27b7c7 23/26: ; Minor optimization in treesit range function, Yuan Fu, 2022/06/16
- feature/tree-sitter 33f7e10a29 26/26: Add treesit test for previous change, Yuan Fu, 2022/06/16
- feature/tree-sitter 184d212042 16/26: Merge branch 'feature/tree-sitter-depth-control' into feature/tree-sitter, Yuan Fu, 2022/06/16
- feature/tree-sitter b162faba0b 18/26: Fix compile warnings and errors in treesit.c, Yuan Fu, 2022/06/16
- feature/tree-sitter d729e3e3fc 19/26: * src/treesit.c (ts_check_range_argument): Check for point-min/max.,
Yuan Fu <=
- feature/tree-sitter 98bfb24081 17/26: Merge remote-tracking branch 'savannah/master' into feature/tree-sitter, Yuan Fu, 2022/06/16
- feature/tree-sitter 7cee82a91d 24/26: Fix treesit function ts_record_change and friends, Yuan Fu, 2022/06/16
- feature/tree-sitter d6b00f7ed9 20/26: ; * src/treesit.c (ts_read_buffer): Clarify comments., Yuan Fu, 2022/06/16
- feature/tree-sitter dd65d1c396 25/26: Consolidate treesit parser create functions, Yuan Fu, 2022/06/16
- feature/tree-sitter a4d7bcccba 22/26: ; * src/treesit.c: Add comment to explain design decisions., Yuan Fu, 2022/06/16