* bug#14287: 24.3.50; Some *-dos coding systems remove characters before LF for some files.
@ 2013-04-27 12:03 Kazuhiro Ito
2013-04-27 12:55 ` Eli Zaretskii
0 siblings, 1 reply; 4+ messages in thread
From: Kazuhiro Ito @ 2013-04-27 12:03 UTC (permalink / raw)
To: 14287
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
") (raw-text-unix . "This is a list of ways to say hello in various languages.
") (raw-text-dos . "This is a list of ways to say hello in various languages
") (sjis-unix . "This is a list of ways to say hello in various languages.
") (sjis-dos . "This is a list of ways to say hello in various languages
") (iso-2022-7bit-unix . "This is a list of ways to say hello in various languages.
") (iso-2022-7bit-dos . "This is a list of ways to say hello in various languages.
"))
Result of Emacs 23.4 is below.
((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.
") (raw-text-unix . "This is a list of ways to say hello in various languages.
") (raw-text-dos . "This is a list of ways to say hello in various languages.
") (sjis-unix . "This is a list of ways to say hello in various languages.
") (sjis-dos . "This is a list of ways to say hello in various languages.
") (iso-2022-7bit-unix . "This is a list of ways to say hello in various languages.
") (iso-2022-7bit-dos . "This is a list of ways to say hello in various languages.
"))
We can confirm manually with universal-coding-system-argument and
find-file command. The problem seems to depend the content of the
file and the kind of coding system. For example, it does not occur
with NEWS file. Of course, it is bad manner to load the content of
the file with incorrect coding system. But I think this current
behavior is very confusing.
--
Kazuhiro Ito
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#14287: 24.3.50; Some *-dos coding systems remove characters before LF for some files.
2013-04-27 12:03 bug#14287: 24.3.50; Some *-dos coding systems remove characters before LF for some files Kazuhiro Ito
@ 2013-04-27 12:55 ` Eli Zaretskii
2013-04-27 22:19 ` Kazuhiro Ito
0 siblings, 1 reply; 4+ messages in thread
From: Eli Zaretskii @ 2013-04-27 12:55 UTC (permalink / raw)
To: Kazuhiro Ito; +Cc: 14287
> Date: Sat, 27 Apr 2013 21:03:03 +0900
> From: Kazuhiro Ito <kzhr@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;
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#14287: 24.3.50; Some *-dos coding systems remove characters before LF for some files.
2013-04-27 12:55 ` Eli Zaretskii
@ 2013-04-27 22:19 ` Kazuhiro Ito
2013-04-28 18:22 ` Eli Zaretskii
0 siblings, 1 reply; 4+ messages in thread
From: Kazuhiro Ito @ 2013-04-27 22:19 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 14287
> > 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?
I confirmed your patch fixed the problem. Thank you.
--
Kazuhiro Ito
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#14287: 24.3.50; Some *-dos coding systems remove characters before LF for some files.
2013-04-27 22:19 ` Kazuhiro Ito
@ 2013-04-28 18:22 ` Eli Zaretskii
0 siblings, 0 replies; 4+ messages in thread
From: Eli Zaretskii @ 2013-04-28 18:22 UTC (permalink / raw)
To: Kazuhiro Ito; +Cc: 14287-done
> Date: Sun, 28 Apr 2013 07:19:56 +0900
> From: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
> Cc: 14287@debbugs.gnu.org
>
> > > 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?
>
> I confirmed your patch fixed the problem. Thank you.
Thanks, installed.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-04-28 18:22 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-27 12:03 bug#14287: 24.3.50; Some *-dos coding systems remove characters before LF for some files Kazuhiro Ito
2013-04-27 12:55 ` Eli Zaretskii
2013-04-27 22:19 ` Kazuhiro Ito
2013-04-28 18:22 ` Eli Zaretskii
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).