GNU bug report logs - #14287
24.3.50; Some *-dos coding systems remove characters before LF for some files.

Previous Next

Package: emacs;

Reported by: Kazuhiro Ito <kzhr <at> d1.dion.ne.jp>

Date: Sat, 27 Apr 2013 12:04:01 UTC

Severity: normal

Found in version 24.3.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 14287 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Kazuhiro Ito <kzhr <at> d1.dion.ne.jp>
Cc: 14287 <at> debbugs.gnu.org
Subject: Re: bug#14287: 24.3.50;
	Some *-dos coding systems remove characters before LF for some files.
Date: Sat, 27 Apr 2013 15:55:50 +0300
> Date: Sat, 27 Apr 2013 21:03:03 +0900
> From: Kazuhiro Ito <kzhr <at> d1.dion.ne.jp>
> 
> When I evaluate the below code on trunk, I get different result from 24.3.
> 
> (let ((file (expand-file-name "HELLO" data-directory)))
>   (mapcar
>    (lambda (coding)
>      (with-temp-buffer
>        (let ((coding-system-for-read coding))
> 	 (insert-file-contents file))
>        (cons coding
> 	     (buffer-substring
> 	      (point-min) (progn (forward-line 1) (point))))))
>    '(iso-8859-1-unix
>      iso-8859-1-dos
>      raw-text-unix
>      raw-text-dos
>      sjis-unix
>      sjis-dos
>      iso-2022-7bit-unix
>      iso-2022-7bit-dos)))
> 
> ->
> 
> ((iso-8859-1-unix . "This is a list of ways to say hello in various languages.
> ") (iso-8859-1-dos . "This is a list of ways to say hello in various languages

Does the patch below fix that?

=== modified file 'src/coding.c'
--- src/coding.c	2013-04-24 15:09:49 +0000
+++ src/coding.c	2013-04-27 12:52:02 +0000
@@ -7774,7 +7774,7 @@ decode_coding_gap (struct coding_system 
 	      while (src_beg < src)
 		{
 		  *--dst = *--src;
-		  if (*src == '\n')
+		  if (*src == '\n' && src > src_beg && src[-1] == '\r')
 		    src--;
 		}
 	      diff = dst - src;





This bug report was last modified 12 years and 27 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.