"Ricardo Boccato" <[EMAIL PROTECTED]> writes: > I am using clisp but the same error ocurred with allegro 7 (trial). > > Basically, issuing the command: > > (asdf:oos 'asdf:load-op :clsql-oracle) > > yields this at the debugger: > > APPLY: too few arguments given to #<compiled-function > #:|150 152 (cffi:define-foreign-type uffi-char (base-type) ...)-10-1-1|> > [Condition of type system::simple-program-error]
Thanks, I've pushed a fix for this to the Darcs repository. The problem was that the CFFI::UNPARSE generic function wasn't specialized for the parameterized UFFI-CHAR type, leading the MAKE-LOAD-FORM method on CFFI type instances to dump the UFFI-CHAR type without its parameter. This leads to an error when the resulting FASL file is loaded... > I found out that making the following changes to the code seems to > solve the problem... > > computador:~/lib/cffi$ darcs diff > diff -rN old-cffi/uffi-compat/uffi-compat.lisp > new-cffi/uffi-compat/uffi-compat.lisp > 112,113c112,113 > < (:char '(uffi-char :char)) > < (:unsigned-char '(uffi-char :unsigned-char)) > --- >> (:char :char) >> (:unsigned-char :unsigned-char) This will cause problems because the UFFI :char types are defined to convert between C chars and Lisp CHARACTERs, which the CFFI :char and :unsigned-char types do not do. I don't think anyone has ever tried Oracle with CLISP and UFFI-COMPAT before---with this patch it works for me now, very cool! Thanks, James _______________________________________________ cffi-devel mailing list cffi-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel