From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: Most of Elisp lacks lexical-binding: t Date: Wed, 06 Feb 2019 01:58:56 -0500 Message-ID: References: <15a15e1c-c44b-b978-82f0-7bbb6b1b8ff1@googlemail.com> <20190202145423.GB1067@ACM> <87y36vzrhl.fsf@russet.org.uk> Reply-To: rms@gnu.org Content-Type: text/plain; charset=Utf-8 Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="93276"; mail-complaints-to="usenet@blaine.gmane.org" Cc: emacs-devel@gnu.org, phillip.lord@russet.org.uk To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Feb 06 08:11:12 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1grHMW-000O9K-1Q for ged-emacs-devel@m.gmane.org; Wed, 06 Feb 2019 08:11:12 +0100 Original-Received: from localhost ([127.0.0.1]:46190 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1grHMU-0003on-Po for ged-emacs-devel@m.gmane.org; Wed, 06 Feb 2019 02:11:10 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:44614) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1grHMF-0003C1-2W for emacs-devel@gnu.org; Wed, 06 Feb 2019 02:10:55 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:33682) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1grHAf-0006y7-6i; Wed, 06 Feb 2019 01:58:57 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1grHAe-0005b0-U2; Wed, 06 Feb 2019 01:58:56 -0500 In-Reply-To: (message from Stefan Monnier on Mon, 04 Feb 2019 16:54:04 -0500) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] 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:233030 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. ]]] > E.g. we could advertise `eval` as taking a minimum > of 2 args so the byte-compiler would start warning about calls that > don't explicitly request lexical or dynamic binding (and hence fall > back to the default dynamic binding). Perhaps it would be better to define a new function, perhaps `eval-lexically', for specifying a lexical context. If these calls need to be changed anyway, changing the function name is no extra work. And the changed function name will make it easy to search for what has or has not been changed. We also need to keep track of which calls to eval should not be changed. There are various ways to do that -- for instance, we could label files that contain calls to eval when all those calls have been checked. Or we could define a new name, `eval-dynamically', to use in calls which people have verified should not be changed. Let's choose a way and start using it. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)