"make check" currently fails in rtest_rk_adaptive.mac. This seems to be
caused by an interaction between boolsimp and rk_adaptive.
$ ./maxima-local
Maxima branch_5_49_base_100_g7075cc379 https://maxima.sourceforge.io
using Lisp SBCL 2.5.11
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) load (boolsimp);
(%o1) maxima/share/contrib/boolsimp/boolsimp.lisp
(%i2) run_testsuite(share_tests=true,tests=rtest_rk_adaptive);
Testsuite run for SBCL 2.5.11:
Running tests in rtest_rk_adaptive:
****************** rtest_rk_adaptive.mac: Problem 2 (line 4) ******************
Input:
- 1
(data : rk_adaptive((───) x, x, 1, t, 0, 100, maxabserr = 1.0e-4), done)
10
Result:
return: not within 'block' or 'do'
error-catch
This differed from the expected result:
done
Diff:
The problem seems to be caused by removing property 'translate from 'mcond (in boolsimp.lisp) and then compiling a routine with return inside a conditional.
boolsimp turns off translation for conditional expressions, and anything inside them.
The interpreted "return" statement checks a variable that is set by the interpreted "do" command, to check that the return is inside a do. But the translated "do" doesn't set this variable, so the interpreted "return" inside it generates an error.