Function: org-texinfo--separate-definitions

org-texinfo--separate-definitions is a byte-compiled function defined in ox-texinfo.el.gz.

Signature

(org-texinfo--separate-definitions TREE BACKEND INFO)

Documentation

Split up descriptive lists in TREE that contain Texinfo definition commands.

INFO is a plist used as a communication channel. Return new tree.

Source Code

;; Defined in /usr/src/emacs/lisp/org/ox-texinfo.el.gz
(defun org-texinfo--separate-definitions (tree _backend info)
  "Split up descriptive lists in TREE that contain Texinfo definition commands.
INFO is a plist used as a communication channel.
Return new tree."
  (org-element-map tree 'plain-list
    (lambda (plain-list)
      (when (eq (org-element-property :type plain-list) 'descriptive)
	(let ((contents (org-element-contents plain-list))
	      (items nil))
	  (dolist (item contents)
	    (pcase-let ((`(,cmd . ,args) (org-texinfo--match-definition item)))
	      (cond
	       (cmd
		(when items
		  (org-texinfo--split-plain-list plain-list (nreverse items))
		  (setq items nil))
		(org-texinfo--split-definition plain-list item cmd args))
	       (t
		(when args
		  (org-texinfo--massage-key-item plain-list item args info))
		(push item items)))))
	  (unless (org-element-contents plain-list)
	    (org-element-extract plain-list)))))
    info)
  tree)