[email protected] writes: > org-babel-emacs-lisp-lexical is interpreting arguments incorrectly. > > Steps to reproduce: > -------------------- > #+begin_src emacs-lisp > (setq org-babel-default-header-args:elisp '((:lexical . t))) > #+end_src > > #+begin_src emacs-lisp > (funcall (let ((x 1)) (lambda () x))) > #+end_src > > Expected behavior: > #+RESULTS: > : 1 > > Actual behavior: > Symbol’s value as variable is void: x > ----- > The reason is that the implementation of org-babel-emacs-lisp-lexical > only > checks for "yes" and "t". The doc of `org-babel-default-header- > args:emacs-lisp` > says: > > A value of "yes" or t causes source blocks to be eval'd using lexical > scoping. > > This seems to be an implementation or documentation bug.
Fixed, on bugfix. https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=cedc089b7 -- Ihor Radchenko // yantar92, Org mode maintainer, 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>
