diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el index f306889a7f..72f5938944 100644 --- a/lisp/gnus/gnus-registry.el +++ b/lisp/gnus/gnus-registry.el @@ -234,6 +234,14 @@ gnus-registry-max-entries :type '(radio (const :format "Unlimited " nil) (integer :format "Maximum number: %v"))) +(defcustom gnus-registry-only-precious-p nil + "When non-nil, only save entries with a \"precious\" key. +Entries are still created when entering a Summary buffer, but +non-precious entries are deleted when exiting the buffer. See +`gnus-registry-extra-entries-precious' for the meaning of +\"precious\"." + :type 'boolean) + (defcustom gnus-registry-prune-factor 0.1 "When pruning, try to prune back to this factor less than the maximum size. @@ -839,7 +847,8 @@ gnus-registry-find-keywords (defun gnus-registry-register-message-ids () "Register the Message-ID of every article in the group." - (unless (gnus-parameter-registry-ignore gnus-newsgroup-name) + (unless (or (gnus-parameter-registry-ignore gnus-newsgroup-name) + gnus-registry-only-precious-p) (dolist (article gnus-newsgroup-articles) (let* ((id (gnus-registry-fetch-message-id-fast article)) (groups (gnus-registry-get-id-key id 'group)))