summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib-src/emacsclient.c2
-rw-r--r--lisp/server.el5
2 files changed, 5 insertions, 2 deletions
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index 425db8cface..ee124ea135c 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -2240,7 +2240,7 @@ main (int argc, char **argv)
char *str = unquote_argument (p + strlen ("-error "));
if (!skiplf)
printf ("\n");
- fprintf (stderr, "*ERROR*: %s", str);
+ message (true, "*ERROR*: %s", str);
if (str[0])
skiplf = str[strlen (str) - 1] == '\n';
exit_status = EXIT_FAILURE;
diff --git a/lisp/server.el b/lisp/server.el
index 553890ce299..2973b783e64 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -717,7 +717,10 @@ server or call `\\[server-force-delete]' to forcibly disconnect it."))
;; Those are decoded by server-process-filter according
;; to file-name-coding-system. Also don't get
;; confused by CRs since we don't quote them.
- :coding 'raw-text-unix
+ ;; For encoding, we must use the locale's encoding,
+ ;; since emacsclient shows that verbatim on the
+ ;; console.
+ :coding (cons 'raw-text-unix locale-coding-system)
;; The other args depend on the kind of socket used.
(if server-use-tcp
(list :family 'ipv4 ;; We're not ready for IPv6 yet