chiark / gitweb /
Make type-expand-based code work on SBCL again.
authorRupert Swarbrick <rswarbrick@gmail.com>
Wed, 29 Feb 2012 17:40:24 +0000 (17:40 +0000)
committerRupert Swarbrick <rswarbrick@gmail.com>
Wed, 29 Feb 2012 17:40:24 +0000 (17:40 +0000)
See the (ancient) post at
http://permalink.gmane.org/gmane.lisp.clg.devel/427 for an
explanation.

gffi/interface.lisp

index d89e9a783dc291c40effa41004ff606ed7eb4c74..72e3c136b6c70b4d73ecb6869c54cb0f939c1f6a 100644 (file)
@@ -424,6 +424,12 @@   (deftype callback () 'symbol))
 
 ;;;; Type expansion
 
+;; A hack to make the TYPE-EXPAND code for SBCL work.
+#?+(pkg-config:sbcl>= 1 0 35 15)
+(sb-ext:without-package-locks
+  (setf (symbol-function 'sb-kernel::type-expand)
+        (lambda (form) (typexpand form))))
+
 (defun type-expand-1 (form)
   #+(or cmu sbcl)
   (let ((def (cond ((symbolp form)