Function: org-element-put-property--inliner
org-element-put-property--inliner is a function defined in
org-element-ast.el.gz.
Signature
(org-element-put-property--inliner INLINE--FORM NODE PROPERTY VALUE)
Source Code
;; Defined in /usr/src/emacs/lisp/org/org-element-ast.el.gz
;; Could not find source code, showing raw function object.
#[(inline--form node property value)
((ignore inline--form)
(catch 'inline--just-use
(let
((idx
(and
(or (macroexp-const-p property)
(eq (car-safe property) 'function))
(org-element--property-idx property))))
(if idx
(let*
((exp node)
(node
(if (macroexp-copyable-p exp) exp
(make-symbol "node")))
(body
(let*
((exp value)
(value
(if (macroexp-copyable-p exp) exp
(make-symbol "value")))
(body
(list 'if
(list 'org-element-type-p node
(list 'quote 'plain-text))
(list 'org-add-props node nil property
value)
(list 'let
(list
(list 'parray
(list 'or
(list
'org-element--parray
node)
(list
'org-element--put-parray
node))))
(list 'when 'parray
(list 'aset 'parray idx value))
node))))
(if (eq value exp) body
(macroexp-let* (list (list value exp)) body)))))
(if (eq node exp) body
(macroexp-let* (list (list node exp)) body)))
(let*
((exp node)
(node
(if (macroexp-copyable-p exp) exp (make-symbol "node")))
(body
(let*
((exp property)
(property
(if (macroexp-copyable-p exp) exp
(make-symbol "property")))
(body
(let*
((exp value)
(value
(if (macroexp-copyable-p exp) exp
(make-symbol "value")))
(body
(list 'let
(list
(list 'idx
(list
'org-element--property-idx
property)))
(list 'if
(list 'and 'idx
(list 'not
(list
'org-element-type-p
node
(list 'quote
'plain-text))))
(list 'when-let*
(list
(list 'parray
(list 'or
(list
'org-element--parray
node)
(list
'org-element--put-parray
node))))
(list 'aset 'parray 'idx
value))
(list 'pcase
(list 'org-element-type
node)
(list (list '\` nil) nil)
(list
(list '\` 'plain-text)
(list 'org-add-props
node nil property
value))
(list '_
(list 'setcar
(list 'cdr
node)
(list
'plist-put
(list 'nth 1
node)
property
value)))))
node)))
(if (eq value exp) body
(macroexp-let* (list (list value exp)) body)))))
(if (eq property exp) body
(macroexp-let* (list (list property exp)) body)))))
(if (eq node exp) body
(macroexp-let* (list (list node exp)) body)))))))
(t)]