binaryage / binaryage/cljs-oops

Errors when executed over a prepl connection

Offen
#22 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Clojure
Sterne
350
Forks
13
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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 😄

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.

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:

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

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit src/lib/oops/compiler.clj an den verlinkten Zeilen 40–44. Reproduziere anschließend den Fehler, indem du den prepl mit dem bereitgestellten clj-Befehl startest, dich mit nc verbindest und den Beispielausdruck oops.core/ocall ausführst. Vergleiche das Verhalten des prepl mit einem normalen REPL und ermittle eine Lösung oder einen Workaround, damit oops-Operationen über prepl nicht mehr den Bindungsfehler cljs-warnings auslösen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
clojure
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.