got you. My macro should have been (defmacro mac() `(progn (message "%S" ,ii) (sit-for 0.1))) So, the original macro had a brain-fart basically amounted to returning nil unconditionally. In that case, why were we getting that strange error? On Sun, Nov 5, 2023 at 1:04 AM Gerd Möllmann wrote: > Dave Goel writes: > > > On Sun, Nov 5, 2023 at 12:06 AM Dave Goel wrote: > > > >> (progn > >> (setq lexical-binding nil) > >> > >> (dotimes (ii 10) > >> (defmacro mac () > >> `(message "%S" ,ii) > >> (sit-for 0.1)) > > The macro expansion of mac is what it returns, which is what sit-for > returns... >