Hi Nathaniel The macro did not set the time to nil, the current function does when t1 is nil but I think it must not. This led me to the following ideas, sorry for not thinking enough earlier:
Why not change the macro's (setq ,t1 curtime) to a function's (set t1 curtime), still conditional as it was in the macro and call the function with "'log-*-time", quoted? Why not factor out the action from the function that would then only return whether any action has to be taken and in consequence also factor out the sometimes needed test for "all"? (when (or (not all) (org-once-per-second 'log-*-time)) (message [...])) The function would not have to test t1 for nil anymore. In my opinion this functionality should go into org-macs.el, hence omitting "-table-" in the function name. Michael