Opened 13 years ago

Closed 13 years ago

#125 closed defect (fixed)

Qi loading issues

Reported by: ehuelsmann Owned by: nobody
Priority: major Milestone:
Component: libraries Version: 0.24
Keywords: Cc:
Parent Tickets:

Description

Greg Baryza writes:

I recently became interested in the language QI.  Since it did not run on
ABCL (it does on SBCL, Allegro, LispWorks and others), I decided to see
what it would take to move it there.  From the QI mailing list, I found
several others had tried on earlier versions of ABCL with inconclusive
results.  I decided to give it a try on 0.23.1.

When I tried the standard script with compiles and then loads the compiled
files, ABCL hangs it what appears to be an infinite loop try to load one of
the compiled files.  When I switch to just loading them in as Lisp sources,
things seem to work (though some of the QI tests later fail).

I tried the compile/load script under 0.24.0 today and the same hang happens.

Attachments (1)

ABCL_Bug.zip (15.6 KB) - added by ehuelsmann 13 years ago.
Reproduction recipe submitted by Greg

Download all attachments as: .zip

Change History (3)

comment:1 Changed 13 years ago by ehuelsmann

The issue seems to be that Qi sets READTABLE-CASE to :PRESERVE. Then it goes on to define macros which map the lower case versions of some functions to their upper-case (CL) variants.

This leads to an infinite loop of macro-expansions, because the FASL reader is UPPERcasing, meaning it just overwrote the upper case symbols with the macroexpander functions intended for the lower-case symbol.

Changed 13 years ago by ehuelsmann

Attachment: ABCL_Bug.zip added

Reproduction recipe submitted by Greg

comment:2 Changed 13 years ago by ehuelsmann

Resolution: fixed
Status: newclosed

(In [13187]) Fix #125: FASL reader should not convert symbol case [Qi FASL loading issues].

Note: See TracTickets for help on using tickets.