Function: org-cite--insert-at-split
org-cite--insert-at-split is a byte-compiled function defined in
oc.el.gz.
Signature
(org-cite--insert-at-split S CITATION N REGEXP)
Documentation
Split string S and insert CITATION object between the two parts.
S is split at beginning of match group N upon matching REGEXP against it. This function assumes S precedes CITATION.
Source Code
;; Defined in /usr/src/emacs/lisp/org/oc.el.gz
(defun org-cite--insert-at-split (s citation n regexp)
"Split string S and insert CITATION object between the two parts.
S is split at beginning of match group N upon matching REGEXP against it.
This function assumes S precedes CITATION."
;; When extracting the citation, remove white spaces before it, but
;; preserve those after it.
(let ((post-blank (org-element-property :post-blank citation)))
(when (and post-blank (> post-blank 0))
(org-element-insert-before (make-string post-blank ?\s) citation)))
(org-element-insert-before
(org-element-put-property (org-element-extract-element citation)
:post-blank 0)
s)
(string-match regexp s)
(let* ((split (match-beginning n))
(first-part (substring s nil split))
;; Remove trailing white spaces as they are before the
;; citation.
(last-part
(replace-regexp-in-string (rx (1+ (any blank ?\n)) string-end)
""
(substring s split))))
(when (org-string-nw-p first-part)
(org-element-insert-before first-part citation))
(org-element-set-element s last-part)))