From 6b7430a8ac2ef755daac223728c0e784bbd1ce4b Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Sat, 13 Mar 1999 00:21:24 +0000 Subject: [PATCH] (server-start): Set coding system for the server process to raw-text. (server-process-filter): Decode file names if necessary. --- lisp/server.el | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lisp/server.el b/lisp/server.el index 5a8720e377..89e3710b32 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)) -- 2.39.2