+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.
}
-/* 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
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;
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);
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;