]> git.eshelyaron.com Git - emacs.git/commitdiff
; Handle nil ARG in treesit-beginning/end-of-defun
authorYuan Fu <casouri@gmail.com>
Fri, 16 Dec 2022 05:23:20 +0000 (21:23 -0800)
committerYuan Fu <casouri@gmail.com>
Fri, 16 Dec 2022 22:53:45 +0000 (14:53 -0800)
* lisp/treesit.el (treesit-beginning-of-defun)
(treesit-end-of-defun): Handle nil ARG.

lisp/treesit.el

index 74476f1861932b530018882beab17d8181716aa9..a5eda436c8906c2f828c936f7fc2549a9eaed427 100644 (file)
@@ -1635,7 +1635,8 @@ This is a tree-sitter equivalent of `beginning-of-defun'.
 Behavior of this function depends on `treesit-defun-type-regexp'
 and `treesit-defun-skipper'."
   (interactive "^p")
-  (when-let ((dest (treesit--navigate-defun (point) (- arg) 'beg)))
+  (when-let* ((arg (or arg 1))
+              (dest (treesit--navigate-defun (point) (- arg) 'beg)))
     (goto-char dest)
     (when treesit-defun-skipper
       (funcall treesit-defun-skipper))
@@ -1651,7 +1652,8 @@ This is a tree-sitter equivalent of `end-of-defun'.  Behavior of
 this function depends on `treesit-defun-type-regexp' and
 `treesit-defun-skipper'."
   (interactive "^p\nd")
-  (when-let ((dest (treesit--navigate-defun (point) arg 'end)))
+  (when-let* ((arg (or arg 1))
+              (dest (treesit--navigate-defun (point) arg 'end)))
     (goto-char dest)
     (when treesit-defun-skipper
       (funcall treesit-defun-skipper))))