[Ecls-list] Release ready

Stas Boukarev stassats at gmail.com
Sun Jan 16 21:33:36 UTC 2011


Stas Boukarev <stassats at gmail.com> writes:

> Juan Jose Garcia-Ripoll <juanjose.garciaripoll at googlemail.com> writes:
>
>> Hi everybody,
>> Regarding Stas Boukarev's problems with require-ing ASDF and compiling a
>> test file that defines the ASDF package, I could not reproduce it in any
>> system with a clean new copy of ECL.
> This is quite unfortunate, because this really is a show-stopper here, I
> can't load any .fas which weren't compiled in the current instance of
> ECL.
>
> Here is my further analyses:
> Consider the function
> ecl_make_package
> http://ecls.git.sourceforge.net/git/gitweb.cgi?p=ecls/ecl;a=blob;f=src/c/package.d;h=5939239084d30db5d484ce3ff8924a3ee64ef004;hb=HEAD#l195
> which is eventually called when loading the code I showed earlier.
>
> It calls
> x = find_pending_package(env, name, nicknames);
>
> which returns a package, because it finds it in env->packages_to_be_created (which, I
> presume, is set up by LOAD), so that means that "if (Null(x)) { ... }" is
> not executed, and the variable `other' isn't set to anything.
> Next, it iterates over nicknames, which it has none, and `other' is still
> untouched.
> And finally, it does
> if (!Null(other))
>
> but the variable `other' wasn't ever initialized, and when I insert a print
> statement there, it shows #<illegal pointer bf9c2d38>, which isn't null,
> and it's eventually passed to CEpackage_error, which then
> complains "not a lisp data object".
And the patch which fixes the problem for me.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: make-package.diff
Type: text/x-patch
Size: 440 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20110117/70adf62f/attachment.bin>
-------------- next part --------------

-- 
With Best Regards, Stas.


More information about the ecl-devel mailing list