A while ago I modified command.c to preserve the find string when playing a macro, and to this day it has proved useful with no drawbacks. I'm fine with my patch, but I wanted to mention this change in case it sounds useful to others. If that's the case, it could become the standard behavior—or an option if the current behavior is useful for some.