diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2010-03-27 15:45:14 +0100 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2010-03-27 15:45:14 +0100 |
commit | 9a6f0303a54aa3c687e63f03e83cae63d4c8e5ce (patch) | |
tree | fa8e5718b94d763f1df83b3a91ab86c2fdcfd9c9 /scheme/plt/geiser/modules.ss | |
parent | 1e39c1ab55a86b66a58323bb9ea16de59f1c3e61 (diff) | |
download | geiser-guile-9a6f0303a54aa3c687e63f03e83cae63d4c8e5ce.tar.gz geiser-guile-9a6f0303a54aa3c687e63f03e83cae63d4c8e5ce.tar.bz2 |
PLT: some simplifications.
Diffstat (limited to 'scheme/plt/geiser/modules.ss')
-rw-r--r-- | scheme/plt/geiser/modules.ss | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/scheme/plt/geiser/modules.ss b/scheme/plt/geiser/modules.ss index 9bdede1..ef6530a 100644 --- a/scheme/plt/geiser/modules.ss +++ b/scheme/plt/geiser/modules.ss @@ -28,19 +28,14 @@ (else `(file ,spec)))) (define (module-spec->namespace spec (lang #f)) - (let* ((spec (ensure-module-spec spec)) - (try-lang (lambda (e) - (if (symbol? lang) - (begin - (load-module lang #f (current-namespace)) - (module->namespace lang)) - (current-namespace)))) - (filesystem-handler (lambda (e) - (with-handlers ((exn? try-lang)) - (module->namespace `',spec))))) + (let ((spec (ensure-module-spec spec))) (if spec - (with-handlers ((exn:fail:filesystem? filesystem-handler) - (exn? try-lang)) + (with-handlers ((exn? + (lambda (_) + (with-handlers + ((exn? (const (current-namespace)))) + (load-module lang #f (current-namespace)) + (module->namespace lang))))) (module->namespace spec)) (current-namespace)))) |