On Wed, May 8, 2013 at 2:21 PM, Stefan Monnier wrote: > When lexical-binding is t, they're very good roomates already. > Hopefully with time, the "lexical-binding = nil" case can be dropped. Does this imply that if I want to give for example window.el lexical-binding (I do have an ulterior motive), no one would mind having it that way? > [...] But converting existing dynamically scoped code to lexical scoping > is usually pretty easy: set lexical-binding to t at the top of the file, > then byte-compile it, then fix the warnings, and you should be good to go. > > Sometimes there's some extra tricks undetected by the simple checks > performed by the byte-compiler, so it doesn't always work as smoothly, > but in most cases it's really a straightforward process. I have tried to do just that to window.el. It seemed indeed straightforward to me, but I would greatly appreciate feedback on the change. I really just added the lexical-binding at the top, and removed seemingly unused variables. I don't know why these variables were left (were they really unused?), but byte-compiling gives no warning, at least. See attached bundle.