X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Finfo-functions.lisp;h=66a834777b7bc931b7cc8e38fb6f381cec8ecb33;hb=f17811c866c0412da17d3ee94f11cf38783301f7;hp=2a644819eb94569da5485e508bb1c048695e481b;hpb=cea4896b2482b7b2b429c1631d774b4cfbc0efba;p=sbcl.git diff --git a/src/compiler/info-functions.lisp b/src/compiler/info-functions.lisp index 2a64481..66a8347 100644 --- a/src/compiler/info-functions.lisp +++ b/src/compiler/info-functions.lisp @@ -69,6 +69,15 @@ (frob :source-transform) (frob :assumed-type))) (values)) + +;;; part of what happens with DEFUN, also with some PCL stuff: +;;; Make NAME known to be a function definition. +(defun become-defined-function-name (name) + (proclaim-as-function-name name) + (when (eq (info :function :where-from name) :assumed) + (setf (info :function :where-from name) :defined) + (if (info :function :assumed-type name) + (setf (info :function :assumed-type name) nil)))) ;;;; ANSI Common Lisp functions which are defined in terms of the info ;;;; database