bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#36157: 27.0.50; ediff-files does not work after lexical-binding was


From: Alex Branham
Subject: bug#36157: 27.0.50; ediff-files does not work after lexical-binding was enabled for ediff
Date: Fri, 14 Jun 2019 13:36:57 -0500
User-agent: mu4e 1.2.0; emacs 27.0.50

On Mon 10 Jun 2019 at 21:26, Richard Stallman <rms@gnu.org> wrote:

>   > If you look at the code of ediff-find-file, you will see the use of
>   > `symbol-value' everywhere.
>
> Which variables would this operate on?

I'm not 100% sure what you're asking here, but ediff uses variables to
store information and then passes those to functions. So in one function
it'll do something like this:

(setq file-A "/path/to/foo.el")
(setq buff-A (get-buffer-create "foo.el"))
(ediff-find-file file-A buff-A)

And then ediff-find-file uses (symbol-value 'file-A) to get the string
back. This breaks under lexical binding since the file-A argument
shadows the file-A global value.

I think it would be relatively easy to fix by just passing the values
themselves, but that'll break backwards compatibility if people outside
Emacs are relying on calling ediff functions this way.

Hope that clears things up,
Alex





reply via email to

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