diff lisp/post-gc.el @ 5292:e4305eb6fb8c

Merge some permissions corrections to trunk.
author Stephen J. Turnbull <stephen@xemacs.org>
date Mon, 18 Oct 2010 23:21:23 +0900
parents d27c1ee1943b
children b9167d522a9a
line wrap: on
line diff
--- a/lisp/post-gc.el	Mon Oct 18 23:03:27 2010 +0900
+++ b/lisp/post-gc.el	Mon Oct 18 23:21:23 2010 +0900
@@ -56,15 +56,8 @@
 
 (defun cleanup-simple-finalizers (alist)
   "Clean up `simple-finalizer-ephemerons'."
-  ;; We have to do this by hand because DELETE-IF isn't defined yet.
-  (let ((current simple-finalizer-ephemerons)
-	(prev nil))
-    (while (not (null current))
-      (if (not (ephemeron-ref (car current)))
-	  (if (null prev)
-	      (setq simple-finalizer-ephemerons (cdr current))
-	    (setcdr prev (cdr current)))
-	(setq prev current))
-      (setq current (cdr current)))))
+  (and simple-finalizer-ephemerons
+       (setq simple-finalizer-ephemerons
+	     (delete-if-not #'ephemeron-ref simple-finalizer-ephemerons))))
 
 (add-hook 'post-gc-hook 'cleanup-simple-finalizers)