From: Nikodemus S. <de...@us...> - 2008-06-02 13:31:43
|
Update of /cvsroot/sbcl/sbcl/src/code In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv11128/src/code Modified Files: defboot.lisp Log Message: 1.0.17.18: handlers with non-required arguments (regression 1.0.17.8) * DX-FLET doesn't currently handle non-required arguments, so don't use it when there are any. * Test-case. Index: defboot.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/defboot.lisp,v retrieving revision 1.59 retrieving revision 1.60 diff -u -d -r1.59 -r1.60 --- defboot.lisp 30 May 2008 11:32:15 -0000 1.59 +++ defboot.lisp 2 Jun 2008 13:31:40 -0000 1.60 @@ -580,7 +580,9 @@ (consp (cdr handler)) (consp (cadr handler)) (prog1 (eq 'lambda (caadr handler)) - (setf lambda-form (cadr handler)))))) + (setf lambda-form (cadr handler))))) + ;; KLUDGE: DX-FLET doesn't handle non-required arguments yet. + (not (intersection (second lambda-form) lambda-list-keywords))) (let ((name (gensym "LAMBDA"))) (push `(,name ,@(cdr lambda-form)) local-funs) (list type `(function ,name))) |