From: Christophe R. <cr...@us...> - 2003-01-27 21:41:59
|
Update of /cvsroot/sbcl/sbcl/src/code In directory sc8-pr-cvs1:/tmp/cvs-serv13046/src/code Modified Files: defboot.lisp target-misc.lisp Log Message: 0.7.12.7: Fix bug 228, by allowing pseudoLAMBDA-expressions to be compiled by FUNCTION and COMPILE: ... define IR1-CONVERT-LAMBDALIKE to massage the pseudolambda into a lambda; ... define SB-INT:NAMED-LAMBDA and SB-KERNEL:LAMBDA-WITH-LEXENV macros analogous to CL:LAMBDA; ... various bits of commentary. This change also has the effect of quieting the compiler when compiling defmethod forms with arguments naming classes and a CALL-NEXT-METHOD in the body. Index: defboot.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/defboot.lisp,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- defboot.lisp 4 Dec 2002 15:23:01 -0000 1.28 +++ defboot.lisp 27 Jan 2003 21:41:26 -0000 1.29 @@ -346,3 +346,13 @@ (defmacro-mundanely lambda (&whole whole args &body body) (declare (ignore args body)) `#',whole) + +(defmacro-mundanely named-lambda (&whole whole name args &body body) + (declare (ignore name args body)) + `#',whole) + +(defmacro-mundanely lambda-with-lexenv (&whole whole + declarations macros symbol-macros + &body body) + (declare (ignore declarations macros symbol-macros body)) + `#',whole) Index: target-misc.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/target-misc.lisp,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- target-misc.lisp 2 Dec 2002 14:24:45 -0000 1.14 +++ target-misc.lisp 27 Jan 2003 21:41:26 -0000 1.15 @@ -35,6 +35,9 @@ (values (svref (sb!c::debug-source-name source) 0) nil name)) + ;; FIXME: shouldn't these two clauses be the other way + ;; round? Using VALID-FUNCTION-NAME-P to see if we + ;; want to find an inline-expansion? ((stringp name) (values nil t name)) (t |