behemoth$ /usr/local/ecl/bin/ecl ;;; Loading #P"/usr/local/ecl/lib/ecl-10.7.1/asdf.fas" ;;; Loading #P"/usr/local/ecl/lib/ecl-10.7.1/cmp.fas" ECL (Embeddable Common-Lisp) 10.7.1 Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya Copyright (C) 1993 Giuseppe Attardi Copyright (C) 2000 Juan J. Garcia-Ripoll ECL is free software, and you are welcome to redistribute it under certain conditions; see file 'Copyright' for details. Type :h for Help. Top level in: #. > (compile-file "/tmp/setf-test.lisp") ;;; ;;; Compiling /tmp/setf-test.lisp. ;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0 ;;; ;;; Compiling (DEFMACRO DEFINE-GLOBAL-SETF-EXPANDER ...). ;;; Compiling (DEFPARAMETER *FOO* ...). ;;; Compiling (DEFUN FOO-VAL ...). ;;; Compiling (DEFUN (SETF FOO-VAL) ...). ;;; Compiling (DEFINE-GLOBAL-SETF-EXPANDER FOO-VAL). ;;; Compiling (DEFINE-GLOBAL-SETF-EXPANDER FOO-VAL). ;;; Compiling (DEFUN TEST ...). ;;; End of Pass 1. ;;; Emitting code for DEFINE-GLOBAL-SETF-EXPANDER. ;;; Emitting code for FOO-VAL. ;;; Emitting code for (SETF FOO-VAL). ;;; Emitting code for FOO-VAL-SETF-SETTER-MACRO. ;;; Emitting code for FOO-VAL-SETF-GETTER-MACRO. ;;; Emitting code for FOO-VAL. ;;; Emitting code for TEST. ;;; Note: ;;; Invoking external command: ;;; gcc "-I/usr/local/ecl/include/" -march=i686 -O2 -g -fPIC -Dnetbsd -O2 -w -c "/tmp/setf-test.c" -o "/tmp/setf-test.o" ;;; ;;; Note: ;;; Invoking external command: ;;; gcc -o "/tmp/setf-test.fas" -L"/usr/local/ecl/lib/" "/tmp/setf-test.o" "-Wl,--rpath,/usr/local/ecl/lib/" -shared -g -g -lecl -lpthread -lm ;;; ;;; Finished compiling /tmp/setf-test.lisp. ;;; #P"/tmp/setf-test.fas" NIL NIL > (load "/tmp/setf-test") ;;; Loading #P"/tmp/setf-test.fas" #P"/tmp/setf-test.fas" > (test ) 1 > *foo* (1) > (foo-val *foo*) 1 > (setf (foo-val *foo*) 2) The function (SETF FOO-VAL) is undefined. Available restarts: 1. (RESTART-TOPLEVEL) Go back to Top-Level REPL. Broken at SI:BYTECODES. [Evaluation of: (SETF (FOO-VAL *FOO*) 2)] In: #. >> :q Top level in: #. > (get-setf-expansion '(foo-val *foo*)) (#:G112) (*FOO*) (#:G113) (FOO-VAL-SETF-SETTER-MACRO #:G113 #:G112) (FOO-VAL-SETF-GETTER-MACRO #:G113) > (macroexpand '(foo-val-setf-setter-macro o v)) (FUNCALL #'(SETF FOO-VAL) O V) T > (apropos 'foo-val) FOO-VAL Function FOO-VAL-SETF-GETTER-MACRO Macro FOO-VAL-SETF-SETTER-MACRO Macro > (describe 'foo-val) FOO-VAL - internal symbol in COMMON-LISP-USER package ----------------------------------------------------------------------------- FOO-VAL [Function] ----------------------------------------------------------------------------- FOO-VAL [Setf] ----------------------------------------------------------------------------- >