Hi again! I’m not sure if this is an intended consequence of cf08dbdc189f0005cab6f2ec7b23ed9d150ec43d, so I thought I’d share this example of a practical effect:
--8<---------------cut here---------------start------------->8--- ludo@ribbon /tmp [env]$ cat x.scm (define-module (x) #:use-module (srfi srfi-1) #:re-export (delete)) ludo@ribbon /tmp [env]$ cat y.scm (define-module (y) #:use-module (x)) (pk 'delete delete) ludo@ribbon /tmp [env]$ guile -L . -c '(use-modules (y))' WARNING: (y): imported module (x) overrides core binding `delete' ;;; (delete #<procedure delete (_ _ #:optional _)>) ludo@ribbon /tmp [env]$ guile --version guile (GNU Guile) 2.9.8 --8<---------------cut here---------------end--------------->8--- Here ‘delete’ is replaced by srfi-1, but the replaced bit is not propagated to module (x), even though (x) simply re-exports it. Should the #:re-export clause propagate the replace bit, or should it not? :-) (In Guile < 3.x, #:re-export would propagate the replace bit since that bit was associated with the variable itself.) Ludo’.