branch: externals/org
commit 043e647e4e727266f40fe70423112abc380df1df
Author: Ihor Radchenko <[email protected]>
Commit: Ihor Radchenko <[email protected]>

    lisp/org-element-ast.el: Fix irregularities when resolving deferred 
properties
    
    * lisp/org-element-ast.el: `Mention org-element-properties-resolve' in
    the top comment.
    (org-element-properties-resolve): Resolve standard properties as well.
    (org-element-copy): Undefer everything.
    
    Reported-by: Norman Walsh
    Link: https://so.nwalsh.com/2025/09/02-org-to-xml
---
 lisp/org-element-ast.el | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lisp/org-element-ast.el b/lisp/org-element-ast.el
index e930dd6ddb..7259cf9cce 100644
--- a/lisp/org-element-ast.el
+++ b/lisp/org-element-ast.el
@@ -137,6 +137,9 @@
 ;; properties.  This is useful to generate pure (in functional sense)
 ;; AST.
 ;;
+;; To force resolving deferred properties, you can use
+;; `org-element-properties-resolve'.
+;;
 ;; The properties listed in `org-element--standard-properties', except
 ;; `:deferred' and `:parent' are never considered to have deferred value.
 ;; This constraint makes org-element API significantly faster.
@@ -646,7 +649,7 @@ Return the modified NODE."
    (if force-undefer
        #'org-element--deferred-resolve-force-rec
      #'org-element--deferred-resolve-rec)
-   node 'set 'no-standard)
+   node 'set)
   node)
 
 (defsubst org-element-properties-mapc (fun node &optional undefer)
@@ -831,6 +834,7 @@ When DATUM is `plain-text', all the properties are removed."
            (while contents
              (setcar contents (org-element-copy (car contents) t))
              (setq contents (cdr contents)))))
+       (org-element-resolve-deferred node-copy 'force)
        node-copy))))
 
 ;;;; AST queries

Reply via email to