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