From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Raeburn Newsgroups: gmane.lisp.guile.devel Subject: Re: Elisp lexical-let Date: Tue, 21 Jul 2009 17:46:02 -0400 Message-ID: References: <4A661B73.4090706@domob.eu> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v935.3) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1248212814 8320 80.91.229.12 (21 Jul 2009 21:46:54 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 21 Jul 2009 21:46:54 +0000 (UTC) Cc: guile-devel To: Daniel Kraft Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Jul 21 23:46:47 2009 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MTNAd-0008FH-8Y for guile-devel@m.gmane.org; Tue, 21 Jul 2009 23:46:47 +0200 Original-Received: from localhost ([127.0.0.1]:43886 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MTNAc-0001Pl-QU for guile-devel@m.gmane.org; Tue, 21 Jul 2009 17:46:46 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MTNA0-00018f-K3 for guile-devel@gnu.org; Tue, 21 Jul 2009 17:46:08 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MTN9z-00018S-Ve for guile-devel@gnu.org; Tue, 21 Jul 2009 17:46:07 -0400 Original-Received: from [199.232.76.173] (port=38660 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MTN9z-00018P-P5 for guile-devel@gnu.org; Tue, 21 Jul 2009 17:46:07 -0400 Original-Received: from [76.119.237.235] (port=64538 helo=raeburn.org) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MTN9z-0006kX-EK for guile-devel@gnu.org; Tue, 21 Jul 2009 17:46:07 -0400 Original-Received: from [10.0.0.164] ([10.0.0.164]) by raeburn.org (8.14.3/8.14.1) with ESMTP id n6LLk5av020229; Tue, 21 Jul 2009 17:46:05 -0400 (EDT) In-Reply-To: <4A661B73.4090706@domob.eu> X-Mailer: Apple Mail (2.935.3) X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:8910 Archived-At: On Jul 21, 2009, at 15:48, Daniel Kraft wrote: > Especially, the question is about "what happens" when a lexical > variable is inside its scope again bound dynamically (say via let or > a lambda expression). Oh, don't stop there... let's get some buffer-local or frame-local bindings into the mix too! :-) There are probably corner cases where the only "specification" you're likely to find is "what Emacs does when you try it". And, if the goal is to support the existing body of Lisp code (e.g., if Emacs 24 goes out with lexical binding support, and people start using it), there's a tradeoff between what seems logical or convenient to you, and what behavior of Emacs the existing code is going to expect. Maybe not in weird corner cases, but cases like you describe above seem likely, and I think you'd want to mimic whatever behavior Emacs is going to do. Ken