Mercurial > emacs
changeset 110836:093225094d08
Fix complementing of a coding system
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Sat, 02 Oct 2010 11:53:21 +0900 |
parents | 5481007b7ce9 (current diff) 526c42ed21b1 (diff) |
children | d35b3cc77cf3 |
files | |
diffstat | 2 files changed, 14 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Thu Sep 30 20:41:12 2010 -0700 +++ b/src/ChangeLog Sat Oct 02 11:53:21 2010 +0900 @@ -1,3 +1,10 @@ +2010-10-02 Kenichi Handa <handa@m17n.org> + + * coding.c (coding_inherit_eol_type): If parent doesn't specify + eol-format, inherit from the system's default. + (complement_process_encoding_system): Make a new coding system + inherit the original eol-format. + 2010-09-30 Kenichi Handa <handa@m17n.org> * coding.c (complement_process_encoding_system): New function.
--- a/src/coding.c Thu Sep 30 20:41:12 2010 -0700 +++ b/src/coding.c Sat Oct 02 11:53:21 2010 +0900 @@ -6073,10 +6073,9 @@ } -/* If CODING_SYSTEM doesn't specify end-of-line format but PARENT - does, return one of the subsidiary that has the same eol-spec as - PARENT. Otherwise, return CODING_SYSTEM. If PARENT is nil, - inherit end-of-line format from the system's setting +/* If CODING_SYSTEM doesn't specify end-of-line format, return one of + the subsidiary that has the same eol-spec as PARENT (if it is not + nil and specifies end-of-line format) or the system's setting (system_eol_type). */ Lisp_Object @@ -6099,6 +6098,8 @@ parent_spec = CODING_SYSTEM_SPEC (parent); parent_eol_type = AREF (parent_spec, 2); + if (VECTORP (parent_eol_type)) + parent_eol_type = system_eol_type; } else parent_eol_type = system_eol_type; @@ -6132,7 +6133,7 @@ if (EQ (coding_type, Qundecided)) { - /* We must decide the text-conversion part. */ + /* We must decide the text-conversion part ar first. */ if (CONSP (Vdefault_process_coding_system)) { coding_system = XCDR (Vdefault_process_coding_system); @@ -6162,7 +6163,7 @@ if (NILP (eol_type) || VECTORP (eol_type)) { /* We must decide the eol-conversion part. */ - coding_system = coding_inherit_eol_type (coding_system, Qnil); + coding_system = coding_inherit_eol_type (coding_system, coding_system); } return coding_system;