[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Conditionally loading ob-sh or ob-shell
From: |
Loris Bennett |
Subject: |
Re: Conditionally loading ob-sh or ob-shell |
Date: |
Wed, 22 Apr 2020 08:09:43 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Hi Steve,
Thanks for that - much more compact. I didn't know about the
`,-construction.
Cheers,
Loris
Steve Downey <address@hidden> writes:
> My workaround for dealing with different org versions on different machines:
>
> (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)))))
>
> On Tue, Apr 21, 2020 at 9:59 AM Loris Bennett <address@hidden> wrote:
>
> 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.
>
--
This signature is currently under construction.