emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 9d410f8de6: (treesit-simple-indent-presets): Ensure 'and' works


From: Dmitry Gutov
Subject: emacs-29 9d410f8de6: (treesit-simple-indent-presets): Ensure 'and' works for anchors too
Date: Fri, 6 Jan 2023 20:29:49 -0500 (EST)

branch: emacs-29
commit 9d410f8de64e91d16999a9bb5dd884d6d06d22bd
Author: Dmitry Gutov <dgutov@yandex.ru>
Commit: Dmitry Gutov <dgutov@yandex.ru>

    (treesit-simple-indent-presets): Ensure 'and' works for anchors too
    
    * lisp/treesit.el (treesit-simple-indent-presets):
    Rewrite to return the last successful evaluation, not just t.
---
 lisp/treesit.el | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/lisp/treesit.el b/lisp/treesit.el
index 374c17c089..11a78bddcd 100644
--- a/lisp/treesit.el
+++ b/lisp/treesit.el
@@ -1179,10 +1179,12 @@ See `treesit-simple-indent-presets'.")
         ;; TODO: Document.
         (cons 'and (lambda (&rest fns)
                      (lambda (node parent bol &rest _)
-                       (not
-                        (seq-find
-                         (lambda (fn) (not (funcall fn node parent bol)))
-                         fns)))))
+                       (let (res)
+                         (catch 'break
+                           (dolist (fn fns)
+                             (setq res (funcall fn node parent bol))
+                             (unless res (throw 'break t))))
+                         res))))
         (cons 'or (lambda (&rest fns)
                     (lambda (node parent bol &rest _)
                       (seq-find



reply via email to

[Prev in Thread] Current Thread [Next in Thread]