From 5ba4fbd9e3cc2fc31e5ec3ae22f1695800b86d21 Mon Sep 17 00:00:00 2001 From: Eric Abrahamsen Date: Wed, 1 Apr 2015 04:55:34 +0000 Subject: [PATCH] lisp/gnus/registry.el (registry-prune): Fix registry pruning routine --- lisp/gnus/ChangeLog | 6 ++++++ lisp/gnus/registry.el | 9 +++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 5b10d45e814..95ead23cb51 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,9 @@ +2015-04-01 Eric Abrahamsen + + * registry.el (registry-prune): Re-use `registry-full' in + `registry-prune'. It's a bit of redundant work, but safer. + Also ensure that target-size is an integer. + 2015-03-31 Daiki Ueno * plstore.el (plstore--decrypt): Clear entry in diff --git a/lisp/gnus/registry.el b/lisp/gnus/registry.el index e4ba0bc547f..96a89fca1b7 100644 --- a/lisp/gnus/registry.el +++ b/lisp/gnus/registry.el @@ -341,11 +341,12 @@ from the front of the list are deleted first. Returns the number of deleted entries." (let ((size (registry-size db)) - (target-size (- (oref db max-size) - (* (oref db max-size) - (oref db prune-factor)))) + (target-size + (floor (- (oref db max-size) + (* (oref db max-size) + (oref db prune-factor))))) candidates) - (if (> size (oref db max-size)) + (if (registry-full db) (progn (setq candidates (registry-collect-prune-candidates -- 2.39.5