From e1b96602fbd4f756acc5e884e0ff3c3e0c81bd04 Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Sun, 19 Feb 2006 19:10:33 +0000 Subject: [PATCH] Fix for SBCL >= 0.9.8 Organization: Straylight/Edgeware From: espen --- glib/proxy.lisp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/glib/proxy.lisp b/glib/proxy.lisp index 0d6939e..4cf58a2 100644 --- a/glib/proxy.lisp +++ b/glib/proxy.lisp @@ -20,7 +20,7 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: proxy.lisp,v 1.33 2006-02-15 09:45:41 espen Exp $ +;; $Id: proxy.lisp,v 1.34 2006-02-19 19:10:33 espen Exp $ (in-package "GLIB") @@ -205,6 +205,10 @@ (defmethod compute-effective-slot-definition-initargs ((class virtual-slots-clas (let ((boundp (most-specific-slot-value direct-slotds 'boundp))) (unless (eq boundp *unbound-marker*) (setf (getf initargs :boundp) boundp))) + ;; Need this to prevent type expansion in SBCL >= 0.9.8 + (let ((type (most-specific-slot-value direct-slotds 'type))) + (unless (eq type *unbound-marker*) + (setf (getf initargs :type) type))) (nconc initargs (call-next-method)))) (direct-special-slot-definition (append '(:special t) (call-next-method))) -- [mdw]