clojure-emacs / clojure-emacs/inf-clojure
Occasionally, the wrong REPL type is selected.
- Vorherrschende Sprache
- Emacs Lisp
- Sterne
- 259
- Forks
- 42
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Occasionally, inf-clojure will select the wrong REPL type. The problem appears to start here at inf-clojure--detect-repl-type: https://github.com/clojure-emacs/inf-clojure/blob/master/inf-clojure.el#L297
I added debug messages around inf-clojure--process-reponse-match-p ( https://github.com/clojure-emacs/inf-clojure/blob/master/inf-clojure.el#L1277) and it looks like what is happening is that one of the calls to inf-clojure--process-response, to check if a certain namespace, like planck.repl, is available, will return a blank string, and then the corresponding type will be selected because it isn't nil.
The most obvious symptom of this issue is that the eldoc output will either be absent or show part of an error message. I added a message to print out the type as soon as it was selected, but you can also see it calling the wrong functions if you follow the instructions for logging process activity here: https://github.com/clojure-emacs/inf-clojure#log-process-activity.
To test this, I had to `M-: (setq-local inf-clojure-repl-type nil) RET` in the buffer that I was testing in order for inf-clojure to reattempt to determine the REPL type.
Initially, I thought I could reproduce the problem by evaluating the buffer after the REPL starts, but before triggering eldoc (by moving the cursor inside an expression), but I haven't been able to trigger the issue consistently (only about 3 out of 25 attempts).
Beitragsleitfaden
Rechercherichtung
Beginne in inf-clojure.el bei inf-clojure--detect-repl-type ungefähr in Zeile 297 und untersuche, wie inf-clojure--process-response und inf-clojure--process-reponse-match-p mit leeren Ergebnissen umgehen. Reproduziere das Problem mit process-activity logging, nachdem du inf-clojure-repl-type lokal zurückgesetzt hast, und überprüfe anschließend, dass die Erkennung nicht den falschen REPL-Typ auswählt und dass die eldoc-Ausgabe den ausgewählten Typ korrekt verwendet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- clojure, emacs, emacs-lisp
- Bereich
- developer-experience, tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100