This is the mail archive of the
mailing list for the Cygwin project.
Re: emacs 24.3.1: output from async-shell-command is not always displayed
- From: Filipp Gunbin <fgunbin at fastmail dot fm>
- To: cygwin at cygwin dot com
- Date: Wed, 18 Jun 2014 15:10:35 +0400
- Subject: Re: emacs 24.3.1: output from async-shell-command is not always displayed
- Authentication-results: sourceware.org; auth=none
- References: <86zjhbpf9b dot fsf at w2139spb dot ru dot yotateam dot com> <53A0EF03 dot 8060001 at cornell dot edu>
On 18/06/2014 05:44 +0400, Ken Brown wrote:
> On 6/17/2014 2:22 PM, Filipp Gunbin wrote:
>> Here are the steps to reproduce.
>> M-& echo "sleep 1; ps &" > /tmp/1.sh
>> Then M-& /tmp/1.sh (few times).
>> On my machine, sometimes it gives the output in the *Async Shell
>> Command* buffer, sometimes not. Without "sleep 1" the output is
>> displayed almost always.
>> M-! /tmp/1.sh displays the output always.
> I'm seeing something different, but I'm running a pretest of
> emacs-24.4 rather than emacs-24.3. I find that the output is never
> displayed, with or without "sleep 1". But if I remove the "&" from
> 1.sh, then the output is always displayed (again, with or without
> "sleep 1"). Could you try installing the test release emacs-24.3.90-1
> and see if you get the same results I'm getting?
I've tried on bzr emacs-220.127.116.11 and what I get is exactly the same as
> I don't know if there's a bug here or not. If there is, it's not
> specific to Cygwin; I get the same behavior on Fedora 20.
> Do you have a use case for wanting to call asynchronously a command
> that's already running asynchronously (because of the "&")?
Yes, I usually call asynchronously various startup scripts (Tomcat,
ActiveMQ and other). They usually produce some output and start java in
background with &. It works from the terminal, but not from emacs.
Actually, some time ago it worked from emacs too (I didn't work for some
months, so unfortunately I can't tell exactly when it started).
When I call such a script (catalina.sh, for example), its output is
displayed in *Asynchronous Shell Command*, but the program starting from
it with & (java usually) is not started (or started and killed
immediately). I supposed that maybe it's killed when the parent process
finishes. From looking at lisp code of async-shell-command I can't see
anything which differs from shell-command in this way. I tried to
narrow the problem and got the case I've posted here initially, but now
I think those could be different problems.
Anyway, thanks for looking at this.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple