From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#44486: 27.1; C-@ chars corrupt elisp buffer Date: Sun, 15 Nov 2020 17:08:17 +0200 Message-ID: <83mtziu07y.fsf@gnu.org> References: <878sbeikpr.fsf@posteo.net> <87zh3u8pqn.fsf@igel.home> <83blga8pdp.fsf@gnu.org> <838sbe8nny.fsf@gnu.org> <83361m8d1t.fsf@gnu.org> <87blg6lem7.fsf@gnus.org> <83r1p24ieo.fsf@gnu.org> <83h7psug9r.fsf@gnu.org> <83eekvvruq.fsf@gnu.org> <83y2j3u7zv.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31532"; mail-complaints-to="usenet@ciao.gmane.io" Cc: thievol@posteo.net, larsi@gnus.org, schwab@linux-m68k.org, 44486@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Nov 15 16:09:30 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1keJei-00084i-So for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 15 Nov 2020 16:09:28 +0100 Original-Received: from localhost ([::1]:49714 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1keJeh-0003TH-6J for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 15 Nov 2020 10:09:27 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33578) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1keJeK-0003T0-Bt for bug-gnu-emacs@gnu.org; Sun, 15 Nov 2020 10:09:04 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:42404) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1keJeH-0004Hs-Oe for bug-gnu-emacs@gnu.org; Sun, 15 Nov 2020 10:09:04 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1keJeH-0005E7-Jb for bug-gnu-emacs@gnu.org; Sun, 15 Nov 2020 10:09:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 15 Nov 2020 15:09:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44486 X-GNU-PR-Package: emacs Original-Received: via spool by 44486-submit@debbugs.gnu.org id=B44486.160545292120058 (code B ref 44486); Sun, 15 Nov 2020 15:09:01 +0000 Original-Received: (at 44486) by debbugs.gnu.org; 15 Nov 2020 15:08:41 +0000 Original-Received: from localhost ([127.0.0.1]:53949 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1keJdt-0005DO-Ij for submit@debbugs.gnu.org; Sun, 15 Nov 2020 10:08:41 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:33406) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1keJdr-0005D9-M2 for 44486@debbugs.gnu.org; Sun, 15 Nov 2020 10:08:36 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:43414) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1keJdk-000477-Vb; Sun, 15 Nov 2020 10:08:28 -0500 Original-Received: from [176.228.60.248] (port=1397 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1keJdk-0006WV-5E; Sun, 15 Nov 2020 10:08:28 -0500 In-Reply-To: (message from Stefan Monnier on Sat, 14 Nov 2020 17:53:57 -0500) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:193358 Archived-At: > From: Stefan Monnier > Cc: larsi@gnus.org, thievol@posteo.net, handa@gnu.org, > schwab@linux-m68k.org, 44486@debbugs.gnu.org > Date: Sat, 14 Nov 2020 17:53:57 -0500 > > >> If `utf-8` is preferable over `prefer-utf-8` for this usage I think > >> the problem is in `prefer-utf-8` since it was introduced > >> specifically for that. > > The implementation doesn't support your POV. > > Then I think the implementation is in error. But that ship has sailed 7 years ago. > > We are not talking about .el files, we are talking about _any_ file > > read using prefer-utf-8. > > `prefer-utf-8` was not introduced because it seemed like a good idea and > then we hoped someone would find it useful. It was introduced to solve > a concrete need, which is that of `.el` files. It's quite possible that > there are other situations that have the same needs as `.el` files, but > from where I stand it looks like "the needs of .el files (and similar > cases)" should determine the intended behavior of `prefer-utf-8` rather > than its current implementation. > > > For .el files, we can always bind inhibit-null-byte-detection to t > > when we load or visit such files. > > We could, but I'm having trouble imagining a situation where we'd want > to use `prefer-utf-8` and not inhibit "NUL means binary". > > The "NUL mean binarys" heuristic fundamentally says that `binary` is the > first coding system we try and only if this one fails (for lack of NUL > bytes) we consider others. But for `prefer-utf-8` we should first > consider utf-8 and only if this fails should we consider others > (potentially including `binary` if you want, my opinion is not as strong > there). > > > I'm not talking about .el files. The coding-system's applicability is > > wider than that. > > Could be. But it's its "raison d'être" (and AFAIK currently still the > sole application), so it should handle this case as best it can. We should have been having this discussion 7 years ago. And guess what? we did. In that discussion, you said, in response to a question from Kenichi: > * What to do with null byte detection. Previously, if a > *.el file contains a null byte and > inhibit-null-byte-detection is nil (the default), it's > detected as a binary file. Now utf-8 is forced regardless > of inhibit-null-byte-detection. I like the utf-8 better, but I don't know of any concrete case where it makes a significant difference, so either way is OK. ^^^^^^^^^^^^^^^^ Note that what actually got implemented ignored inhibit-null-byte-detection altogether, and _always_ considered the file binary if any null byte was found. My change, which prompted this present discussion, made prefer-utf-8 heed the variable's value, which is mid-way between what we had for 7 years and what you thought we should have. So, a small step forward ;-)