summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog7
-rw-r--r--src/coding.c13
2 files changed, 14 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 773715ed1f2..eb9ba22b0b2 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -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.
diff --git a/src/coding.c b/src/coding.c
index cbebeff6310..e2819f62e55 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -6073,10 +6073,9 @@ raw_text_coding_system (coding_system)
}
-/* 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 @@ coding_inherit_eol_type (coding_system, parent)
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 @@ complement_process_encoding_system (coding_system)
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 @@ complement_process_encoding_system (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;