> 1. Perhaps I'd have preferred to advice only around > find-file-noselect, but this would probably require using a global > variable to pass delayed messages from server-visit-files to > server-execute. Thus I wrapped the entire server-visit-files call and > keep the messages local to server-execute. Regarding this point I've changed my mind after more carefully inspecting server-visit-files. There are many hooks involved that might run arbitrary code and therefore show messages. We're pretty confident that any code requiring interaction will work anyway and all delayed messages are going to be shown afterwards, so even disregarding the global variable argument above, I still prefer the version wrapping the entire call to server-visit-files to a more selective one. > 2. Also I'd have liked that the mock message function returned the > formatted message (since it's part of the interface) but there are > some corner cases (nil, non-string, empty first parameter) that force > me to replicate much of the actual implementation (Fmessage), which I > dislike. I've addressed this point in the less sketchy patch I'm attaching, it was simpler than I'd though, I believe I'm covering all input cases. If you prefer to do minor reviews online, this is the commit in my fork of your mirror https://github.com/memeplex/emacs/commit/9d53e50848d9d8be758a21d0b5e078f82af25754. I could create a PR also, just for the sake of reviewing, but it seems like individual commits are also commentable (until my next forced push deletes all comments, at least :). Btw, here is another noisy case: when visiting a new file you get a "(New file)" message.