On Mon, Jun 19, 2017, 5:21 AM Nicolas Goaziou wrote: > 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. > > 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. > Here are some of my observations on the topic of lexical-binding by following emacs-devel closely for the past few years. It has become a norm to write new elisp code that is lexical-binding friendly. I have seen this movement started on emacs master for a long time now (since 2011), and still there is a continuous effort to enable lexical-binding on more and more emacs core files: http://git.savannah.gnu.org/cgit/emacs.git/log/?qt=grep&q=lexical-binding The same applies to Magit and many other external emacs packages ( https://github.com/search?q=lexical-binding+language%3A"Emacs+Lisp"&type=commits ). The idea is that once almost all the elisp code out there is lexical-binding compatible, the default of emacs can be changed to that and dynamic binding can be obsoleted. I have also seen how a lexically bound package is more portable as there is no implicit reliance on global variables from multiple other packages. > -- Kaushal Modi