The doc says functional mode (=:results value=) is the default for most
Babel libraries [1].  I haven't looked at many, but it is the default for
ob-python and ob-shell. Scripting mode (=:results output=) is the default
for ob-C, and the old ob-java (neither of these provided a functional mode).

When I added functional mode to ob-java, I made it the default since that
seemed correct.  But that change breaks anyone that relied on the old
default (the workaround is to add a =:results output= header).  I will
change the default in the short term to unbreak the experience, but what,
if anything, should be done long term?

And is this inconsistent behavior across languages something that should be
fixed? or is it intentional or at least not worth doing anything about?

<https://orgmode.org/manual/Results-of-Evaluation.html#FOOT144>[1]
https://orgmode.org/manual/Results-of-Evaluation.html#Results-of-Evaluation
<https://orgmode.org/manual/Results-of-Evaluation.html#FOOT144>

Reply via email to