all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: [Emacs-diffs] master db828f6: Don't rely on defaults in decoding	UTF-8 encoded Lisp files
Date: Fri, 25 Sep 2015 10:55:24 +0300	[thread overview]
Message-ID: <83fv23hr0z.fsf@gnu.org> (raw)
In-Reply-To: <jwva8sbbj7w.fsf-monnier+emacsdiffs@gnu.org>

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: emacs-devel@gnu.org
> Date: Thu, 24 Sep 2015 17:29:38 -0400
> 
> >   emacs -Q
> >   M-x set-locale-environment RET he_IL.ISO-8859-8 RET
> >   C-x C-f doc/lispref/tips.texi RET
> 
> Hmm.... I don't think this is using prefer-utf-8.  `prefer-utf-8' is
> used for *.el files via file-coding-system-alist.

So we now agree that at least non-*.el files should have the coding
cookie, yes?

As for *.el files: prefer-utf-8 is too easily duped for us to have
such infinite faith in it.  I can easily force a .el file to be saved
in non-UTF-8 encoding, and then it will be decoded incorrectly when
visited, if it doesn't have a coding cookie.  E.g., try saving a
foo.el with the following contents:

  (setq string "א“”")

using cp1255, then kill the buffer and visit it again.  You will see
this instead:

  (setq string "Ӕ")

Bottom line: we use prefer-utf-8 for *.el files so that the
probability of such catastrophic errors be minimized when the lazy
maintainers couldn't be bothered to add a cookie.  But we don't want
to be lazy ourselves, with the files we own and control.

More generally, I think we should require any text file in the Emacs
repository that includes non-ASCII characters to have an explicit
coding cookie, so that these subtle problems don't lie low because
most Emacs contributors live in UTF-8 locales.




  reply	other threads:[~2015-09-25  7:55 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20150921165211.20434.28114@vcs.savannah.gnu.org>
     [not found] ` <E1Ze4K3-0005KC-5U@vcs.savannah.gnu.org>
2015-09-21 19:57   ` [Emacs-diffs] master db828f6: Don't rely on defaults in decoding UTF-8 encoded Lisp files Stefan Monnier
2015-09-21 20:07     ` Eli Zaretskii
2015-09-24 16:44       ` Eli Zaretskii
2015-09-24 21:29         ` Stefan Monnier
2015-09-25  7:55           ` Eli Zaretskii [this message]
2015-09-25 12:21             ` Stefan Monnier
2015-09-25 13:37               ` Eli Zaretskii
2015-09-25 22:32               ` Paul Eggert
2015-09-26  6:27                 ` Eli Zaretskii
2015-09-26  6:32                   ` Eli Zaretskii
2015-09-26 14:31                   ` Paul Eggert
2015-09-26 15:15                     ` Eli Zaretskii
2015-09-26 16:01                       ` Paul Eggert
2015-09-26 16:09                         ` David Kastrup
2015-09-26 17:26                           ` Eli Zaretskii
2015-09-26 18:53                           ` Paul Eggert
2015-09-26 19:35                             ` Eli Zaretskii
2015-09-26 20:26                               ` Chad Brown
2015-09-26 21:50                                 ` David Kastrup
2015-09-27  4:44                                   ` Paul Eggert
2015-09-27  5:29                                     ` David Kastrup
2015-09-27  7:38                                       ` Paul Eggert
2015-09-27  7:46                                         ` David Kastrup
2015-09-27  7:52                                           ` Paul Eggert
2015-09-27  9:47                                       ` Andreas Schwab
2015-09-27  9:54                                         ` David Kastrup
2015-09-27 10:03                                           ` Andreas Schwab
2015-09-27 10:12                                             ` David Kastrup
2015-09-27 11:10                                               ` Andreas Schwab
2015-09-27 22:48                                       ` Richard Stallman
2015-09-28  2:41                                         ` Paul Eggert
2015-09-28  6:53                                           ` Eli Zaretskii
2015-09-28 15:08                                             ` Paul Eggert
2015-09-28 15:58                                               ` Eli Zaretskii
2015-09-27  7:39                                     ` Eli Zaretskii
2015-09-27  7:52                                       ` Paul Eggert
2015-09-27  8:00                                         ` David Kastrup
2015-09-27  8:03                                         ` Eli Zaretskii
2015-09-27  8:29                                           ` Paul Eggert
2015-09-27  8:37                                             ` David Kastrup
2015-09-27  8:40                                               ` Paul Eggert
2015-09-27  8:50                                                 ` David Kastrup
2015-09-27 10:14                                                 ` Eli Zaretskii
2015-09-27  8:57                                             ` Eli Zaretskii
2015-09-27  7:34                                 ` Eli Zaretskii
2015-09-27 16:03                                   ` Chad Brown
2015-09-27 18:41                                     ` Eli Zaretskii
2015-09-27 19:52                                       ` Chad Brown
2015-09-27 20:52                                         ` Eli Zaretskii
2015-09-26 20:32                               ` Paul Eggert
2015-09-27  7:27                                 ` Eli Zaretskii
2015-09-27  7:42                                   ` David Kastrup
2015-09-27  9:20                                     ` Rustom Mody
2015-09-27 10:13                                       ` Eli Zaretskii
2015-09-27 20:21                                         ` Paul Eggert
2015-09-27 21:04                                           ` Eli Zaretskii
2015-09-27  8:22                                   ` Paul Eggert
2015-09-27  8:55                                     ` Eli Zaretskii
2015-09-27  9:56                                     ` Andreas Schwab
2015-09-27 10:04                                       ` David Kastrup
2015-09-27 10:16                                         ` Eli Zaretskii
2015-09-27 10:36                                           ` Eli Zaretskii
2015-09-27 10:59                                             ` Eli Zaretskii
2015-09-27 20:05                                               ` Paul Eggert
2015-09-26 17:25                         ` Eli Zaretskii
2015-09-26 18:51                           ` Paul Eggert
2015-09-27  0:12                         ` stephen
2015-09-27  4:44                           ` Paul Eggert
2015-09-27  6:20                             ` stephen
2015-09-27  8:34                               ` Paul Eggert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83fv23hr0z.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.