binaryage / binaryage/cljs-oops

Errors when executed over a prepl connection

Aperta
#22 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Clojure
Stelle
350
Fork
13
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

So this is a bit of a weird onc since there's hardly anyone (possibly just me?) is using prepl for development right now, if you don't care just yet then that's totally fine! Thought I'd let you know anyway :smile:

The error is `Can't change/establish root binding of: *cljs-warnings* with set`, which works fine in a normal REPL. This could be an issue with prepl itself that isn't setting up binding in the right way.

Even if I can't fix it, finding a work around would be great. If I find something I'll put it here, any help would be much appreciated though. This error occurs with any oops operation due to the fact that the setting of `*cljs-warnings*` is attempted by [every macro low down](https://github.com/binaryage/cljs-oops/blob/ad8b3f438d884cb24b533d9f294ebdd2dd2ac91a/src/lib/oops/compiler.clj#L40-L44).

I'm not sure what the difference is between a prepl and regular REPL though. You can try it yourself by starting a prepl:

```
clj -J-Dclojure.server.node="{:port 5556 :accept cljs.server.node/prepl}"
```

Connecting with something like `nc`:

```
nc 127.0.0.1 5556
```

And executing any oops operation such as:

```clojure
(oops.core/ocall #js {"a" +} "a" 1 1)
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia da src/lib/oops/compiler.clj alle righe collegate 40–44, quindi riproduci il fallimento avviando il prepl con il comando clj fornito, connettendoti con nc ed eseguendo l’espressione di esempio oops.core/ocall. Confronta il comportamento del prepl con quello di un REPL normale e determina una correzione o un workaround affinché le operazioni oops non generino più l’errore di binding *cljs-warnings* tramite prepl.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
clojure
Ambito
tooling
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.