From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?ISO-8859-15?Q?Andreas_R=F6hler?= Newsgroups: gmane.emacs.help Subject: Re: Declaring a local dynamic variable? Date: Fri, 27 Sep 2013 11:53:44 +0200 Message-ID: <524555A8.1060803@easy-emacs.de> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1380275525 26879 80.91.229.3 (27 Sep 2013 09:52:05 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 27 Sep 2013 09:52:05 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri Sep 27 11:52:08 2013 Return-path: Envelope-to: geh-help-gnu-emacs@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 1VPUiU-000356-I5 for geh-help-gnu-emacs@m.gmane.org; Fri, 27 Sep 2013 11:52:06 +0200 Original-Received: from localhost ([::1]:35084 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VPUiT-0005bq-UX for geh-help-gnu-emacs@m.gmane.org; Fri, 27 Sep 2013 05:52:05 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56402) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VPUi7-0005Ub-2s for help-gnu-emacs@gnu.org; Fri, 27 Sep 2013 05:51:50 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VPUhz-0007Id-NO for help-gnu-emacs@gnu.org; Fri, 27 Sep 2013 05:51:43 -0400 Original-Received: from moutng.kundenserver.de ([212.227.17.9]:54672) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VPUhz-0007IK-Cl for help-gnu-emacs@gnu.org; Fri, 27 Sep 2013 05:51:35 -0400 Original-Received: from purzel.sitgens (brln-4dba2c34.pool.mediaWays.net [77.186.44.52]) by mrelayeu.kundenserver.de (node=mrbap0) with ESMTP (Nemesis) id 0Mhekt-1VCUAZ1fJT-00Map0; Fri, 27 Sep 2013 11:51:32 +0200 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 In-Reply-To: X-Provags-ID: V02:K0:TMiXG16pQaA8B3n9i3USRB7pRHB/R+jbcrIKj6e7ZRv FTCdiQ86u5mP5PXdSMsC/g58LLxcqCC3L9zKGtVdTzCbLfdPdc bTUui6YaXlxHpdBaK66vrgUZnlIJNbp4rmBxnKRbh2mi8EbkMB s6nMu6PV5Uts9fBb0trili7B6yA55MWKCZbWqVRTwb5fcMclk9 QUsg9jZnw1RKmg5jFr7b4opYBA/wdaz2jUiPDyB0gc9A+FY0cn 68Ch9fyGGn3ZbmsuP3kYmxUofAmmnHyfHfq9ffszHa65+m0UXB T3Xs1jnw5nUIXhu67Qr4t2VAkJOaPFerZBmW66rHPUgLuzZ4/x rYEsfRnUUDwK7nxxaxh8= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 212.227.17.9 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:93657 Archived-At: Am 25.09.2013 20:53, schrieb Stefan Monnier: >>>> So in essence Emacs doesn't really have local dynamic variables? >>> Dynamic scoping is inherently global, whether in Elisp or in any other >>> language. > >> Not in Common Lisp. > >> (defun d1 () >> (let ((var 1)) >> (declare (special var)) >> (l1))) > >> (defun l1 () >> (let ((var 2)) >> (print var) >> (d2))) > >> (defun d2 () >> (declare (special var)) >> (print var)) > >> D1 and D2 use the dynamic variable VAR, L1 uses the lexical variable VAR. > > Same in Elisp. But if d1 and d2 are in two separate packages that know > nothing about each other but who happen to call each other through some > potentially twisted sequence of calls, they will still interfere, > because there's only (globally) one dynamic variable by that name. > Now if two separate packages define a lexical var with the very same, is such a confusion excluded?