Eugleo / magic-racket

The best coding experience for Racket in VS Code
https://marketplace.visualstudio.com/items?itemName=evzen-wybitul.magic-racket
GNU General Public License v3.0
202 stars 28 forks source link

"begin: unbound identifier" on load file in REPL #62

Closed jarcane closed 2 years ago

jarcane commented 2 years ago

Environment

Error message

On attempting to run a REPL on a fresh main.rkt generated by raco pkg new, I get a huge stack trace from the errortrace module saying begin: unbound identifier.

Stack trace is as follows:

/usr/share/racket/pkgs/errortrace-lib/errortrace/private/utils.rkt:35:14: begin: unbound identifier;
 also, no #%app syntax transformer is bound
  at: begin
  in: (begin (#%require (for-meta 2 errortrace/errortrace-key)) (begin (#%require (for-meta 1 errortrace/errortrace-key)) (#%require (for-meta 0 errortrace/errortrace-key))))
  context...:
   #(-15121 module utils) #(-2636 module) [common scopes]
  other binding...:
   #(begin #<module-path-index:'#%core> 0)
   #(11005 module) #(11008 module id-table) [common scopes]
  common scopes...:
   #(15116 module) #(15119 module id-table)
  errortrace...:
  location...:
   /usr/share/racket/pkgs/errortrace-lib/errortrace/private/utils.rkt:35:14
  context...:
   /usr/share/racket/collects/racket/rerequire.rkt:45:8
   /usr/share/racket/pkgs/errortrace-lib/errortrace/stacktrace.rkt:690:2: errortrace-annotate
   /usr/share/racket/pkgs/errortrace-lib/errortrace/errortrace-lib.rkt:366:4
   /usr/share/racket/collects/racket/rerequire.rkt:45:8
   /usr/share/racket/collects/syntax/parse/private/../../../racket/lazy-require.rkt:89:13: get-sym
   /usr/share/racket/collects/racket/promise.rkt:65:10
   /usr/share/racket/collects/racket/promise.rkt:45:2
   /usr/share/racket/collects/racket/lazy-require.rkt:109:6
   /usr/share/racket/collects/racket/lazy-require.rkt:168:4
   /usr/share/racket/pkgs/errortrace-lib/errortrace/stacktrace.rkt:690:2: errortrace-annotate
   /usr/share/racket/pkgs/errortrace-lib/errortrace/errortrace-lib.rkt:366:4
   /usr/share/racket/collects/racket/rerequire.rkt:45:8
   /usr/share/racket/pkgs/errortrace-lib/errortrace/stacktrace.rkt:690:2: errortrace-annotate
   /usr/share/racket/pkgs/errortrace-lib/errortrace/errortrace-lib.rkt:366:4
   /usr/share/racket/collects/racket/rerequire.rkt:45:8
   /usr/share/racket/pkgs/errortrace-lib/errortrace/stacktrace.rkt:690:2: errortrace-annotate
   ...

Additional context

This is a freshly generated package with no added contents. This should be repeatable by just running raco pkg new to get a new package directory, and running that in the REPL.

Eugleo commented 2 years ago

Thanks for reporting. You can temporarily fix this by removing the --lib errortrace from the REPL arguments in settings. I'll fix this in the next version.