Emacs in Cygwin: (file-exists-p "c:/")?

Ken Brown kbrown@cornell.edu
Wed Nov 30 22:17:00 GMT 2011


On 11/30/2011 4:08 PM, Tim McDaniel wrote:
> I dunno whether anyone here know about Emacs, but I thought I would
> ask.
>
> In a previous setup (Windows XP, 32-bit), I believe that running the
> Emacs function
> (file-exists-p "c:/")
> produced t.
>
> Now, with the latest Cygwin, Windows 7, 64-bit, emacs-version
> "23.3.1",
> (file-exists-p "c:/")
> nil
> (file-exists-p "c:\\")
> nil
> I notice it because it broke some code, my .emacs startup file to be
> precise. It was a quick and easy way to check whether it was running
> under Windows.
>
> I have a workaround,
> (file-exists-p "/mnt/c")
> but that only "works" because I "know" that I have changed the drive
> prefix from /cygdrive to /mnt.
>
> Can it be made to work again? Any suggestions on how to tell in Emacs
> whether I'm running under Windows?

I'm not sure what you mean by "running under Windows", but I think the 
variable `system-type' should do whatever you need.  For example, I do 
system-specific customization by putting the following in my .emacs file:

(cond
  ((eq system-type 'cygwin) (load "cygwin-init"))
  ((eq system-type 'windows-nt) (load "nt-init"))
  ((eq system-type 'gnu/linux) (load "linux-init")))

Ken


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



More information about the Cygwin mailing list