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': - 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 -- Mit freundlichen Grüßen / Best regards Thomas