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 <loris.benn...@fu-berlin.de>
wrote:

> Loris Bennett <loris.benn...@fu-berlin.de> 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.
>
>

Reply via email to