[gecol-devel] Gecol 2.0 fixes for Allegro
Willem Broekema
metawilm at gmail.com
Sat Mar 22 20:55:22 UTC 2008
On Wed, Mar 19, 2008 at 10:38 AM, Kilian Sprotte
<kilian.sprotte at googlemail.com> wrote:
> thank you very much for helping with Allegro and the newest GECODE version.
> All the patches arrived fine!
> I have now pushed them to gecol20 - but committed a small change
> afterwards...
>
> You made this change:
>
> hunk ./gecol.asd 64
> - (let ((loader (intern "LOAD-FOREIGN-LIBRARY" :cffi)))
> + (let ((loader (intern '#:load-foreign-library :cffi)))
> }
>
> For instance SBCL would complain if the first arg of intern is not a string
> (and according to the spec it should not be anything else). As I dont have
> Allegro, what is the exact error message / problem here?
The problem is that in a case-sensitive Lisp (Allegro's "Modern"
mode), the symbol is exported by cffi as lowercase. (intern
"LOAD-FOREIGN-LIBRARY" :cffi) creates a second, different symbol. To
solve this, the argument to intern (or find-symbol) should be given in
lowercase.
Allegro happens to also accept symbols as argument to intern, so I was
not notified of the mistake (it is controlled by the switch
excl:*intern-allows-symbol*, by default true).
Now I'd like to propose (intern (string '#:load-foreign-library)
:cffi), to fix the case issue.
Cheers,
- Willem
More information about the gecol-devel
mailing list