Hrvoje Niksic wrote:
> Sure, but how much code requires function arguments to be
> dynamically scoped?
I don't understand the relevance of your question. My point was that
for proper lexical scope it is not enough to add a new C-level
lexical-let and lexical-let*, but that we need to provide the lexical
scope semantics everywhere.
What I'm saying is: supposing elisp supported both lexical and dynamic
binding. We couldn't just change `let' to be lexically scoped without
breaking large amounts of code. However, we could probably change
function arguments to be lexically scoped without breaking anything.
A similar argument probably applies to other forms which create
temporary bindings (e.g. loop, dolist, ...).
Personally, I would have thought that function calls account for more
dynamic bindings than explicit let forms. I also suspect that most of
the cases where dynamic binding is required for backwards
compatibility are explicit let forms.
--
Glynn Clements <glynn(a)sensei.co.uk>