+
+;; fast formatter
+(def-special-html :fformat
+ (named-function html-write-char-function
+ (lambda (ent args argsp body)
+ (declare (ignore ent args argsp))
+ `(progn ,@(mapcar #'(lambda (bod)
+ `(progn
+ (format *html-stream* " ~(~A~)=\"" (car ,bod))
+ (apply #'format *html-stream* (cdr ,bod))
+ (write-char #\" *html-stream*)))
+ body))))
+
+ (named-function html-write-char-print-function
+ (lambda (ent cmd args form subst unknown stream)
+ (declare (ignore args ent unknown subst))
+ (assert (eql 2 (length form)))
+ (if (eq cmd :full)
+ (progn
+ (format stream " ~(~A~)=\"" (car form))
+ (apply #'format stream (cdr form))
+ (write-char #\" stream))
+ (error ":fformat must be given an argument")))))
+