summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--module/ice-9/boot-9.scm4
-rw-r--r--test-suite/tests/modules.test20
2 files changed, 18 insertions, 6 deletions
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
+ ;; <https://savannah.gnu.org/bugs/index.php?30623>.
+ (eq? (module-public-interface the-scm-module) the-scm-module)))