Re: Bug: :lexical header argument not handled when tangling [9.1.9 (release_9.1.9-65-g5e4542 @ /usr/local/share/emacs/26.2/lisp/org/)]

2020-02-12 Thread Bastien
Hi Immanuel,

immanuel  writes:

> #+BEGIN_SRC emacs-lisp :lexical t :tangle elisp.el
> (defun lex-p ()
>   "Return t if lexical binding is in effect."
>   (interactive)
>   (let (lex
> _lex-p)
> (let ((lex t))
>   (setq _lex-p
> (lambda ()
>   lex)))
> (if (funcall _lex-p)
> (message "lexical binding")
>   (message "no lexical binding"
>
> (lex-p)
> #+END_SRC
>
> When evaluating this code block with C-c C-c I get lexical binding.
> When tangling it or with org-babel-load-file I get no lexical
> binding.

You can declare lexical-binding in the source block, like this:

#+BEGIN_SRC emacs-lisp :lexical t :tangle elisp.el
;;; elisp.el -*- lexical-binding: t; -*-

(defun lex-p ()
  "Return t if lexical binding is in effect."
  (interactive)
  (let (lex
_lex-p)
(let ((lex t))
  (setq _lex-p
(lambda ()
  lex)))
(if (funcall _lex-p)
(message "lexical binding")
  (message "no lexical binding"

(lex-p)
#+END_SRC

#+RESULTS:
: lexical binding

-- 
 Bastien



[O] Bug: :lexical header argument not handled when tangling [9.1.9 (release_9.1.9-65-g5e4542 @ /usr/local/share/emacs/26.2/lisp/org/)]

2019-08-21 Thread immanuel


Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.  You don't know how to make a good report?  See

 https://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org mailing list.



#+BEGIN_SRC emacs-lisp :lexical t :tangle elisp.el
(defun lex-p ()
  "Return t if lexical binding is in effect."
  (interactive)
  (let (lex
_lex-p)
(let ((lex t))
  (setq _lex-p
(lambda ()
  lex)))
(if (funcall _lex-p)
(message "lexical binding")
  (message "no lexical binding"

(lex-p)
#+END_SRC

When evaluating this code block with C-c C-c I get lexical binding.
When tangling it or with org-babel-load-file I get no lexical binding.
Immanuel

Emacs  : GNU Emacs 26.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)
 of 2019-07-17
Package: Org mode version 9.1.9 (release_9.1.9-65-g5e4542 @ 
/usr/local/share/emacs/26.2/lisp/org/)

current state:
==
(setq
 org-src-mode-hook '(org-src-babel-configure-edit-buffer 
org-src-mode-configure-edit-buffer)
 org-after-todo-state-change-hook '(org-clock-out-if-current)
 org-latex-listings t
 org-pomodoro-long-break-length 30
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
 org-html-format-inlinetask-function 
'org-html-format-inlinetask-default-function
 org-odt-format-headline-function 'org-odt-format-headline-default-function
 org-babel-tangle-body-hook '(il-org-babel-tangle-body-hook)
 org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default
 org-plantuml-jar-path "/home/immanuel/bin/plantuml.jar"
 org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook 
change-major-mode-hook org-show-block-all append local] 5]
 #[0 "\300\301\302\303\304$\207" [add-hook 
change-major-mode-hook org-babel-show-result-all append local] 5] 
org-babel-result-hide-spec org-babel-hide-all-hashes
 auto-fill-mode)
 org-odt-format-drawer-function #[514 "\207" [] 3 "\n\n(fn NAME CONTENTS)"]
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 "\n\n(fn 
ENTRY)"]
 org-from-is-user-regexp "|\\"
 org-latex-format-drawer-function #[514 "\207" [] 3 "\n\n(fn _ CONTENTS)"]
 org-babel-pre-tangle-hook '(save-buffer)
 org-tab-first-hook '(org-babel-hide-result-toggle-maybe 
org-babel-header-arg-expand)
 org-babel-load-languages '((emacs-lisp . t) (C . t) (python . t) (lilypond . 
t) (shell . t) (plantuml . t))
 org-log-done 'time
 org-ascii-format-drawer-function #[771 "\207" [] 4 "\n\n(fn NAME CONTENTS 
WIDTH)"]
 org-babel-python-command "ipython --simple-prompt -i --pylab"
 org-src-preserve-indentation t
 org-occur-hook '(org-first-headline-recenter)
 org-pomodoro-ticking-sound 
"/home/immanuel/.emacs.d/straight/build/org-pomodoro/resources/tick.wav"
 org-structure-template-alist '(("r" "#+BEGIN_SRC rust\n?\n#+END_SRC") ("p" 
"#+BEGIN_SRC plantuml\n?\n#+END_SRC") ("ha" "#+BEGIN_SRC haskell\n?\n#+END_SRC")
("ly" "#+LaTeX: \\linebreak\n#+ATTR_LaTeX: 
width=17cm\n#+BEGIN_SRC lilypond :file ?.png :noweb yes\n#+END_SRC") ("bnf" 
"#+BEGIN_SRC abnf\n?\n#+END_SRC")
("cpp" "#+header: :tangle\n#+header: :main 
no\n#+header: :noeval\n#+header: :noweb yes\n#+BEGIN_SRC cpp\n?\n#+END_SRC")
("yp" "#+END_SRC\n?\n#+BEGIN_SRC python :noweb 
yes") ("py" "#+BEGIN_SRC python :noweb yes\n?\n#+END_SRC") ("ab" 
"#+END_SRC\n#+BEGIN_SRC bash")
("ba" "#+BEGIN_SRC bash?\n#+END_SRC") ("le" 
"#+END_SRC\n#+BEGIN_SRC emacs-lisp?") ("el" "#+BEGIN_SRC 
emacs-lisp\n?\n#+END_SRC")
("s" "#+BEGIN_SRC ?\n\n#+END_SRC") ("e" 
"#+BEGIN_EXAMPLE\n?\n#+END_EXAMPLE") ("q" "#+BEGIN_QUOTE\n?\n#+END_QUOTE") ("v" 
"#+BEGIN_VERSE\n?\n#+END_VERSE")
("V" "#+BEGIN_VERBATIM\n?\n#+END_VERBATIM") 
("c" "#+BEGIN_CENTER\n?\n#+END_CENTER") ("C" 
"#+BEGIN_COMMENT\n?\n#+END_COMMENT")
("l" "#+BEGIN_EXPORT latex\n?\n#+END_EXPORT") 
("L" "#+LaTeX: ") ("h" "#+BEGIN_EXPORT html\n?\n#+END_EXPORT") ("H" "#+HTML: ")
("a" "#+BEGIN_EXPORT ascii\n?\n#+END_EXPORT") 
("A" "#+ASCII: ") ("i" "#+INDEX: ?") ("I" "#+INCLUDE: %file ?"))
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers 
org-cycle-show-empty-lines org-optimize-window-after-visibility-change)
 org-speed-command-hook '(org-speed-command-activate 
org-babel-speed-command-activate)
 org-odt-format-inlinetask-function 'org-odt-format-inlinetask-default-function
 org-babel-tangle-lang-exts '(("LilyPond"