X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ffdefinition.lisp;h=7f89e1c89f0243bec1ff5506b6e84e27239bd435;hb=4eb1a6d3ad2b7dcc19ac0ec979a1eb1eb049659a;hp=bcc073647ce1721bddf06d25aebf4b1ce7609d8f;hpb=3c65762b927af861c9c8bc416e4cbac9a14ec0c3;p=sbcl.git diff --git a/src/code/fdefinition.lisp b/src/code/fdefinition.lisp index bcc0736..7f89e1c 100644 --- a/src/code/fdefinition.lisp +++ b/src/code/fdefinition.lisp @@ -55,7 +55,7 @@ "Return the fdefn object for NAME. If it doesn't already exist and CREATE is non-NIL, create a new (unbound) one." (declare (values (or fdefn null))) - (unless (legal-function-name-p name) + (unless (legal-fun-name-p name) (error 'simple-type-error :datum name :expected-type '(or symbol list) @@ -218,7 +218,7 @@ ;;; Find the encapsulation info that has been closed over. (defun encapsulation-info (fun) (and (functionp fun) - (= (get-type fun) sb!vm:closure-header-widetag) + (= (widetag-of fun) sb!vm:closure-header-widetag) (find-if-in-closure #'encapsulation-info-p fun))) ;;; When removing an encapsulation, we must remember that @@ -285,12 +285,13 @@ ;;; (TRACE FOO) ;;; (FUNCALL 'FOO) ;;; (FUNCALL (FDEFINITION 'FOO)) -;;; What to do? ANSI says TRACE "Might change the definitions of the functions -;;; named by function-names." Might it be OK to just get punt all this -;;; encapsulation stuff and go back to a simple but correct implementation of -;;; TRACE? We'd lose the ability to redefine a TRACEd function and keep the -;;; trace in place, but that seems tolerable to me. (Is the wrapper stuff -;;; needed for anything else besides TRACE?) +;;; What to do? ANSI says TRACE "Might change the definitions of the +;;; functions named by function-names." Might it be OK to just get +;;; punt all this encapsulation stuff and go back to a simple but +;;; correct implementation of TRACE? We'd lose the ability to redefine +;;; a TRACEd function and keep the trace in place, but that seems +;;; tolerable to me. (Is the wrapper stuff needed for anything else +;;; besides TRACE?) ;;; ;;; The only problem I can see with not having a wrapper: If tracing ;;; EQ, EQL, EQUAL, or EQUALP causes its function address to change,