I have a *lot* of org files with a macro =if-backend= which enables me to decide what to export depending on the backend :
#+begin_src org
#+macro: if-backend (eval (if (org-export-derived-backend-p
org-export-current-backend '$1) "$2"))
#+end_src
For instance, I use it to include =\hfill= in LaTeX family export
engines but not in others (html for instance) :
#+begin_src org
#+macro: hfill {{{if-backend(latex, \\hfill{} )}}}
#+end_src
I generally use emacs 26.3 as distributed by Debian bullseyes (which
offer org-mode version 9.1.9).
On another box I need to work with a more recent org-mode, precisely
9.4.
In that environment, due to an incompatible change introduced by
[[https://orgmode.org/Changes_old.html#outline-container-org003add6][release
9.2]] the same macro has to be written in a different way :
#+begin_src org
#+macro: if-backend (eval (if (org-export-derived-backend-p
org-export-current-backend (intern $1)) $2))
#+end_src
And thus I need to change also the macro using it, for instance the
=hfill= macro has to be written that way :
#+begin_src org
#+macro: hfill {{{if-backend(latex, \hfill{} )}}}
#+end_src
For now I need to work on the same files in these two different environment.
Do anyone have an idea on how to be able whether to define the
=if-backend= in a way that it can work in both org versions or if
there is a way to define these macro in different ways depending on
org version?
I would like to let the definitions in org files and not in emacs init
files.
--
Bruno BEAUFILS
signature.asc
Description: PGP signature
