X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fcross-misc.lisp;h=67e730b71e993f980d43b9ab9263f926493504e9;hb=230707c1899c1c008f7ce2ad97e2fd04849f7443;hp=e57a563018df7393084b30c15314aa64945ebc19;hpb=4898ef32c639b1c7f4ee13a5ba566ce6debd03e6;p=sbcl.git diff --git a/src/code/cross-misc.lisp b/src/code/cross-misc.lisp index e57a563..67e730b 100644 --- a/src/code/cross-misc.lisp +++ b/src/code/cross-misc.lisp @@ -37,13 +37,19 @@ ;;; CL:STREAM. (deftype ansi-stream () 'stream) -;;; In the target SBCL, the INSTANCE type refers to a base -;;; implementation for compound types. There's no way to express -;;; exactly that concept portably, but we can get essentially the same -;;; effect by testing for any of the standard types which would, in -;;; the target SBCL, be derived from INSTANCE: (deftype sb!kernel:instance () - '(or condition standard-object structure-object)) + '(or condition structure-object standard-object)) +(deftype sb!kernel:funcallable-instance () + (error "not clear how to represent FUNCALLABLE-INSTANCE type")) + +;;; In the target SBCL, the INSTANCE type refers to a base +;;; implementation for compound types with lowtag +;;; INSTANCE-POINTER-LOWTAG. There's no way to express exactly that +;;; concept portably, but we can get essentially the same effect by +;;; testing for any of the standard types which would, in the target +;;; SBCL, be derived from INSTANCE: +(defun %instancep (x) + (typep x '(or condition structure-object standard-object))) ;;; There aren't any FUNCALLABLE-INSTANCEs in the cross-compilation ;;; host Common Lisp. @@ -149,8 +155,8 @@ (declare (ignore kind thing format)) `(progn ,@body)) -(defun compiler-assert-symbol-home-package-unlocked (symbol control) - (declare (ignore control)) +(defun program-assert-symbol-home-package-unlocked (context symbol control) + (declare (ignore context control)) symbol) (defun assert-package-unlocked (package &optional control &rest args)