From: Nikodemus S. <de...@us...> - 2008-10-18 10:28:11
|
Update of /cvsroot/sbcl/sbcl/src/compiler In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv27120/src/compiler Modified Files: ir1tran-lambda.lisp Log Message: 1.0.21.27: no more &OPTIONAL-DISPATCH debug names * IR1-CONVERT-HAIRY-LAMBDA used to give optional dispatch entry points `(&OPTIONAL-DISPATCH ,(OR <DEBUG-NAME> <SOURCE-NAME>)) as debug-name. Don't do that -- just use the provided DEBUG-NAME directly (it's NIL in the cases we most care about, leaving the functional with just a source-name). This fixes two issues: 1. Functions with non-required arguments didn't get the derived type information saved in the infodb. FINALIZE-XEP-DEFINITION didn't set the INFO entries properly because (eq (leaf-source-name leaf) (functional-debug-name leaf)) was false -- it's true only if there is no separate debug-name. 2. Functions with non-required arguments printed as #<FUNCTION (SB-C::&OPTIONAL-DISPATCH READ-LINE) {10AD8345}> because non-NIL debug-name is preferred over the source-name. * Test-cases. Index: ir1tran-lambda.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/ir1tran-lambda.lisp,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- ir1tran-lambda.lisp 17 May 2008 11:02:29 -0000 1.42 +++ ir1tran-lambda.lisp 18 Oct 2008 10:27:58 -0000 1.43 @@ -868,8 +868,7 @@ :allowp allowp :keyp keyp :%source-name source-name - :%debug-name (debug-name '&optional-dispatch - (or debug-name source-name)) + :%debug-name debug-name :plist `(:ir1-environment (,*lexenv* ,*current-path*)))) |