From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] (Updated) Run hook when variable is set Date: Tue, 17 Feb 2015 18:07:02 -0500 Message-ID: References: Reply-To: rms@gnu.org NNTP-Posting-Host: plane.gmane.org Content-Type: text/plain; charset=Utf-8 X-Trace: ger.gmane.org 1424214448 22548 80.91.229.3 (17 Feb 2015 23:07:28 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 17 Feb 2015 23:07:28 +0000 (UTC) Cc: monnier@IRO.UMontreal.CA, emacs-devel@gnu.org To: Kelly Dean Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Feb 18 00:07:22 2015 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 1YNrEf-0003MS-Gr for ged-emacs-devel@m.gmane.org; Wed, 18 Feb 2015 00:07:21 +0100 Original-Received: from localhost ([::1]:47697 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YNrEe-0002ov-Pl for ged-emacs-devel@m.gmane.org; Tue, 17 Feb 2015 18:07:20 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48145) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YNrEO-0002n8-Cv for emacs-devel@gnu.org; Tue, 17 Feb 2015 18:07:05 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YNrEN-0001P4-H5 for emacs-devel@gnu.org; Tue, 17 Feb 2015 18:07:04 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:47895) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YNrEN-0001P0-Ei for emacs-devel@gnu.org; Tue, 17 Feb 2015 18:07:03 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1YNrEM-0002um-Rc; Tue, 17 Feb 2015 18:07:02 -0500 In-reply-to: (message from Kelly Dean on Tue, 17 Feb 2015 02:22:54 +0000) 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:183214 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. ]]] > Saying there's only a global variable doesn't remove the absurdity of makunbound within the extent of a «let». Suppose foo is currently unbound. Then: > (defvar foo 0) ; Now foo is bound to 0 > (let ((foo 1)) ; Now it's bound to 1 > (makunbound 'foo)) ; Now it's bound to unboundedness > ;; Now it's unbound from unboundedness, and thereby rebound to 0 That seems right to me. > You can't just say that makunbound in that case unbinds foo, > because then the question arises, from what is foo unbound when > the let-binding form exits? If foo were already unbound by > makunbound, then there would be nothing left to unbind it from > when «let» exits. The word "unbound" is being used in an ambiguous fashion, but once you see past that, there is nothing strange about what's really going on. Maybe we should change terminology to get rid of the ambiguity. The name 'makunbound' is the cause of it, but that is hard to change now. We could at least explain it better. -- Dr Richard Stallman President, Free Software Foundation 51 Franklin St Boston MA 02110 USA www.fsf.org www.gnu.org Skype: No way! See stallman.org/skype.html.