It's borderline criminal that the echo area gets cleared when inhibit-message is true. emacs -Q -l cl-lib --eval " \ (let ((dont \"dont clear me\!\")) \ (message dont) \ (let ((inhibit-message t)) \ (message \"nice try\") \ (cl-assert (equal (current-message) dont) t)))"