[slime-devel] sbcl-mt on Debian unstable
Thomas F. Burdick
tfb at OCF.Berkeley.EDU
Wed Jun 23 01:29:33 UTC 2004
Helmut Eller writes:
> Friedrich Dominicus <frido at q-software-solutions.com> writes:
>
> > I used the newest sbcl-mt deb package which is:
> > sbcl-mt_0.8.28+really.0.8.10.48-1_i386.deb
>
> Has this version a sb-int:debootstrap-package function and a
> sb-int:bootstrap-package-not-found condition type? That's needed with
> SLIME's CVS version.
>
> You can downgrade SLIME to the FAIRLY-STABLE, if you don't want
> upgrade your SBCL .
Since it looks like I'm not the only one who'd like to use the most
recent SLIME with a fairly recent SBCL (like 0.8.8), here's a patch to
make SLIME use the debootstrapping facilities only if they're present:
--- ChangeLog.~1.417.~ Tue Jun 22 17:43:31 2004
+++ ChangeLog Tue Jun 22 18:20:05 2004
@@ -1,3 +1,10 @@
+2004-06-22 Thomas F. Burdick <tfb at OCF.Berkeley.EDU>
+
+ * swank-sbcl.lisp (call-with-syntax-hooks, with-debootstrapping):
+ Preserve compatability with fairly recent SBCLs by checking for
+ the presense of the debootstrapping facilities at macroexpansion
+ time.
+
2004-06-21 Luke Gorrie <luke at bluetail.com>
* swank-loader.lisp (*lisp-name*): Add version number to
--- swank-sbcl.lisp.~1.91.~ Tue Jun 22 17:43:32 2004
+++ swank-sbcl.lisp Tue Jun 22 18:06:23 2004
@@ -704,12 +704,17 @@ (defun sbcl-package-p (package)
(defvar *debootstrap-packages* t)
+(defmacro with-debootstrapping (&body body)
+ (let ((not-found (find-symbol "BOOTSTRAP-PACKAGE-NOT-FOUND" "SB-INT"))
+ (debootstrap (find-symbol "DEBOOTSTRAP-PACKAGE" "SB-INT")))
+ (if (and not-found debootstrap)
+ `(handler-bind ((,not-found #',debootstrap)) , at body)
+ `(progn , at body))))
+
(defimplementation call-with-syntax-hooks (fn)
(cond ((and *debootstrap-packages*
(sbcl-package-p *package*))
- (handler-bind ((sb-int:bootstrap-package-not-found
- #'sb-int:debootstrap-package))
- (funcall fn)))
+ (with-debootstrapping (funcall fn)))
(t
(funcall fn))))
More information about the slime-devel
mailing list