[comp.emacs] Query about GNU Emacs and Altos WorkNet

allbery@ncoast.UUCP (Brandon Allbery) (11/05/87)

Chances are good that I'll be trying to bring up GNU Emacs on an Altos 386
soon.  The problem is that the 386 comes with the Worknet network installed,
but not running.  The effects this has are:

	1. "pwd" returns a path rooted on the network root (@), NOT the
	   local root (/)
	
	2. But since the network server is not running, network-rooted
	   paths are not acceptable.

I already know that Jove dies horrible deaths when confronted with this
situation (since it wants to construct full pathnames, and everyone knows
that the root is /, it just keeps prepending the current directory from pwd
-- which is rooted from @ -- to the path name).  My question is:  are there
many Gnumacs files which assume that root is /?  And how hard would it be
to check to see if the network is running and change the path construction
rules based on it?  (How to tell is easy:  the local root is @/ if the
server isn't running, but @machine/ if it is.)

Thanks in advance.
(BTW, on my earlier Jove question:  seems to be a C compiler bug, the new
compiler is due out soon but I'll have GNU by then, so I'll go for it.)
-- 
Brandon S. Allbery		     necntc!ncoast!allbery@harvard.harvard.edu
 {harvard!necntc,well!hoptoad,sun!mandrill!hal,uunet!hnsurg3}!ncoast!allbery
Moderator of comp.sources.misc

wolfgang@mgm.mit.edu (Wolfgang Rupprecht) (11/06/87)

In article <5194@ncoast.UUCP> allbery@ncoast.UUCP (Brandon Allbery) writes:
>situation (since it wants to construct full pathnames, and everyone knows
>that the root is /, it just keeps prepending the current directory from pwd
>-- which is rooted from @ -- to the path name).  My question is:  are there
>many Gnumacs files which assume that root is /?  And how hard would it be
>to check to see if the network is running and change the path construction
>rules based on it?  (How to tell is easy:  the local root is @/ if the
>server isn't running, but @machine/ if it is.)

In GnuEmacs the situation has a trivial (hack) fix. Just use the
find-file-hooks or the find-file-not-found hooks to adjust the path of
buffer-file-name and default-directory. Then read the file in again.

I faced the same problem in writing rcp.el which was a poor-man's NFS.
Files could (transparently) come from the net, and current directories
could be on remote machines. The only problem was that I had to
preface the network-pathnames with '/' to make emacs happy. (netnames
were '/machine:/full-pathname'). 

(Sorry, I don't have a copy of the code anymore. It died when LMI did.
I did post it to the net. Did someone by chance keep it? Could you
please send me a copy? thanks -wsr)

Perhaps you could just adjust the pathname, and write a one line
routine 'pwd' that called the real pwd, and just pre-pended a / onto
the @pathname.  Certainly would make a hell of a lot of programs
happier, not just emacs.
Wolfgang Rupprecht	UUCP: mit-eddie!mgm.mit.edu!wolfgang
				(or) mirror!mit-mgm!wolfgang
			ARPA: wolfgang@mgm.mit.edu (IP addr 18.82.0.114)

jr@LF-SERVER-2.BBN.COM (John Robinson) (11/07/87)

Apollo has another odd convention - "//" precedes a node name in the
Domain network.  I believe that GNU has #ifdef APOLLO in all the
places where this matters; it might help you to start with these
places in the source.

/jr
jr@bbn.com or jr@bbn.uucp