jasongilman / proto-repl

A Clojure Development Environment package for the Atom editor
https://atom.io/packages/proto-repl
MIT License
565 stars 50 forks source link

Restarting Atom in a Lein project dir when a REPL tab is open causes strange behavior #254

Open WalterGR opened 7 years ago

WalterGR commented 7 years ago

Using:

Repro steps:

I've italicized the unexpected happenings.

  1. Start Atom in a Leiningen project directory using atom .
  2. Open a REPL using the Proto REPL: Toggle command.
  3. Close Atom.
  4. Start Atom again as in step 1.
  5. The tab that was previously titled "Proto-REPL" is now titled "Console".
    • Additionally, it shows the UI elements of the REPL (up arrow, down arrow, lightning bolt, crossed out circle, empty > prompt, and a horizontal line underneath that prompt,) but the REPL session history is gone.
  6. Open a REPL again as in step 2.
  7. A new pane is opened with a "Proto-REPL" tab. The pane with the "Console" tab remains - and the REPL is loaded into it rather than the new "Proto-REPL" tab.
  8. Drag the "Proto-REPL" and/or "Console" panes around. Strange things happen.
    • Here's one concrete example:
    • Open a new pane. Drag the "Proto-REPL" tab into that new pane. The REPL, which was previously shown in the "Console" tab, is suddenly shown in the "Proto-REPL" tab, and the "Console" tab is empty.
    • Now drag the "Console" tab into the same pane as the "Proto-REPL" tab. The "Console" tab disappears. The "Proto-REPL" tab no longer shows the REPL, but rather is blank.
    • Now drag the "Proto-REPL" tab into another pane. Its contents suddenly reappear.

At a certain point in the repro steps above, if Atom is closed and then started again as in step 1, Atom will fail to load properly. I have opened a separate issue for this - #255: "Proto REPL can prevent Atom from starting if Atom was last closed with an open REPL tab".