Fix registry pruning routine
authorEric Abrahamsen <eric@ericabrahamsen.net>
Mon, 30 Mar 2015 07:12:40 +0000 (15:12 +0800)
committerEric Abrahamsen <eric@ericabrahamsen.net>
Wed, 1 Apr 2015 02:47:41 +0000 (10:47 +0800)
* lisp/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.

* lisp/ChangeLog:  Log.

lisp/ChangeLog
lisp/registry.el

index 77573c6..7df3176 100644 (file)
@@ -1,3 +1,9 @@
+2015-04-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       * lisp/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  <ueno@gnu.org>
 
        * plstore.el (plstore--decrypt): Clear entry in
index c8d7d85..44c3358 100644 (file)
@@ -361,11 +361,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