jfricas needs a lot of Python machinery which I do not have. So
as a whole is untestable for me. Normally this should be no
problem as we test that visible stuff in FriCAS works as before.
But AFAICS 'webspad.lisp' hooks into various internal Lisp
functions.
Let me add that I plan large restructuring for next release.
This inevitably leads to some regressions. Doing such
changes slowly would spread regressions over long time.
Instead my idea is to do changes relatively quickly and
then have some time to catch remaing troubles.
Looking at '|webspad-parseAndEvalStr|' I see '$fortranFormat'
'$htmlFormat' and '$openMathFormat', those are gone now.
The change is part of moving output machinery to Spad, jfricas
should use Spad level functions for such things.
In general, any Boot/Lisp level stuff may go away whithout
special notice unless it is known to be there for use
by interfaces or external code.
BTW, for HyperDoc I have (still not commited) stuff like:
$do_page_fun1_fun := [0, nil]
do_page_fun1(page, tag, data) ==
fun := SpadFun($do_page_fun1_fun,
getFunctionFromDomain1("do_page_fun1", ["HyperdocTopPage"],
$Void, [["HyperdocPage"], ["Symbol"], ["SExpression"]]))
SPADCALL(page, tag, data, fun)
dbChooseDomainOp(page, data) == do_page_fun1(page, 'dbChooseDomainOp, data)
and in HyperdocTopPage:
do_page_fun1(page : HyperdocPage, tag : Symbol,
data : SE) : Void ==
tag = 'cons_opts => cons_opts(page, symbol(data))
tag = 'dbChooseDomainOp => choose_domain_op(page, integer(data))
tag = 'dbSelectCon => select_con(page, data)
....
That way communication protocol is that same as in old code, but
Boot/Lisp part is only doing trivial forwarding to Spad.
--
Waldek Hebisch