Function: org-list--to-generic-plain-list

org-list--to-generic-plain-list is a byte-compiled function defined in org-list.el.gz.

Signature

(org-list--to-generic-plain-list PARAMS)

Documentation

Return a transcoder for plain-list elements.

PARAMS is a plist used to tweak the behavior of the transcoder.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-list.el.gz
(defun org-list--to-generic-plain-list (params)
  "Return a transcoder for `plain-list' elements.
PARAMS is a plist used to tweak the behavior of the transcoder."
  (let ((ustart (plist-get params :ustart))
	(uend (plist-get params :uend))
	(ostart (plist-get params :ostart))
	(oend (plist-get params :oend))
	(dstart (plist-get params :dstart))
	(dend (plist-get params :dend))
	(splice (plist-get params :splice))
	(backend (plist-get params :backend)))
    (lambda (plain-list contents info)
      (let* ((type (org-element-property :type plain-list))
	     (depth (org-list--depth plain-list))
	     (start (and (not splice)
			 (org-list--generic-eval
			  (pcase type
			    (`ordered ostart)
			    (`unordered ustart)
			    (_ dstart))
			  depth)))
	     (end (and (not splice)
		       (org-list--generic-eval
			(pcase type
			  (`ordered oend)
			  (`unordered uend)
			  (_ dend))
			depth))))
	;; Make sure trailing newlines in END appear in the output by
	;; setting `:post-blank' property to their number.
	(when end
	  (org-element-put-property
	   plain-list :post-blank (org-list--trailing-newlines end)))
	;; Build output.
	(concat (and start (concat start "\n"))
		(if (or start end splice (not backend))
		    contents
		  (org-export-with-backend backend plain-list contents info))
		end)))))