diff options
author | Ludovic Courtès <ludo@gnu.org> | 2011-02-13 15:36:52 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2011-02-13 15:36:52 +0100 |
commit | 7354a105cdd86d57a7c4805d736497acdf735d56 (patch) | |
tree | 8fa6e225e6489ce7a337afba6da88e9ac1a8cf7c | |
parent | 6f06e8d35f0780187c6bce62fe8ace8be055e727 (diff) | |
download | guile-7354a105cdd86d57a7c4805d736497acdf735d56.tar.gz |
Have `the-scm-module' be its own public interface (bug #30623).
* module/ice-9/boot-9.scm (the-scm-module): Make it its own public
interface.
* test-suite/tests/modules.test ("foundations")["the-root-module",
"the-scm-module"]: New tests.
-rw-r--r-- | module/ice-9/boot-9.scm | 4 | ||||
-rw-r--r-- | test-suite/tests/modules.test | 20 |
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))) |