On Tue, Dec 10 2024, Benjamin McMillan <mcmilla...@gmail.com> wrote:

> Hi Leo,
> I get the following output:
>
> #+RESULTS:
>
> #+begin_example
> (linenum:0,
> #+end_example
>
> and from *messages*:
>
> Executing Maxima source code block
> maxima -r \(linenum\:0\,\
> batchload\(\"/var/folders/f5/6nrph1812wdf0nlg4ddcs_580000gn/T/babel-wImUPJ/maxima-Swf2M2.max\"\)\)\$
>  --very-quiet
> Wrote
> /var/folders/f5/6nrph1812wdf0nlg4ddcs_580000gn/T/babel-wImUPJ/ob-input-Rbgtzp
> Code block evaluation complete (took 0.1s).
>
> The contents of that file (which I also attach) are:
>
> build_info();
>
> If there's more information I can give, just let me know.
> Thanks,
> Benjamin
>
> On Tue, Dec 10, 2024 at 9:17 AM Leo Butler <leo.but...@umanitoba.ca> wrote:
>
>> On Mon, Dec 09 2024, Leo Butler <leo.but...@umanitoba.ca> wrote:
>>
>> > On Sun, Dec 08 2024, Ihor Radchenko <yanta...@posteo.net> wrote:
>> >
>> >> Benjamin McMillan <mcmilla...@gmail.com> writes:
>> >>
>> >>> This outputs
>> >>> #+RESULTS:
>> >>> | (linenum:0, |
>> >>> |           4 |
>> >>>
>> >>> I suppose the issue is the "linenum:0". In fact, running any of the
>> test
>> >>> src blocks does that, e.g.
>> >>> #+begin_src maxima :results verbatim :batch batch
>> >>> (assume(z>0),
>> >>> integrate(exp(-t)*t^z, t, 0, inf));
>> >>> #+end_src
>> >>>
>> >>> #+RESULTS:
>> >>> #+begin_example
>> >>> (linenum:0,
>> >>> (assume(z > 0),integrate(exp(-t)*t^z,t,0,inf))
>> >>>                                  gamma(z + 1)
>> >>> #+end_example
>> >>> This does not match the (should (equal ...)) in test-ob-maxima.el
>> >>>
>> >>> I don't know maxima, and haven't made any explicit modifications
>> regards
>> >>> it, so I don't know why my setup would be outputting linenum:0
>>
>> Benjamin,
>> When you execute your source code block, ob-maxima prints the shell
>> command as a message. Could you copy that shell command from *Messages*
>> and send it, along with the batch file that ob-maxima creates?
>>
>> Thanks,
>> Leo
>>
>> >>
>> >> Setting linenum was introduced in
>> >> https://list.orgmode.org/orgmode/87jzsrai3x.fsf@localhost/
>> >>
>> >> It clearly does not affect Linux, but Maxima on MacOS appears to have
>> >> slightly different behavior.
>> >>
>> >> I am CCing the author of the original patch that introduced this
>> setting.
>> >> Leo, maybe you have some insight?
>> >>
>> >> Unless we can do something to solve the problem on Mac, I am tentatively
>> >> inclined to revert the linenum part of the patch, so that ob-maxima is
>> >> not broken on MacOS.
>> >
>> > Benjamin,
>> > Could you include the output of
>> >
>> > #+begin_src maxima :results verbatim
>> > build_info();
>> > #+end_src
>> >
>> > , please? I think the bug is in the Mac build of Maxima, but I need more
>> > information to figure it out.
>> >
>> > Best,
>> > Leo

Hi Benjamin,

Let me preface my requests by saying that I do not have access to a Mac,
and the problem you are seeing seems to be Mac-specific, so I am
searching in the dark for a solution to the problem.

I have a couple ideas.

* First idea
** Add the regexp =^(linenum:0,= to =org-babel-maxima--output-filter-regexps=

#+begin_src elisp :exports none :results raw
  (add-to-list 'org-babel-maxima--output-filter-regexps "^(linenum:0,")
#+end_src

** Evaluate your Maxima code block

#+name: max
#+begin_src maxima :results raw :batch batch 
  (assume(z>0), integrate(exp(-t)*t^z, t, 0, inf));
#+end_src

If all goes well, you should see the output:

#+RESULTS: max
(assume(z > 0),integrate(exp(-t)*t^z,t,0,inf))
                                 gamma(z + 1)

Please evaluate these code blocks in an Org buffer and tell us how it
goes.

* Second idea

We could introduce a customization variable, e.g.
org-babel-maxima-batch/load-format-string, whose default is the current
value is "(linenum:0, %s(%S))$". You could change that to "%s(%S)$".

I would prefer to see if the first idea works for you, though, before
pursuing this.

TIA,
Leo

Reply via email to