Hello,
It appears that sc->EOF_OBJ is initialized by setting it to sc->_EOF_OBJ, but sc->_EOF_OBJ itself is never initialized. This was wreaking havoc on my embedded system, where is_pair(sc->EOF_OBJ) was returning true and crashing the interpreter. Apparently (_EOF_OBJ->_flag & T_MASKTYPE) just happened to be T_PAIR in memory. My workaround was to zero the sc object before running the interpreter, but I imagine _EOF_OBJ should actually be initialized inside scheme_init_custom_alloc.
Thanks,
Alan
r131 | kcozens | 2023-06-20 12:08:59 -0400 (Tue, 20 Jun 2023) | 2 lines
Oops... The EOF_OBJ cell wasn't being initialized. Fixes bug #47.
Thank you for the report. Apologies that it took so long for me to address this issue. I will be checking the code to see if there are any other cells that are not getting initialized.