summaryrefslogtreecommitdiff
path: root/scheme/racket/geiser
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2013-06-27 19:23:35 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2013-06-27 19:23:35 +0200
commit096dfb84f6ca774c7f241b9ea446b510bbbccaf5 (patch)
treeb0997e6490fd02641a615b70ab276e0d71b47b94 /scheme/racket/geiser
parentbc3d5897f789de9afdf5d4f7aab48df8566bebf9 (diff)
downloadgeiser-chez-096dfb84f6ca774c7f241b9ea446b510bbbccaf5.tar.gz
geiser-chez-096dfb84f6ca774c7f241b9ea446b510bbbccaf5.tar.bz2
Racket: not loading errortrace by default
The new submodules and errortrace interact badly, for what i've seen. In particular, even with the submodule[+*] loading correctly, its namespace doesn't have all identifiers bound, and new ones seem to appear in the bindings lists (things like a.1 or b.2, when a and b are the actual identifiers defined inside the module). Since moreover someone mentioned in the devel ML that errortrace is in general terms buggy, i guess we can leave without it for the time being.
Diffstat (limited to 'scheme/racket/geiser')
-rw-r--r--scheme/racket/geiser/enter.rkt5
-rw-r--r--scheme/racket/geiser/startup.rkt2
-rw-r--r--scheme/racket/geiser/user.rkt13
3 files changed, 8 insertions, 12 deletions
diff --git a/scheme/racket/geiser/enter.rkt b/scheme/racket/geiser/enter.rkt
index 0ef9ac5..7416c46 100644
--- a/scheme/racket/geiser/enter.rkt
+++ b/scheme/racket/geiser/enter.rkt
@@ -67,9 +67,7 @@
(list 'file (or (and m (mod-load-path m)) path-str))))
(define (add-paths! m ps)
- (let* ([name (mod-name m)]
- [pm (if (pair? name) (lambda (p) (cons p (cdr name))) (lambda (p) p))])
- (for-each (lambda (p) (hash-set! loaded (pm p) m)) ps)))
+ (for-each (lambda (p) (hash-set! loaded p m)) ps))
(define (resolve-paths path)
(define (find root rest)
@@ -99,7 +97,6 @@
(parameterize ([compile-enforce-module-constants #f])
(compile e)))
(lambda (ext loader?) (load-extension ext) #f)
- #:submodule-path (if (pair? name) (cdr name) '())
#:notify (lambda (chosen) (notify re? chosen))))
(define ((make-loader orig re?) path name)
diff --git a/scheme/racket/geiser/startup.rkt b/scheme/racket/geiser/startup.rkt
index bf9293b..d766dcd 100644
--- a/scheme/racket/geiser/startup.rkt
+++ b/scheme/racket/geiser/startup.rkt
@@ -15,7 +15,7 @@
"Racket version 5.0 or better required (found ~a)"
(version)))
-(require errortrace)
+;; (require errortrace)
(require geiser/user)
(init-geiser-repl)
diff --git a/scheme/racket/geiser/user.rkt b/scheme/racket/geiser/user.rkt
index d570a39..d8ac0b2 100644
--- a/scheme/racket/geiser/user.rkt
+++ b/scheme/racket/geiser/user.rkt
@@ -29,8 +29,8 @@
(define (do-enter mod name)
(visit-module mod)
- (current-namespace (module->namespace mod))
- (last-entered name))
+ (last-entered name)
+ (current-namespace (module->namespace mod)))
(define (file-mod? mod)
(and (list? mod)
@@ -61,9 +61,6 @@
[(submod-path mod) => (lambda (m) (do-enter m m))]
[else (module-error stx mod)]))
-(define orig-loader (current-load/use-compiled))
-(define geiser-loader (module-loader orig-loader))
-
(define (geiser-eval)
(define geiser-main (module->namespace 'geiser))
(define (eval-here form) (eval form geiser-main))
@@ -120,9 +117,11 @@
(define (geiser-prompt-read prompt)
(make-repl-reader (geiser-read prompt)))
+(define (geiser-loader) (module-loader (current-load/use-compiled)))
+
(define (init-geiser-repl)
(compile-enforce-module-constants #f)
- (current-load/use-compiled geiser-loader)
+ (current-load/use-compiled (geiser-loader))
(preload-help)
(current-prompt-read (geiser-prompt-read geiser-prompt))
(current-print maybe-print-image))
@@ -132,7 +131,7 @@
(current-input-port in)
(current-output-port out)
(current-error-port out)
- (current-load/use-compiled geiser-loader)
+ (current-load/use-compiled (geiser-loader))
(current-prompt-read (geiser-prompt-read geiser-prompt))
(current-print maybe-print-image)]
(preload-help)