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.
This commit is contained in:
Ihor Radchenko 2023-04-28 15:04:42 +02:00
parent 71e2ea5698
commit 5e94d5cef6
No known key found for this signature in database
GPG Key ID: 6470762A7DA11D8B
2 changed files with 7 additions and 0 deletions

View File

@ -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)

View File

@ -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'