C64/C16/X16 version 3.9.2 changes how putting multiple word headers onto the heap is controlled. The counting variable ?head is replaced with an execution token holding variable ?heapmovetx, and words |on and |off are introduced to have all word headers in a stretch of code be created on the heap.
A reference implementation tmpheap.fth is added which uses ?heapmovetx to implement a secondary temporary heap, purposed for names local to a module which can be cleared after the module is compiled without clearing the entire heap.
There's also a custom implementation x16tmpheap.fth for the X16, and a null implementation notmpheap.fth.
C64/C16/X16 version 3.9.2 changes how putting multiple word headers onto the heap is controlled. The counting variable ?head is replaced with an execution token holding variable ?heapmovetx, and words |on and |off are introduced to have all word headers in a stretch of code be created on the heap. A reference implementation tmpheap.fth is added which uses ?heapmovetx to implement a secondary temporary heap, purposed for names local to a module which can be cleared after the module is compiled without clearing the entire heap. There's also a custom implementation x16tmpheap.fth for the X16, and a null implementation notmpheap.fth.