* [BUG] emacs-lisp source blocks do not implement :prologue and :epilogue [9.6.9 ( @ /home/jet/.config/emacs/elpa/org-9.6.9/)]
[not found] <CAF_DUeF1vBa4xM9JY4ftMtaG_=xrD0oHMaOqEgQb2FSfdcEtEw.ref@mail.gmail.com>
@ 2023-10-19 0:41 ` Jeff Trull
2023-10-19 9:04 ` Ihor Radchenko
0 siblings, 1 reply; 4+ messages in thread
From: Jeff Trull @ 2023-10-19 0:41 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 8394 bytes --]
The manual page "Environment of a Code Block" describes :prologue and
:epilogue header arguments, which are useful for applications like unit
tests and boilerplate code. No suggestion is made that these arguments
are only available for some languages.
In fact, any language that provides its own org-babel-expand-body needs
special code to handle these arguments - and emacs-lisp lacks it.
It seems to me that either:
1) these arguments should be added to each backend that lacks them
(emacs-lisp in particular), or
2) The documentation should indicate that they may not be supported in
every language.
At the moment I have the following workaround:
(advice-add #'org-babel-expand-body:emacs-lisp :around
(lambda (oldfn body params)
(let ((pro (cdr (assq :prologue params)))
(epi (cdr (assq :epilogue params))))
(concat
(if pro (concat pro "\n") "")
(funcall oldfn body params)
(if epi (concat epi "\n") ""))))
'((name . pe-advice)))
Emacs : GNU Emacs 29.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version
3.24.33, cairo version 1.16.0)
of 2023-07-30
Package: Org mode version 9.6.9 ( @ /home/jet/.config/emacs/elpa/org-9.6.9/)
current state:
==============
(setq
org-link-elisp-confirm-function 'yes-or-no-p
org-ditaa-jar-path "/usr/share/ditaa/ditaa.jar"
org-bibtex-headline-format-function #[257 "\300 \236A\207" [:title] 3
"\n\n(fn ENTRY)"]
org-persist-after-read-hook '(org-element--cache-persist-after-read)
org-re-reveal-root "https://cdn.jsdelivr.net/npm/reveal.js@3.6.0"
org-export-before-parsing-hook '(org-attach-expand-links)
org-cycle-tab-first-hook '(org-babel-hide-result-toggle-maybe
org-babel-header-arg-expand)
org-archive-hook '(org-attach-archive-delete-maybe)
org-ascii-format-drawer-function #[771 " \207" [] 4 "\n\n(fn NAME CONTENTS
WIDTH)"]
org-cycle-hook '(org-cycle-hide-archived-subtrees
org-cycle-show-empty-lines org-cycle-optimize-window-after-visibility-change
org-cycle-display-inline-images)
org-latex-listings-options '(("basicstyle" "\\footnotesize\\ttfamily")
("showstringspaces" "false") ("breaklines" "true"))
org-persist-before-read-hook '(org-element--cache-persist-before-read)
org-mode-hook '(#[0 "\301\211 \207" [imenu-create-index-function
org-imenu-get-tree] 2] org-superstar-mode org-tempo-setup
(lambda nil (electric-indent-local-mode -1))
#[0 "\300\301\302\303\304$\207" [add-hook
change-major-mode-hook org-fold-show-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 org-eldoc-load)
org-babel-load-languages '((emacs-lisp . t) (dot . t) (ditaa . t) (shell .
t))
org-latex-format-drawer-function #[514 "\207" [] 3 "\n\n(fn _ CONTENTS)"]
org-latex-format-headline-function
'org-latex-format-headline-default-function
org-confirm-shell-link-function 'yes-or-no-p
org-html-format-drawer-function #[514 "\207" [] 3 "\n\n(fn NAME CONTENTS)"]
outline-isearch-open-invisible-function 'outline-isearch-open-invisible
org-latex-classes '(("beamer"
"\\documentclass[11pt,aspectratio=169]{beamer}\n
\\usenavigationsymbolstemplate{} % no navigation bar\n
\\beamertemplateballitem % items have little balls"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" .
"\\subsubsection*{%s}"))
("article" "\\documentclass[11pt]{article}"
("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" .
"\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
("report" "\\documentclass[11pt]{report}"
("\\part{%s}" . "\\part*{%s}") ("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" .
"\\subsubsection*{%s}"))
("book" "\\documentclass[11pt]{book}" ("\\part{%s}" .
"\\part*{%s}") ("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" .
"\\subsubsection*{%s}"))
)
org-agenda-before-write-hook '(org-agenda-add-entry-text)
org-latex-packages-alist '(("" "moresize") ("" "fancyvrb") (""
"inconsolata") ("" "tikz") ("" "color") ("" "listings"))
org-src-mode-hook '(org-src-babel-configure-edit-buffer
org-src-mode-configure-edit-buffer)
org-confirm-elisp-link-function 'yes-or-no-p
org-latex-src-block-backend t
org-ditaa-eps-jar-path
"/home/jet/.config/emacs/elpa/contrib/scripts/DitaaEps.jar"
org-structure-template-alist '(("n" . "notes") ("a" . "export ascii") ("c"
. "center") ("C" . "comment") ("e" . "example") ("E" . "export")
("h" . "export html") ("l" . "export
latex") ("q" . "quote") ("s" . "src") ("v" . "verse"))
org-speed-command-hook '(org-speed-command-activate
org-babel-speed-command-activate)
org-html-format-inlinetask-function
'org-html-format-inlinetask-default-function
org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default
org-export-backends '(ascii html icalendar latex md confluence re-reveal)
org-confirm-babel-evaluate nil
org-fold-core-isearch-open-function 'org-fold--isearch-reveal
org-re-reveal-title-slide "<h2>%t</h2><h2>%a</h2><h2>%d</h2>"
org-latex-format-inlinetask-function
'org-latex-format-inlinetask-default-function
org-persist-before-write-hook '(org-element--cache-persist-before-write)
org-tab-first-hook '(org-babel-hide-result-toggle-maybe
org-babel-header-arg-expand)
org-link-shell-confirm-function 'yes-or-no-p
org-babel-pre-tangle-hook '(save-buffer)
org-agenda-loop-over-headlines-in-active-region nil
org-occur-hook '(org-first-headline-recenter)
org-metadown-hook '(org-babel-pop-to-session-maybe)
org-link-parameters '(("attachment" :follow org-attach-follow :complete
org-attach-complete-link) ("eww" :follow org-eww-open :store
org-eww-store-link)
("rmail" :follow org-rmail-open :store
org-rmail-store-link) ("mhe" :follow org-mhe-open :store org-mhe-store-link)
("irc" :follow org-irc-visit :store
org-irc-store-link :export org-irc-export)
("info" :follow org-info-open :export
org-info-export :store org-info-store-link :insert-description
org-info-description-as-command)
("gnus" :follow org-gnus-open :store
org-gnus-store-link)
("docview" :follow org-docview-open :export
org-docview-export :store org-docview-store-link)
("bibtex" :follow org-bibtex-open :store
org-bibtex-store-link)
("bbdb" :follow org-bbdb-open :export
org-bbdb-export :complete org-bbdb-complete-link :store org-bbdb-store-link)
("w3m" :store org-w3m-store-link) ("doi" :follow
org-link-doi-open :export org-link-doi-export) ("id" :follow org-id-open)
("file+sys") ("file+emacs") ("shell" :follow
org-link--open-shell)
("news" :follow #[514 "\301\300\302 Q \"\207"
["news" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("mailto" :follow #[514 "\301\300\302 Q \"\207"
["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("https" :follow #[514 "\301\300\302 Q \"\207"
["https" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("http" :follow #[514 "\301\300\302 Q \"\207"
["http" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("ftp" :follow #[514 "\301\300\302 Q \"\207" ["ftp"
browse-url ":"] 6 "\n\n(fn URL ARG)"])
("help" :follow org-link--open-help :store
org-link--store-help) ("file" :complete org-link-complete-file)
("elisp" :follow org-link--open-elisp))
org-html-format-headline-function
'org-html-format-headline-default-function
org-metaup-hook '(org-babel-load-in-session-maybe)
org-tab-before-tab-emulation-hook '(org-tempo-complete-tag)
)
[-- Attachment #2: Type: text/html, Size: 11032 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BUG] emacs-lisp source blocks do not implement :prologue and :epilogue [9.6.9 ( @ /home/jet/.config/emacs/elpa/org-9.6.9/)]
2023-10-19 0:41 ` [BUG] emacs-lisp source blocks do not implement :prologue and :epilogue [9.6.9 ( @ /home/jet/.config/emacs/elpa/org-9.6.9/)] Jeff Trull
@ 2023-10-19 9:04 ` Ihor Radchenko
2023-10-19 20:42 ` Jeff Trull
0 siblings, 1 reply; 4+ messages in thread
From: Ihor Radchenko @ 2023-10-19 9:04 UTC (permalink / raw)
To: Jeff Trull; +Cc: emacs-orgmode
Jeff Trull <edaskel@att.net> writes:
> The manual page "Environment of a Code Block" describes :prologue and
> :epilogue header arguments, which are useful for applications like unit
> tests and boilerplate code. No suggestion is made that these arguments
> are only available for some languages.
If they are not available, it is a bug.
> In fact, any language that provides its own org-babel-expand-body needs
> special code to handle these arguments - and emacs-lisp lacks it.
Fixed, on main.
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=936290fe1
--
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>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BUG] emacs-lisp source blocks do not implement :prologue and :epilogue [9.6.9 ( @ /home/jet/.config/emacs/elpa/org-9.6.9/)]
2023-10-19 9:04 ` Ihor Radchenko
@ 2023-10-19 20:42 ` Jeff Trull
2023-10-20 7:20 ` Ihor Radchenko
0 siblings, 1 reply; 4+ messages in thread
From: Jeff Trull @ 2023-10-19 20:42 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1328 bytes --]
Thanks for the quick fix! If my bash one-liner is right there are another
12:
grep -L :prologue `fgrep -Rl --include=\*.el '(defun
org-babel-expand-body:' ~/.config/emacs/elpa/org-9.6.9/` | xargs -n 1
basename
ob-C.el
ob-awk.el
ob-lilypond.el
ob-sqlite.el
ob-java.el
ob-org.el
ob-calc.el
ob-latex.el
ob-dot.el
ob-fortran.el
ob-emacs-lisp.el
ob-lisp.el
ob-clojure.el
On Thu, Oct 19, 2023 at 2:04 AM Ihor Radchenko <yantar92@posteo.net> wrote:
> Jeff Trull <edaskel@att.net> writes:
>
> > The manual page "Environment of a Code Block" describes :prologue and
> > :epilogue header arguments, which are useful for applications like unit
> > tests and boilerplate code. No suggestion is made that these arguments
> > are only available for some languages.
>
> If they are not available, it is a bug.
>
> > In fact, any language that provides its own org-babel-expand-body needs
> > special code to handle these arguments - and emacs-lisp lacks it.
>
> Fixed, on main.
> https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=936290fe1
>
> --
> 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>
>
[-- Attachment #2: Type: text/html, Size: 2356 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BUG] emacs-lisp source blocks do not implement :prologue and :epilogue [9.6.9 ( @ /home/jet/.config/emacs/elpa/org-9.6.9/)]
2023-10-19 20:42 ` Jeff Trull
@ 2023-10-20 7:20 ` Ihor Radchenko
0 siblings, 0 replies; 4+ messages in thread
From: Ihor Radchenko @ 2023-10-20 7:20 UTC (permalink / raw)
To: Jeff Trull; +Cc: emacs-orgmode
Jeff Trull <edaskel@att.net> writes:
> Thanks for the quick fix! If my bash one-liner is right there are another
> 12:
No worries. These have also been fixed alongside with the commit I
linked to. See recent commits in https://git.savannah.gnu.org/cgit/emacs/org-mode.git/log/
--
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>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-10-20 7:20 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CAF_DUeF1vBa4xM9JY4ftMtaG_=xrD0oHMaOqEgQb2FSfdcEtEw.ref@mail.gmail.com>
2023-10-19 0:41 ` [BUG] emacs-lisp source blocks do not implement :prologue and :epilogue [9.6.9 ( @ /home/jet/.config/emacs/elpa/org-9.6.9/)] Jeff Trull
2023-10-19 9:04 ` Ihor Radchenko
2023-10-19 20:42 ` Jeff Trull
2023-10-20 7:20 ` Ihor Radchenko
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.