]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/treesit.el (treesit-up-list): Signal an error.
authorJuri Linkov <juri@linkov.net>
Tue, 15 Apr 2025 17:33:14 +0000 (20:33 +0300)
committerEshel Yaron <me@eshelyaron.com>
Wed, 16 Apr 2025 07:35:35 +0000 (09:35 +0200)
Signal 'scan-error' when called noninteractively (bug#77744).

(cherry picked from commit aa24b9c849d13aa63de3079672003fb760bf511f)

lisp/treesit.el

index 1b011d173b50c1603902f1328b2fbbbab376e17c..04faa03cdee40ada82c92a8143f1bd69e2db56e5 100644 (file)
@@ -3185,7 +3185,12 @@ ARG is described in the docstring of `up-list'."
               (goto-char (if (> arg 0)
                              (treesit-node-end parent)
                            (treesit-node-start parent))))
-            (user-error "At top level")))
+            (if no-syntax-crossing
+                ;; Assume called interactively; don't signal an error.
+                (user-error "At top level")
+              (signal 'scan-error
+                      (list (format-message "No more %S to move across" pred)
+                            (point) (point))))))
       (setq cnt (- cnt inc)))))
 
 (defun treesit-cycle-sexp-type ()