swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: using Emacs on Win32 systems for Swarm development


From: Barry McMullin
Subject: Re: using Emacs on Win32 systems for Swarm development
Date: Mon, 30 Mar 1998 09:51:32 +0100

Barry McMullin wrote:
> Duh ... [mimes eating hat] ... I just went back to have
> one last look at this, and all of a sudden it is working
> perfectly for me - .emacs is loading everytime, with no
> special effort at all.  Now I *know* it was broken, and
> that I tried all sorts of things to make it work.  So
> I am now totally stumped - I have no idea what might
> have changed this behaviour.

Well I just *couldn't* let this go without trying to figure
out what had happened.  I know this is only peripherally
related to swarm, but herewith my conclusions anyway:

o ntemacs cannot properly handle $HOME unless it has
  a DOS style device letter (C: etc.), *or* a UNC style
  network device (\\someserver). This is *not* to do with
  the use of "\" vs. "/" directory separators.

o In itself this is not all that surprising - ntemacs is
  not a cygwin app so can't really be expected to understand
  a unix style "/" absolute root; instead it wants a drive
  letter or UNC server to specify an absolute root.

o If $HOME does omit the device letter (something like
  /home/swarm or whatever) ntemacs reacts by prefixing any
  "~" path with the current working dir ... dunno if that
  is a bug or a feature (;-) but it certainly means that
  ~/.emacs will not be located as expected.

o Most galling of all, I think I actually figured most of
  this out several months ago when I first installed
  cdk and ntemacs; and since I wanted to invoke emacs
  from a bash shell, yet the bash shell wanted $HOME in
  unix style, I eventually settled for the kludgey
  compromise of a bash alias which explicitly fed the 
  ~/.emacs as an --rcfile  - that worked because the ~
  expansion was done by bash instead of emacs...

o But that leaves open the most intriguing question: how
  come it suddenly started working???  Well, I just
  upgraded cdk from b18 to b19; which included an upgrade
  to bash.  And, from what I can figure out (though I
  have not found this explicitly in the release notes),
  when the b19 bash launches a "standard" DOS or Windows
  app (i.e. which does not use the cygwinb19.dll) it
  _automatically changes the $HOME var from the cygwin/
  unix format to the DOS format with explicit drive letter_.

o So ... all of a sudden, even though bash still has $HOME in
  unix format, whenever I launch ntemacs it gets $HOME in
  DOS format, which it can happily process, and all ~
  expansion, including ~/.emacs, works perfectly!

o Of course, I don't know whether or how any of this would 
  explain Doug Donalson's problem with loading ~/.emacs 
  since it seems there should be no problem under cdk b19 -
  any comment Doug?

> Don't ya' just *love* MS operating systems...

Okay, maybe that crack was a *little* unfair this time; but
still ... those of us who can remember back to DOS 2.0, when
hierarchical file systems were first introduced into DOS, 
will recall that the concept *was* directly copied from unix, 
but MS perversely insisted on retaining drive letters (for 
"backward compatibility"?) and on changing the dir separator 
from "/" to "\" ("because / was already used to delimit 
command switches"?)...

Cheers,

- Barry.


                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.
                  ==================================


reply via email to

[Prev in Thread] Current Thread [Next in Thread]