Compare two revisions of: Octave

... ... @@ -1,5 +1,10 @@
1 1 {{TOC}}
2 2
3 +<div class="alert">
4 +<b>Deprecated.</b> Octave support is no longer recommended for new content. It is unmaintained
5 +and known to have unresolved issues in the current tooling. Please use <a href="Python.md">Python</a>
6 +instead for new programming problems and articles.
7 +</div>
3 8
4 9 # Example in WebMiau
5 10 [Octave](https://miau.mumie.net/web-miau/editor/content%2Fexamples%2Fprogramming%2FOctave%2Fart_octave_input.src.tex)
... ... @@ -387,3 +392,42 @@ exit(0);
387 392
388 393 \end{hidden}
389 394 ```
395 +
396 +<!--
397 +Developer note (2026-09-08) - why Octave is deprecated. Not for authors.
398 +
399 +Trigger: Octave article widgets are undocumented; a scratch-article test showed they render in
400 +the classic Mumie preview (F9) but not in the LemonTree preview (F8).
401 +
402 +Backends (separate codebases, separate classpaths):
403 +- F9 "Lemon Course Preview" → classic mumie backend
404 +- F8 "Quick-Preview" → lemon-tree backend
405 +
406 +Two independent bugs found:
407 +
408 +1. F8 execution is blocked by design, and rightly so.
409 + web-miau-front's PreviewService.isProgramming() treats \begin{octaveinput}/\octavebutton/
410 + \octaveimages as "programming content" and routes to F9 instead of F8. Reason: even if F8
411 + rendering worked, apps/pool (lemon-fruit) stubs postOctaveEvaluation/postPythonEvaluation/
412 + postOctaveImage/postPythonImage as actionNotImplemented - only apps/mumie-course (F9) has real
413 + implementations. Don't remove this gate without fixing apps/pool first, or the "Auswerten"
414 + button will throw "Action not yet implemented".
415 +
416 +2. F8's own conversion was separately broken (fixed, ticket filed for lemon-tree).
417 + lemon-tree/jmmtex/build.gradle listed mmtex_for_mf:1.0 before mmtex_pkg_mumie_media:1.0.
418 + Both jars ship net.mumie.mmtex.pkg.mumie_media.envlib.PythoninputEnv; the classloader picked
419 + mmtex_for_mf's stale copy (2025-02-03, still 2 mandatory args) over the current one
420 + (2025-05-19, 0 args) → every \begin{pythoninput} article failed with "Expected mandatory
421 + command argument", unrelated to content. F9 was never affected (doesn't use lemon-tree).
422 + mmtex_for_mf duplicates ~578 classes already covered elsewhere; removing it is the fix.
423 + Untested whether \begin{octaveinput} hits the same shadowing (structurally identical).
424 +
425 +Also: Octave *problems* (\octanswer/\octevaluator/\octgrading) have no LemonTree support at all
426 +(no prb:octaveanswer converter) - only this page's article widgets were ever reachable there.
427 +
428 +Bottom line: even once (2) ships, F8 rendering may work but "run code" still won't (1), and
429 +Octave problems never render in LemonTree. Not worth documenting these caveats for authors -
430 +hence deprecated. Separately, the official Octave examples were already removed from the example
431 +content on request, independent of this investigation.
432 +-->
433 +
390 434