emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/geiser-racket 14330b4 148/191: Racket: not loading errortr


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-racket 14330b4 148/191: Racket: not loading errortrace by default
Date: Sun, 1 Aug 2021 18:32:18 -0400 (EDT)

branch: elpa/geiser-racket
commit 14330b43b9e3fbf97c36ad580ae44f644e19a151
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>

    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.
---
 geiser/enter.rkt   |  5 +----
 geiser/startup.rkt |  2 +-
 geiser/user.rkt    | 13 ++++++-------
 3 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/geiser/enter.rkt b/geiser/enter.rkt
index 0ef9ac5..7416c46 100644
--- a/geiser/enter.rkt
+++ b/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/geiser/startup.rkt b/geiser/startup.rkt
index bf9293b..d766dcd 100644
--- a/geiser/startup.rkt
+++ b/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/geiser/user.rkt b/geiser/user.rkt
index d570a39..d8ac0b2 100644
--- a/geiser/user.rkt
+++ b/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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]