XEROX CD 2 4 1 CD 1 4 By: Henry Thompson (HThompson.pa@Xerox) The file CD implements a UNIX*-style facility for manipulating the connected directory. It also insures that the connected directory is always displayed. CD pattern CD is defined as a LISPXMACRO which allows low-overhead means of effecting many common changes of connected directory. Its behaviour is partly conditioned by three global variables, CD.DEFAULT.HOST, CD.DEFAULT.PREFIX and CD.DEFAULT.USER. CD.DEFAULT.HOST defaults to DSK. CD.DEFAULT.PREFIX defaults to the name (e.g. DSK) of the local disk volume on a Dandelion, otherwise NIL. CD.DEFAULT.USER defaults to the value of USERNAME, and is updated automatically after GREETing. The value of CD is always a CONS-pair of the old and new connected directories. On hosts which support some form of sub-directory, CD needs to know the character which is used to separate sub-directories. The table CD.OS.SEPRS is an a-list which determines this mapping - it is initialised to map UNIX* and VMS to "/" and DSK, NS and IFS to ">". To enter this table it looks up the host first in CD.OS.SEPRS directly, then via NETWORKOSTYPES. In the documentation which follows, ">" means whatever the separator is for the relevant host. The possibilities for pattern are as follows: empty Connects to the directory determined by the conjunction of CD.DEFAULT.HOST, CD.DEFAULT.PREFIX and CD.DEFAULT.USER. {anything Interprets pattern as a complete directory specification, and connects to it. sdir> is equivalent to CD {server}sdir>, whereas if CD.DEFAULT.PREFIX was /user and server was known to be running UNIX*, then CD would be equivalent to CD {server}. .>rest Equivalent to CD rest. This is purely for compatability with UNIX*. ..>rest Equivalent to peeling off one (sub-)directory from the currently connected directory, followed by CD rest. For example, if connected to {server}sdir>, then CD ..>sdir1 is equivalent to CD {server}sdir1>. otherwise Treat pattern as a further specialisation of the current directory, and connect to the resulting sub-directory. For example, if connected to {server}sdir>, then CD ssdir is equivalent to CD{server}sdir>ssdir>. Note that throughout, the closing ">" is optional. Menu interface At any time you can button (left or middle) in the window displaying the current connected directory, and see a menu of all the directories you have yet been connected to, and selecting one will move you there. You can also shift-select out of this menu into the current input stream. This latter is very useful when typing file names. *UNIX is a trademark of Bell Laboratories.(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC ) STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC )) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC )) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))(È (È(ŠŠ8(ŠŠ8DÈÈ PAGEHEADING RUNNINGHEAD( MODERN MODERN MODERN MODERNLOGOMODERN €MODERN MODERN MODERN MODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN )  }   Ü P Þ î    s   <   @ I B  ×   Ð 3   R  ) _^zº