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