diff options
| author | Yuan Fu | 2025-03-11 01:34:06 -0700 |
|---|---|---|
| committer | Yuan Fu | 2025-03-11 01:35:48 -0700 |
| commit | abaff36c3c26850fe883d44fa8a3359a90322d06 (patch) | |
| tree | 2d9167ed08a78fa23c6f3395805fdca4ecb3030c | |
| parent | 0bcc67c8305aa649be54e036fbe475bb82ca3a8b (diff) | |
| download | emacs-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.el | 6 |
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 | ||
| 882 | BEG and END default to the beginning and end of the buffer's accessible | 882 | BEG and END default to the beginning and end of the buffer's accessible |
| 883 | portion. | 883 | portion. |
| @@ -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))) |