Hello, Bastien Guerry <b...@gnu.org> writes:
> Maybe I miss something: when I create a file with C-x C-f whatever.el RET > it does not use a template or does not get created with lexical > binding on. > What are you referring to when you say "every Elisp file created > activates it"? It requires to activate `autoinsert' feature, which is bundled with Emacs. > * Dynamic Binding:: The default for binding local variables in > Emacs. OK. I stand corrected. Let me rephrase this then: There is absolutely no drawback in using lexical binding. Since Org 9.0, it _is_ the default for Org core: almost every Org library activates it nowadays. Please, pretty please, don't suggest it is different. > Whether lexical binding is a good default or not is another question, > and whether lexical-binding:t makes sense in a file with no binding > yet another, third one. Let's consider this a non-starter. Again, lexical binding has _no_ drawback and makes life of developers easier (e.g., code is more readable, compiler reports more errors). I moved almost every library in Org to lexical binding, some changes being trivial, some painful, for a reason. I don't want to do a step backward in that area without a very strong reason–to tell the truth, even a strong reason wouldn't convince me. In particular, I don't want to introduce scoping bugs in a library because, at its creation, lexical binding wasn't activated and nobody cared to check the first line of the file before introducing a dubious binding. I sincerely hope we can agree on the topic, hic et nunc, and move on to actual coding. Regards, -- Nicolas Goaziou