When running a process from a timer, this message is printed a lot.

Is there a way to suppress the message entirely?

For reference see: https://emacs.stackexchange.com/a/50681/2418

  • 1
    Well the message is there for a reason -- Emacs has been told to wait for output from a process for an unlimited duration, without allowing the user to interrupt. Instead of suppressing the message, perhaps it would make best sense to avoid it from being issued in the first place. – phils Feb 18 at 10:48
  • Right, this should be worked around somehow, the issue is - I have no idea how. I wanted to run a spell checker on a timer, which seems to be possible to do wcheck package does it, however the code is fairly complex and I'd need to spend much more time digging into it to figure out how it works. – ideasman42 Feb 18 at 22:53

From what I can tell the answer is no.

However, this can be worked around (albeit a hack).

  • Disable logging.
  • Run the operation which causes the message.
  • Clear the message.
  • Enable logging again.
| improve this answer | |
  • 1
    There is also inhibit-message (still a hack, just slightly more concise). – npostavs May 26 '19 at 14:03
  • 1
    This happens not to work in this case, I think because the message call is from C code. – ideasman42 May 26 '19 at 14:09
  • 1
    Hmm, I thought the point of inhibit-message is that it should work on C code, unlike advising message which doesn't. Although looking at its docstring, I notice inhibit-message doesn't inhibit logging, just the display. So if you want to keep the log clear too, it's not really that much more concise. – npostavs May 26 '19 at 14:32
  • 1
    @npostavs (let ((inhibit-message t) (message-log-max nil)) ...) is the best way I know of to do both. – phils Feb 18 at 10:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.