From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Miles Bader Newsgroups: gmane.emacs.help Subject: Re: tail call reduction Date: Fri, 04 Mar 2005 09:15:46 +0900 Message-ID: <87u0nsp8p9.fsf@tc-1-100.kawasaki.gol.ne.jp> References: <87k6pgwy7u.fsf@ID-87814.user.uni-berlin.de> <87psz831tp.fsf-monnier+gnu.emacs.help@gnu.org> <877jlg9gq8.fsf@ID-87814.user.uni-berlin.de> <87wtspsz0m.fsf@ID-87814.user.uni-berlin.de> Reply-To: Miles Bader NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1109896637 8369 80.91.229.2 (4 Mar 2005 00:37:17 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 4 Mar 2005 00:37:17 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri Mar 04 01:37:17 2005 Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1D70oT-00069h-Ar for geh-help-gnu-emacs@m.gmane.org; Fri, 04 Mar 2005 01:37:05 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1D717X-0008Id-50 for geh-help-gnu-emacs@m.gmane.org; Thu, 03 Mar 2005 19:56:47 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1D717B-0008IT-Uy for help-gnu-emacs@gnu.org; Thu, 03 Mar 2005 19:56:26 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1D717A-0008IH-FM for help-gnu-emacs@gnu.org; Thu, 03 Mar 2005 19:56:25 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1D712z-0007sK-AI for help-gnu-emacs@gnu.org; Thu, 03 Mar 2005 19:52:05 -0500 Original-Received: from [203.216.5.72] (helo=smtp02.dentaku.gol.com) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.34) id 1D70Tv-0000Ui-9D; Thu, 03 Mar 2005 19:15:51 -0500 Original-Received: from localhost ([127.0.0.1]) by smtp02.dentaku.gol.com with esmtp (Dentaku) id 1D70Tt-0000tt-A7; Fri, 04 Mar 2005 09:15:49 +0900 Original-Received: from yokohama2-61-203-152-142.ap.0038.net ([61.203.152.142] helo=tc-1-100.kawasaki.gol.ne.jp) by smtp02.dentaku.gol.com with esmtpa (Dentaku) id 1D70Ts-0000tj-2z; Fri, 04 Mar 2005 09:15:49 +0900 Original-Received: by tc-1-100.kawasaki.gol.ne.jp (Postfix, from userid 1000) id 6ED92FB3; Fri, 4 Mar 2005 09:15:47 +0900 (JST) Original-To: help-gnu-emacs@gnu.org System-Type: i686-pc-linux-gnu In-Reply-To: <87wtspsz0m.fsf@ID-87814.user.uni-berlin.de> (Oliver Scholz's message of "Wed, 02 Mar 2005 19:06:49 +0100") Original-Lines: 46 X-Virus-Scanned: by AMaViS GOL X-Abuse-Complaints: abuse@gol.com X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org X-MailScanner-To: geh-help-gnu-emacs@m.gmane.org Xref: main.gmane.org gmane.emacs.help:24501 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:24501 Oliver Scholz writes: >>> I recommend you check out the lexbind branch which introduces >>> static scoping >> >> For those who aren't users of the cvs and other such programs, >> where do you get this lexbind emacs-version? > > Unless I am mistaken (and somebody packaged it and put it on the web > somewhere) you can get it only with cvs or "other such programs" (such > as GNU arch). With cvs you can use the option "-r lexbind" to check > out the lexbind branch. Yes as far as I know it's only available via CVS (as you say, the "lexbind" tag, using something like "cvs co -r lexbind emacs") or GNU arch (my `miles@gnu.org--gnu-2005/emacs--lexbind--0' branch). BTW, it's quite usable as your normal emacs (I use it), i.e., it doesn't crash a lot or anything. However, it's really no different in behavior from stock Emacs unless you explicitly mark certain source files as "lexically bound" -- and then it's more for someone interested in hacking on the byte compiler than for production use. Basically, the status of the lexbind branch is this: * Lexical binding should work properly in interpreted lisp code. * The runtime support for lexically-bound compiled code should work fine (it's not particularly complicated). * HOWEVER, the byte-compiler fails to compile certain types of code properly when using "lexically-bound" mode. It should compile straight-forward code properly (e.g. normal variables just used within a function), but incorrectly handles many cases where it must pass explicit lexical environments around (e.g., where a lambda expression uses a lexically bound variable from the surrounding environment). [Much of the compiler support for this is written, just not debugged and made to work.] If you are interested in the issue, however, I'd certainly appreciate some help... :-) I haven't actively worked on it for a while, but I keep the branch up-to-date, and make sure the code doesn't bit-rot. -Miles -- If you can't beat them, arrange to have them beaten. [George Carlin]