[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Lexical bindings (was Re: table.el)

From: Stefan Monnier
Subject: Re: Lexical bindings (was Re: table.el)
Date: Sun, 02 Dec 2001 14:29:27 -0500

> Anyway, I still think overloading `let' and relying on a file scope
> `lexical-binding' variable is a really bad idea.  Suppose someone
> (blindly) copies a function from a file with lexical scope to a file
> without [or vice versa] (or forgets to copy the necessary defvar or
> defspecial) ... I can imagine all sorts of problems debugging the
> outcome!!

Note that the two behaviors end up being the same in a large number
of cases.  Also the byte-compiler should be conservative and use
dynamic binding whenever there's a suspicion that it's what was
meant (f.ex. if the let-bound variable does not appear to be used).
The first priority is "100% backward compatibility" (otherwise Richard
will reject it), the second is simplicity (otherwise Richard will
reject it) and "good support for static scoping" only comes after that.

In any case we'd definitely want `slet' (which I prefer to `local')
so that we can lexically bind variables that some other random package
has decided to `defvar'.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]