On 28 December 2016 at 16:01, Eli Zaretskii wrote: > > From: Reuben Thomas > > Date: Tue, 27 Dec 2016 22:21:11 +0000 > > Cc: Juri Linkov , martin rudalics , > 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. -- http://rrt.sc3d.org