1 #n
!
 SD maintains a stack of the last ten directories visited.  Entering
 [7m SD #n [m Sets default to the n'th previous entry in the SD stack.

 If n is omitted, the 1st previous entry on the stack becomes the new
 default.  Unlike "SD #1,"  "SD #" swaps the 0th and 1st entries on the
 stack.  If you toggle between two directories frequently, using "SD #"
 will prevent your stack from being filled with only those two directory
 specifications.
!
1 .
!
 Sets default to the login default directory and disk.
!
1 .X
!
 Sets default to the subdirectory named X at the next lower level.
 If the current default is [A.B], then [7m SD .X [m will result in
 a default of [A.B.X]
!
1 >X
!
 Sets default to the directory "X" at this subdirectory level.
 If the current directory is [A.B.C] then [7m SD >X [m will set default
 to [A.B.X].
!
1 Document
!
 For a hard-copy listing of this HELP text for SD, print the file:

	  P:SD.DOC
 
1 Errors
!
 SD checks for the existence of the directory being entered,
 and prints an error if it is not found, or if the device is
 not mounted.
!
!1 SDENTRY
!
! If a file "SDENTRY.COM" exists in the new directory, it is executed.
! This allows symbol definitions related to that directory.
!!
!1 SDEXIT
!!
! If a file "SDEXIT.COM" exists in the current default directory, it
! is executed before a move is made to a new directory.  This allows
! cleaning up of symbol or logical name definitions before leaving the
! current directory.  Normally, this feature would be used in conjunc-
! tion with SDENTRY.
!
1 Limitations
!
 SD does not support multiple default directories or defaults on other
 nodes.

1 Logical-names
!
 SD translates logical names if given.  For example, [7m SD SYS$HELP [m
 will set the default to the translation for SYS$HELP.
!
1 Mult
!
 In certain cases, SD can do two functions in one call.  Blank(s) must
 separate the functions.

   A.  A [1m*[m will cause the stack to be listed after all other
       processing is complete.

   B.  On GO operations, you can have it do another movement:

	$ [7m SD . .Y [m   (go to subdirectory Y of login default directory)

	$ [7m SD ^^ [m     (go up two levels; note difference from SD @)

	$ [7m SD #3 >X [m  (go to stack entry 3, then over to X)
!
1 Overview
!
[7m Set/Show Default Directory [m

SD ^      Go up one subdirectory level
SD @      Go to top level of current directory (enter TOP for help)
SD .      Go to login default directory and disk
SD #n     Go to directory in n'th entry of the SD stack
SD #      Set default to stack entry #1 (toggle stack entries)
SD >X     Set default to [z.X] when currently in [z.y]
SD .X     Set default to [current.X]
SD X.Y.Z  Set default to [X.Y.Z] (enter X for help)
SD %      Push the current default onto the stack
SD *      Show the SD stack (enter STACK for help)
SD ?      Show this SD help information
SD        Show the current default

Enter Mult for help showing how to do multiple SD functions in one call.
!
1 Push_Current
!
 SD maintains a stack of the last ten directories visited.  If SET
 DEFAULT or another method is used to change the default, the stack
 will not be updated and the new default will not show up on the
 stack.  Specifying "%" tells SD to update the stack by pushing the
 current default directory.
!
1 Stack
!
 SD maintains a stack of the last ten directories visited.  Entering
 [7m SD * [m displays the SD stack, with the current directory at the top.

 Entering [7m SD #n [m sets the default to the corresponding entry.
!
!1 STAR
!
! Entering [7m SD * [m builds display on VT100 screen showing subdirectories
! under the current directory.  When the display is complete, enter a
! blank to continue, or enter any of the following EDT keypad commands
! to travel through the display:
!
!	up-arrow	TOP	   ADVANCE	SECTION	    ctrl/w
!	down-arrow	BOTTOM	   BACKUP	LINE
!
! Only four levels of subdirectories are shown; if lower levels exist,
! the parent directory shows an arrow pointing to the right.  If a dir-
! ectory name is too long, it will be truncated and a diamond will be
! displayed after it.  If the terminal width is 80 columns, truncation
! will occur for names longer than 13 characters; if the screen is set
! to 132 columns, truncation will occur after 26 characters.
!!
1 Top
!
 Entering [7m SD @ [m sets default to the top level directory.  If currently
 in [X.Y.Z], you will then be in [X] .
!
1 X
!
 Sets default to directory [X] on the current device.  Note that square
 brackets are not required around the directory name; they are allowed,
 however.  Examples:

	$ [7m SD MYDIR [m        $ [7m SD NEWDIR.A.B [m

 You can also move to a different device, by executing:

	$ [7m SD device:directory [m

 The colon is required; you may follow the colon with a blank.  If you
 just enter a device, you will go to your current default on the new
 device (e.g. from DRA0:[X.Y] to DRA1:[X.Y]).
!
!1 n
!
! Sets default to the n'th predefined directory.  These are usually
! defined at login, using global symbols SD__n.  You can define or
! redefine these yourself, as in the following example:
!
!	$ SD__2 == "SYS$SYSDEVICE:[MYDIR.MYSUB]"
!
! Such definitions last until you logout or redefine them.  If you
! want them to be permanent, put them in your LOGIN.COM file.
!
! Note that you must include the square brackets in the definition.
!
! The definition can also be of a device only, such as "_DRC0:" or
! "SYS$SYSROOT:".  If so, then you can combine it with another entry,
! such as:
!
!	$ [7m SD 1 X.Y.Z [m
!
1 ^
!
 Sets default to the next highest directory level.  If default is [X.Y.Z],
 execution of [7m SD ^ [m will set default to [X.Y].  You may specify
 more than one "^" to move up more than one level ($ SD ^^^ to move up
 three levels).  If the current default is a top-level directory, nothing
 happens.
!
