Hi If I remember correctly, you need the ‘-jar’ to call the jar from Java. I’m not using ditaa anymore, but I remember needing some options there and they were not the same for Linux and macOS.
Sorry for chirping in… /PA Enviado desde mi iPhone > El 16 oct 2025, a las 8:48, Jarmo Hurri <[email protected]> escribió: > > > Greetings again. > > Ihor Radchenko <[email protected]> writes: > >>> -(defcustom org-ditaa-jar-option "-jar" >>> - "Option for the ditaa jar file. >>> -Do not leave leading or trailing spaces in this string." >>> - :group 'org-babel >>> - :version "24.1" >>> - :type 'string) >> >> You completely removed this defcustom. Note that it is intentional >> and aims to address some reported bug. See >> https://list.orgmode.org/orgmode/CABwL-UjJFXfH_2KsJSx9CJnvEMbwRy9AtFzADykKc5AEC=0...@mail.gmail.com/ > > I can not grasp the purpose of this defcustom. > > First, documentation of org-ditaa-jar-option states > > "Do not leave leading or trailing spaces in this string." > > But when it is used, it is surrounded by both a leading and a trailing > space, which to me defeats the intent of the documentation: > > (cmd (concat org-babel-ditaa-java-cmd > " " java " " org-ditaa-jar-option " " > > Second, in the thread where this feature was discussed, the initial > solution suggested was to prepend an absolute path "c:/cygwin" to > org-ditaa-jar-path (well, the absolute path was actually prepended to > three different paths): > > https://list.orgmode.org/orgmode/cabwl-ui11i+qoxehyrpse2oeho0cbpqrjlcio63enzi06b6...@mail.gmail.com/ > > (cmd (concat "java " java " -jar c:/cygwin" > (shell-quote-argument > (expand-file-name org-ditaa-jar-path)) > " " cmdline > " c:/cygwin" (org-babel-process-file-name in-file) > " c:/cygwin" (org-babel-process-file-name out-file)))) > > Notice that in that suggestion, " -jar c:/cygwin" takes the role of the > current org-ditaa-jar-option, and does _not_ have a trailing space > attached to it. But, most importantly, org-ditaa-jar-path is a defcustom > in itself, so is there a reason the absolute path could not be specified > directly using org-ditaa-jar-path? > > Looking back at the commit where the option was introduced > > [jarmo org-mode]$ git show --name-only d3a45bd72 > commit d3a45bd7221578e9e3f4ca08b8ee9d0d1a5e9bbc > Author: Bastien Guerry <[email protected]> > Date: Wed Jan 4 11:22:28 2012 +0100 > > ob-ditaa.el: New option `org-ditaa-jar-option'. > > * ob-ditaa.el (org-ditaa-jar-path): Make a defcustom. > (org-ditaa-jar-option): New option. > (org-babel-execute:ditaa): Use it. > > Thanks to Waldemar Reusch for reporting this need. > > [jarmo org-mode]$ git show d3a45bd72:lisp/ob-ditaa.el > > I can see that org-ditaa-jar-path already existed as a defcustom (but > its default value was nil): > > (defcustom org-ditaa-jar-path nil > "Path for the ditaa jar file." > :group 'org-babel > :type 'string) > > So, overall I think that > > 1. this defcustom (org-ditaa-jar-option) does not fulfill its original > purpose because of the trailing space attached to it automatically > > 2. the original issue can be solved by using org-ditaa-jar-path; > furthermore, because of the trailing space issue, I suspect that > users who currently solve this problem in fact use org-ditaa-jar-path > instead of org-ditaa-jar-option > > Therefore, If I have undestood this correctly > > 1. removing the defcustom (org-ditaa-jar-option) would probably not break > any user code > 2. fixing org-ditaa-jar-option to fulfill its original purpose (by > removing the automatically attached trailing space) might break some > user code if org-ditaa-jar-option is in fact used by someone > 3. safest choice would probably be to make org-ditaa-jar-option an > obsolete variable and use it istead of "-jar" if defined. > > What is your decision? > > All the best, > > Jarmo > >
