Subject: 25.0.50; `message` -- optional argument to suppress echo area display

From: Keith David Bershatsky <[email-masked]>
Date: Sat, 03 Jan 2015 09:50:08 -0800

As a feature request, the Emacs team may wish to consider adding an optional argument to the `message` function to permit suppression of the message being displayed in the echo area.

In my particular use case, there are certain process output strings that I prefer having printed to the `*Messages*` buffer -- instead of a dedicated process output buffer.

(defun rsync-process-filter (proc string)
  (when (not (or
      (string-match "files...\r" string)
      (string-match "files to consider\n" string)))
    (message "%s" string)))

The above example also displays in the echo area, which makes using interactive commands problematic while the ongoing process continues to print messages.  Each time a new message is generated by the ongoing process, the interactive prompt and potential minibuffer completions get erased by the message -- e.g., `execute-extended-command` or `switch-to-buffer-other-window`.

The following is my workaround:

(defun rsync-process-filter (proc string)
  (let ((inhibit-read-only t))
    (when (not (or
        (string-match "files...\r" string)
        (string-match "files to consider\n" string)))
      (with-current-buffer (get-buffer-create "*Messages*")
        (goto-char (point-max))
        (insert string)))))

Here are links to a couple of threads regarding this issue:

http://superuser.com/questions/669701/emacs-disable-some-minibuffer-messages

http://emacs.stackexchange.com/questions/5959/send-process-output-to-messages-buffer-but-bypass-the-echo-area

Thanks,

Keith

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

In GNU Emacs 25.0.50.1 (x86_64-apple-darwin10.8.0, NS appkit-1038.36 Version 10.6.8 (Build 10K549))
 of 2014-10-01 on MP.local
Repository revision: 117996 [email-masked]
Windowing system distributor `Apple', version 10.3.1038
Configured using:
 `configure --with-ns'

Configured features:
ACL LIBXML2 ZLIB

Important settings:
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  sd-mode: t
  sb-mode: t
  tb-mode: t
  shell-dirtrack-mode: t
  cm-mode: t
  frame-bufs-mode: t
  bc-mode: t
  ds-mode: t
  ml-mode: t

Recent input:
s-a <backspace> s-s <escape> x e m a c s <backspace> 
<backspace> <backspace> <backspace> <backspace> r e 
p o r t - e m a c s <tab> b u g <tab> <return>

Recent messages:
Emacs -[q] | [d]efault.  (2) seconds
Emacs -[q] | [d]efault.  (1) seconds
Emacs -[q] | [d]efault.  (0) seconds
The default.
Loading /Users/HOME/.0.data/.0.emacs/.0.lisp/lawlist-test.el (source)...done
Loading /Users/HOME/.0.data/.0.emacs/.0.lisp/init.el (source)...done
Wrote /Users/HOME/.0.data/.0.emacs/.lock
Mark set [2 times]
Saving file /Users/HOME/.0.data/.0.emacs/.scratch...
Wrote /Users/HOME/.0.data/.0.emacs/.scratch

Load-path shadows:
/Users/HOME/.0.data/.0.emacs/.0.wl/md4 hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/md4
/Users/HOME/.0.data/.0.emacs/.0.wl/hex-util hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/hex-util
/Users/HOME/.0.data/.0.emacs/.0.wl/sasl hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/net/sasl
/Users/HOME/.0.data/.0.emacs/.0.wl/sasl-ntlm hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/net/sasl-ntlm
/Users/HOME/.0.data/.0.emacs/.0.wl/sasl-digest hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/net/sasl-digest
/Users/HOME/.0.data/.0.emacs/.0.wl/sasl-cram hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/net/sasl-cram
/Users/HOME/.0.data/.0.emacs/.0.wl/ntlm hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/net/ntlm
/Users/HOME/.0.data/.0.emacs/.0.wl/hmac-md5 hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/net/hmac-md5
/Users/HOME/.0.data/.0.emacs/.0.wl/hmac-def hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/net/hmac-def
/Users/HOME/.0.data/.0.emacs/.0.wl/rfc2368 hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/mail/rfc2368
/Users/HOME/.0.data/.0.emacs/.0.wl/utf7 hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/gnus/utf7
/Users/HOME/.0.data/.0.emacs/.0.wl/smime hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/gnus/smime
/Users/HOME/.0.data/.0.emacs/.0.wl/pgg hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/obsolete/pgg
/Users/HOME/.0.data/.0.emacs/.0.wl/pgg-pgp5 hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/obsolete/pgg-pgp5
/Users/HOME/.0.data/.0.emacs/.0.wl/pgg-pgp hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/obsolete/pgg-pgp
/Users/HOME/.0.data/.0.emacs/.0.wl/pgg-parse hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/obsolete/pgg-parse
/Users/HOME/.0.data/.0.emacs/.0.wl/pgg-gpg hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/obsolete/pgg-gpg
/Users/HOME/.0.data/.0.emacs/.0.wl/pgg-def hides /Users/HOME/.0.data/.0.emacs/Emacs_10_01_2014.app/Contents/Resources/lisp/obsolete/pgg-def

Features:
(shadow mime-setup mail-mime-setup semi-setup mime-image modb-legacy
modb-standard elmo-imap4 emacsbug lawlist-desktop frameset lawlist-bk
lawlist-arc lawlist-colors reporter load-theme-buffer-local lawlist-dv
lawlist-mc rect lawlist-ztree lawlist-wl w3m-load mime-w3m w3m
browse-url doc-view jka-compr image-mode w3m-hist w3m-fb bookmark-w3m
w3m-ems mule-util w3m-ccl w3m-favicon w3m-image w3m-proc w3m-util
elmo-nntp wl-demo rfc2368 wl-spam elmo-spam elsp-header elsp-generic
wl-fldmgr wl-score smtp sasl sasl-anonymous sasl-login sasl-plain
wl-news wl-address pldap wl-thread wl-action wl wl-e21 wl-draft
wl-template wl-summary wl-refile wl-message wl-mime pgg mime-pgp
mime-play filename mime-edit eword-encode pgg-parse pccl pccl-20 ccl
pgg-def signature sendmail elmo-mime mmelmo-buffer mmelmo-imap
mime-view mime-conf calist semi-def mmimap mime-parse mmbuffer
wl-highlight elmo-filter elmo-multi wl-folder wl-util crm pp elmo-pop3
elmo-net elmo-cache elmo-map elmo-dop elmo-flag elmo-localdir wl-vars
elmo elmo-signal elmo-msgdb modb modb-generic modb-entity mime
mmgeneric elmo-util emu invisible inv-23 poem poem-e20 poem-e20_3 utf7
eword-decode mel mime-def alist std11 mcharset mcs-20 mcs-e20 pces
pces-e20 pces-20 broken pcustom elmo-date elmo-vars path-util poe pym
static product wl-version elmo-version apel-ver luna lawlist-vr-hr
eldoc lawlist-dired tramp-sh lawlist-ws disp-table lawlist-calc
lawlist-flyspell lawlist-yas lawlist-elisp lawlist-tex-mode skeleton
compare-w lawlist-txt-mode lawlist-tabbar lawlist-github ido view
vc-git vc vc-dispatcher tramp tramp-compat tramp-loaddefs trampver
shell thingatpt time-stamp log-view log-edit message mml mml-sec
mm-decode mm-bodies mm-encode gmm-utils mailheader pcvs-util add-log
help-mode grep compile find-lisp epa epg epg-config ediff-merg
ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util
ediff ert ewoc debug eieio-base diff-mode conf-mode autorevert
filenotify lorg-calendar org-element lorg-search org-agenda
context-menu dired-read-filename dired lawlist-toodledo url-http tls
url-auth url-gw url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util url-parse auth-source eieio
eieio-core password-cache url-vars mailcap json xml lawlist-org
lawlist-calendar org byte-opt bytecomp byte-compile cconv org-macro
org-footnote org-pcomplete pcomplete org-list org-faces org-entities
noutline outline org-version ob-emacs-lisp ob ob-tangle org-src ob-ref
ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval org-compat
org-macs org-loaddefs cal-menu calendar cal-loaddefs format-spec
lawlist-frame lawlist-cm lawlist-bbdb gnus gnus-ems nnheader gnus-util
mail-utils wid-edit mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mailabbrev mail-extr rfc822 cl timezone
lawlist-grep lawlist-compile rx comint ansi-color ring
lawlist-frame-bufs advice derived lawlist-init pcase help-fns cl-macs
gv easy-mmode edmacro kmacro cl-loaddefs cl-lib savehist server
ps-print ps-def lpr find-func saveplace easymenu time-date tooltip
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan
thai tai-viet lao korean japanese hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer nadvice loaddefs button
faces cus-face macroexp files text-properties overlay sha1 md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process cocoa ns multi-tty emacs)

Memory information:
((conses 16 1327172 86464)
 (symbols 48 62533 0)
 (miscs 40 115 254)
 (strings 32 145131 28469)
 (string-bytes 1 4682371)
 (vectors 16 33578)
 (vector-slots 8 697554 29069)
 (floats 8 1031 285)
 (intervals 56 4205 144)
 (buffers 976 11))