Hi Sam,
Just focusing in on one class of errors, vector-set-all on complex vectors:
On Tue, Aug 10, 2010 at 1:36 PM, Sam Steingold sds@gnu.org wrote:
(symbol-plist (sys::closure-const (slot-value (nth 20 (CLOS:GENERIC-FUNCTION-METHODS #'SET-ALL)) 'CLOS::$FAST-FUNCTION) 0)) NIL
i.e., the method FUNCALLs the property of the uninterned symbol which is NIL.
If I make a small modification to GSLL (attached) so that function names like #:|gsl_vector_complex_float_set_all| are instead interned, e.g. '|gsl_vector_complex_float_set_all|, then I get all tests to pass in my (old) version of CLISP: (lisp-unit:run-tests vector-set-all) VECTOR-SET-ALL: 12 assertions passed, 0 failed.
Now it seems to me that what FSBV is doing with symbols (set/get properties) should work equally well on uninterned or interned symbols, so the original should work fine. Is that correct? Why does CLISP lose the property list binding when the symbol is uninterned?
Liam