]> git.eshelyaron.com Git - emacs.git/commitdiff
*** empty log message ***
authorKenichi Handa <handa@m17n.org>
Mon, 10 Feb 2003 08:24:29 +0000 (08:24 +0000)
committerKenichi Handa <handa@m17n.org>
Mon, 10 Feb 2003 08:24:29 +0000 (08:24 +0000)
etc/NEWS
src/ChangeLog

index e86770e3861310b4205d326ca7020c2fb8c98f1d..af4df19a30276b10bee11d565ca07d56512a2237 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1168,6 +1168,23 @@ timing measurements of code (including the garbage collection component).
 \f
 * 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.
 
index 11095f90536241d4ad01505b5a1e5c0197a91b7b..71951175934ded03cd7762f002b64a66b1af3e33 100644 (file)
@@ -1,3 +1,36 @@
+2003-02-10  Kenichi Handa  <handa@m17n.org>
+
+       * process.c (QCfilter_multibyte): New variable.
+       (setup_process_coding_systems): New function.
+       (Fset_process_buffer, Fset_process_filter): Call
+       setup_process_coding_systems.
+       (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
+       Sprocess_filter_multibyte_p.
+
+       * 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  <handa@m17n.org>
 
        * fns.c (string_to_multibyte): New function.