summaryrefslogtreecommitdiff
path: root/lisp/server.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1996-09-02 00:03:28 +0000
committerRichard M. Stallman <rms@gnu.org>1996-09-02 00:03:28 +0000
commit61a2d6d6e8fd832c5f8d72f56f27c3d8cf9f93ad (patch)
tree90d2b0f130b3c6dce8cccacb7198c7442e9a8dc8 /lisp/server.el
parentf78847ea833b9c4b113645b19c1936fc52418f14 (diff)
downloademacs-61a2d6d6e8fd832c5f8d72f56f27c3d8cf9f93ad.tar.gz
(server-process-filter): Undo the quoting with
backslashes that emacsclient now does for special characters. Delete some debugging code accidentally left in.
Diffstat (limited to 'lisp/server.el')
-rw-r--r--lisp/server.el13
1 files changed, 12 insertions, 1 deletions
diff --git a/lisp/server.el b/lisp/server.el
index d614e9c789b..dbadb63418c 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -197,7 +197,6 @@ Prefix arg means just kill any existing server communications subprocess."
(setq request (substring request (match-end 0)))
(setq client (list (substring request 0 (string-match " " request))))
(setq request (substring request (match-end 0)))
- (setq foofoo request)
(while (string-match "[^ ]+ " request)
(let ((arg
(substring request (match-beginning 0) (1- (match-end 0)))))
@@ -210,6 +209,18 @@ Prefix arg means just kill any existing server communications subprocess."
;; ARG is a file name.
;; Collapse multiple slashes to single slashes.
(setq arg (command-line-normalize-file-name arg))
+ (setq pos 0)
+ ;; Undo the quoting that emacsclient does
+ ;; for certain special characters.
+ (while (string-match "\\\\." arg pos)
+ (setq pos (1+ (match-beginning 0)))
+ (let ((nextchar (aref arg pos)))
+ (cond ((= nextchar ?\\)
+ (setq arg (replace-match "\\" t t arg)))
+ ((= nextchar ?-)
+ (setq arg (replace-match "-" t t arg)))
+ (t
+ (setq arg (replace-match " " t t arg))))))
(setq files
(cons (list arg lineno)
files))