Fix encoding and display of messages sent by server to emacsclient
* lisp/server.el (server-start): Use 'locale-coding-system' to encode messages sent back to the client. * lib-src/emacsclient.c (main): Print '-error' messages via 'message', not directly via 'fprintf'. This shows the error on MS-Windows when the client is invoked as 'emacsclientw', since stderr goes to the bit bucket in that case.
This commit is contained in:
parent
2ec39734ca
commit
1682bd18f5
2 changed files with 5 additions and 2 deletions
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue