Rob Browning <r...@defaultvalue.org> writes: > And then I found that the the manual says this: > > If symbol was previously bound to a Scheme procedure (or > procedure-with-setter), the old procedure (and setter) is incorporated > into the new generic function as its default procedure (and setter). > > So I wondered if this might be a bug, or was expected behavior. It's > also easy to work around -- just change the first define to a > define-method.
Not sure if this might be related. With guile-3.0 (use-modules (oop goops)) (define x close) (define-generic x) produces: $ guile-3.0 -s test.scm ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /home/rlb/test.scm ;;; /home/rlb/test.scm:5:0: warning: shadows previous definition of `x' at /home/rlb/test.scm:4:0 ;;; compiled /home/rlb/.cache/guile/ccache/3.0-LE-8-4.2/home/rlb/test.scm.go Thanks -- Rob Browning rlb @defaultvalue.org and @debian.org GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4