Open rbennekop opened 14 years ago
Same bug here, too.
While playing around with Labrepl I've just noticed that the problem disappears when the Clojure process is started traditionally from the Windows command prompt and subsequently connected to by slime-connect.
Ergo: Emacs' comint mechanism seems to be flawed.
I had to spend some time on Windows lately and came up with the following hack: http://gist.github.com/360973 It re-routes the shell command created by swank-clojure-cmd to start Clojure/Swank inside a Windows terminal instead of an Emacs comint buffer. Requires Ruby.
On my system (Windows XP SP3, 32 Bit, JRE 1.6.0_18, JDK 1.6.0_12) this can be reproduced as follows:
Start the Slime REPL and enter this line:
(. javax.swing.JOptionPane (showMessageDialog nil "snafu"))
Result: The Slime REPL stalls and doesn't return a result.
Visit the inferior-lisp REPL buffer and place your cursor at the command line. Press 'return'.
Result: The Slime thread continues and displays the messagebox. The Slime REPL returns.
Other failing examples: (clojure.contrib.javadoc.browse/browse-url "http://clojure.org")
When the above lines are entered directly into the inferior-lisp buffer they get executed promptly and without errors.
There are two related threads (1, 2) on the mailing list.
I haven't noticed any such problems on my Mac and Linux boxes. On Windows, I keep some Elisp around to swiftly revive a stuck Slime session: