Hi folks! Recently I was bothered by a strange bug when debugging Artanis, here's how to reproduce. You need three files, say aaa.scm, bbb.scm, and entry
---------------------aaa.scm---------------- (define-module (aaa) #:export (global)) (define global #f) ----------------------aaa.scm end------------ ------------------bbb.scm---------------- (define-module (bbb) #:use-module (aaa) #:export (fun)) (define (fun) (pk 'before global) (set! global 123) (pk 'after global)) -------------------bbb.scm end------------- ------------------entry------------- (import (bbb)) (fun) -----------------entry end------------- Put all files in the same directory, and run: ----------------cut---------------- guile -L . entry ----------------end--------------- The result is: ;;; (before #f) ;;; (after #f) The expected result should be: ;; (before #f) ;; (after 123) ------------------------------------------ This was tested in 3.0.9 and 3.0.10. I also CC guile-user list, in case anyone was troubled by strange bugs, this may be a hint. Best regards.