aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuan Fu2025-03-11 01:34:06 -0700
committerYuan Fu2025-03-11 01:35:48 -0700
commitabaff36c3c26850fe883d44fa8a3359a90322d06 (patch)
tree2d9167ed08a78fa23c6f3395805fdca4ecb3030c
parent0bcc67c8305aa649be54e036fbe475bb82ca3a8b (diff)
downloademacs-abaff36c3c26850fe883d44fa8a3359a90322d06.tar.gz
emacs-abaff36c3c26850fe883d44fa8a3359a90322d06.zip
Make sure treesit-local-parsers-on works when BEG = END (bug#76398)
(Unrelated to the topic of the bug, but mentioned in the thread.) * lisp/treesit.el (treesit-local-parsers-on): Use overlays-at when BEG = END.
-rw-r--r--lisp/treesit.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/lisp/treesit.el b/lisp/treesit.el
index 2d8eebbbff5..2ee34323ce7 100644
--- a/lisp/treesit.el
+++ b/lisp/treesit.el
@@ -877,7 +877,7 @@ PARSER."
877 (nreverse res))) 877 (nreverse res)))
878 878
879(defun treesit-local-parsers-on (&optional beg end language with-host) 879(defun treesit-local-parsers-on (&optional beg end language with-host)
880 "Return all the local parsers between BEG and END. 880 "Return all the local parsers that covers the region between BEG and END.
881 881
882BEG and END default to the beginning and end of the buffer's accessible 882BEG and END default to the beginning and end of the buffer's accessible
883portion. 883portion.
@@ -892,7 +892,9 @@ PARSER."
892 (let ((res nil)) 892 (let ((res nil))
893 ;; Refer to (ref:local-parser-overlay) for more explanation of local 893 ;; Refer to (ref:local-parser-overlay) for more explanation of local
894 ;; parser overlays. 894 ;; parser overlays.
895 (dolist (ov (overlays-in (or beg (point-min)) (or end (point-max)))) 895 (dolist (ov (if (eq beg end)
896 (overlays-at beg)
897 (overlays-in (or beg (point-min)) (or end (point-max)))))
896 (let ((parser (overlay-get ov 'treesit-parser)) 898 (let ((parser (overlay-get ov 'treesit-parser))
897 (host-parser (overlay-get ov 'treesit-host-parser)) 899 (host-parser (overlay-get ov 'treesit-host-parser))
898 (local-p (overlay-get ov 'treesit-parser-local-p))) 900 (local-p (overlay-get ov 'treesit-parser-local-p)))