From owner-ntemacs-users@cs.washington.edu  Wed Aug 11 09:13:24 1999
X-VM-v5-Data: ([nil nil nil nil nil t nil nil nil]
	[nil "" "11" "August" "1999" "15:55:06" "+0200" "Mike Fabian" "mike.fabian@it-mannesmann.de" nil "84" "Re: bash & NT Emacs" "^From:" nil nil "8" nil nil nil nil]
	nil)
Received: from trout.cs.washington.edu (trout.cs.washington.edu [128.95.1.178]) by june.cs.washington.edu (8.8.7+CS/7.2ju) with ESMTP id JAA01581 for <voelker@cs.washington.edu>; Wed, 11 Aug 1999 09:13:24 -0700
Received: (majordom@localhost) by trout.cs.washington.edu (8.8.5+CS/7.2trout) id IAA26762 for ntemacs-users-outgoing; Wed, 11 Aug 1999 08:56:49 -0700 (PDT)
Received: from june.cs.washington.edu (june.cs.washington.edu [128.95.1.4]) by trout.cs.washington.edu (8.8.5+CS/7.2trout) with ESMTP id IAA26758 for <ntemacs-users@trout.cs.washington.edu>; Wed, 11 Aug 1999 08:56:45 -0700 (PDT)
Received: from sunny.mannesmann.de (sunny.mannesmann.de [195.233.129.30]) by june.cs.washington.edu (8.8.7+CS/7.2ju) with ESMTP id IAA00774 for <ntemacs-users@cs.washington.edu>; Wed, 11 Aug 1999 08:56:44 -0700
Received: from aladin.mannesmann.de ([195.233.128.10])           by sunny.mannesmann.de (Netscape Messaging Server 3.6)            with ESMTP id AAAD11 for <ntemacs-users@cs.washington.edu>;           Wed, 11 Aug 1999 17:56:42 +0200
Received: from atlantis.mannesmann.de ([145.230.128.132])           by aladin.mannesmann.de (Netscape Messaging Server 3.6)            with ESMTP id AAB6A4F for <ntemacs-users@cs.washington.edu>;           Wed, 11 Aug 1999 17:56:39 +0200
Received: from mwt560.at.mdv.de ([192.125.69.160])           by atlantis.mannesmann.de (Netscape Mail Server v1.1) with ESMTP           id AAA7410 for <ntemacs-users@cs.washington.edu>;           Wed, 11 Aug 1999 15:57:03 +0200
Received: from mwt555.at.mdv.de by mwt560.at.mdv.de with SMTP (Microsoft Exchange Internet Mail Service Version 5.0.1458.49) 	id 3KMZRYXG; Wed, 11 Aug 1999 15:53:58 +0200
References: <37B0892B.E2972DF0@telica.com> <u3dxqsp5k.fsf@it-mannesmann.de> <37B1762C.65E5E7CB@telica.com>
Reply-to: mike.fabian@it-mannesmann.de
In-Reply-To: Andrew Sweeney's message of "Wed, 11 Aug 1999 09:10:04 -0400"
Message-ID: <uvhamifr9.fsf@it-mannesmann.de>
Lines: 84
User-Agent: Gnus/5.070095 (Pterodactyl Gnus v0.95) Emacs/20.4
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Precedence: bulk
X-FAQ: http://www.cs.washington.edu/homes/voelker/ntemacs.html
From: Mike Fabian <mike.fabian@it-mannesmann.de>
Sender: owner-ntemacs-users@cs.washington.edu
To: Andrew Sweeney <asweeney@telica.com>
CC: ntemacs-users@cs.washington.edu
Subject: Re: bash & NT Emacs
Date: 11 Aug 1999 15:55:06 +0200

Andrew Sweeney <asweeney@telica.com> writes:

> Thanks Mike and everyone,
> 
>     This is set up and it still doesn't seem to be working. If I try M-x cd d:
>     I get an error saying "no such directory via CDPATH enviroment variable"

You have to use `M-x cd  [return] d:/'. The `/' is important.  Without
it I  get the same  error you get.   The same applies when  you change
drives from within a shell buffer.  If  you use `cd d:' or `cd /d' (if
you  have a  mount  point /d  for d:,  like  I have),  the shell  will
correctly go to the d-drive:

    /E$ cd d:
    /D$

or:

    /E$ cd /d
    /d$ 

but Emacs won't notice the drive change (`M-x pwd' will still show
`e:/') and tab-completion will stop working. But if you use `cd d:/',
everything will be fine:

    /D$ cd e:/
    /E$ 

the shell changes the drive and Emacs does too. You can see that Emacs
noticed the drive change because  it shows a message in the minibuffer
showing the  dirstack. Also you can  check with `M-x  pwd', which will
give `Directory e:/' now.

Whenever Emacs and bash disagree  about the current directory, you can
use `M-x dirs' to let Emacs  find out the current working directory of
bash. Note that  `M-x dirs' will work correctly with  bash only if you
have set the variable shell-dirstack-query to something like:

    (setq shell-dirstack-query "cygpath -w `dirs`")

AFTER starting shell-mode, as I explained in my last mail.

>     I am really confused. 

So was I. I took a long time for me to find out how to make it working
on NT and  I felt really stupid.

And  I still  find it  a  little annoying  that from  within an  Emacs
shell-buffer I  have to use `cd  e:/' to make tab  completion work (or
alternatively `cd /e'  followed by `M-x dirs'), whereas  from within a
normal bash-window I have to use `cd /e' to make tab completion work.

In a normal bash-window `cd /c/WIN [TAB]' will complete to `/c/WINNT',
but `cd c:/WIN [TAB]' will do nothing and only beep.

In  an  emacs  shell-buffer,   `cd  c:/WIN  [TAB]'  will  complete  to
`c:/WINNT',  but `cd /c/WIN  [TAB' won't  (message "no  completions of
/c/WIN").

It is annoying  always having to remember to  type something different
in the two cases. But I have not found any better solution.

>     This used to work fine in unix!!!!

Because in  Unix there are no  such silly things like  drive d:.  Many
things work much better in Unix.

XEmacs compiled under  cygwin will give you a  more Unix like feeling,
for example  using a  cygwin compiled XEmacs  you CAN type  `cd /c/WIN
[TAB]' in  a (bash)-shell-buffer  and it does  indeed complete  to `cd
/c/WINNT' (you must have mounted c:\ to /c of course).

For reasons like that I  would also tried a cygwin compiled NT-XEmacs.
Some things  work better with  NT-XEmacs some things work  better with
NT-GNU-Emacs. Maybe it's a matter of preferences.

Mike

-- 
Dr. Mike Fabian   <mike.fabian@it-mannesmann.de>
Mannesmann Datenverarbeitung 
Mathematische/Technische Systeme Verfahrenstechnik
Rehhecke 50, D-40885 Ratingen
Tel.: +49-2102 97 1763, Fax: +49-2102 97 1345

