0.7.12.31:
[sbcl.git] / src / code / late-format.lisp
index a7d63bd..a0d204e 100644 (file)
                  (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))))
                                         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.