X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Flate-format.lisp;h=a0d204ebeedcd84a8567f1578109aabca3bc1570;hb=12348c1417becbbd24dd3f109ed4040dbdde62dd;hp=a7d63bd68f823851937f94451dcaae9f5e5935e8;hpb=0f3d47226b4c3f9fcc350e681443534701d56aa4;p=sbcl.git diff --git a/src/code/late-format.lisp b/src/code/late-format.lisp index a7d63bd..a0d204e 100644 --- a/src/code/late-format.lisp +++ b/src/code/late-format.lisp @@ -222,10 +222,12 @@ (char-code (format-directive-character directive)))) (*default-format-error-offset* (1- (format-directive-end directive)))) + (declare (type (or null function) expander)) (if expander (funcall expander directive more-directives) (error 'format-error - :complaint "unknown directive")))) + :complaint "unknown directive ~@[(character: ~A)~]" + :args (list (char-name (format-directive-character directive))))))) (simple-string (values `(write-string ,directive stream) more-directives)))) @@ -975,7 +977,7 @@ close params string end) (expand-format-logical-block prefix per-line-p insides suffix atsignp)) - (let ((count (apply #'+ (mapcar (lambda (x) (count-if #'illegal-inside-justification-p x)) segments)))) + (let ((count (reduce #'+ (mapcar (lambda (x) (count-if #'illegal-inside-justification-p x)) segments)))) (when (> count 0) ;; ANSI specifies that "an error is signalled" in this ;; situation.