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
> 
> 

Reply via email to