[Ecls-list] DEFSTRUCT and FDEFINITION of SETF accessors.

Samium Gromoff _deepfire at feelingofgreen.ru
Thu Apr 24 14:42:32 UTC 2008

Good day folks,

It appears that CVS ECL fails to properly make available the fdefinitions
of structure field SETF accessors:


(defstruct foo x)
(fdefinition (list 'setf 'foo-x))

deepfire at canopus:~/local$ ecl -eval '(load (compile-file "foo.lisp"))'
;;; Loading #P"/usr/lib/ecl/cmp.fas"
;;; Loading #P"/usr/lib/ecl/sysfun.lsp"
;;; Compiling ../foo.lisp.
;;; Compiling (DEFUN MAKE-FOO ...).
;;; End of Pass 1.
;;; Emitting code for MAKE-FOO.
;;; Calling the C compiler...
;;; Note: Invoking external command:
;;; gcc  -D_GNU_SOURCE -g -O2 -fPIC  -fstrict-aliasing -Dlinux -O "-I/usr/include/" -w -c "/mnt/ext/home/deepfire/local/foo.c" -o "/mnt/ext/home/deepfire/local/foo.o"
;;; Note: Invoking external command:
;;; gcc -o "/mnt/ext/home/deepfire/local/foo.fas" -L"/usr/lib/" "/mnt/ext/home/deepfire/local/foo.o"  -shared    -lecl -ldl  -lm   -lgmp
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0
;;; Finished compiling ../foo.lisp.
;;; Loading "/mnt/ext/home/deepfire/local/foo.fas"
;;; Warning: Redefining class FOO
An error occurred during initialization:
The function (SETF FOO-X) is undefined..

This error occurs during LOAD, not COMPILE-FILE..

regards, Samium Gromoff

More information about the ecl-devel mailing list