Evgenii Klimov <eugene....@lipklim.org> writes: > diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS > index a4725ae8c..c632c4814 100644 > --- a/etc/ORG-NEWS > +++ b/etc/ORG-NEWS > @@ -284,6 +284,13 @@ setting the ~STYLE~ property for each sub-task. > The change is breaking when ~org-use-property-inheritance~ is set to ~t~. > > ** New and changed options > +*** =:lexical= header argument now influences tangled files > + > +When extracting an Elisp src block, the target's file > +~lexical-binding~ variable is set according to the src block's > +=:lexical= parameter. If at least one block is set to lexical scope, > +then the whole file will be with lexical scope.
I am not sure if I like this approach. I have 2 problems with the patch: 1. Previous users of :lexical header arg might be surprised. Though it is an OK breaking change since people who used :lexical argument and expected it to be ignored in the tangled file probably did something wrong. 2. More importantly, we are adding ob-emacs-lisp-specific handling into generic ob-tangle. What about generalizing the idea and providing a way to set Emacs buffer-local variables in the tangled files? Can be something like: #+begin_src elisp :file-locals (lexical-binding t eval (line-number-mode)) -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>