(defun s (fillp)
(make-array 1 :element-type 'character :initial-contents "x"
:fill-pointer fillp))
(defun fmt (fillp)
(format nil (eval `(formatter ,(s fillp)))))
(fmt nil) ;ok
(fmt t) ;error due to base-string instead of simple-string
#|
CLISP: fails
CCL: fails
CMUCL: passes
SBCL: passes
ECL: passes
ABCL: passes
|#
----
http://www.lispworks.com/documentation/HyperSpec/Body/m_format.htm#formatter
says the formatter macro's arg is a "format string".
http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_f.htm#format_string
defines "format string" to be a string and doesn't restrict it to any
particular subtype.
--
Vibhu
|