1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-01 11:14:55 +00:00

registry.el (prune-factor): New initialization parameter defaulting to 0.1.

(registry-prune-hard): Use it.
gnus-registry.el (gnus-registry-fixup-registry): Set prune-factor to 0.1 expicitly.
This commit is contained in:
Teodor Zlatanov 2011-05-13 04:12:37 +00:00 committed by Katsumi Yamaoka
parent f0dd243b58
commit 652aa46504
3 changed files with 22 additions and 4 deletions

View File

@ -1,3 +1,12 @@
2011-05-13 Teodor Zlatanov <tzz@lifelogs.com>
* registry.el (prune-factor): New initialization parameter defaulting
to 0.1.
(registry-prune-hard): Use it.
* gnus-registry.el (gnus-registry-fixup-registry): Set prune-factor to
0.1 expicitly.
2011-05-13 Glenn Morris <rgm@gnu.org>
* message.el (message-send-mail-with-sendmail): Assume sendmail-program

View File

@ -244,6 +244,8 @@ the Bit Bucket."
(oset db :max-hard
(or gnus-registry-max-entries
most-positive-fixnum))
(oset db :prune-factor
0.1)
(oset db :max-soft
(or gnus-registry-max-pruned-entries
most-positive-fixnum))

View File

@ -116,6 +116,12 @@
:type integer
:custom integer
:documentation "Prune as much as possible to get to this size.")
(prune-factor
:initarg :prune-factor
:initform 0.1
:type float
:custom float
:documentation "At the max-hard limit, prune size * this entries.")
(tracked :initarg :tracked
:initform nil
:type t
@ -357,11 +363,12 @@ Proposes only entries without the :precious keys."
(defmethod registry-prune-hard-candidates ((db registry-db))
"Collects pruning candidates from the registry-db object THIS.
Proposes any entries over the max-hard limit minus 10."
Proposes any entries over the max-hard limit minus size * prune-factor."
(let* ((data (oref db :data))
;; prune to 10 below the max-hard limit so we're not
;; pruning all the time
(limit (- (oref db :max-hard) 10))
;; prune to (size * prune-factor) below the max-hard limit so
;; we're not pruning all the time
(limit (max 0 (- (oref db :max-hard)
(* (registry-size db) (oref db :prune-factor)))))
(candidates (loop for k being the hash-keys of data
collect k)))
(list limit candidates))))