"Stefan Kamphausen" skampi@gmx.net writes:
Hi Tobias,
-------- Original-Nachricht --------
Datum: Tue, 17 Nov 2009 21:04:21 +0100 Von: "Tobias C. Rittweiler" tcr@freebits.de An: slime-devel@common-lisp.net Betreff: Re: [slime-devel] broken clojure REPL
"Stefan Kamphausen" skampi@gmx.net writes:
[...]
While I understand that it would be nice to have a real symbol denoting the current cursor position, it feels rather hackish to me (and it /kills/ the swank-threads in Clojure). Would you mind replacing it with a not-so-special string? As far as I can tell, the code wouldn't need to change too much (cases of eq would probably become string= or something like that in a few places, but I may be wrong).
Using true symbols feels hackish to you but using strings which may legitimately appear as buffer forms does not? Uhm. :-)
Of course your are right. Having something definitive like a symbol is way better than a not-so-special string like "*HERE*" or something. The thing that feels strange to me is to create a symbol in elisp which uses the naming rules from common-lisp.
Elisp is pretty liberal on what it allows as symbol names.
Maybe another symbol name would be possible, hard for me to say, especially when dealing with packages/namespaces. A string is just a quick and easy solution, without being as robust as a symbol.
You didn't answer the important question:
Clojure seems to conflate how symbols are named, and how they're read in. Is there no way to escape symbol names?
I can change %cursor-marker% to have a symbol name that's nicer for clojure to cope with. But it would be an interim solution, only. I really want to see this fixed in Clojure.
At the moment, the Clojure backend does not correctly implement parsing the protocol.
-T.