1.0.20.2: Fewer XC/reader-conditional confusions
[sbcl.git] / src / code / late-format.lisp
index 4e262c0..7ed479b 100644 (file)
             ((and block (char= char #\;) (format-directive-colonp directive))
              (setf semicolon directive))
             ((char= char #\>)
-             (aver block)
+             (unless block
+               (error 'format-error
+                      :complaint "~~> without a matching ~~<"
+                      :control-string string
+                      :offset next-directive))
              (cond
                ((format-directive-colonp directive)
                 (unless pprint
                    :offset ,(cdr arg)))
                 args))
         (return `(lambda (stream &optional ,@args &rest args)
+                   (declare (ignorable stream))
                    ,guts
                    args))))
     (let ((*orig-args-available* t)
           (*only-simple-args* nil))
       `(lambda (stream &rest orig-args)
+         (declare (ignorable stream))
          (let ((args orig-args))
            ,(expand-control-string control-string)
            args)))))