Function: org-persist-unregister

org-persist-unregister is a byte-compiled function defined in org-persist.el.gz.

Signature

(org-persist-unregister CONTAINER &optional ASSOCIATED &key REMOVE-RELATED)

Documentation

Unregister CONTAINER in ASSOCIATED to be persistent.

When ASSOCIATED is all, unregister CONTAINER everywhere. When REMOVE-RELATED is non-nil, remove all the containers stored with the CONTAINER as well.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-persist.el.gz
(cl-defun org-persist-unregister (container &optional associated &key remove-related)
  "Unregister CONTAINER in ASSOCIATED to be persistent.
When ASSOCIATED is `all', unregister CONTAINER everywhere.
When REMOVE-RELATED is non-nil, remove all the containers stored with
the CONTAINER as well."
  (unless org-persist--index (org-persist--load-index))
  (setq container (org-persist--normalize-container container))
  (if (eq associated 'all)
      (mapc (lambda (collection)
              (when (member container (plist-get collection :container))
                (org-persist-unregister container (plist-get collection :associated) :remove-related remove-related)))
            org-persist--index)
    (setq associated (org-persist--normalize-associated associated))
    (let ((collection (org-persist--find-index `(:container ,container :associated ,associated))))
      (when collection
        (if (or remove-related (= (length (plist-get collection :container)) 1))
            (org-persist--remove-from-index collection)
          (plist-put collection :container
                     (remove container (plist-get collection :container)))
          (org-persist--add-to-index collection))))))