X-Recipient: archive-cygwin@delorie.com
X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 	tests=AWL,BAYES_00,SPF_HELO_PASS
X-Spam-Check-By: sourceware.org
Message-ID: <49C6D72D.4090804@veritech.com>
Date: Sun, 22 Mar 2009 20:26:21 -0400
From: "Lee D.Rothstein" <lee@veritech.com>
Reply-To: Cygwin Tech List <cygwin@cygwin.com>
User-Agent: Thunderbird 2.0.0.21 (Windows/20090302)
MIME-Version: 1.0
To: Cygwin Tech List <cygwin@cygwin.com>
Subject: 1.7.0: Getting a Windows app to run synchronously to a script from  which it is invoked
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.0.1
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

This is in all probability, not a bug. I suspect it falls into CGF's
category of "works but isn't (wasn't) guaranteed."

All of my scripts (developed under Cygwin 1.5 or earlier) that involve
a Windows native app use:

  winapp "$(cygpath -w $something)"

have stopped working "properly" since I installed Cygwin 1.7.

Here's the script I use, FOR EXAMPLE, for invoking Windows Explorer to the
current directory or a specified Cygwin directory path, AND that stops
further use of the invoked from "terminal" window, until this Explorer
window terminates:

  #!/usr/bin/bash
 
  if [[ -n "$1" ]] ; then cd "$1" ; fi
  explorer "$(cygpath -w .)"

Explorer opens okay, but always to the "Computer" folder, rather than the
current working or specified directory. (Yes, I know that there is a
special option for Explorer in 'cygstart'. Please read on.)

I found that I can make the above work by replacing the invocation using
'cygpath' with a 'cygstart' initiated invocation without 'cygpath', at
all. The problem with this latter fix, however, is that 'cygstart' invokes
the Windows app asynchronously to the script in which it is contained.
Sometimes I want the script continuance to be "tethered" to the Windows
app, and the only way to do this (that I can see), is to put an otherwise
superfluous 'read' statement right after the Windows app invocation. Ugly,
and not as obvious, to the user, as the old method.

Is there no straight-forward way to invoke a windows app from a script
synchronously with Cygwin 1.7?


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

