At the latest release of rutils, I found some problems for loading it in Allegro Common Lisp. This pull request tries to fix them.
On loading "anaphora.lisp", Allegro raised a simple-error saying "Can't abbreviate AND-IT", by abbr macro in "symbol.lisp".
This is raised on 'aliases' at the tail of anaphora.lisp.
Apparently, Allegro cannot refer DEFMACROs in the same file at :compile-toplevel without specifying the same situation. (This behavior is different from SBCL, so I sometimes confused..)
One way to fix it is wraps and-it, cond-it, etc with eval-always.
But I found "abbr.lisp" has same aliases, and Allegro does not cause any error if DEFMACROs are in another file.
So commit b7adc5b simply deletes aliases in "anaphora.lisp"
On loading "iter.lisp", Allegro raised an UNDEFINED-FUNCTION error around RUTILS.ITER::AUGMENT macro.
This is raised at define-clause which is within eval-always, so its reason is resembles the above one.
commit 668f748 adds eval-always around RUTILS.ITER::AUGMENT to fix it.
By the way, I noticed this error because rutils.iter was merged from rutilsx.
I tried to load an older version which rutilsx.iter was still splitted, and I faced same error.
So, it seems this problem potentially stayed in older versions.
FIY, I paste backtraces about "iter.lisp" I saw. My platform is here:
CL-USER> (lisp-implementation-type)
"International Allegro CL Enterprise Edition"
CL-USER> (lisp-implementation-version)
"10.1 [64-bit Mac OS X (Intel) *SMP*] (Mar 29, 2019 13:55)"
("lisp_build 1036")
At the latest release of rutils, I found some problems for loading it in Allegro Common Lisp. This pull request tries to fix them.
On loading "anaphora.lisp", Allegro raised a simple-error saying "Can't abbreviate AND-IT", by
abbr
macro in "symbol.lisp". This is raised on 'aliases' at the tail of anaphora.lisp.Apparently, Allegro cannot refer DEFMACROs in the same file at
:compile-toplevel
without specifying the same situation. (This behavior is different from SBCL, so I sometimes confused..)One way to fix it is wraps
and-it
,cond-it
, etc witheval-always
.But I found "abbr.lisp" has same aliases, and Allegro does not cause any error if DEFMACROs are in another file. So commit b7adc5b simply deletes aliases in "anaphora.lisp"
On loading "iter.lisp", Allegro raised an
UNDEFINED-FUNCTION
error aroundRUTILS.ITER::AUGMENT
macro. This is raised atdefine-clause
which is withineval-always
, so its reason is resembles the above one.commit 668f748 adds
eval-always
aroundRUTILS.ITER::AUGMENT
to fix it.By the way, I noticed this error because rutils.iter was merged from rutilsx. I tried to load an older version which rutilsx.iter was still splitted, and I faced same error. So, it seems this problem potentially stayed in older versions.
FIY, I paste backtraces about "iter.lisp" I saw. My platform is here:
Backtraces: