                +                                    CD V6.0A           0                               User Documentation    -                                 March 9, 2000                                   3                            TECSys Development, Inc. 6                        701 E. Plano Parkway, Suite 5000                               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, Limitations, And "features"  . . . . . 4F                   Version 6.0A New Features  . . . . . . . . . . . . 4F                   Version 6.0 New Features . . . . . . . . . . . . . 4F                   CD V6.0A, Recent Bugfixes And Changes  . . . . . . 6F                   CD V6.0, Recent Bugfixes And Changes . . . . . . . 6F                 Command Syntax Discussion And Directory Separators . 7F                 How It Works . . . . . . . . . . . . . . . . . . . . 8F                   Search Order . . . . . . . . . . . . . . . . . . . 8F                   Explanation Of Special Symbols . . . . . . . . .  10F                   Explanation Of Personal Idents . . . . . . . . .  11F                   Explanation Of Personal Devices  . . . . . . . .  11F                   Explanation Of The Personal Device API . . . . .  12F                 Discussion Of Features For UN*X Users  . . . . . .  13F                 Notes  . . . . . . . . . . . . . . . . . . . . . .  14F                   Regarding @username/~username And READALL  . . .  14F                   On Using '/COM': Automatic Command Execution . .  14F                   For System Managers, INSTALLing CD . . . . . . .  14F                   The CD Help Library  . . . . . . . . . . . . . .  14F                 Feedback . . . . . . . . . . . . . . . . . . . . .  15                                                                    (                                        i     1  Preliminaries  J   This is the readme file for the OpenVMS CD utility, now at Version 6.0A.  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: @         $ @BLDCD                !Build all objects & link imagesL   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.  F   If you wish only to relink, you must have object modules in the sameI   directory as the LNKCD command procedure, and the options file.  If you K   have not previously built or copied the CD object files, you will need to F   do that prior to attempting a relink.  That can be done by using the   following:K         $ COPY [.V62]*.*OBJ []  !Gets a copy of the supplied object modules 3         $ @LNKCD                !Relinks the images   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.   K   This CD utililty, now at version 6.0A, 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 6.0A 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 L                    (With ODS-5, this function now DIDs and unDIDs directory)     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 =       /TRACE              - Trace contents of $SETDDIR buffer >       /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:)     EFS/ODS-5 extensions: C     CD .                  - DID/unDID current directory if possible >     CD ...                - Change dir UP one level using DIDs    (                                        3  .   2.3  Known Bugs, Limitations, And "features"          *  CD does NOT support:  H            o  CD's to non-existent directories - Sorry...  it's designed               that way!     G      *  Discrepancies sometimes exist with the output of CD showing the J         default directory and the default output of the DIRECTORY command.F         DIRECTORY will by default DID its output before CD will.  ThisJ         behavior can be eliminated using the /STYLE=EXPANDED switch on the         directory command.  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  Version 6.0A New Features    H      *  Prior to 6.0A, if a CD command resulted in a 'NOCHANGE' (meaningA         that the directory changed to was the same as the current D         directory), the associated CD command procedure would not beE         executed.  V6.0A now executes CD.COM (or command) under these          conditions -- I.e.5            CD ~  --> exec's the /COMMAND, followed by .            CD ~  --> exec's the /COMMAND again  I      *  The CD-?-UNEXPERR message was confusing...  it is now suppressed, H         and instead, the associated error message is now issued directly$         without the UNEXPERR prefix.  :      *  A DEBUG build target was added to the DESCRIP.MMS.           2.5  Version 6.0 New Features     E      *  CD version 6 supports the new EFS/ODS-5 paradigms of extended E         filenames, and case preservation.  To avail yourself of these K         features, it is a prerequisite to build CD under VMS V7.2 or later. I         Prior versions of VMS do not support EFS/ODS-5.  Refer to the EFS E         documentation for the DCL syntax and commands used to support G         extended filenames.  Also note that as of this writing, the VAX K         support for EFS/ODS-5 is not sufficient to support ODS-5 filesystem :         navigation.  CD on VAX does not support EFS/ODS-5.  (                                        4  J         Two new commands were added to assist in using ODS-5 capabilities:  H            o  'CD .' is used to DID/unDID the current directory.  If theC               current DIDded directory specification can fit in 255 J               characters (a limit imposed by the $SETDDIR system service),J               then this function can turn a DIDded directory specification;               back into it's normal textual representation.   I            o  'CD ...' is used to forcibly go upwards one directory level G               using directory backlink FIDs.  This is convenient if the I               current directory is DIDded because the semantic '[-]' does =               not work from a DIDded directory specification.                                                                                                       (                                        5  ,   2.6  CD V6.0A, Recent Bugfixes And Changes    G      *  Fixed use of READALL privilege - it was erroneously not enabled F         during $parse operations in CD.  This resulted in a failure toK         change directory on some occasions.  IIRC, the error was a 'no such          directory'.   >      *  Repaired a hang in ods-5 specific /PARtial processing.  H      *  Removed a hardlimit of 79 characters that was wrong, however, no/         known bug was ocurring because of this.   B      *  The command 'CD X11' used to accvio - the problem was withC         overlapping logical name translation buffers.  Buffers were *         de-overlapped; CD now happy again.  L      *  A command of the form 'CD ~USER/LOGICAL' used to change directory toI         the translation of LOGICAL -- This is now forced to be the subdir 5         'LOGICAL' off from ~user as one would expect.   I      *  When CD exited a non-existent directory, it was issuing a strange K         appearing error message.  This has been fixed, but it remains to be L         seen if there are unwanted side-effects from this under some unusualJ         circumstances.  This is also NOT the usual state of affairs unlessI         one either deletes the current directory or mixes SET DEF and CD.         +   2.7  CD V6.0, Recent Bugfixes And Changes     3      *  EFS/ODS5 filesystem support has been added.   @      *  A number of searchlisted logicals problems were resolved  I      *  Failures returned from CDPARSE were not being signalled properly. H         This resulted in bogus error messages being issued in rare casesG         (prior to ods-5 support they were rare...  :) Additionally, the I         /INHIBIT and /NOINHIBIT settings had to be overridden for errors.   E      *  Commands of the form 'cd @username.something' were previously F         dropping the intervening '.' resulting in unexpected behavior.  L      *  Added a /TRACE switch to display the CD target directory buffer justG         prior to trying to use SYS$SETDDIR to set the target directory.                                 (                                        6  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 acceptableAK         sacrifice.  If you want to use two different switch configurations,e@         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.                                                              (                                        7 .   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 sectionlF   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 CDAK   "special command".  The reason for more than one segment is that when theSE   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 attemptedpE   directly with the result of the substitution.  The criteria are [in 	   order]:p  G      *  Special commands & symbols, including the help request '?', theeH         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>), '\', anduJ         '.'.  The '$...' symbols deal with previously visited directories,K         the '@' or '~' goes to user's login directories, the '\' is a "rootsD         level" i.e.  [000000], and the '.' is the current directory.  L         For ODS-5 systems, included in these special symbols are an extendedJ         functionality for the '.' character, and the '...' special symbol.I         The '.' character will DID/unDID a directory if possible, and thetJ         '...' symbol will forcibly move upwards in the directory structure7         using the backlink recorded in the file header.e  K      *  The current path segment will be converted as a personal identifierkG         if the appropriate CDI_xxx symbol exists & provided ':' and '.'B2         symbols do not appear in the path segment.  K      *  The current path segment will next be translated as a logical name,iI         and if there is a corresponding logical, its translation is used. K         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'PJ         specification, and if one is found, it is tested to see if it is aE         personal device symbol by looking for the appropriate CDF_xxxrK         symbol.  There is no easy way to resolve conflicts between personaleH         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 thesG               correct syntax is seen, an API load is requested, and alldL               corresponding text is dumped off to the API to translate as it               sees fit.r      (                                        8 eK      *  The current path segment is then translated to convert all '..' and1>         '\' notations to VMS-useable directory specifications.  I      *  Any path segment that made it this far gets used directly.  If noTJ         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].s  K      *  If the /PARTIAL switch was specified, then the last text portion ofoL         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 directoryAH         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.                                                                                              (                                        9 c%   4.2  Explanation Of Special Symbolse    K      o  The '$' symbol refers to the last directory exited by a CD command.aL         The corresponding logical name is CD$0.  $0 is equivalent to $.  TheG         CD$0 logical name is redefined for each & every directory exit.sL         (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.s  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.t  I      o  The '*' indicates a wildcard wherever it is seen.  It is valid innK         most places it would be valid for a VMS DIRECTORY command.  CD will L         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.yL         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 knowni6         previous directories.  ^Z is accepted as QUIT.  K      o  From the list obtained by '#*', you can CD to a particular numbered.E         directory [say 4], using the symbol '$4'.  Note also that thet;         logical name CD$4 points to that directory as well.   J         PLEASE NOTE:  the directory list maintained by CD is sorted into aA         most-recently-exited order.  This makes frequently-exited(J         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. G         (Also as of version 5.5, there are some exceptions to this with <         respect to the /PUSH and /POP switches - see below).                                                  )                                        10  I%   4.3  Explanation Of Personal Idents]  K   A personal ident is a string of characters that is usually a mnemonic for I   some frequent directory destination.  The symbol CDI_R MUST exist for aeI   personal ident R to work.  The translation of that symbol should be theuH   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") G   This demonstrates the use of the FORMATTED ASCII OUTPUT (FAO) lexical H   function in DCL.  In example 1, 3 ASCII STRINGS [!3(AS)] are processedE   from the argument list in consecutive order.  to produce the outputFI   string.  In example 2, the same three strings are processed, but the !+ J   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 the J   control string since it controls the processing of subsequent arguments.  G   Personal devices are syntactically identical to a VMS device and filerL   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 formattable    segments.r                                                              )                                        11  o-   4.5  Explanation Of The Personal Device API   <   A personal device symbol having a translation of the form:$       "@[[image][+symbol]=]fao-text"'   invokes the API activation mechanism.t  K   The default image name is CD_USER, and default symbol is CD_PROCESS.  TheeI   image is activated using LIB$FIND_IMAGE_SYMBOL, and the user entrypointt   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 stringr!         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 listedrI         above) with whatever the user specified after the personal devicenF         according to the above-described processing for FAO arguments.         devnam.r.dsc#         type:           text stringr!         access:         read onlyE"         mechanism:      descriptor8         Personal device name used to activate the image.         buffer.w.dsc#         type:           text stringc"         access:         read/write"         mechanism:      descriptorI         Resulting target directory specification from processing the fao-t)         result-text and devnam arguments.          retlen.w.w$         type:           word integer         access:         writei!         mechanism:      referencei0         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 its2   should serve as an example of how the API works.                                    )                                        12a h*   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:b  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.r  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.   8   Use the following definitions for CD, PUSHD, and POPD:3       CD :== $DEV:[DIR]CD/INH/CSH/HOME          (1)d3       PUSHD :== $DEV:[DIR]CD/INH/CSH/PUSH       (2)s3       POPD :== $DEV:[DIR]CD/INH/CSH/POP         (3)   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 automatedu   history list.   I   Definition 2 is a PUSH directory command.  Usage is 'PUSH target' where G   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 CD    to behave this way.a  C   NOTE:  These features were added to provice _basically_ _similar_cC   functionality for our UN*X users out there.  The hope is that the K   similarity level is high enough that the features are useful, however, it J   was _NOT_ the design goal of these additions to precisely duplicate UN*X"   pushd and popd behavior.  Sorry.                                  )                                        13i e
   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 tohH   enable and disable.  You should NOT install version 6.0 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 directoryrH        ~user/www        - www subdirectory from <user>'s login directory  E   CD differentiates between the SYSUAF login directory from SYS$LOGINsG   because a user is free to redefine SYS$LOGIN.  The ~ and @ (which aredI   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:l-       $ IF F$SEARCH("CD.COM").NES."" THEN @CDuI   If you need, this command can be changed by editing CD.MAR and changingtI   the contents of the line at the label 'cmdstr:' and rebuilding CD.  ForeK   those of you that are not assembler programmers, please note that the '/' K   symbols enclosing the command definition cannot be used inside the actualIF   command...  if you need to use a '/' in your command, the change theI   existing '/' characters to something else (e.g.  '~' or '`') before your'   insert your command containing a '/'.o  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.C      )   6.3  For System Managers, INSTALLing CD   J   CD, as of version 5.2, has been designed to be installed with READALL ifL   you so choose.  The purpose of READALL is to allow non-privileged users toI   use the ~username (or @username) functions.  It is disabled except whenyI   retrieving the home directory of a user from the system UAF.  Note alsoeJ   that there are some small performance gains achieved by installing CD asA   /open /header/share even if you do not wish to give it READALL.o         6.4  The CD Help Library  K   This version of CD removes the CD-internal help accessed using the 'CD ?' K   command, and replaces it with a CD help library called CDHELP.  This help F   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.   inoperative.  )                                        14c  K   The helpfile can be created directly into SYS$HELP by using this command:o4     $ 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 tos'   wherever the CDHELP.HLB was built to.f      
   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 WWW 8         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 buga  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:D  7                  o  The exact pathname of the directoryu  8                  o  Whether or not the directory existed  G                  o  Whether or not you had read access to the directoryn    8            *  Your final default directory after the bug    G      -  Please feel free to use internet mail or the web for submitting G         suggestions as to how this program could be made better or more          useful..  
   96.06.05                                        )                                        15e