X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftarget-format.lisp;h=f03d70f12430c03761799e6ef797f939546d424f;hb=b1c7011c1f5d50b9821c07db75b1d5c3c6881062;hp=99cbb3f1723c0aba8b6da34860dbc153df349b8c;hpb=1422f9e5fa1d80247d809440112eb00075440a81;p=sbcl.git diff --git a/src/code/target-format.lisp b/src/code/target-format.lisp index 99cbb3f..f03d70f 100644 --- a/src/code/target-format.lisp +++ b/src/code/target-format.lisp @@ -145,7 +145,7 @@ (offset (car param-and-offset)) (param (cdr param-and-offset))) (case param - (:arg (next-arg offset)) + (:arg (or (next-arg offset) ,default)) (:remaining (length args)) ((nil) ,default) (t param))))))) @@ -172,7 +172,7 @@ ;; we're supposed to soldier on bravely, and so we have to deal with ;; the unsupplied-MINCOL-and-COLINC case without blowing up. (when (and mincol colinc) - (do ((chars (+ (length string) minpad) (+ chars colinc))) + (do ((chars (+ (length string) (max minpad 0)) (+ chars colinc))) ((>= chars mincol)) (dotimes (i colinc) (write-char padchar stream)))) @@ -1022,8 +1022,8 @@ (*logical-block-popper* nil) (*outside-args* args)) (catch 'up-and-out - (do-guts arg arg) - args)) + (do-guts arg arg)) + args) (do-guts orig-args args))) (do-loop (orig-args args) (catch (if colonp 'up-up-and-out 'up-and-out)