[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>

Reply via email to