Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Date: Tue, 2 Oct 2001 13:44:19 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: bash 2.04 can't complete ~/name if $HOME set to c:/users/foo? Message-ID: <20011002134419.E12071@redhat.com> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <5 DOT 1 DOT 0 DOT 14 DOT 2 DOT 20011001192343 DOT 00a74568 AT pop DOT atg DOT com> <5 DOT 1 DOT 0 DOT 14 DOT 2 DOT 20011001192343 DOT 00a74568 AT pop DOT atg DOT com> <5 DOT 1 DOT 0 DOT 14 DOT 2 DOT 20011002102745 DOT 00a6df08 AT pop DOT atg DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5.1.0.14.2.20011002102745.00a6df08@pop.atg.com> User-Agent: Mutt/1.3.21i On Tue, Oct 02, 2001 at 10:33:36AM -0400, Matt Landau wrote: >At 05:37 AM 10/2/2001, David Starks-Browning wrote: >>If your non-Cygwin application (like Emacs) requires HOME be set in a >>non-Cygwin way, then don't start emacs from your Cygwin bash shell. >> >>If you must invoke your emacs command from the Cygwin bash shell, you >>could put the emacs command in a windows .bat file, and invoke that >>file from Cygwin bash. In the .bat file, your HOME variable should be >>set the way Emacs needs it. >> >>Hope this helps. > >Let me clarify the problem. > >Emacs doesn't care what $HOME is set to, it cares what path it sees on >the command line. The issue is that bash, by default, expands >~/filename to a posix-style path, resulting in commands like "emacs >/c/users/matt/.bashrc", which doesn't work for any non-Cygwin program. > >Saying "don't run non-Cygwin programs from bash" isn't a thrilling >answer; an interactive shell is most useful when you can use it as your >shell for *everything*. It may not be a thrilling answer but it is certainly a reasonable answer in a mailing list called cygwin AT cygwin DOT com. I am a little confused by this thread, however, if you set the HOME environment variable to a unix-style path, cygwin is supposed to set it back to MS-DOS format prior to executing a non-cygwin application. So, the simple solution seems to be that you should just use cygwin paths. It is unlikely that anyone who is working on cygwin development, a large part of which is devoted to providing unix path handling, is going to be overly interested in modifying bash to handle MS-DOS paths. So, as has been suggested elsewhere, the best solution is to inspect the bash source code and provide a fix. I can't speak for anyone else but I know that I, personally, have no interest in making bash work with MS-DOS paths. cgf -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/