                +                                    CD V5.5B           0                               User Documentation    /                                January 28, 1997                                   3                            TECSys Development, Inc. 4                           2000 N. Central, Suite 2140                               Plano, Texas 75074    /                               Table of Contents       F                 Table Of Contents  . . . . . . . . . . . . . . . . . iF                 Preliminaries  . . . . . . . . . . . . . . . . . . . 1F                   Building CD & Getting Started  . . . . . . . . . . 1F                 Introduction . . . . . . . . . . . . . . . . . . . . 2F                   License & Disclaimer . . . . . . . . . . . . . . . 2F                   Feature Summary  . . . . . . . . . . . . . . . . . 3F                   Known Bugs And Limitations . . . . . . . . . . . . 4F                   Recent Bugfixes And Changes  . . . . . . . . . . . 4F                 Command Syntax Discussion And Directory Separators . 6F                 How It Works . . . . . . . . . . . . . . . . . . . . 7F                   Search Order . . . . . . . . . . . . . . . . . . . 7F                   Explanation Of Special Symbols . . . . . . . . . . 9F                   Explanation Of Personal Idents . . . . . . . . .  10F                   Explanation Of Personal Devices  . . . . . . . .  10F                   Explanation Of The Personal Device API . . . . .  11F                 Discussion Of Features For UN*X Users  . . . . . .  12F                 Notes  . . . . . . . . . . . . . . . . . . . . . .  13F                   Regarding @username/~username And READALL  . . .  13F                   On Using '/COM': Automatic Command Execution . .  13F                   For System Managers, INSTALLing CD . . . . . . .  13F                   The CD Help Library  . . . . . . . . . . . . . .  13F                 Feedback . . . . . . . . . . . . . . . . . . . . .  14                                                                          (                                        i     1  Preliminaries  I   This is the readme file for the OpenVMS CD utility, now at Version 5.5.   E   If you have any comments or questions, please send them by email to B   cdutil@tditx.com.  Also, there is a web page for this utility at*   http://www.tditx.com/~cdutil/index.html.      $   1.1  Building CD & Getting Started  I   (yeah yeah yeah...  this section looks like it's out of order, but it's F   here because *nobody* reads the manual until something breaks...  :)  I   For your own peace of mind, you should consider rebuilding the included ?   objects and/or exe's from source.  That can be done by using:          $ @BLDCDL   on a VAX and on an Alpha.  If you are on the alpha, you will probably wantF   to rename the cd.alpha_exe file to a cd.exe in an appropriate place.C   Rebuilding the alpha version requires that you have MACRO/MIGRATE    installed.  8   If you wish only to relink, that can be done by using:         $ @LNKCD  L   Installation is by using a DCL foreign command definition...  Try starting
   with these:   F         $ cd:==$dev:[dir1.dir2]cd/inhib            !Optional: add /logF         $ sd:==$dev:[dir1.dir2]cd/inhib/aa/partial !Optional: add /log  G   New with this version is the requirement to build the CDHELP.HLB help L   library and to either install it into SYS$HELP, or define the logical nameK   CDHELP to point to the constructed help library.  Failure to do this will (   render the command 'CD ?' inoperative.  K   The helpfile can be created directly into SYS$HELP by using this command: 4     $ library/create/help sys$help:cdhelp cdhelp.hlp6   or it can be constructed in a local directory using:/     $ library/create/help cdhelp.hlb cdhelp.hlp K   In the latter case, the logical name CDHELP _MUST_ be defined to point to '   wherever the CDHELP.HLB was built to.   L   Earlier versions of CD have been shown to operate all the way from VAX/VMSL   V5.1 forward, and from AXP/VMS V1.5 forward.  There is no known reason whyJ   this should not still be true, however it is not been empirically proven    since about version 5.0 of CD.                              (                                        1     2  Introduction   H   VMS provides a command, SET DEFAULT, to facilitate the changing of the@   user's default directory.  SET DEFAULT provides only a minimumJ   functionality where there is opportunity for a great deal of time saving
   automation.   J   This CD utililty, now at version 5.5, provides SET DEFAULT capabilities,J   plus a large array of built-in and user-customizable capabilities.  This7   guide covers most of CD's features & how to use them.   .   First, a bit of necessary business though...         2.1  License & Disclaimer        WARRANTY:   M     These programs are distributed in the hopes that they will be useful, but N     WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY(     or FITNESS FOR A PARTICULAR PURPOSE.  
   LICENSE:  K     Ownership of and rights to these programs is retained by the author(s). I     Limited license to use and distribute the software in this library is 2     hereby granted under the following conditions:B       1. Any and all authorship, ownership, copyright or licensingH          information is preserved within any source copies at all times.I       2. Under absolutely *NO* circumstances may any of this code be used F          in any form for commercial profit without a written licensingE          agreement from the author(s).  This does not imply that such 3          a written agreement could not be obtained. D       3. Except by written agreement under condition 2, source shall1          be freely provided with all executables. E       4. Library contents may be transferred or copied in any form so E          long as conditions 1, 2, and 3 are met.  Nominal charges may I          be assessed for media and transferral labor without such charges L          being considered 'commercial profit' thereby violating condition 2.    K   Throughout this document, unless prefixed otherwise, CD will refer to the    CD version 5.5 for OpenVMS.                                     (                                        2     2.2  Feature Summary  <   Following is a brief list of the functions provided by CD.     The basic CD functions: 3     CD             Prints current default directory G     CD dirname     Changes to a subdirectory from the current directory M     CD \dirname    Changes to a directory from the root on the current device O     CD ..          Changes to a directory one level above the current directory 5     CD ..\dirname  Changes to an 'adjacent' directory K     CD .           Politely tells you your current directory did not change      General extensions: A     CD ?                  - Activate online help (CDHELP logical) 8     CD ??                 - Print CD version information-     CD #                  - give previous dir .     CD $                  - change to prev dir=     CD dev:\dirname       - change to named device, dir named 4     CD logical_w_dir[:]   - move to spec'd directory2     CD .dirname           - change to subdir named  6     CD IDN                - move to 'CDI_IDN' contentsK     CD FM$:[txt[.txt..]]  - move to 'CDF_FM$' contents $FAO formatted w/txt I     CD @usrname|~usrname  - move to user's home dir [possibly privileged] 3     Switches: (must be specified *BEFORE* pathname) 5       /AA                 - AutoAnswer search queries D       /COM[=fspec[CD.COM]]- Execute command file on directory change;       /CSH                - Enable c-shell history bahavior I       /INHIBIT            - Inhibit facility, ident, severity in messages ,       /FULL               - Verbose messagesD       /HOME               - Causes plain CD command to CD SYS$LOGIN:I       /NOP                - Placeholder switch for enabling '/' separator 4       /LOG                - Log changes in directory>       /PARTIAL            - Enable partial directory searchingF       /POP                - Used with /CSH to create a 'popd' functionG       /PUSH               - Used with /CSH to create a 'pushd' function >       /VERIFY             - Verify target dir... don't set def@     CD path1 path2        - Goto 'path1' then 'path2' from thereL                             Note: special operations like '#', '?' cannot beC                                   mixed in with this type operation 5     CD #n                 - List a previous directory ?     CD #*                 - List all known previous directories 6     CD $n                 - Goto previous directory #nH     CD $*                 - List all known previous directories & select8     CD *                  - Goto a wildcard subdirectoryM     CD P *                - Goto Personal Ident P, then wildcard subdirectory F     CD{switch} dir1/dir2  - '/' path separator after switches are seenK                             (use /NOP if you do not use any other switches) 
     Logicals: ?       LAST_DEFAULT_DIRECTORY - Always the last exited directory D       CD$n                   - n = {0..9} list of most recently usedJ                                previous directories... note: this is *not*I                                necessarily in a readily predictable order I       CDHELP                 - CDHELP should point to the CD help library J                                (optionally, put CDHELP.HLB into SYS$HELP:)                (                                        3  !   2.3  Known Bugs And Limitations           *  CD does NOT support:  H            o  CD's to non-existent directories - Sorry...  it's designed               that way!     B      *  CD to NODE:: cannot accurately test for nonexistent targetI         directories because it appears that SYS$PARSE does not accurately K         return that information...  i.e.  it lies about the directory being          OK when it isn't.   J      *  CD has had intermittent and as yet, untraceable difficulties with:  I            o  Occasional 'Specified directory does not exist' errors when J               the target darn well does exist.  Workaround:  repeat the CDG               command again.  This has only been seen on AXP VMS 1.5 so                far...          "   2.4  Recent Bugfixes And Changes    H      *  Security audit fixed in the event where auditing was enabled for<         privilege failures, and the user was non-privileged.  K      *  DESCRIP.MMS target removed for CDDOC.TXT since the .RNO file is not          supplied with the kit.  !      *  DESCRIP.MMS added to kit.   D      *  AXP Accvio fixed regarding certain forms of /AA and /PARTIAL:         switches, and doop routine arguments homed on AXP.  0      *  Experimental support has been added for:  I            o  Nodenames in the target directory specification (the author >               _still_ considers this a dreadful practice!!...)  A            o  UN*X c-shell-like 'pushd' and 'popd' functionality.     D      *  Searchlisted directories.  Error was 'cannot get/set currentH         directory', and the poor victim was 'stuck' in that directory...K         workaround was two parts:  1) Do not use a logical that points to a C         logical that points to a searchlist (i.e.  don't $ DEF TEST J         SYS$MANAGER, CD TEST), and 2) if you did get stuck, use SET DEF toD         set default somewhere else and CD would start working again.  K      *  Command lines over 80 characters were blowing up with %LIB-F-STRTRU =         errors because the command line buffer was too small.   L      *  A few buffers were upped from 128 to 256 to avoid potential problems/         with the increased command buffer size.         (                                        4  K      *  Logical name translation in processing the history list buffersizes '         increased to preclude problems.   K      *  CD commands to a target of the form 'DEV:\DIR\' were failing with a L         directory does not exist error.  The trailing '\' is now ignored for"         this form of a CD command.  J      *  The CD help command has been redesigned to access an external helpJ         library.  Use the CDHELP logical name to point to this library, orJ         place the constructed help library into SYS$HELP:.  A new command:=         'CD ??' has been added to ask CD what its version is.                                                                                                         (                                        5  7   3  Command Syntax Discussion And Directory Separators   %   The CD command line is of the form:   7       CD [switches] {directories-or-special-characters}   H   In the directories-or-special-characters, the symbols '.', and '\' areK   fully supported directory separators.  A directory separator under VMS is J   usually the '.', of course.  Also, with the advent of a lot of webserverJ   software and an increasing need for many VMS users to work under UN*X orK   vice-versa, use of the '/' as a separator became a necessity.  It came at J   a cost though.  Since the [switches] section uses the '/' as a qualifierL   introducer per standard DCL usage, there had to be a way to determine thatG   the switches were over and the directories-or-special- characters had L   begun.  This was done by allowing exactly one grouping of switches.  AfterG   an intervening space, the '/' becomes a directory separator and not a    qualifier introducer anymore.   2   There are two significant ramifications of this:  I     1.  If you define:  CD:==$CD/INH, then you cannot subsequently use CD 6         /PAR/AA because that enters the CD program as:                   CD /INH /PAR/AAL         Since this construct was more-or-less broken anyway in most previousG         releases of CD (including 5.1), it was considered an acceptable K         sacrifice.  If you want to use two different switch configurations, @         using two different symbols is the recommended approach.  D     2.  If you intend to use the '/' as a separator, then it becomesL         mandatory to have at least 1 switch.  Therefore, the /NOP switch wasL         added with 5.2 in case you do not normally use any switches with CD,6         but you do wish to use the '/' as a separator.                                                              (                                        6     4  How It Works   L   This section describes the operation of the CD utility.  If you use a fairI   number of CD's features, you will encounter conflicts that this section F   explains how to resolve, and it should be helpful in general to read/   through CD's general principles of operation.          4.1  Search Order   L   CD examines your command string for switches first, and then for any "pathE   segments".  A path segment is a CD directory specification, or a CD K   "special command".  The reason for more than one segment is that when the E   2nd segment and following specify directories relative to the first L   segment, a fairly complex directory change can be built systematically and&   easily from 2 or 3 CD path segments.  L   Each path segment is processed against a list of criteria, and when such aI   criteria is met, substitution occurs, the directory change is attempted E   directly with the result of the substitution.  The criteria are [in 	   order]:   G      *  Special commands & symbols, including the help request '?', the H         print-previous-dir request '#', and the show-current-dir requestF         [nothing].  These are handled directly & no more processing isJ         performed on the CD command string.  Also in this category are theK         symbols:  '$', '$*', '$<n>', @<username> (or ~<username>), '\', and J         '.'.  The '$...' symbols deal with previously visited directories,K         the '@' or '~' goes to user's login directories, the '\' is a "root C         level" i.e.  [000000], and the '.' is the current directory *         [considered to be fairly useless].  K      *  The current path segment will be converted as a personal identifier G         if the appropriate CDI_xxx symbol exists & provided ':' and '.' 2         symbols do not appear in the path segment.  K      *  The current path segment will next be translated as a logical name, I         and if there is a corresponding logical, its translation is used.sK         Use a leading '.' on directory names that conflict with logicals to 8         force usage as a directory instead of a logical.  ?      *  The current path segment is next checked for a 'device'SJ         specification, and if one is found, it is tested to see if it is aE         personal device symbol by looking for the appropriate CDF_xxxCK         symbol.  There is no easy way to resolve conflicts between personal.H         device names and real device names.  The only solution is not toI         overmap real device names with personal device symbols.  Personal.6         device formatting is discussed a little later.  L            o  The personal device formatting string is checked for syntacticK               construction indicating an API activation request, and if themG               correct syntax is seen, an API load is requested, and all L               corresponding text is dumped off to the API to translate as it               sees fit.6    K      *  The current path segment is then translated to convert all '..' and >         '\' notations to VMS-useable directory specifications.        (                                        7 .I      *  Any path segment that made it this far gets used directly.  If no.J         relational path specifiers have been used, such as a leading \, orH         [] notations, or a leading '.', then a leading '.' is assumed to3         default the path segment xyzzy to [.xyzzy].*  K      *  If the /PARTIAL switch was specified, then the last text portion of.L         the segment [before $FAO if appropriate] gets '*' characters stuffedJ         into it before use...  for example:  'cd/PARTIAL xyzzy' equates toH         'cd x*y*z*z*y*' - used in combination with the /AA (auto-answer)K         switch, this provides a powerful shortcutting approach to directory H         specification.  Hint:  If you do not generally want /AA/PARTIAL,J         then define two symbols.  For example:  cd & sd...  cd is straight(         cd, sd includes the /AA/PARTIAL.                                                                                                    (                                        8 s%   4.2  Explanation Of Special Symbolsx    K      o  The '$' symbol refers to the last directory exited by a CD command.tL         The corresponding logical name is CD$0.  $0 is equivalent to $.  TheG         CD$0 logical name is redefined for each & every directory exit.eL         (Note that as of version 5.5, there are some exceptions to this with<         respect to the /PUSH and /POP switches - see below).  J      o  The '#' symbol prints the translation of CD$0 ...  i.e.  it prints3         the location that a CD $ would move you to.a  F      o  The '#n' sequence prints the translation of CD$n ...  i.e.  it;         prints the location that a CD $n would move you to.e  I      o  The '*' indicates a wildcard wherever it is seen.  It is valid in K         most places it would be valid for a VMS DIRECTORY command.  CD willDL         process wildcards by presenting each matching directory and allowingK         you to respond Y/N/Q for yes, no, or quit.  ^Z is accepted as QUIT.eL         The /AA (auto-answer) switch causes CD to assume a 'Y' answer to any         match.  @      o  Use '#*' to request a list of the last 10 known previous         directories.  E      o  Use '$*' to request & select from a list of the last 10 known.6         previous directories.  ^Z is accepted as QUIT.  K      o  From the list obtained by '#*', you can CD to a particular numberedhE         directory [say 4], using the symbol '$4'.  Note also that ther;         logical name CD$4 points to that directory as well.r  J         PLEASE NOTE:  the directory list maintained by CD is sorted into aA         most-recently-exited order.  This makes frequently-exitedaJ         directories tend to stay in the list, but at the price of the listG         not necessarily being in a predictable order at any given time.sG         (Also as of version 5.5, there are some exceptions to this withb<         respect to the /PUSH and /POP switches - see below).                                                  (                                        9  %   4.3  Explanation Of Personal Idents   K   A personal ident is a string of characters that is usually a mnemonic foreI   some frequent directory destination.  The symbol CDI_R MUST exist for aaI   personal ident R to work.  The translation of that symbol should be the H   desired target directory...  e.g.  $ CDI_R:==SYS$LOGIN:  If you have aH   subdirectory [.R], use the notation CD .R to bypass the personal ident   translation.      &   4.4  Explanation Of Personal Devices  L   If you are familiar with the F$FAO lexical, or the SYS$FAO system service,L   please skip to the next paragraph.  Otherwise, type the following commands   at the DCL prompt:=       $ write sys$output f$fao("1: !3(AS)","TOP",".D1",".D2")RG       $ write sys$output f$fao("2: !AS!+!AS!2(-)!AS","TOP",".D1",".D2")eG   This demonstrates the use of the FORMATTED ASCII OUTPUT (FAO) lexicaldH   function in DCL.  In example 1, 3 ASCII STRINGS [!3(AS)] are processedE   from the argument list in consecutive order.  to produce the outputyI   string.  In example 2, the same three strings are processed, but the !+iJ   and !2(-) directives are used to force FAO to use the argument list in aK   different order from what was supplied.  The first argument is called thenJ   control string since it controls the processing of subsequent arguments.  G   Personal devices are syntactically identical to a VMS device and filepL   specification of the form MYDEV$:TEST.D1.D2.  CD looks for a symbol of theJ   form CDF_MYDEV$ which contains a $FAO control string as its translation.L   The "filename" portion of the specification is chopped into "TEST", ".D1",G   ".D2", and appended with 13 ""'s to provide a total of 16 formattablew   segments.h                                                              )                                        10i o-   4.5  Explanation Of The Personal Device APIr  <   A personal device symbol having a translation of the form:$       "@[[image][+symbol]=]fao-text"'   invokes the API activation mechanism.a  K   The default image name is CD_USER, and default symbol is CD_PROCESS.  TheiI   image is activated using LIB$FIND_IMAGE_SYMBOL, and the user entrypoint    symbol is called using: H       sts=call_user(fao-text.r.dsc,devnam.r.dsc,buffer.w.dsc,retlen.w.w)   where:       fao-text.r.dsc#         type:           text stringa!         access:         read only "         mechanism:      descriptorJ         FAO-formatted result from combining the user data portion from theE         API-defined symbol (called 'fao-text' in the prototype listed I         above) with whatever the user specified after the personal device?F         according to the above-described processing for FAO arguments.         devnam.r.dsc#         type:           text stringe!         access:         read only "         mechanism:      descriptor8         Personal device name used to activate the image.         buffer.w.dsc#         type:           text string "         access:         read/write"         mechanism:      descriptorI         Resulting target directory specification from processing the fao-u)         result-text and devnam arguments.          retlen.w.w$         type:           word integer         access:         write !         mechanism:      reference 0         Resulting length of the returned buffer.  J   Return status is a VMS condition value.  If an error is returned, the CD<   parse will fail and issue the corresponding error message.  J   A sample CD_USER program is distributed with the CD source distribution.G   This sample program duplicates the '~/@' feature of CD itself, but it 2   should serve as an example of how the API works.                                    )                                        11   *   5  Discussion Of Features For UN*X Users  L   CD for VMS maintains a directory history list using a completely differentI   paradigm from the UN*X c-shell cd/pushd/popd model.  CD's goal with its    directory history list is to:d  8     1.  Automatically maintain the history list for you.  F     2.  Maintain the most-frequently-exited directories in the list byB         sorting the list contents during insertion of a 'previous'         directory.  L   These goals are what lead to the basically 'unpredictable' ordering of the   directory list.k  H   Because 1) these differences are enough to be annoying to those of youH   used to the pushd/popd directory model, and 2) the amount of effort toF   implement these features was relatively minor, CD now can be told to   operate in a push/pop manner.a  8   Use the following definitions for CD, PUSHD, and POPD:3       CD :== $DEV:[DIR]CD/INH/CSH/HOME          (1) 3       PUSHD :== $DEV:[DIR]CD/INH/CSH/PUSH       (2) 3       POPD :== $DEV:[DIR]CD/INH/CSH/POP         (3)U  I   Definition 1 is your primary CD command.  It is defined to /INHibit the F   output of message facility, severity, and ident components of any CDL   messages, and to treat the CD command with no parameters as a 'cd $(HOME)'K   command per UN*X.  The '/CSH' instructs CD to *NOT* maintain an automatedH   history list.t  I   Definition 2 is a PUSH directory command.  Usage is 'PUSH target' wherePG   the *current* directory is pushed, and the jump is made to the target H   directory.  The combination of '/CSH/PUSH' instructs CD to behave this   way.  K   Definition 3 is a POP directory command.  Usage is 'POP [$[n]]' where the H   optional parameter specifies which CD history list to jump to _AND_ toK   remove from the history list.  The combination of '/CSH/POP' instructs CDn   to behave this way.   C   NOTE:  These features were added to provice _basically_ _similar_ C   functionality for our UN*X users out there.  The hope is that thetK   similarity level is high enough that the features are useful, however, ittJ   was _NOT_ the design goal of these additions to precisely duplicate UN*X"   pushd and popd behavior.  Sorry.                                  )                                        12   
   6  Notes  0   6.1  Regarding @username/~username And READALL  J   Since this functionality requires read access to the SYSUAF.  Either youH   must be sufficiently privileged to access the SYSUAF yourself, or yourH   system manager must have installed CD with READALL privilege.  (SystemI   managers:  READALL privilege is the ONLY privilege that CD knows how tovH   enable and disable.  You should NOT install version 5.5 with any other   privileges.)  J   The ~ functionality now much more closely resembles UN*X.  The following   are valid:>        ~, ~/    - Your current login directory from the SYSUAFA        ~/dir    - A subdirectory from your SYSUAF login directory H        ~user/www        - www subdirectory from <user>'s login directory  E   CD differentiates between the SYSUAF login directory from SYS$LOGINiG   because a user is free to redefine SYS$LOGIN.  The ~ and @ (which areoI   identical in function) use the SYSUAF and ignore the current SYS$LOGIN.       4   6.2  On Using '/COM':  Automatic Command Execution  H   If you use the '/COM' switch, then upon successful transition to a new;   directory, CD will automatically execute the DCL command:n-       $ IF F$SEARCH("CD.COM").NES."" THEN @CDcI   If you need, this command can be changed by editing CD.MAR and changingdI   the contents of the line at the label 'cmdstr:' and rebuilding CD.  ForoK   those of you that are not assembler programmers, please note that the '/'iK   symbols enclosing the command definition cannot be used inside the actualaF   command...  if you need to use a '/' in your command, the change theI   existing '/' characters to something else (e.g.  '~' or '`') before you '   insert your command containing a '/'.   I   Starting with V5.2 is support for a '/COM=filename' construct.  CD will K   simply perform an @filename upon a successful directory transition.  This F   modification eliminates most needs to edit the default command to be   executed.       )   6.3  For System Managers, INSTALLing CDe  I   This version of CD (5.2 forward) has been designed to be installed with ?   READALL if you so choose.  The purpose of READALL is to allow L   non-privileged users to use the ~username (or @username) functions.  It isG   disabled except when retrieving the home directory of a user from therD   system UAF.  Note also that there are some small performance gainsJ   achieved by installing CD as /open /header/share even if you do not wish   to give it READALL.h         6.4  The CD Help Library  K   This version of CD removes the CD-internal help accessed using the 'CD ?'lK   command, and replaces it with a CD help library called CDHELP.  This helpeF   library MUST be accessible in SYS$HELP:CDHELP.HLB, or a logical nameH   CDHELP MUST be defined to point to the CDHELP.HLB file wherever it is.I   Failure to perform these steps will result in the CD help command being   )                                        13t e   inoperative.  K   The helpfile can be created directly into SYS$HELP by using this command:a4     $ library/create/help sys$help:cdhelp cdhelp.hlp6   or it can be constructed in a local directory using:/     $ library/create/help cdhelp.hlb cdhelp.hlpuK   In the latter case, the logical name CDHELP _MUST_ be defined to point tot'   wherever the CDHELP.HLB was built to.I      
   7  Feedbacku  D   In case you experience bugs or strange behavior of the CD program:  I      -  Please report it via internet mail to cdutil@tditx.com or via WWWr8         forms at http://www.tditx.com/~cdutil/index.html  0      -  Please include the following information  /            *  A detailed description of the buge  E            *  What conditions (switches, parameters) cause[d] the bugc  0            *  What the exact CD command used was  4            *  Whether or not the bug is reproducible  G            *  The following for both the starting and target directory:   7                  o  The exact pathname of the directoryC  8                  o  Whether or not the directory existed  G                  o  Whether or not you had read access to the directory     8            *  Your final default directory after the bug    G      -  Please feel free to use internet mail or the web for submittingrG         suggestions as to how this program could be made better or morel         useful.v  
   96.06.05                                    )                                        14n