bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#18133: Suppressing asynchronous command output


From: Reuben Thomas
Subject: bug#18133: Suppressing asynchronous command output
Date: Wed, 28 Dec 2016 20:58:40 +0000

On 28 December 2016 at 16:01, Eli Zaretskii <eliz@gnu.org> wrote:
> From: Reuben Thomas <rrt@sc3d.org>
> Date: Tue, 27 Dec 2016 22:21:11 +0000
> Cc: Juri Linkov <juri@linkov.net>, martin rudalics <rudalics@gmx.at>, 18133@debbugs.gnu.org
>
>  > Why are we hard-coding a certain buffer name in a function that is
>  > supposed to be more general, judging by its name and doc string?
>  >
>  > ​I found it hard-coded several times in other places, so I hard-coded it here. What do you suggest?
>
>  I don't see it hard-coded in any context such as this.
>
> ​I'm not quite sure what you mean by "in any context such as this". I see the string repeated in source code,
> and never assigned to a variable name. This seems OK, since strings and symbols are pretty much
> interchangeable when of this sort (e.g. not internationalised).​

It appears:

  . in ibuf-ext.el, as one of several strings users can select
  . in tramp-adb.el as a buffer where the shell output should go
  . in tramp.el, likewise
  . in simple.el, likewise
  . in comments in some other files

By contrast, you were hard-coding it in a function that should provide
optional behavior for buffers that are not necessarily related to
shell output.  In that context, I think the user should be able to
instruct Emacs about the buffers which should exhibit this behavior.

​As I said, the name is editable in M-x customize-variable.​

>  And another question: where's the user option to turn this feature on
>  or off (including the default being off)?
>
> ​M-x​ customize-variable RET display-buffer-alist RET
>
> You can tick/untick the option for "*Async Shell Command*", and, when it is ticked, the regexp can be edited.

But if I select that, what I get is that the buffer will not be
displayed at all, right?  What will trigger its display when it
becomes non-empty?  Sorry if I'm missing something obvious.

​​The buffer will be displayed by comint-make-newly-written-buffer-visible, which I've added to the default value of comint-preoutput-filter-functions. At present the buffer name is hard coded there, so this will only work for "*Async Shell Command*".

So, to allow the user to be able to change the name, I suppose another user option would need to be introduced.

However, that is beyond the scope of this bug, which is simply to change the behaviour for asynchronous uses of shell-command.

--

reply via email to

[Prev in Thread] Current Thread [Next in Thread]