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 d89e9a7..72e3c13 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)