+(defmacro mac (form &key (stream *standard-output*) (full nil) (width 80)
+ (downcase t)
+ &environment env)
+ (multiple-value-bind (expanded expanded-p)
+ (funcall (if full #'macroexpand #'macroexpand-1) form env)
+ (write expanded
+ :stream stream
+ :pretty t
+ :right-margin width
+ :case (if downcase :downcase :upcase)
+ :length nil
+ :level nil
+ :circle nil
+ :gensym nil)
+ (fresh-line stream)
+ expanded-p))