22:20:57makomoAeroNotix: hey, i was talking a look at your z80 repo and found a bug: your UPDATEF macro has 2 problems: (1) variable capture, (2) multiple evaluation
22:21:19makomoidk whether it was just a toy macro as a test, but wanted to let you know
23:29:20AeroNotixmakomo: for (2) I know, it isn't used where that can be a problem.
23:30:43makomoAeroNotix: in your case, both are very easy to solve. your place-based macro falls in the category of "having the place as the first argument and evaluating *all* the other arguments (specifically, in left-to-right order)"
23:30:49makomoAeroNotix: so you can use DEFINE-MODIFY-MACRO
23:31:35AeroNotixmakomo: uh, wait, I didn't even use this macro. I think I've not even ran it once
23:33:15AeroNotixThanks for mentioning it but yeah, it's not used nor was it ever. I'm not even sure if I ran it even once to try it. I think I got half way through writing updatef and realised the original place I wanted to use it could be implemented in a different way
23:33:56makomoyeah, thought it might be something like that :-)
23:34:59makomooh, just to clarify, (2) is a problem because of the place's *subforms*. most of the time the final "getter function" used in the get expression is free of side-effects
23:35:08makomoso, for example, (nth (incf i) list)
23:35:56AeroNotixyeah I get that. I usually don't both with dealing with multiple evaluation in macros until a last step. I find the noise of macros quickly builds up so it's easier to write them in the "dumb" way and then fill in with the typical macro safeguards.