aboutsummaryrefslogtreecommitdiffstats
path: root/test/src
diff options
context:
space:
mode:
authorYuan Fu2024-09-15 00:24:03 -0700
committerYuan Fu2024-09-15 00:31:40 -0700
commit460b9d705ab482003fabe75b0fd1df223abe467c (patch)
treefa25d65ea42a6e5f48f7a5a32d5b95fb6e265fae /test/src
parent81347c1aaf25b27e78e8beee4bc818ad2c4e1b71 (diff)
downloademacs-460b9d705ab482003fabe75b0fd1df223abe467c.tar.gz
emacs-460b9d705ab482003fabe75b0fd1df223abe467c.zip
Fix treesit_sync_visible_region's range fixup code (bug#73264)
new_ranges_head | v ( )->( )->( )->( )->( ) ^ ^ | | | lisp_ranges (loop head) | prev_cons -> set cdr to nil to cut of the rest result: ( )->( ) * src/treesit.c (treesit_sync_visible_region): Cut off this cons and the rest, not set the current range's end to nil. * test/src/treesit-tests.el: (treesit-range-fixup-after-edit): Add tests for all cases.
Diffstat (limited to 'test/src')
-rw-r--r--test/src/treesit-tests.el32
1 files changed, 31 insertions, 1 deletions
diff --git a/test/src/treesit-tests.el b/test/src/treesit-tests.el
index 98aaeb62781..68ed6ca751f 100644
--- a/test/src/treesit-tests.el
+++ b/test/src/treesit-tests.el
@@ -709,7 +709,37 @@ visible_end.)"
709 '((1 . 7) (10 . 15)))) 709 '((1 . 7) (10 . 15))))
710 (narrow-to-region 5 13) 710 (narrow-to-region 5 13)
711 (should (equal (treesit-parser-included-ranges parser) 711 (should (equal (treesit-parser-included-ranges parser)
712 '((5 . 7) (10 . 13))))))) 712 '((5 . 7) (10 . 13))))
713
714 ;; Narrow in front.
715 (widen)
716 (treesit-parser-set-included-ranges parser '((4 . 17)))
717 ;; 11111111111111111111
718 ;; [ ]
719 ;; { } narrow
720 (narrow-to-region 1 8)
721 (should (equal (treesit-parser-included-ranges parser)
722 '((4 . 8))))
723
724 ;; Narrow in back.
725 (widen)
726 (treesit-parser-set-included-ranges parser '((4 . 17)))
727 ;; 11111111111111111111
728 ;; [ ]
729 ;; { } narrow
730 (narrow-to-region 15 20)
731 (should (equal (treesit-parser-included-ranges parser)
732 '((15 . 17))))
733
734 ;; No overlap
735 (widen)
736 (treesit-parser-set-included-ranges parser '((15 . 20)))
737 ;; 11111111111111111111
738 ;; [ ]
739 ;; { } narrow
740 (narrow-to-region 1 10)
741 (should (equal (treesit-parser-included-ranges parser)
742 nil)))))
713 743
714;;; Multiple language 744;;; Multiple language
715 745