Commit 11f84d7d authored by Kenichi Handa's avatar Kenichi Handa
Browse files

(Fstart_process): If enable-multibyte-characters is

nil, set coding system for decoding output of process to
emacs-mule, and set coding system for encoding to nil.
(Fopen_network_stream): If enable-multibyte-characters is nil, set
coding systems for decoding and encoding to nil.
parent cbc64b2a
...@@ -1174,7 +1174,11 @@ Remaining arguments are strings to give program as arguments.") ...@@ -1174,7 +1174,11 @@ Remaining arguments are strings to give program as arguments.")
Lisp_Object val, *args2; Lisp_Object val, *args2;
struct gcpro gcpro1; struct gcpro gcpro1;
if (NILP (val = Vcoding_system_for_read)) if (!NILP (Vcoding_system_for_read))
val = Vcoding_system_for_read;
else if (NILP (current_buffer->enable_multibyte_characters))
val = Qemacs_mule;
else
{ {
args2 = (Lisp_Object *) alloca ((nargs + 1) * sizeof *args2); args2 = (Lisp_Object *) alloca ((nargs + 1) * sizeof *args2);
args2[0] = Qstart_process; args2[0] = Qstart_process;
...@@ -1186,10 +1190,16 @@ Remaining arguments are strings to give program as arguments.") ...@@ -1186,10 +1190,16 @@ Remaining arguments are strings to give program as arguments.")
val = XCONS (coding_systems)->car; val = XCONS (coding_systems)->car;
else if (CONSP (Vdefault_process_coding_system)) else if (CONSP (Vdefault_process_coding_system))
val = XCONS (Vdefault_process_coding_system)->car; val = XCONS (Vdefault_process_coding_system)->car;
else
val = Qnil;
} }
XPROCESS (proc)->decode_coding_system = val; XPROCESS (proc)->decode_coding_system = val;
if (NILP (val = Vcoding_system_for_write)) if (!NILP (Vcoding_system_for_write))
val = Vcoding_system_for_write;
else if (NILP (current_buffer->enable_multibyte_characters))
val = Qnil;
else
{ {
if (EQ (coding_systems, Qt)) if (EQ (coding_systems, Qt))
{ {
...@@ -1205,6 +1215,8 @@ Remaining arguments are strings to give program as arguments.") ...@@ -1205,6 +1215,8 @@ Remaining arguments are strings to give program as arguments.")
val = XCONS (coding_systems)->cdr; val = XCONS (coding_systems)->cdr;
else if (CONSP (Vdefault_process_coding_system)) else if (CONSP (Vdefault_process_coding_system))
val = XCONS (Vdefault_process_coding_system)->cdr; val = XCONS (Vdefault_process_coding_system)->cdr;
else
val = Qnil;
} }
XPROCESS (proc)->encode_coding_system = val; XPROCESS (proc)->encode_coding_system = val;
} }
...@@ -1907,7 +1919,15 @@ Fourth arg SERVICE is name of the service desired, or an integer\n\ ...@@ -1907,7 +1919,15 @@ Fourth arg SERVICE is name of the service desired, or an integer\n\
Lisp_Object coding_systems = Qt; Lisp_Object coding_systems = Qt;
Lisp_Object args[5], val; Lisp_Object args[5], val;
if (NILP (val = Vcoding_system_for_read)) if (!NILP (Vcoding_system_for_read))
val = Vcoding_system_for_read;
else if (NILP (current_buffer->enable_multibyte_characters))
/* We dare not decode end-of-line format by setting VAL to
Qemacs_mule, because the existing Emacs Lisp libraries
assume that they receive bare code including a sequene of
CR LF. */
val = Qnil;
else
{ {
args[0] = Qopen_network_stream, args[1] = name, args[0] = Qopen_network_stream, args[1] = name,
args[2] = buffer, args[3] = host, args[4] = service; args[2] = buffer, args[3] = host, args[4] = service;
...@@ -1918,10 +1938,16 @@ Fourth arg SERVICE is name of the service desired, or an integer\n\ ...@@ -1918,10 +1938,16 @@ Fourth arg SERVICE is name of the service desired, or an integer\n\
val = XCONS (coding_systems)->car; val = XCONS (coding_systems)->car;
else if (CONSP (Vdefault_process_coding_system)) else if (CONSP (Vdefault_process_coding_system))
val = XCONS (Vdefault_process_coding_system)->car; val = XCONS (Vdefault_process_coding_system)->car;
else
val = Qnil;
} }
XPROCESS (proc)->decode_coding_system = val; XPROCESS (proc)->decode_coding_system = val;
if (NILP (val = Vcoding_system_for_write)) if (!NILP (Vcoding_system_for_write))
val = Vcoding_system_for_write;
else if (NILP (current_buffer->enable_multibyte_characters))
val = Qnil;
else
{ {
if (EQ (coding_systems, Qt)) if (EQ (coding_systems, Qt))
{ {
...@@ -1935,6 +1961,8 @@ Fourth arg SERVICE is name of the service desired, or an integer\n\ ...@@ -1935,6 +1961,8 @@ Fourth arg SERVICE is name of the service desired, or an integer\n\
val = XCONS (coding_systems)->cdr; val = XCONS (coding_systems)->cdr;
else if (CONSP (Vdefault_process_coding_system)) else if (CONSP (Vdefault_process_coding_system))
val = XCONS (Vdefault_process_coding_system)->cdr; val = XCONS (Vdefault_process_coding_system)->cdr;
else
val = Qnil;
} }
XPROCESS (proc)->encode_coding_system = val; XPROCESS (proc)->encode_coding_system = val;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment