Re: LIST-TABLES problem on LispWorks

Kevin Rosenberg <kevin-HJRc7zDS/[email protected]> Sun, 13 Aug 2006 19:41:45 -0600
Newsgroups gmane.lisp.clsql.devel
Message-ID <[email protected]>
Bill Atkins wrote:
> I got the UFFI tests to pass by changing ensure-char-storable in
> uffi/src/objects.lisp to:
> 
> (defmacro ensure-char-storable (obj)
>  #+(or digitool (and lispworks (not lispworks5.0))) obj
>  #+(or lispworks allegro lispworks5.0 cmu sbcl scl openmcl) `(char-code 
>  ,obj))

I reviewed the function. Is the below what you meant? Otherwise, in
your code, lispworks 4.4 and below would be selected in both reader
conditionals.

(defmacro ensure-char-storable (obj)
  #+(or digitool (and lispworks (not lispworks5.0))) obj
  #+(or lispworks5.0 allegro cmu sbcl scl openmcl) `(char-code ,obj))

Assuming that Lispworks intended to make this change in their FFI, it
will be somewhat problematic in the future since each new version of
lispworks will require being added to the lispworks5.0 conditionals.

Does you version also define lispworks5? If so, at least that should
be present in all future 5.x releases and would be better than
lispworks5.0, assuming Lispworks FFI doesn't change again.

> However, the CLSQL problem still exists.  I cleaned out all my fasls,
> did a make clean in the clsql/uffi directory, and rebuilt, but I still
> get the same output from LIST-TABLES.  I'll let you know if I  make
> any progress on the CLSQL problem.

All the foreign string conversion for all backends takes place in
uffi/clsql-uffi.lisp in the function CONVERT-RAW-FIELD. As you can
see, for strings that function invokes UFFI:CONVERT-FROM-FOREIGN-STRING.

-- 
Kevin Rosenberg
[email protected]