From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Emacs Lisp's future Date: Thu, 09 Oct 2014 13:06:11 +0200 Message-ID: <8761ft5wpo.fsf@fencepost.gnu.org> References: <87d2ahm3nw.fsf@fencepost.gnu.org> <871tqneyvl.fsf@netris.org> <87zjd9swfj.fsf@uwakimon.sk.tsukuba.ac.jp> <87oatnqpml.fsf@uwakimon.sk.tsukuba.ac.jp> <874mvdrj45.fsf@uwakimon.sk.tsukuba.ac.jp> <20141009044917.GA19957@fencepost.gnu.org> <83lhopisfr.fsf@gnu.org> <87ppe1pldu.fsf@uwakimon.sk.tsukuba.ac.jp> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1412852807 10648 80.91.229.3 (9 Oct 2014 11:06:47 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 9 Oct 2014 11:06:47 +0000 (UTC) Cc: rms@gnu.org, handa@gnu.org, mhw@netris.org, dmantipov@yandex.ru, emacs-devel@gnu.org, Mike Gerwitz , monnier@iro.umontreal.ca, Eli Zaretskii To: "Stephen J. Turnbull" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Oct 09 13:06:39 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XcBYN-0008MP-Jn for ged-emacs-devel@m.gmane.org; Thu, 09 Oct 2014 13:06:39 +0200 Original-Received: from localhost ([::1]:41797 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XcBYN-00049x-1R for ged-emacs-devel@m.gmane.org; Thu, 09 Oct 2014 07:06:39 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41706) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XcBY8-000458-NB for emacs-devel@gnu.org; Thu, 09 Oct 2014 07:06:29 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XcBY7-0000Of-K2 for emacs-devel@gnu.org; Thu, 09 Oct 2014 07:06:24 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37090) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XcBY7-0000Ob-HE for emacs-devel@gnu.org; Thu, 09 Oct 2014 07:06:23 -0400 Original-Received: from localhost ([127.0.0.1]:44255 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XcBXv-00040U-V2; Thu, 09 Oct 2014 07:06:12 -0400 Original-Received: by lola (Postfix, from userid 1000) id 85E14E0500; Thu, 9 Oct 2014 13:06:11 +0200 (CEST) In-Reply-To: <87ppe1pldu.fsf@uwakimon.sk.tsukuba.ac.jp> (Stephen J. Turnbull's message of "Thu, 09 Oct 2014 19:50:37 +0900") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:175181 Archived-At: "Stephen J. Turnbull" writes: > Eli Zaretskii writes: > > > Aren't you again confusing the application level with the lower > > "engine" level? > > No, you and David are confused. All experience with programming > systems shows that if you leave security up to the application > programmers, you won't get enough. Remember, the security of a system > is equal to the minimum of the security levels of its components. Annoying and distracting the application programmer is not providing additional security. It's security theatre. > In the case of Emacs coding systems, it's as simple as choosing to > name the conformant coding system 'utf-8, and the non-conformant one > 'utf-8-with-rawbytes. Why does this excite such > opposition? So first I let the locale and other mechanisms choose an encoding, then try getting at its choice of coding system before any prompts appear, then I convert the symbol to a string, check whether the string ends with "-with-rawbytes" and append it if needed (let's hope it is in the right location with regard to "-dos" or "-unix" endings) and lo-and-behold, I am allowed to read a file. Or network connection. Or console output. If I don't get that, either my control flow will be affected, or I will receive falsified data not corresponding to the input that I can't even check for bad bytes and for which I am unable to figure out byte offsets of various parts in the input because I can no longer reconstruct the input faithfully. "Stuff refuses to work" will lose you more users than "stuff refuses to secondguess". Stuff like PostScript files are text files with occasional binary sections. That's real-world data and dealing with it should not require preannouncing it every time explicitly. -- David Kastrup