Function: org-persist--merge-index
org-persist--merge-index is a byte-compiled function defined in
org-persist.el.gz.
Signature
(org-persist--merge-index BASE OTHER)
Documentation
Attempt to merge new index items in OTHER into BASE.
Items with different details are considered too difficult, and skipped.
Source Code
;; Defined in /usr/src/emacs/lisp/org/org-persist.el.gz
(defun org-persist--merge-index (base other)
"Attempt to merge new index items in OTHER into BASE.
Items with different details are considered too difficult, and skipped."
(if other
(if (not base) other
(let ((new (cl-set-difference other base :key #'org-persist--find-index))
(base-files (mapcar (lambda (s) (plist-get s :persist-file)) base))
(combined (reverse base)))
(dolist (item (nreverse new))
(unless (or (memq 'index (mapcar #'car (plist-get item :container)))
(not (file-exists-p
(org-file-name-concat org-persist-directory
(plist-get item :persist-file))))
(member (plist-get item :persist-file) base-files))
(push item combined)))
(nreverse combined)))
base))