summaryrefslogtreecommitdiff
path: root/lisp/server.el
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>1999-03-13 00:21:24 +0000
committerKenichi Handa <handa@m17n.org>1999-03-13 00:21:24 +0000
commit6b7430a8ac2ef755daac223728c0e784bbd1ce4b (patch)
tree87a5bed64d5383c59ad3cfc3ba753932c27c0b97 /lisp/server.el
parentbdcb0e25c99d08256eaeaa34ef75006010d90f76 (diff)
downloademacs-6b7430a8ac2ef755daac223728c0e784bbd1ce4b.tar.gz
(server-start): Set coding system for the server
process to raw-text. (server-process-filter): Decode file names if necessary.
Diffstat (limited to 'lisp/server.el')
-rw-r--r--lisp/server.el10
1 files changed, 10 insertions, 0 deletions
diff --git a/lisp/server.el b/lisp/server.el
index 5a8720e377e..89e3710b329 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -195,6 +195,10 @@ Prefix arg means just kill any existing server communications subprocess."
(setq server-process (start-process "server" nil server-program)))
(set-process-sentinel server-process 'server-sentinel)
(set-process-filter server-process 'server-process-filter)
+ ;; We must receive file names without being decoded. Those are
+ ;; decoded by server-process-filter accoding to
+ ;; file-name-coding-system.
+ (set-process-coding-system server-process 'raw-text 'raw-text)
(process-kill-without-query server-process)))
;Process a request from the server to edit some files.
@@ -206,6 +210,9 @@ Prefix arg means just kill any existing server communications subprocess."
;; process each line individually.
(while (string-match "\n" string)
(let ((request (substring string 0 (match-beginning 0)))
+ (coding-system (and default-enable-multibyte-characters
+ (or file-name-coding-system
+ default-file-name-coding-system)))
client nowait
(files nil)
(lineno 1))
@@ -242,6 +249,9 @@ Prefix arg means just kill any existing server communications subprocess."
(setq arg (replace-match "-" t t arg)))
(t
(setq arg (replace-match " " t t arg))))))
+ ;; Now decode the file name if necessary.
+ (if coding-system
+ (setq arg (decode-coding-string arg coding-system)))
(setq files
(cons (list arg lineno)
files))