emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/org 5e94d5cef6 026/101: org-element-map: Allow FUN to b


From: ELPA Syncer
Subject: [elpa] externals/org 5e94d5cef6 026/101: org-element-map: Allow FUN to be a lisp form
Date: Sat, 1 Jul 2023 09:59:01 -0400 (EDT)

branch: externals/org
commit 5e94d5cef609a61b8d2b1df45f16f35de0a05b08
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>

    org-element-map: Allow FUN to be a lisp form
    
    * lisp/org-element-ast.el (org-element-ast-map):
    * lisp/org-element.el (org-element-map): Allow FUN to be a lisp form,
    wrapping it into lambda.
---
 lisp/org-element-ast.el | 4 ++++
 lisp/org-element.el     | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/lisp/org-element-ast.el b/lisp/org-element-ast.el
index c47cdb6710..e550a0ed8e 100644
--- a/lisp/org-element-ast.el
+++ b/lisp/org-element-ast.el
@@ -829,6 +829,9 @@ It has to accept one argument: the node itself.
 
 When TYPES is t, call FUN for all the node types.
 
+FUN can also be a Lisp form.  The form will be evaluated as function
+with symbol `node' bound to the current node.
+
 When optional argument IGNORE is non-nil, it should be a list holding
 nodes to be skipped.  In that case, the listed nodes and their
 contents will be skipped.
@@ -864,6 +867,7 @@ Nil values returned from FUN do not appear in the results."
                     (_ (list types))))
           (no-recursion (if (listp no-recursion) no-recursion
                           (list no-recursion)))
+           (fun (if (functionp fun) fun `(lambda (node) ,fun)))
           --acc)
       (letrec ((--walk-tree
                (lambda (--data)
diff --git a/lisp/org-element.el b/lisp/org-element.el
index e7cd491867..248a01c855 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -4568,6 +4568,9 @@ one argument: the element or object itself.
 
 When TYPES is t, call FUN for all the elements and objects.
 
+FUN can also be a lisp form.  The form will be evaluated as function
+with symbol `node' bound to the current node.
+
 When optional argument INFO is non-nil, it should be a plist
 holding export options.  In that case, elements of the parse tree
 \\(compared with `eq') not exportable according to `:ignore-list'



reply via email to

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