@@ -221,7 +221,6 @@ jmp_buf toplevel_errorbuffer;
221
221
jmp_buf *errorbuffer = &toplevel_errorbuffer;
222
222
unsigned int Freespace = 0 ;
223
223
object *Freelist;
224
- bool okaytogc = true ;
225
224
unsigned int I2CCount;
226
225
unsigned int TraceFn[TRACEMAX];
227
226
unsigned int TraceDepth[TRACEMAX];
@@ -239,8 +238,8 @@ char LastChar = 0;
239
238
char LastPrint = 0 ;
240
239
241
240
// Flags
242
- enum flag { PRINTREADABLY, RETURNFLAG, ESCAPE, EXITEDITOR, LIBRARYLOADED, NOESC, NOECHO, MUFFLEERRORS };
243
- volatile uint8_t Flags = 0b00001 ; // PRINTREADABLY set by default
241
+ enum flag { PRINTREADABLY, RETURNFLAG, ESCAPE, EXITEDITOR, LIBRARYLOADED, NOESC, NOECHO, MUFFLEERRORS, DISABLEGC };
242
+ volatile uint16_t Flags = 0b00001 ; // PRINTREADABLY set by default
244
243
245
244
// Forward references
246
245
object *tee;
@@ -498,7 +497,7 @@ unsigned int GCCount = 0;
498
497
#endif
499
498
500
499
void gc (object *form, object *env) {
501
- if (!okaytogc ) return ;
500
+ if (tstflag (DISABLEGC) ) return ;
502
501
#if defined(printgcs)
503
502
int start = Freespace;
504
503
#endif
@@ -1709,7 +1708,7 @@ void superprint (object *form, int lm, pfun_t pfun) {
1709
1708
else supersub (form, lm + PPINDENT, 1 , pfun);
1710
1709
}
1711
1710
1712
- const int ppspecials = 19 ;
1711
+ const int ppspecials = 18 ;
1713
1712
const char ppspecial[ppspecials] PROGMEM =
1714
1713
{ DOTIMES, DOLIST, IF, SETQ, TEE, LET, LETSTAR, LAMBDA, WHEN, UNLESS, WITHI2C, WITHSERIAL, WITHSPI, WITHSDCARD, FORMILLIS, WITHCLIENT, UNWINDPROTECT, IGNOREERRORS/* , SP_ERROR*/ };
1715
1714
0 commit comments