[slime-devel] [BUG] ed-in-emacs on symbols

The ed-in-emacs function may err when given certain symbols as argument. In particular, multiple escaped characters in a symbol can trip it up. For example, with AquaMacs + Clozure: (ed 'a\ b\ c) => error in process filter: Wrong number of arguments: NIL, 3 (ed-in-emacs '|ab)c|) => error in process filter: No known definition for: common-lisp- user::ab (in nil) The cause is that ed-in-emacs attempts to pass the raw symbol when dispatching :ED to emacs: 1. dispatch-event: (:EMACS-REX (SWANK:LISTENER-EVAL "(ed 'a\\ b\\ c)") "COMMON-LISP-USER" :REPL-THREAD 74) 2. send-event: #<PROCESS repl-thread(36)> (:EMACS-REX (SWANK:LISTENER- EVAL "(ed 'a\\ b\\ c)") "COMMON-LISP-USER" 74) 3. dispatch-event: (:ED COMMON-LISP-USER::|A B C|) 4. WRITE: (:ed common-lisp-user::|A B C|) Common LISP typically outputs a symbol using bars for |multiple escape|. However, this is not understood by the emacs reader. How can we change the encoding of the :ED dispatch symbol argument to fix this issue? -- Terje Norderhaug

On Jul 2, 2009, at 7:23 AM, Helmut Eller wrote:
* Terje Norderhaug [2009-07-02 09:43+0200] writes:
How can we change the encoding of the :ED dispatch symbol argument to fix this issue?
I changed that: SWANK sends the symbol now as string.
Note that :ED also passes pathnames as strings, which may confuse the client. But I assume you already covered that. -- Terje Norderhaug
participants (2)
-
Helmut Eller
-
Terje Norderhaug