|
From: | Steve Downey |
Subject: | Re: Conditionally loading ob-sh or ob-shell |
Date: | Tue, 21 Apr 2020 12:42:58 -0400 |
(org-babel-do-load-languages
'org-babel-load-languages
`((perl . t)
(ruby . t)
,(if (version< org-version "9.0")
'(sh . t)
'(shell . t))
(python . t)
(emacs-lisp . t)
(C . t)
(dot . t)))))
Loris Bennett <address@hidden> writes:
> Hi,
>
> I want to use one init.el across multiple machines with different
> versions of Emacs and Org. Since 'ob-sh.el' changed to 'ob-shell', I
> need to do either
>
> (org-babel-do-load-languages
> 'org-babel-load-languages
> '((org . t)
> (emacs-lisp . t)
> (shell . t)
> (perl . t)
> (R . t)
> (matlab . t)
> (gnuplot . t)
> (dot . t)
> (ditaa . t)
> (plantuml . t)
> (sqlite . t)
> (python . t)
> (latex . t)))
> or
>
> (org-babel-do-load-languages
> 'org-babel-load-languages
> '((org . t)
> (emacs-lisp . t)
> (sh . t)
> (perl . t)
> (R . t)
> (matlab . t)
> (gnuplot . t)
> (dot . t)
> (ditaa . t)
> (plantuml . t)
> (sqlite . t)
> (python . t)
> (latex . t)))
>
> I can obviously use a conditional to test the Emacs or Org version and
> execute one block or the other. However, since the list of languages is
> quite long, I would like to avoid repeating it.
>
> I create init.el from an init.org, so I am open to tangling solutions too.
>
> Cheers,
>
> Loris
I discovered
append org-babel-load-languages
and solved the problem like this:
(org-babel-do-load-languages
'org-babel-load-languages
'(
(org . t)
(emacs-lisp . t)
(perl . t)
(R . t)
(matlab . t)
(gnuplot . t)
(dot . t)
(ditaa . t)
(plantuml . t)
(sqlite . t)
(python . t)
(latex . t)))
(if (string= org-version "8.2.10")
(org-babel-do-load-languages
'org-babel-load-languages
(append org-babel-load-languages
'((sh . t))))
(org-babel-do-load-languages
'org-babel-load-languages
(append org-babel-load-languages
'((shell . t)))))
The version test is a bit rigid, but
org-version-check
is deprecated in my newer, primary version of Org and I couldn't work
out how to use it anyway 😅
Cheers,
Loris
--
This signature is currently under construction.
[Prev in Thread] | Current Thread | [Next in Thread] |