Charles Berry <ccbe...@ucsd.edu> writes: > Nick Dokos <ndokos <at> gmail.com> writes: > >> >> Charles Berry <ccberry <at> ucsd.edu> writes: >> >> > Matt Lundin <mdl <at> imapmail.org> writes: >> > >> > [deleted] > [more deleted] > >> > Or wrap the results in a drawer when you type C-c C-c, but render them as >> > raw on export (which removes the drawer and replaces with raw results). >> > >> > Like so: >> > >> > #+header: :results (if (boundp 'backend) "raw" "drawer") >> > #+BEGIN_SRC emacs-lisp :exports both >> > >> > (format "* headline\n1\n2\n5\n") >> > #+END_SRC >> > >> >> That's a very nice tip - one small weakness is that it'll do the wrong >> thing if you just happen to have a binding for "backend" outside of the >> export mechanism. >> > > Fair enough. But getting assurance that an export process is really up and > running looked tricky to me - what with anonymous backends and `info' being > let-bound by babel. So this is what I came up with for a more robust test. > Hopefully, nobody will bind both `backend' and `org-export-current-backend' > to a common backend outside of doing an export... > > > #+BEGIN_SRC emacs-lisp > (defun org-export-if-exporting (export-val &optional other-val) > "If backend exists, is a backend, and is currently running > return EXPORT-VAL otherwise return OTHER-VAL or \"\"." > (if > (and (boundp 'backend) > (equal (car (append backend nil)) > 'cl-struct-org-export-backend) > (equal org-export-current-backend > (org-export-backend-name backend))) > export-val > (or other-val ""))) > > #+END_SRC > #+header: :results (org-export-if-exporting "raw") > #+BEGIN_SRC emacs-lisp :exports both > (format "* headline\n1\n2\n6\n") > #+END_SRC > >
Oh, man - I didn't mean that it needed hardening: it was a *very* small weakness. I just meant to warn people so that they wouldn't do something silly. But thanks for going the extra distance. Nick