diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm index 09a285d9b..89be440b5 100644 --- a/module/ice-9/boot-9.scm +++ b/module/ice-9/boot-9.scm @@ -2187,6 +2187,10 @@ VALUE." (set-module-name! m '(guile)) (set-module-kind! m 'interface) (set-system-module! m #t) + + ;; In Guile 1.8 and earlier M was its own public interface. + (set-module-public-interface! m m) + m)) (set-module-public-interface! the-root-module the-scm-module) diff --git a/test-suite/tests/modules.test b/test-suite/tests/modules.test index 5b3f7a45d..29abd093a 100644 --- a/test-suite/tests/modules.test +++ b/test-suite/tests/modules.test @@ -1,6 +1,6 @@ ;;;; modules.test --- exercise some of guile's module stuff -*- scheme -*- -;;;; Copyright (C) 2006, 2007, 2009, 2010 Free Software Foundation, Inc. +;;;; Copyright (C) 2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -17,10 +17,10 @@ ;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA (define-module (test-suite test-modules) - :use-module (srfi srfi-1) - :use-module ((ice-9 streams) ;; for test purposes - #:renamer (symbol-prefix-proc 's:)) - :use-module (test-suite lib)) + #:use-module (srfi srfi-1) + #:use-module ((ice-9 streams) ;; for test purposes + #:renamer (symbol-prefix-proc 's:)) + #:use-module (test-suite lib)) (define (every? . args) @@ -133,7 +133,15 @@ (pass-if-exception "module-reverse-lookup [wrong-type-arg]" exception:wrong-type-arg - (module-reverse-lookup (current-module) 'foo))) + (module-reverse-lookup (current-module) 'foo)) + + (pass-if "the-root-module" + (eq? (module-public-interface the-root-module) the-scm-module)) + + (pass-if "the-scm-module" + ;; THE-SCM-MODULE is its own public interface. See + ;; . + (eq? (module-public-interface the-scm-module) the-scm-module)))