Commit ce4254bd authored by Kenichi Handa's avatar Kenichi Handa

*** empty log message ***

parent 03f04413
......@@ -1168,6 +1168,23 @@ timing measurements of code (including the garbage collection component).
* Lisp Changes in Emacs 21.4
** New function `set-process-filter-multibyte' sets the multibyteness
of a string given to a process's filter.
** New function `process-filter-multibyte-p' returns t if
a string given to a process's filter is multibyte.
** A filter function of a process is called with a multibyte string if
the filter's multibyteness is t. That multibyteness is decided by the
value of `default-enable-multibyte-characters' when the process is
created and can be changed later by `set-process-filter-multibyte'.
** If a process's coding system is raw-text or no-conversion and its
buffer is multibyte, the output of the process is at first converted
to multibyte by `string-to-multibyte' then inserted in the buffer.
Previously, it was converted to multibyte by `string-as-multibyte',
which was not compatible with the behaviour of file reading.
** New function `string-to-multibyte' converts a unibyte string to a
multibyte string with the same individual character codes.
2003-02-10 Kenichi Handa <>
* process.c (QCfilter_multibyte): New variable.
(setup_process_coding_systems): New function.
(Fset_process_buffer, Fset_process_filter): Call
(Fstart_process): Initialize the member `filter_multibyte' of
struct Lisp_Process.
(create_process): Call setup_process_coding_systems.
(Fmake_network_process): New keyward `:filter-multibyte'.
Initialize the member `filter_multibyte' of struct Lisp_Process.
Call setup_process_coding_systems.
(server_accept_connection): Call setup_process_coding_systems.
(read_process_output): If the process has a filter, decide the
multibyteness of a string to given to the filter by
`filter_multibyte' member of the process. If the process doesn't
have a filter and the result of conversion is unibyte, use
Fstring_to_multibyte (not Fstring_make_multibyte) to get the
multibyte form.
(Fset_process_coding_system): Call setup_process_coding_systems.
(Fset_process_filter_multibyte): New function.
(Fprocess_filter_multibyte_p): New function.
(syms_of_process): Intern and staticpro QCfilter_multibyte.
Defsubr Sset_process_filter_multibyte and
* process.h (struct Lisp_Process): New member filter_multibyte.
* lisp.h (setup_process_coding_systems): Add prototype.
* buffer.c (Fset_buffer_multibyte): If the current buffer has a
process, update coding systems for the process.
2003-02-09 Kenichi Handa <>
* fns.c (string_to_multibyte): New function.
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