Thomas Holst <thomas.ho...@de.bosch.com> writes: > Hello orgers, > > ยท Ian Dalton <iain.dal...@gmail.com> wrote: > >> When I run `emacs -q' and evaluate `(setq org-babel-load-languages >> '((ditaa . t)))', then try to export an org document to PDF, after >> answering yes to "Evaluate this ditaa code block", I get: >> >> Wrong type argument: stringp, nil >> >> Emacs : GNU Emacs 24.0.93.1 (i486-pc-linux-gnu, GTK+ Version 2.20.1) >> of 2012-02-22 on cw-bkp0, modified by Debian >> Package: Org-mode version 7.8.03 > > I can confirm this. > > A little investigation shows that there are two definitions for > `org-ditaa-jar-path': >
Thanks for running down the cause of this problem and suggesting a fix. I've just applied your suggestion. The redundant definition is now removed from ob-ditaa and ob-ditaa requires org-exp-blocks. Cheers, > > - in =lisp/ob-ditaa.el=: > #+begin_src emacs-lisp > (defcustom org-ditaa-jar-path nil > "Path for the ditaa jar file." > :group 'org-babel > :type 'string) > #+end_src > > This results in nil and so the error occurs. > > - in =lisp/org-exp-blocks.el= > #+begin_src emacs-lisp > (defvar org-ditaa-jar-path (expand-file-name > "ditaa.jar" > (file-name-as-directory > (expand-file-name > "scripts" > (file-name-as-directory > (expand-file-name > "../contrib" > (file-name-directory (or load-file-name > buffer-file-name))))))) > "Path to the ditaa jar executable.") > #+end_src > > On my machine this results in the correct path. > > So the value of `org-ditaa-jar-path' depends on the loading sequence of > el-files. > > A quick solution for OP would be to the set the path > > #+begin_src emacs-lisp > (setq org-ditaa-jar-path "<path-to-ditaa-jar>") > #+end_src > > I am not too deep into dependencies of org files, but ob-ditaa.el could > require org-exp-blocks and skip the definition of `org-ditaa-jar-path'. > Or vice versa. > > HTH -- Eric Schulte http://cs.unm.edu/~eschulte/