emacs-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] hack-one-local-variable use lexical-binding


From: Stefan Kangas
Subject: Re: [PATCH] hack-one-local-variable use lexical-binding
Date: Sun, 29 Nov 2020 03:43:04 -0600

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Stefan Monnier <monnier@iro.umontreal.ca>
>> Cc: emacs-devel@gnu.org, Tom Gillespie <tgbugs@gmail.com>
>> Date: Thu, 26 Nov 2020 09:21:22 -0500
>>
>> > This would be a backward-incompatible change, wouldn't it?
>>
>> I've made exactly this kind of incompatible change many times over
>> between Emacs-24 and now.  I don't think we should worry about it.
>>
>> > I'd prefer a backward compatible solution.  For example, how about
>> > a separate lexical-eval clause, which will do this leaving eval to
>> > work as it did before?
>>
>> As I said, that's over-engineering.
>
> We disagree.

Once we use lexical-binding t by default in all other cases, it would be
surprising for it to default to nil in this case.  For me, the most
important thing is therefore to have a clear idea how we can make file
local `eval' use lexical-binding by default at some point in the future.

If Eli insists that we can't make this backwards incompatible change
now, I would suggest instead to introduce `non-lexical-eval' or
`dynamic-eval' and document that any use of plain `eval' that relies on
lexical-binding nil is now deprecated.

In a future version, we can then make the proposed backwards
incompatible change, once users have had sufficient time to switch to
`dynamic-eval'.  This change could be made, for example, when we switch
to use lexical-binding by default in .el files.

(We could also provide `lexical-eval', if we want to.)



reply via email to

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