On Mon, Jun 24 2024, Gerd Möllmann wrote: >> Here is an attempt to use an enum. I'm not sure that it's easier to >> read and the enum constants have odd names. > > Pushed! I have one more patch: it moves the bufoffset field back to the union. I think that's a bit nicer; and with the predicate enum there is enough room to do it. There other patch, sets some fields in a popped handler to nil to avoid a potential leak. > We even spared a word in the struct :-). Right, I haven't even noticed that. Now the union only needs one word and the type fields could be packed in 3 bits. That would probably be small enough to store it in a symbol.