chiark / gitweb /
Made WITH-GC-DISABLED just a wrapper for internal CMUCL/SBCL macros
authorespen <espen>
Sun, 17 Apr 2005 21:38:15 +0000 (21:38 +0000)
committerespen <espen>
Sun, 17 Apr 2005 21:38:15 +0000 (21:38 +0000)
glib/utils.lisp

index 896a9eea3aa333c01a88b705faf91ec4fab3c311..7cb0ba619bc051e787467eb38541c65e18b17661 100644 (file)
@@ -15,7 +15,7 @@
 ;; License along with this library; if not, write to the Free Software
 ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-;; $Id: utils.lisp,v 1.3 2005/02/03 23:09:05 espen Exp $
+;; $Id: utils.lisp,v 1.4 2005/04/17 21:38:15 espen Exp $
 
 
 (in-package "GLIB")
@@ -45,15 +45,8 @@ (defun type-expand-to (type form)
     (expand form)))
 
 (defmacro with-gc-disabled (&body body)
-  (let ((gc-inhibit (make-symbol "GC-INHIBIT")))
-    `(progn
-       (let ((,gc-inhibit #+cmu lisp::*gc-inhibit* 
-                         #+sbcl sb-impl::*gc-inhibit*))
-        (gc-off)
-                (unwind-protect
-            ,@body
-          (unless ,gc-inhibit
-            (gc-on)))))))
+  #+cmu`(system:without-gcing ,@body)
+  #+sbcl`(sb-impl::without-gcing ,@body))
 
 (defun mklist (obj)
   (if (and obj (atom obj)) (list obj) obj))