Eli Zaretskii writes: > Allow me a few comments to your proposed patch. Here is an updated version taking your comments into account. I was able to remove the use of advice on all the functions in macros.c except for end-kbd-macro, because I couldn't come up with another way to make kmacro-end-macro recognize a keyboard macro defined by a test. kmacro-end-macro tests last-kbd-macro right after it calls end-kbd-macro, and end-kbd-macro is going to leave last-kbd-macro empty unless it has something in current_kboard->kbd_macro_buffer, which Lisp can't access. If there is another strategy you'd like me to try there, let me know. This patch contains kmacro-tests-with-message-capture which is the same as the macro proposed as an addition to ert-x.el in bug#25158, so if that patch is adopted, it could be removed from this patch.