diff --git a/code/format.lisp b/code/format.lisp index 1119a414dff81e269881db062d2acb1e2a78ddeb..f7bfeedec55eae3f54e7dd2c42984dfdabd5f181 100644 --- a/code/format.lisp +++ b/code/format.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/format.lisp,v 1.59 2004/12/15 04:03:29 rtoy Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/format.lisp,v 1.60 2004/12/15 16:20:40 rtoy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -1946,11 +1946,12 @@ (eql ,arg1 ,arg2) (eql ,arg1 0)))) (t (expand-bind-defaults ((arg1 nil) (arg2 nil) (arg3 nil)) params - `(if ,arg2 - (if ,arg3 - (<= ,arg1 ,arg2 ,arg3) - (eql ,arg1 ,arg2)) - (eql ,arg1 0))))) + `(if ,arg3 + (<= ,arg1 ,arg2 ,arg3) + (if ,arg2 + (eql ,arg1 ,arg2) + ;; Duplicate the case of 1 arg? + (eql ,arg1 0)))))) ,(if colonp '(return-from outside-loop nil) '(return)))) @@ -1987,14 +1988,12 @@ ;; Should we duplicate the previous case here? (eql arg1 0)))) (t (interpret-bind-defaults ((arg1 nil) (arg2 nil) (arg3 nil)) params - (if arg2 - (if arg3 - (<= arg1 arg2 arg3) - ;; Duplicate 2 arg case here? - (eql arg1 arg2)) - ;; What if arg2 is nil and arg3 is not? Does that - ;; mean this becomes 2 arg case instead? - (eql arg1 0))))) + (if arg3 + (<= arg1 arg2 arg3) + (if arg2 + (eql arg1 arg2) + ;; Duplicate the case of 1 arg? + (eql arg1 0)))))) (throw (if colonp 'up-up-and-out 'up-and-out) args)))