(decode_eol_post_ccl): Special handling for undecided
authorEli Zaretskii <eliz@gnu.org>
Fri, 23 Jun 2000 05:32:45 +0000 (05:32 +0000)
committerEli Zaretskii <eliz@gnu.org>
Fri, 23 Jun 2000 05:32:45 +0000 (05:32 +0000)
and inconsistent EOL types.

src/ChangeLog
src/coding.c

index f7ecf01..4ccc973 100644 (file)
@@ -1,3 +1,8 @@
+2000-06-23  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * coding.c (decode_eol_post_ccl): Special handling for undecided
+       and inconsistent EOL types.
+
 2000-06-22  Gerd Moellmann  <gerd@gnu.org>
 
        * xrdb.c (x_load_resources): Add default resource for scroll bar's
index d02c27d..a90795d 100644 (file)
@@ -3944,13 +3944,19 @@ decode_eol_post_ccl (coding, ptr, bytes)
       /* Here, to avoid the call of setup_coding_system, we directly
         call detect_eol_type.  */
       coding->eol_type = detect_eol_type (ptr, bytes, &dummy);
-      val = Fget (coding->symbol, Qeol_type);
-      if (VECTORP (val) && XVECTOR (val)->size == 3)
-       coding->symbol = XVECTOR (val)->contents[coding->eol_type];
+      if (coding->eol_type == CODING_EOL_INCONSISTENT)
+       coding->eol_type = CODING_EOL_LF;
+      if (coding->eol_type != CODING_EOL_UNDECIDED)
+       {
+         val = Fget (coding->symbol, Qeol_type);
+         if (VECTORP (val) && XVECTOR (val)->size == 3)
+           coding->symbol = XVECTOR (val)->contents[coding->eol_type];
+       }
       coding->mode |= CODING_MODE_INHIBIT_INCONSISTENT_EOL;
     }
 
-  if (coding->eol_type == CODING_EOL_LF)
+  if (coding->eol_type == CODING_EOL_LF
+      || coding->eol_type == CODING_EOL_UNDECIDED)
     {
       /* We have nothing to do.  */
       ptr = pend;