From: Kenichi Handa Date: Mon, 10 Feb 2003 08:24:29 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: ttn-vms-21-2-B4~11290 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ce4254bd12176593c718298c36bedbc816d57109;p=emacs.git *** empty log message *** --- diff --git a/etc/NEWS b/etc/NEWS index e86770e3861..af4df19a302 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -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. diff --git a/src/ChangeLog b/src/ChangeLog index 11095f90536..71951175934 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,36 @@ +2003-02-10 Kenichi Handa + + * 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 * fns.c (string_to_multibyte): New function.