From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Karr Newsgroups: gmane.emacs.help Subject: Re: How to avoid having shell scripts which fail from killing Emacs shell? Date: Mon, 22 Jun 2009 16:38:45 -0700 (PDT) Organization: http://groups.google.com Message-ID: <39db2893-6d4a-49b3-8a9f-d4ba92f89cd8@s38g2000prg.googlegroups.com> References: <88ba12ed-8f02-4f3e-bb30-cc6155a38df2@f38g2000pra.googlegroups.com> <92bcc449-5616-4e2b-99dc-2f1dac3fde1c@y10g2000prc.googlegroups.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1245714105 32477 80.91.229.12 (22 Jun 2009 23:41:45 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Jun 2009 23:41:45 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Jun 23 01:41:43 2009 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MIt8v-0005tP-Rx for geh-help-gnu-emacs@m.gmane.org; Tue, 23 Jun 2009 01:41:42 +0200 Original-Received: from localhost ([127.0.0.1]:33964 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MIt8v-0007uq-6u for geh-help-gnu-emacs@m.gmane.org; Mon, 22 Jun 2009 19:41:41 -0400 Original-Path: news.stanford.edu!newsfeed.stanford.edu!postnews.google.com!s38g2000prg.googlegroups.com!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 37 Original-NNTP-Posting-Host: 207.188.29.244 Original-X-Trace: posting.google.com 1245713926 1496 127.0.0.1 (22 Jun 2009 23:38:46 GMT) Original-X-Complaints-To: groups-abuse@google.com Original-NNTP-Posting-Date: Mon, 22 Jun 2009 23:38:46 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: s38g2000prg.googlegroups.com; posting-host=207.188.29.244; posting-account=78dYpQkAAABkXq5R--mk7bpN1x43kmXK User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729), gzip(gfe), gzip(gfe) Original-Xref: news.stanford.edu gnu.emacs.help:170224 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:65443 Archived-At: On Jun 22, 3:49=A0pm, Peter Dyballa wrote: > Am 22.06.2009 um 22:21 schrieb David Karr: > > > I note that even though the Java class throws an exception, it doesn't > > cause the script to exit at that point. I tried putting an "echo" > > right after the Java call, and it executes fine. =A0Right after that (a= s > > it's the last line in the script), the script exits, and at my shell > > prompt, I see "% exit" (where "%" is my PS1), and my shell buffer > > terminates. > > OK, I do remember similiar events! It was in tcsh. And there were two =A0 > or three problems: a script was running wild, I was typing C-c or =A0 > such wildly, and ... well, it could have been in cpan (filling up my =A0 > root and boot file system). Anyway, in the end I saw the shell die, =A0 > and at this moment it's not possible to gain more information. There =A0 > were also events outside cpan. I do remember that I made mistakes, =A0 > typing C-d for example. There could be one plausible cause: when you =A0 > type input and your script is not prepared to read this, then GNU =A0 > Emacs has to save it. Maybe this period is limited. And then =A0 > something irregular could happen. I have no real idea, but what you =A0 > encounter is not impossible. (And maybe Cygwin adds something to make =A0 > it happen, it's an emulation in a host operating system.) Well, this did give me one idea that gave me a clue, but I don't know what to do with this clue. I tried writing a simple class that takes a command-line arg as a filepath. I get it to throw an exception, but it doesn't kill the shell. I then changed the class to additionally read a line of text from stdin, in addition to taking the filepath. When I test this, whether the command-line file path exists or not, it still kills the shell at the end of the script. So, the key is that the sub-shell reads input. I have no idea what to do with that information, but I'm sure it's a useful clue.