Hi Manish, Are you sure that org-plantuml-jar-path is set when the function produces that error? I've just pushed up a slight change to ob-plantuml which is more explicit about ensuring the correctness of org-plantuml-jar-path before it is used. Could you retry with this new addition?
Thanks -- Eric Manish <mailtomanish.sha...@gmail.com> writes: > Hello! > > I was trying to test ob-plantuml and it failed with following trace. > > Setup: > > - GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600) of 2010-08-30 on 3249CTO > - Windows XP SP 2 > - Org mode from git head > - org-plantuml-jar-path is set > - This example works from command-line and does not require dot. > > Trace: > > Debugger entered--Lisp error: (wrong-type-argument stringp nil) > string-match("[^\"]" nil) > shell-quote-argument(nil) > (concat "java -jar " (shell-quote-argument org-plantuml-jar-path) " > -p " cmdline " < " (shell-quote-argument in-file) " > " > (shell-quote-argument out-file)) > (let* ((result-params ...) (out-file ...) (cmdline ...) (in-file > ...) (cmd ...)) (unless (file-exists-p org-plantuml-jar-path) (error > "Could not find plantuml.jar at %s" org-plantuml-jar-path)) > (with-temp-file in-file (insert ...)) (message "%s" cmd) > (org-babel-eval cmd "") out-file) > org-babel-execute:plantuml("skinparam defaultFontName > Candara\nskinparam defaultFontSize 8\nparticipant User\nUser -> A: > DoWork\nactivate A\nA -> B: << createRequest >>\nactivate B\nB > -> C: DoWork\nactivate C\nC --> B: WorkDone\ndestroy C\nB --> > A: RequestCreated\ndeactivate B\nA -> User: Done\ndeactivate > A\n" ((:cache . "no") (:comments . "") (:exports . "results") (:hlines > . "no") (:noweb . "no") (:result . "\"sequence.png\"") (:results . > "replace file") (:session . "none") (:shebang . "") (:tangle . ""))) > funcall(org-babel-execute:plantuml "skinparam defaultFontName > Candara\nskinparam defaultFontSize 8\nparticipant User\nUser -> A: > DoWork\nactivate A\nA -> B: << createRequest >>\nactivate B\nB > -> C: DoWork\nactivate C\nC --> B: WorkDone\ndestroy C\nB --> > A: RequestCreated\ndeactivate B\nA -> User: Done\ndeactivate > A\n" ((:cache . "no") (:comments . "") (:exports . "results") (:hlines > . "no") (:noweb . "no") (:result . "\"sequence.png\"") (:results . > "replace file") (:session . "none") (:shebang . "") (:tangle . ""))) > (setq result (funcall cmd body params)) > (if (and (not arg) new-hash (equal new-hash old-hash)) > (save-excursion (goto-char ...) (end-of-line 1) (forward-char 1) (setq > result ...) (message ...) result) (message "executing %s code > block%s..." (capitalize lang) (if ... ... "")) (setq result (funcall > cmd body params)) (if (eq result-type ...) (setq result ...)) > (org-babel-insert-result result result-params info new-hash indent > lang) (run-hooks (quote org-babel-after-execute-hook)) result) > (progn (fset (quote call-process-region) (function* ...)) (unless > (fboundp cmd) (error "No org-babel-execute function for %s!" lang)) > (if (and ... new-hash ...) (save-excursion ... ... ... ... ... result) > (message "executing %s code block%s..." ... ...) (setq result ...) (if > ... ...) (org-babel-insert-result result result-params info new-hash > indent lang) (run-hooks ...) result)) > (unwind-protect (progn (fset ... ...) (unless ... ...) (if ... ... > ... ... ... ... ... result)) (if --cl-letf-bound-- (fset ... > --cl-letf-save--) (fmakunbound ...))) > (let* ((--cl-letf-bound-- ...) (--cl-letf-save-- ...)) > (unwind-protect (progn ... ... ...) (if --cl-letf-bound-- ... ...))) > (letf ((... ...)) (unless (fboundp cmd) (error "No org-babel-execute > function for %s!" lang)) (if (and ... new-hash ...) (save-excursion > ... ... ... ... ... result) (message "executing %s code block%s..." > ... ...) (setq result ...) (if ... ...) (org-babel-insert-result > result result-params info new-hash indent lang) (run-hooks ...) > result)) > (letf* ((... ...)) (unless (fboundp cmd) (error "No > org-babel-execute function for %s!" lang)) (if (and ... new-hash ...) > (save-excursion ... ... ... ... ... result) (message "executing %s > code block%s..." ... ...) (setq result ...) (if ... ...) > (org-babel-insert-result result result-params info new-hash indent > lang) (run-hooks ...) result)) > (flet ((call-process-region ... ...)) (unless (fboundp cmd) (error > "No org-babel-execute function for %s!" lang)) (if (and ... new-hash > ...) (save-excursion ... ... ... ... ... result) (message "executing > %s code block%s..." ... ...) (setq result ...) (if ... ...) > (org-babel-insert-result result result-params info new-hash indent > lang) (run-hooks ...) result)) > (unwind-protect (flet (...) (unless ... ...) (if ... ... ... ... ... > ... ... result)) (setq call-process-region (quote > org-babel-call-process-region-original))) > (let* ((lang ...) (params ...) (new-hash ...) (old-hash ...) (body > ...) (result-params ...) (result-type ...) (cmd ...) (dir ...) > (default-directory ...) (org-babel-call-process-region-original ...) > (indent ...) result) (unwind-protect (flet ... ... ...) (setq > call-process-region ...))) > (progn (let* (... ... ... ... ... ... ... ... ... ... ... ... > result) (unwind-protect ... ...))) > (if (org-babel-confirm-evaluate info) (progn (let* ... ...))) > (when (org-babel-confirm-evaluate info) (let* (... ... ... ... ... > ... ... ... ... ... ... ... result) (unwind-protect ... ...))) > (let ((info ...)) (when (org-babel-confirm-evaluate info) (let* ... ...))) > org-babel-execute-src-block(nil ("plantuml" "skinparam > defaultFontName Candara\nskinparam defaultFontSize 8\nparticipant > User\nUser -> A: DoWork\nactivate A\nA -> B: << createRequest >>>\nactivate B\nB -> C: DoWork\nactivate C\nC --> B: > WorkDone\ndestroy C\nB --> A: RequestCreated\ndeactivate B\nA -> > User: Done\ndeactivate A\n" ((:cache . "no") (:comments . "") > (:exports . "results") (:hlines . "no") (:noweb . "no") (:result . > "\"sequence.png\"") (:results . "replace file") (:session . "none") > (:shebang . "") (:tangle . "")) "" nil nil 0)) > (progn (org-babel-execute-src-block current-prefix-arg info) t) > (if info (progn (org-babel-execute-src-block current-prefix-arg info) t) > nil) > (let ((info ...)) (if info (progn ... t) nil)) > org-babel-execute-src-block-maybe() > (or (org-babel-execute-src-block-maybe) (org-babel-lob-execute-maybe)) > org-babel-execute-maybe() > (if org-babel-no-eval-on-ctrl-c-ctrl-c nil (org-babel-execute-maybe)) > (unless org-babel-no-eval-on-ctrl-c-ctrl-c (org-babel-execute-maybe)) > org-babel-execute-safely-maybe() > run-hook-with-args-until-success(org-babel-execute-safely-maybe) > (cond ((or ... org-occur-highlights > org-latex-fragment-image-overlays) (and ... ...) > (org-remove-occur-highlights) > (org-remove-latex-fragment-image-overlays) (message "Temporary > highlights/overlays removed from current buffer")) ((and ... ...) > (funcall org-finish-function)) ((run-hook-with-args-until-success > ...)) ((or ... ...) (call-interactively ...)) ((org-on-target-p) > (call-interactively ...)) ((and ... ...) (call-interactively ...)) > ((org-on-heading-p) (call-interactively ...)) ((org-at-table\.el-p) > (message "Use C-c ' to edit table.el tables")) ((org-at-table-p) > (org-table-maybe-eval-formula) (if arg ... ...) (call-interactively > ...)) ((or ... ...) (call-interactively ...)) > ((org-at-item-checkbox-p) (call-interactively ...) (call-interactively > ...) (org-list-send-list ...)) ((org-at-item-p) (call-interactively > ...) (when arg ...) (org-list-send-list ...)) ((save-excursion ... > ...) (beginning-of-line 1) (save-excursion ...)) ((save-excursion ... > ...) (cond ... ...)) ((org-clock-update-time-maybe)) (t (error "C-c > C-c can do nothing useful at this location"))) > (let ((org-enable-table-editor t)) (cond (... ... ... ... ...) (... > ...) (...) (... ...) (... ...) (... ...) (... ...) (... ...) (... ... > ... ...) (... ...) (... ... ... ...) (... ... ... ...) (... ... ...) > (... ...) (...) (t ...))) > org-ctrl-c-ctrl-c(nil) > call-interactively(org-ctrl-c-ctrl-c nil nil) > > Any clues/ideas what could be wrong? > > Thanks > -- Manish > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode