[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 2fa6ccab01 2/3: ; Fix treesit--children-covering-range
From: |
Yuan Fu |
Subject: |
master 2fa6ccab01 2/3: ; Fix treesit--children-covering-range |
Date: |
Tue, 22 Nov 2022 15:38:35 -0500 (EST) |
branch: master
commit 2fa6ccab01b80ee3fcc78fe35a0061cc11983e1c
Author: Yuan Fu <casouri@gmail.com>
Commit: Yuan Fu <casouri@gmail.com>
; Fix treesit--children-covering-range
* lisp/treesit.el (treesit--children-covering-range): Handle the case
when NODE doesn't have children, and when CHILD is nil.
---
lisp/treesit.el | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/lisp/treesit.el b/lisp/treesit.el
index 75e859f13f..88f94b8dec 100644
--- a/lisp/treesit.el
+++ b/lisp/treesit.el
@@ -793,12 +793,14 @@ instead."
(defun treesit--children-covering-range (node start end)
"Return a list of children of NODE covering a range.
The range is between START and END."
- (let* ((child (treesit-node-first-child-for-pos node start))
- (result (list child)))
- (while (and (< (treesit-node-end child) end)
- (setq child (treesit-node-next-sibling child)))
- (push child result))
- (nreverse result)))
+ (if-let* ((child (treesit-node-first-child-for-pos node start))
+ (result (list child)))
+ (progn
+ (while (and child (< (treesit-node-end child) end)
+ (setq child (treesit-node-next-sibling child)))
+ (push child result))
+ (nreverse result))
+ (list node)))
(defun treesit--children-covering-range-recurse (node start end threshold)
"Return a list of children of NODE covering a range.