Subject: bug#18133: Suppressing asynchronous command output

From: martin rudalics <[email-masked]>
Date: Sat, 24 Dec 2016 17:33:01 +0100

> I'm not talking about any code that would change the default value.
 > I'm talking about showing the users a non-default value, for them to
 > select if they want to, that would produce the effect desired here.
 >
 > IOW, when the user clicks "Value menu", I would like them to see a
 > value which makes async shell buffers behave like Reuben wants.
 > That's all.

If that's all, just add ‘display-buffer-no-window’ to
‘display-buffer--action-function-custom-type’ as I suggested before.
(BTW Juri should have done that when he added that function.)  But
Reuben replied

   It would be nice if the user only had to change one thing to enable hiding
   the async output buffer until there is output. If we only added the
   function to display-buffer--action-function-custom-type, the user still has
   to manually add the right buffer name pattern and the action to
   display-buffer-alist.

 > If you are saying that we must not show any value but nil in the value
 > menu, then my next question will be why is this variable a defcustom,
 > if users are not allowed to select non-default values for it.
 >
 >> Applications have three ways to affect what ‘display-buffer’ does:
 >
 > We are not talking about any applications, at least I wasn't.  I was
 > talking about providing another possible value, that'd be easy to
 > select without writing any Lisp, and which, when selected, will cause
 > the async shell output buffer be displayed only when there's some
 > material in it.

And how should ‘display-buffer’ know whether "there's some material" in
that buffer?

martin