Jarmo Hurri <jarmo.hu...@iki.fi> writes:

>> We generally do not rename variables irreversibly.  Please leave an
>> obsolete alias for `org-babel-ditaa-java-cmd' pointing to the new
>> variable name. Otherwise, the existing configs that were using the old
>> variable name will be broken.
>
> Done. The variable is now set to become obsolete, tentatively in 9.7.34.

Should be 9.8. We do not make breaking changes in bugfix releases.
See https://orgmode.org/worg/org-maintenance.html#branches

>> So, I view these :ext options that are still used by several babel
>> backends as candidates for deprecation. Certainly, I do not want to make
>> them proliferate in the new features.
>
> Ok.
>
> I changed the patch so that it should now conform to the manual:
> 1. :file is the primary determinant of output file
> 2. `org-babel-graphical-output-file' is used secondarily; note that
>    :file-ext is ignored quietly if :file is set

Nope. `org-babel-graphical-output-file' relies on the fact that ob-core
pre-process :file argument in `org-babel-generate-file-param'. So, you
should simply call `org-babel-graphical-output-file' without checking
:file. Maybe it is also a good idea to add :results graphics to the
default header arguments.

> 3. output file type is determined solely from file extension.
>
> This is a breaking change, since :png etc. parameters are now
> deprecated.

Only :eps parameter is present in the current version of ob-ditaa.
We _should not_ remove it from the code to preserve
backwards-compatibility. Just remove it from the documentation and mark
as backwards-compatibility in code comments.

What I mean in my earlier comment is that we should not add new
arguments like :png and similar.

> There is no default output file type anymore (used to be png).

Why not? You can simply modify `org-babel-default-header-args:ditaa' to
have :file-ext "png" by default.

>>> And, finally, should I add myself as the maintainer?
>>
>> That would be great. Thanks!
>
> Done.

Please do it in a separate commit, so that different changes are not
intermixed.

>> I assume that you already have access to savannah as you are listed as
>> the maintainer of ob-processing.
>
> Well, I do have - in my records - a username and a password, but those
> no longer work, and password recovery does not work either. I can
> reapply, or just send patches here, either one is fine by me.

I just checked FSF records, and it does not look like you have an active
copyright assignment. Could you please check?

> From 690c4370c63d375fb4dbeb67063611b222fda39b Mon Sep 17 00:00:00 2001
> From: Jarmo Hurri <jarmo.hu...@iki.fi>
> Date: Fri, 1 Aug 2025 14:21:03 +0300
> Subject: [PATCH] * lisp/ob-ditaa.el (org-babel-default-header-args:ditaa)
>  Include new header arg `:encoding`. (org-ditaa-default-exec-mode): Define new
>  customizable variable for controlling ditaa execution via jar or executable.
>  (org-ditaa-exec): Define new customizable variable for controlling path to
>  ditaa executable. (org-ditaa-java-exec): Rename old customizable variable to
>  conform to ditaa variable naming (not containing word `babel`). Provide old
>  variable as an obsolete alias. (org-ditaa-ensure-jar-file): Write a small
>  helper function checking existence of jar file. (org-babel-execute:ditaa):
>  Determine output file type correctly from header arguments. Add support for
>  ditaa executable. Add support for SVG output. * doc/org-manual.org (List of
>  contributors): Remove reference to non-existing location of ditaa.jar in org
>  contrib, refer to ditaa github page instead. * etc/ORG-NEWS (=ob-ditaa=:
>  output type control, ditaa executable, SVG output, and chararacter encoding):
>  Document breaking change and new features.

The newlines are completely off in the commit message.  Also, the commit
mesage does not have a short patch description on the first line and
does not conform to https://orgmode.org/worg/org-contribute.html#commit-messages

> -;; 2) we are generally only going to return results of type "file"
> +;; - there is no "output", so source code blocks always export "results"

This is not true. If the user tries to set :exports output explicitly,
nothing will be exported. Just say that :exports results is the default.

> +;; - the following header arguments are added:
> +;;   "cmdline" : command line parameters passed to ditaa

You do not need to document standard header arguments in the babel
library headers. Just say that :cmdline is supported.

> +;;   "encoding" : character encoding (default UTF-8)
> +;;   "java" : additional parameters passed to java if ditaa run via a jar

There two are really unique to ob-ditaa.

> +(defun ob-ditaa--ensure-jar-file (file)
> +  "Small internal helper function returning file if it exists and signalling 
> error otherwise."

Please shorten the first line of the docstring below 60 characters.
See D.6 Tips for Documentation Strings section of Eliso manual.

-- 
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>

Reply via email to