changeset 49668:f118fc83f5a5

*** empty log message ***
author Kenichi Handa <handa@m17n.org>
date Mon, 10 Feb 2003 08:24:29 +0000
parents cbec1327e2f1
children 158253007cd0
files etc/NEWS src/ChangeLog
diffstat 2 files changed, 50 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/etc/NEWS	Mon Feb 10 07:58:29 2003 +0000
+++ b/etc/NEWS	Mon Feb 10 08:24:29 2003 +0000
@@ -1168,6 +1168,23 @@
 
 * 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.
 
--- a/src/ChangeLog	Mon Feb 10 07:58:29 2003 +0000
+++ b/src/ChangeLog	Mon Feb 10 08:24:29 2003 +0000
@@ -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.