> So the only change needed is that error messages can only be cleared > from the echo area by the user doing some command. Otherwise they > are collected and shown. I see now what you mean. This can be easily implemented with the following patch. So you can set `clear-message-function' to a function that returns a non-nil, and the echo area won't be cleared. Such predicate function could contain a complex logic, but for testing you could use just: (setq clear-message-function (lambda () t))