[Ecls-list] ECL behavior of function-defining macro
Juan Jose Garcia-Ripoll
juanjose.garciaripoll at googlemail.com
Tue Oct 6 13:08:42 UTC 2009
On Tue, Oct 6, 2009 at 11:07 AM, Jeronimo Pellegrini <jpn at aleph0.info> wrote:
> Some recent[0] git update in ECL has changed its behavior in the following
> situation:
>
> (defmacro def (name &key (declare '(optimize (speed 3) (safety 1))))
> `(defun ,name ()
> ,(format nil "docstring here")
> (declare ,declare)
> 10))
> ;; OK, the macro is defined
>
> [0] Some weeks or months ago; I can't tell exactly when.
The "docstring" is being created with type (ARRAY CHARACTER (*)) as
opposed to the base string type (ARRAY BASE-CHAR (*)). That is only
possible when configuring with --enable-unicode (Unix) or
ECL_UNICODE=1 (Windows), but confused the bytecodes compiler. I have
fix this, which obviously was a bug in ECL.
Thanks for reporting!
Juanjo
--
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
More information about the ecl-devel
mailing list