From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] * etc/NEWS: Document incompatibilities introduced by record types. Date: Wed, 13 Dec 2017 18:02:20 -0500 Message-ID: References: <20171211213729.41411-1-phst@google.com> Reply-To: rms@gnu.org NNTP-Posting-Host: blaine.gmane.org Content-Type: text/plain; charset=Utf-8 X-Trace: blaine.gmane.org 1513206207 30674 195.159.176.226 (13 Dec 2017 23:03:27 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 13 Dec 2017 23:03:27 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Dec 14 00:03:22 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePG3c-0007iw-BU for ged-emacs-devel@m.gmane.org; Thu, 14 Dec 2017 00:03:20 +0100 Original-Received: from localhost ([::1]:38151 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePG3j-0008NF-KT for ged-emacs-devel@m.gmane.org; Wed, 13 Dec 2017 18:03:27 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50305) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePG2j-0008Ku-4x for emacs-devel@gnu.org; Wed, 13 Dec 2017 18:02:26 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePG2i-00055Y-6f for emacs-devel@gnu.org; Wed, 13 Dec 2017 18:02:25 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:44541) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePG2f-00050R-Fk; Wed, 13 Dec 2017 18:02:21 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1ePG2e-0005aX-PL; Wed, 13 Dec 2017 18:02:20 -0500 In-reply-to: (message from Stefan Monnier on Tue, 12 Dec 2017 20:29:18 -0500) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:221033 Archived-At: [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > I'm just really puzzled by all the strong reactions for a problem that's > so% hypothetical, It is not hypothetical. I am sure people will define such types in their code, and get screwed. and really very similar to lots of other "risks" that > we don't care about at all. The similarity is only at an abstract level. People understand that redefining primitive functions will break things. Redefining 'apply' in a careless way will break things very fast. I just tried (fset 'apply 'list), and then kill and yank did not work. There is no danger people will develop Lisp packages which do this and release them believing they work correctly. If you define 'integer' as a record type, it will break some things, but you might not notice them. That makes it a more dangerous trap. You could release a Lisp package which does this, not realizing that it will cause problems for other users. Since we agree that defining these symbols as record types should not be done, let's make it easier for programmers to avoid doing that. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) Skype: No way! See https://stallman.org/skype.html.