Function: org-cite--parse-as-plist
org-cite--parse-as-plist is a byte-compiled function defined in
oc.el.gz.
Signature
(org-cite--parse-as-plist S)
Documentation
Parse string S as a property list.
Values are always strings. Return nil if S is nil.
Source Code
;; Defined in /usr/src/emacs/lisp/org/oc.el.gz
(defun org-cite--parse-as-plist (s)
"Parse string S as a property list.
Values are always strings. Return nil if S is nil."
(cond
((null s) nil)
((stringp s)
(with-temp-buffer
(save-excursion (insert s))
(skip-chars-forward " \t")
(let ((results nil)
(value-flag nil))
(while (not (eobp))
(pcase (char-after)
(?:
(push (read (current-buffer)) results)
(setq value-flag t))
((guard (not value-flag))
(skip-chars-forward "^ \t"))
(?\"
(let ((origin (point)))
(condition-case _
(progn
(read (current-buffer))
(push (buffer-substring (1+ origin) (1- (point))) results))
(end-of-file
(goto-char origin)
(skip-chars-forward "^ \t")
(push (buffer-substring origin (point)) results)))
(setq value-flag nil)))
(_
(let ((origin (point)))
(skip-chars-forward "^ \t")
(push (buffer-substring origin (point)) results)
(setq value-flag nil))))
(skip-chars-forward " \t"))
(nreverse results))))
(t (error "Invalid argument type: %S" s))))