1 Commands
 This  section  describes  the  use  of  all  TOOL  commands  and
 functions. Generally, a TOOL command is issued by simply  typing
 some special character. In the following, a caret sign (^)  next
 to an uppercase character stands for the control key  associated
 to that character. So, for example, ^W is obtained by  typing  a
 "W" while holding down the CTRL key. The same combination may be
 represented by CTRL/W. Some  keypad  keys  are  also  used.  The
 extended keyboard is partially supported.
2 COMMANDS
 The following is a quick reference to all TOOL commands,  listed
 in alphabetical order. See specific help topics for more details
 on each command.

  A       "About"         Display authorship/version info
  B       "Bottom"        Highlite bottom file (the last)
  C       "Copy"          Copy marked files to destination
  D       "Delete"        Delete all marked files w/confirm
  E       "Edit"          Edit each marked files, one by one
  F       "Find"          Locate file by matching filespec
  H       "Help"          Extended help, same as pressing PF2
  I       "Include"       Inclusion file mask, user entry
  J       "Jump"          Locate file by entry #, same as "#"
  L       "Logging"       Toggle message logging on/off
  M       "Move"          Move marked files to destination
  N       "New dir"       New default directory, user entry
  P       "Print"         Print all marked files, one by one
  Q       "Quit"          Quit TOOL, same as pressing ^Z
  R       "Rename"        Rename only the highlited file
  S       "Select"        Mark all listed files, one-shot
  T       "Top"           Highlite top file (the first)
  U       "Unmark"        Unmark all listed files, one-shot
  X       "Exclude"       Exclusion file mask, user entry
  $       "Spawn"         Create a subproc and attach to it
  .       "Update"        Re-scan directory & update file list
  :       "Parent"        Set default to parent directory
  !       "Escape"        Shell out, same as pressing "$"
  ?       "Help"          Display pop-up command reference
  #       "Number"        Jump to file #, same as pressing "G"
  -       "Back"          Set default to [-], same as ":"
 ^B       "Broadcast"     Broadcast messages to terminals
 ^C       "Break"         Interrupt the on-going operation
 ^D       "Directory"     Create a new (sub)directory
 ^I       "Info"          Display technical file information
 ^P       "Protect"       Set protections for all marked files
 ^R       "Reverse"       Reverse background/foreground colors
 ^T       "Stats"         Display usual ^T process statistics
 ^U       "User"          Invoke a user-defined command
 ^W       "Refresh"       Redraw the screen (possibly trashed)
 ^Z       "Exit"          Exit TOOL, same as pressing "Q"
 PF1      "Xtnd serv"     Extended services (TOOL 2.0 only)
 PF2      "Xtnd help"     VMS-like help on TOOL
 PF3      "Prev page"     Same as PrevScreen (see below)
 PF4      "Next page"     Same as NextScreen (see below)
 Space    "Toggle"        Toggle mark on hilited file & advance
 Enter    "Enter"         Takes an action depending on context
 Return   "Action"        Context-dependent, same as Enter
 Delete   "Blank"         Erase the Messages window
 UP       "File up"       Highlite previous file in list
 DOWN     "File down"     Highlite next file in list
 PREV     "Prev page"     Walk file list backword by 10 files
 NEXT     "Next page"     Walk file list forward by 10 files

 In addition, the following keys are active in the input window:

 ^A       "Insert"        Toggle insert/overstrike modes
 ^E       "Goto EOL"      Move cursor to the end of line
 ^H       "Goto BOL"      Move cursor to beginning of line
 ^J       "Del word"      Delete the previous (left) word
 ^X       "Del BOL"       Delete from cursor to start of line
2 Copying
 To copy one or more files to another directory, simply mark  the
 desired files then press "C". You are asked  for  a  destination
 path which may contain node and device specification. A filename
 is obviously not accepted.  If  you  just  confirm  the  initial
 content of the input window (the current directory),  additional
 version of all marked files will be created. Thus, you can  make
 a "spare" copy of a file by just hitting "C" followed by RETURN.
 Assuming you are in the directory [MYDIR.DATA] and want to  copy
 some files to the subdirectory [.TODAY], you hit "C",  then  "Y"
 to confirm the operation, then (in the  Destination  Path  input
 window) you move back 1 character and insert (literally)  .TODAY
 followed by RETURN...et voila'! To specify  a  different  device
 (disk), quickly move to the  beginning  of  the  input  line  by
 pressing ^H and insert there the disk name  with  the  necessary
 trailing colon, like in DUA0:[HISDIR]. Should you want  to  copy
 files to a remote DECnet node, simply add the node specification
 before the device, with the usual trailing double-colon, like in
 HERVAX::DISK$USER:[SUSAN.LOVE.LETTERS] (DISK$USER is the disk).
2 Deleting
 Deleting several files is easier  with  TOOL.  You  examine  the
 directory contents in the  []-window,  then  mark  all  unwanted
 files with the spacebar (marks are displayed as  asterisks  next
 to filenames), then you press "D". At this time, you  are  asked
 to confirm the *whole* operation, namely, the  deletion  of  all
 those files at once. See the Status-window  while  the  deletion
 is in progress. With TOOL  you  can  OVERRIDE  file  protections
 when deleting files, but this feature is only available when  no
 file is marked, that is, when deleting the  "current"  file.  If
 the file is protected against deletion, TOOL attempts to  modify
 the file's protection bits for the  OWNER  access  class,  after
 your confirmation. For this to work, needless to say,  you  must
 have write access to the file.  However,  even  if  a  directory
 file is unprotected, you will not be able to  delete  it  unless
 it is empty. Example: you have  a  subdirectory  [.STUFF]  whose
 physical counterpart is the  directory  file  STUFF.DIR;1.  Now,
 unless [.STUFF] is empty, you  cannot  delete  STUFF.DIR;1  even
 if its protection has the  D-bit  (for  "Delete")  set  for  the
 owner. What you get, instead, is  the  RMS  error  message  "ACP
 could not mark file for deletion". See also  the  TOOL  help  on
 CTRL/I (at the topic  Commands-Specials-TechInfo)  and  the  VMS
 help on commands DIRECTORY /PROTECTION and SET PROTECTION.
2 Editing
 The editor is invoked by pressing "E". Either the  EDT  (Digital
 Standard Editor) or the TPU (best known as EVE,  Extensible  Vax
 Editor) system routine is DIRECTLY called, without spawning  any
 subprocess. If no  file  is  marked,  the  "current  file"  (the
 highlited one) is edited. If several files  are  marked  in  the
 []-window, the editor will be invoked  REPEATEDLY  for  EACH  of
 them.  Note  that,  when  in  the  editor,  the  CTRL/Y  key  is
 disabled, while CTRL/C, CTRL/T, and  CTRL/W  are  made  to  work
 as expected. When back in TOOL from the editor, the file list is
 not updated, so the new  version  of  a file will be visible the
 next time you press "."  (the  key  for the  "Update"  command).
 Pay attention to the fact that if  you  call  twice  the  editor
 on a certain  file  without  updating  the file  list,  you  may
 end up re-editing  the  initial  version.  For  example,  assume
 you have a file TODAY.DAT;1  and  you  call  the editor. Exiting
 the editor with EX creates  a  TODAY.DAT;2  that is  not  listed
 in the []-window,  at  this  time.  If  now  you  want  to  make
 additional edits to TODAY.DAT;2 you *must* update the  file list
 by  pressing  "."  or  you  would  otherwise  edit   TODAY.DAT;1
 Since the EDT editor is somewhat idiosyncratic in  its  handling
 of exception conditions, in some  *very  unusual*  circumstances
 you might experience an unexpected exit from TOOL.  Should  this
 ever happen, please let me know the exact context of the fact.
2 Marking
 One of the outstanding features of TOOL is the  possibility  for
 the user to "mark" files for the subsequent operations. Commands
 like Copy, Delete, and Move are made to operate only  on  marked
 files. You toggle marks on/off by pressing the  space-bar.  When
 a file is marked, an asterisk  is  displayed  between  size  and
 name.  Note  that  pressing  the  space-bar  also   causes   the
 scrolling bar to advance downward,  unless  you  are  positioned
 over the last file of the list. Thus, to select  a  group  of  n
 contiguously listed files you just have to press the space-bar n
 times.  Two  handy  commands  are  available  to  speed-up  file
 marking. The command "S"  ("Select")  marks  ALL  listed  files,
 while the command "U" ("Unmark") unmarks them  ALL.  Of  course,
 you can exploit the "include" feature of TOOL for the purpose of
 selecting a particular group of files. For example, if  you  are
 going to delete all files  whose  names  contain  the  substring
 DATA, it is best to (1) issue the command  "I"  ("Include")  and
 specify *DATA*.*;*, then (2) select all files with  the  command
 "S" and finally (3) press "D" to delete them. This procedure  is
 safest and faster than marking all files one by one,  especially
 if the group involved is  numerous.  If  no  files  are  marked,
 commands like Copy, Print, Move,  and  so  on,  operate  on  the
 highlighted file only, namely, on the file displayed in  reverse
 video in the []-window.
2 Matching
 Matching  filenames  is  involved  in  the  use  of  the   three 
 commands "I" ("Include") "X" ("Exclude"), and "F" ("Find").  The 
 first is used to  enter  the  file  specification  according  to 
 which TOOL decides  what  files  are  to  be  displayed  in  the 
 []-window.  Since this filespec is processed by the file system,
 it is not taken literally.  If  -  for  example  -  you  specify
 *.*;-1,  this  will  be interpreted as "any files whose  version
 number is one  less  than the latest one". See also the help  on
 the /INCLUDE qualifier. The Exclusion mask (see  also  the  help 
 on  the  /EXCLUDE  qualifier) determines what files, among those
 complying with  the  Inclusion mask, are NOT to be displayed  in
 the []-window. You set this mask using the "X" command. Finally,
 the "F" command lets  you  locate the file having  a  name  that
 matches an  additional  mask.  Assume you are  looking  for  the
 file  whose  name  starts  with  "S"  and contains  the  letters
 "UF",  and  you  have  a  very  long  list  of  files  in   your
 []-window, among which there is a  file  STUFF.DAT. Then,  after
 you  press  "F"  and  enter  (literally)  S*UF*,  the highliting
 bar will move to the file  STUFF.DAT.  Note  that  the filemask
 you enter here is interpreted like in the command "X".
2 Moving
 To move one or more  files  to  another  directory,  simply  mark
 the desired files then press "M". You are asked for a destination
 path  which  may  NOT  contain  node  NOR  device  specification.
 A filename is obviously not accepted. If  you  just  confirm  the
 initial content of the  input  window  (the  current  directory),
 all marked files will be given 1 as version number, and  no  move
 will take place.  Assuming you are in the directory  [MYDIR.DATA]
 and want to move some files to the subdirectory [.TODAY], you hit
 "M",  then  "Y"  to  confirm  the   operation,   then   (in   the
 Destination Path input window) you  move  back  1  character  and
 insert (literally) .TODAY followed  by  RETURN... et  voila'!  In
 moving the "current" file, TOOL can  override  file  protections.
 This may be useful when you wish to move a (sub)directory file to
 another (sub)directory, since *.DIR files are normally  protected
 against deletion. Note that  when  you  move  a  *.DIR  file  you
 actually alter yor directory tree. Assume you have the  following
 directory tree:

             +--[.GAMES]
             |
 [PROGRAMS]--+
             |
             +--[.DATA]

 Now, after you move the  file  DATA.DIR;1  (which  you  find  in
 [PROGRAMS]) to the subdirectory [PROGRAMS.GAMES], your directory
 tree will look like this:

 [PROGRAMS]-----[.GAMES]--------[.DATA]
2 Printing
 You can print files by pressing  "P".  After  your  confirm,  all
 marked files are directly sent  to  the  mighty  Job  Controller.
 No subprocess is spawned  and  files  are  not  opened  by  TOOL.
 Files get enqueued in the system default  print  queue  SYS$PRINT
 (logical name). To use another queue (possibly  associated  to  a
 different printer), you just have  to  define  the  logical  name
 TOOL$PRINT (see related help). Print completion is not  notified.
 The message issued after each file is  "printed"  refers  to  the
 success  of  enqueuing,  not  to  the  success  of   the   print.
 To  print  with  non-default  features  (for  example,   with   a
 different /FORM) you will have to resort to a subprocess.
2 Renaming
 The Rename  feature  of  TOOL  is  somewhat  different  from  the 
 other file commands  in  that  it  always  operate  ONLY  on  the 
 highlighted file, that is, multiple Rename is not  possible  with 
 TOOL.  After confirming the command, you are prompted  to  modify 
 the name of the file. Only  a  filename  is  allowed,  here.  You 
 cannot specify any node/device/directory,  or  the  command  will
 not  be  executed.  In  renaming   the   "current"   file,   TOOL
 can override file protections. This may be useful when  you  wish 
 to rename a (sub)directory file, since *.DIR files  are  normally 
 protected against deletion. No renaming takes place  if  the  new
 filename entered is equal to the old one.
2 Logging
 The command "L" is used  to  toggle  on/off  the  message-logging
 feature of TOOL, that is, its capability of keeping a  record  of
 all messages sent to the lower window.  Initially,  this  feature
 is disabled. Pressing "L" makes TOOL open a new log  file  (named
 TOOL.LOG, unless otherwise defined by the logical name  TOOL$LOG)
 and start writing all messages also to  this  file.  In  the  log
 file, the time each message was issued is  also  displayed  along
 with the message itself. Typical  lines  in  the  log  file  will
 therefore look like the following:

 [14:39:02.95] TOOL> Searching default directory [RESEARCH]
 [14:39:02.99] TOOL> Wait please...
 [14:39:03.98] %RMS-E-NMF, no more files found

 Giving the  L-command  again  when  logging  is  already  enabled
 causes TOOL to close the  log  file  and  clearing  the  internal
 switch previously set. Each  time  message  logging  is  switched
 on, a NEW version of log file is  created.  Note  that  broadcast
 messages (like "New mail on node..." and the  process  statistics
 displayed by CTRL/T) will also get recorded.
2 Browsing
 You can browse through the file list in the  []-window  by  using
 the  up/down  arrow-keys,  PF3  and  PF4.  The  arrows  make  the
 highliting bar move by lines, while PF3/PF4 make the bar move  by
 "pages" (10 lines). If your keyboard  has  the  "previous screen"
 and "next screen" keys, they are treated the same as PF3 and PF4.
 If the directory you're in contains hundreds  of  files  (hugh!),
 using PF3/PF4 may still be slow (and boring).  In  such  a  case,
 you can speed-up operations using the command  "Jump",  activated
 by pressing "J" or "#". You are asked for an entry number,  where
 the highliting bar will quickly be positioned after you  give  an
 ENTER. Entry numbers are those listed in the first column in  the
 []-window,. Of course, if you enter  an  incorrect  number  (i.e.
 negative or greater than the number of listed files),  no  action
 will be performed.
2 Spawning
 The command "$" (alias for "!") is used to  create  a  subprocess
 which is then given control by attaching  it  to  your  terminal.
 At this time, you can give whatever DCL command  you  need.  When
 you are ready to re-enter TOOL, just type LOGOUT;  you  are  then
 given the last chance to  take  a  look  at  the  screen  content
 ("Hit RETURN when ready..."): after  pressing  RETURN  you  swing
 back to the TOOL screen, with the same content it  had  when  you
 left it. Of course, the internal status  of  TOOL  will  also  be
 preserved (i.e., you won't have  to  re-select  files  previously
 selected). Keep in mind that your  subprocess  will  inherit  the
 same environment  of  the  master  (the  process  running  TOOL).
 This means, by an example, that CTRL/T, CTRL/C  and  CTRL/Y  will
 be handled the same as they were before  running  TOOL.  This  is
 because in  the  spawned  subprocess,  all  the  out-of-band  AST
 trapping established in TOOL is temporarily disabled.
2 Specials
 This section describes  the  purpose  of  commands  activated  by
 pressing ^B, ^D, ^I, ^R, ^P, ^T, ^W, and RETURN.
3 Broadcast
 The special command ^B ("Broadcast") let you  send  messages  to
 an interactive terminal. This is particularly  useful  when  you
 receive some broadcast message from another  user  and  wish  to
 reply without leaving  TOOL.  Note  that  when  you  brodcast  a
 message  to  someone  else's  terminal,  the  message  does  not
 interfere with  any  I/O  operation  (e.g.  editing  some  text)
 currently being performed by that user (*). To  send  a  message
 in this fashion you have  to  know  the  identification  of  the
 recipient's  terminal,  usually  a  short  name   like   VTA223:
 (note the trailing colon).  This  ID  is  usually  part  of  any
 terminal-to-terminal broadcast message. After  pressing  CTRL/B,
 you are first solicited to enter the message (initially  set  to
 "Hello, there!"), then to specify  the  recipient  terminal  ID.
 The initial string seen at this time is nothing but  *your  own*
 terminal ID. You can test the  ^B  feature  by  simply  pressing
 CTRL/B and then <RETURN> twice: you  will  get  "Hello,  there!"
 in the Messages window. Actually, the  message  sent  will  take
 the following format:

 <BEL> From terminal XXXXX: - "Hello, there!"

 Where <BEL> means that an ASCII 7 character is prefixed (to ring
 the recipient terminal bell), while XXXXX: is you  own  terminal
 identification.

 IMPORTANT: unless TOOL  is  installed  (with  the  standard  VMS
 utility INSTALL) with the OPER  privilege,  you  will  *not*  be
 able to broadcast messages to  anyone  but  yourself,  which  is
 usually not very useful. (unless you are a neurotic :-)

 -----------------
 (*) Technically speaking, the message is placed in a "mailbox". 
3 <RETURN>
 The RETURN (or ENTER) key is a somewhat special key in that  its
 effect depends on the context. Here's a brief description of its
 functions:

 	1.	When hit on - say - JOHN.DIR, it has the same
 		effect as the DCL command

 			$ SET DEFAULT [.JOHN]

 	2.	When hit on - say - GAME.EXE, it has the same
 		effect as the DCL command

 			$ RUN GAME

 	3.	When hit on - say - INSTALL.COM, it has the same
 		effect as the DCL command

 			$ @ INSTALL

 	4.	When hit on a file of type FILENAME.ABC, where ABC
 		represents any file type not mentioned above, it
 		has the same effect as the DCL command

 			$ some_command FILENAME

 		where "some_command" is the translation of the
 		logical name TOOL$IF_ABC, provided you defined
 		one of this kind. So, for example, if you put in
 		your LOGIN.COM the line


 			$ DEFINE TOOL$IF_LIS "EDT"

 		then hitting ENTER on any *.LIS file in the
 		[]-window, will cause TOOL to invoke the editor
 		on that file through a spawned subprocess.
3 Reverse
 You can  reverse  the  background/foreground  screen  colors  by
 pressing ^R. With  some  terminals,  this  action  improves  the
 readability. However, TOOL does not restore the screen's initial
 setting. Yes, this is another odd feature!
3 TechInfo
 The command ^I (that is, CTRL/I alias TAB) will pop up a  window
 displaying some technical information about the  file  currently
 highlited in the []-window (if any). Presently, eight pieces  of
 information are given:

	1.	The internal file Identifier, or FID. This is
		really made up of three numbers used by the file
		system to physically locate the file on the disk
		volume.

 	2.	The UIC (User Identification Code) of the owner,
 		in the format [group-id,member-id] like in
 		[PHYSICS,HAWKING]. You cannot operate on files
 		owned by other users, unless those files are
 		un-protected (see next item).

 	3.	The file protection settings. The format used to
 		display protection bits is much similar to that
 		used by the VMS command DIR /PROTECTION (see the
 		related help), except that clear bits are visible
 		as asterisks). Example:

 		(RWED,RWE,RE,)			{ DIR /PROT }

 		(RWED,RWE*,R*E*,****)		{ TOOL }

	4.	The file's organization. It may be sequential,
		relative, indexed, or hashed. Most of your files
		are likely to be sequential. Your mail file,
		MAIL.MAI, should be indexed.

	5.	The attribute(s) of that file's records.
		Essentially, this specifies how each record is
		delimited. It may be Fortran-style, print-style,
		or carriage_return/line_feed. Or, it may be none.
		Whether records are allowed to span block
		boundaries is also reported.

	6.	The format of each record in that file. They may
		be of fixed length, variable length, variable
		with fixed control, one of three types of
 		"stream", or even undefined. Most "normal" files
 		are made of fixed length (executables, objects,
 		directories) or variable length (typical of text
 		files) records.

	7.	The date & time that file was created.

	8.	The date & time of its last revision.
3 Security
 The special command ^P lets you  set  the  file  protection  bits
 very quickly. This feature is kind of a "friendly"  interface  to
 the DCL command SET PROTECTION (please refer to the  related  VMS
 help for details). In short, you can enable or disable  the  four
 different types of file access  (read,  write,  execute,  delete)
 for the four different categories of users (system, owner, group,
 world). After pressing CTRL/P,  you  are  asked  for  the  access
 class, then for the protection settings. Here,  you  toggle  each
 bit on/off by pressing "R" for Read, "W" for Write,  and  so  on.
 When ready to perform  the  protection  change  for  the  desired
 files, you press RETURN  and  the  operation  starts.  Since  the
 operation is (almost) always reversible, there's no  confirmation
 box. However, disabling all kinds of access for the  owner  (you)
 is not a recommended action; besides, it is foolish. Needless  to
 say, you will  not  be  able  to  change  any  file's  protection
 settings if you are not the owner.
3 Refresh!
 By pressing ^W you will get the TOOL screen refreshed, that  is,
 repainted according to the internal representation of  it.  This
 may be necessary when a "non-SMG" write operation happen  to  be
 performed on the screen. While this is highly improbable, due to
 TOOL's broadcast message asynchronous trapping, it  might  still
 occur in unusual circumstances. The refresh command is really  a
 "hot-key" in that it is active all  the  time,  no  matter  what
 other operation is going on at the time you  press  CTRL/W.  For
 example,  you  may  refresh  while  entering  an a nswer  in   a
 confirmation box.
3 Statistix
 Normally, pressing ^T at any  time  cause  a  brief  summary  of
 process statistics to be broadcast to your  terminal.  In  TOOL,
 this is still the case. The only difference is  that  the  stats
 line is asynchronously trapped and rerouted to the proper  place
 (the Messages window)  instead  of  being  output  at  an  undue
 position on the screen. The CTRL/T gives  you  eight  pieces  of
 information:

 	1.	The local node name.

 	2.	The name of your process.

 	3.	The current system tyme.

 	4.	The name of the image currently being executed in
 		your process.

 	5.	The cumulated CPU time used by the process.

 	6.	The page fault count.

 	7.	The number of I/O operations (direct+buffered)
 		performed by the process.

 	8.	The physical memory occupied.
3 CreateDir
 You can create new (sub)directories using the  ^D  ("Directory")
 command. After pressing CTRL/D you are prompted to enter a valid
 directory specification. The initial string in the input  window
 is the  current  default  directory.  Assuming  this  latter  is
 [HERE], you just have to move left 1 character  and  type  .DOWN
 followed by RETURN to create the subdirectory [HERE.DOWN]  which
 is then visible in the []-window as a file (DOWN.DIR;1) like any
 other. For this  operation,  you  are  not  allowed  to  specify
 anything  but  a  directory.  Node,  device,  and   (obviously!)
 filename are not allowed. Note that if the  specified  directory
 already exists, no new version is created. Multiple versions  of
 a directory file should  be  avoided  for  the  system  to  work
 properly. If you have a directory with a  version  number  other
 than 1, that is probably *not* really a directory and was surely
 *not*  created  by  the  RMS,  that  is,  by  using  the  normal
 $ CREATE /DIRECTORY.
2 Walking
 This section describes the use of commands used to  walk  around
 directories. Essentially, you may "SET DEFAULT" to  anywhere  in
 the directory tree by just using the ENTER  key  (alias  RETURN)
 and ":" (alias "-").

 If the file currently highlighted by  the  scrolling  bar  is  a
 directory (any *.DIR), then pressing ENTER will put you "inside"
 that directory. So, for example, if the hilighting bar  is  upon
 STUFF.DIR, hitting RETURN (alias for ENTER) will cause  TOOL  to
 set default to [.STUFF]; this, in turn, will force TOOL to  scan
 that  subdirectory  of  yours  for   any   file   matching   the
 Inclusion/Exclusion masks,  eventually  refreshing  the   Status
 window. Any time you hit RETURN on a *.DIR file, you will get  a
 SET DEFAULT, thus walking down your directory tree.

 To make steps backward, you just have to press ":" (dedicated to
 UNIX people) or "-". This has the effect of setting  default  to
 the parent directory, that is, to [-]. After  hitting  ":",  you
 will obviously get a new file list and  an  updated  Status.  If
 needed, setting  default  to  a  directory  not  listed  in  the
 []-window involves the use  of  the  "N"  command  ("New  dir").
 This will pop up an input window where the user  is  allowed  to
 enter a full directory specification with the usual, comfortable
 line-editing  (^X,  ^J,  ^E,  ^H)  and  line-recalling  (up/down
 arrows). If the directory you specify does  not  exist,  nothing
 special happens, but TOOL won't obviously find any files, so you
 will have to re-enter  a  new  default  directory  by  the  same
 command ("N").

 TOOL will always try to  translate  a  directory  specification,
 so you don't have to remember the possibly long  equivalence  of
 "places" like SYS$LIBRARY  or  SYS$LOGIN.  Furthermore,  if  you
 prefix your directory specifier with  a  device  name  (like  in
 DUA0:[USERS.SCHULTZ]), the proper steps are taken  to  make  the
 whole thing work --  the  logical  name  SYS$DISK  is  redefined
 accordingly.

 Presently,  network  operations  are  only  partially  supported
 (you may copy files to a remote DECnet node). In  addition,  you
 cannot (obviously) set default to a concealed directory. Getting
 the error message "Error in directory name" after  pressing  "-"
 does not necessarily imply that the parent  [-]  directory  does
 not exist, but, possibly, that [] is seen by your process  as  a
 "root" directory. The same directory might be accessible through
 another name. Ask you System Manager!
1 Example
 The following is a sample  set  of  definitions  to  be  put in
 your LOGIN.COM, namely, the  DCL  script  first  executed  when
 loggin in to the system.

	$! Create the "foreign DCL command" TOOL.
	$! This way, you just have to type TOOL to
	$! run it. Otherwise, you'll have to type
	$! RUN TOOL thereby losing the possibility
	$! of appending qualifiers like /INCLUDE to
	$! the command line. Here, TOOL.EXE is
	$! assumed to be located in your root.
	$! If this is not the case, replace SYS$LOGIN
	$! with the proper path.
	$!
	$ TOOL == "$ SYS$LOGIN:TOOL.EXE"
 	$!
 	$! Define the location of the help
 	$! library database (press "H" or PF2)
 	$!
 	$ DEFINE TOOL$HELP    SYS$LOGIN:TOOL.HLB
	$!
	$! Define your preferred editor to be used
	$! from inside TOOL. Either "EDT" or "TPU"
	$! is required, or no editor will work.
	$!
	$ DEFINE TOOL$EDIT    EDT	! Mandatory
	$!
	$! Define the command TOOL passes to DCL
	$! when CTRL/U is pressed. Avoid dollars.
	$!
	$ DEFINE TOOL$USER    SWING
	$!
	$! Define the full pathname of the log file,
	$! where all messages will be written after
	$! you enable logging with the "L" command.
	$! Since no device/directory is specified,
	$! the file will go in the current directory.
	$!
	$ DEFINE TOOL$LOG     TOOL_LOG.LIS
	$!
	$! Define the command invoked by TOOL
	$! when the RETURN key is pressed and the
	$! highliting bar is on a *.DOC file.
	$!
	$ DEFINE TOOL$IF_DOC  "TYPE/PAGE"
1 Generals
 TOOL is a VAX/VMS utility for managing files.  Specifically,  it
 can be used to  copy,  move,  rename,  delete,  edit,  or  print
 several previously selected files. To invoke TOOL,  simply  type
 TOOL at the DCL prompt. The terminal  screen  will  be  splitted
 into three windows respectively called []-window, Status window,
 and Messages window. The first is made to display a list of  all
 available files in your default directory, each of which can  be
 marked  for  subsequent  operations  through   a   reverse-video
 highlighting  bar.  The  second  window  gives   you   real-time
 information about the file list and the  progress  done  by  the 
 ongoing operation. The third  window  is  chiefly  intended  for
 displaying any kind of message generated by  the  System  or  by
 TOOL.

 TOOL is a keystroke-driven utility, that is, you don't  need  to
 type in lengthy  english-like  commands  to  get  its  services.
 Simply, you just hit some specific key and  TOOL  will  promptly
 execute the related function.  So,  for example,  you  just  hit
 "C" when you are ready to  copy  a  group of  files  to  another
 directory.

 Happy filing!
1 Invoking
 You can run TOOL by giving the command $ RUN TOOL. However,  the 
 preferred method involves the definition  of  the  "foreign  DCL 
 command" TOOL. In short, you create a symbol known to  DCL  that 
 is interpreted like a command. This way, you can add  parameters 
 and/or qualifiers  to  the  command  line.  A  parameter  is  an
 argument to a command, while a qualifier  usually  specifies  an
 option. First, you should put in your  LOGIN.COM  the  following
 line,

 $ TOOL :== $your_disk:[your_directory]TOOL.EXE

 Then, after you re-run your LOGIN.COM, you simply type  TOOL  at 
 the DCL prompt to invoke the program. Furthermore, you  can  add 
 one or more of the 5 TOOL qualifiers. For example, you can  type

 $ TOOL /STAT /SILENT /EXCLUDE=*.DIR*

 This command line says TOOL

 o  "Don't display any *.DIR files"

 o  "Use a fast directory scan"

 o  "Display accounting info on exit"
2 Parameters
 The command TOOL has no parameters at all. May be in the future.
2 Qualifiers
/SILENT
 /SILENT

 When the []-window is being updated, that is, when the directory 
 is  being  searched  (command  "."),  a  small  window,  labeled 
 "Reading Directory Information", is created to display the  name 
 of each file found. Adding the qualifier /SILENT to the  command 
 line causes TOOL not to create such window, thus speeding up the 
 directory scan.

/BRIEF
 /BRIEF

 Normally, all system messages sent to the  Messages  window  are 
 displayed in full. Facility, severity, identification  and  text 
 are all output. You would get the same if, after giving the  DCL 
 command $ SET MESSAGE /FAC /SEV /IDENT /TEXT, you should try  to 
 delete a non-existing file. In this case, DCL would reply:

 %RMS-E-FNF, file not found

 If, instead, you $ SET MESSAGE /NOFAC /NOSEV /NOIDENT /TEXT, you 
 would get the following shortened message:

 File not found

 This is exactly what the qualifier /BRIEF is  for.  Adding  this 
 qualifier to the command line causes all system messages sent to 
 the Messages window to be displayed in  the  brief  form,  which 
 perhaps will look neater to most users.

/STAT
 /STAT

 This qualifier controls whether a brief  summary  of  accounting
 information for the TOOL session  is  displayed,  including  the
 following items:

 o  Elapsed real time

 o  Elapsed CPU time

 o  Buffered I/O count

 o  Direct I/O count

 o  Number of page faults

 The above statistics are displayed upon exit from TOOL.

/INTRO
 /[NO]INTRO

 Before opening its three windows, TOOL outputs a sign-on message
 including authorship/version information and a disclaimer.  This
 message lasts 10 seconds or until you press any key.  Specifying
 /NOINTRO on the command line makes  TOOL  not  to  display  this
 information. However, /INTRO is taken by default.

/CONFIRM
 /[NO]CONFIRM

 Before actually performing any file operation, TOOL asks for the 
 user's confirmation. A  little  window  is  displayed  with  the 
 question "Are you sure...?" and the user  must  press  "Y"  (for 
 "Yes") or "N" (for  "No")  to  continue.  This  feature,  though 
 almost always desirable, can be disabled  by  adding  /NOCONFIRM 
 to the command line. However, it is *strongly*  recommended  not 
 to use this qualifier (in  the  negated  form)  if  you  have  a 
 tendency to heedlessness. REMEMBER: Deleted  files  *cannot*  be 
 recovered, unless you  have  some  wonderful  utility  for  this 
 purpose (if you have one, send me a  copy!).  Avoid  using  this 
 qualifier, if you have no special reason why. However,  /CONFIRM
 is taken by default.

/SINCE
 /SINCE=time

 Selects only those files dated after the specified time. You can
 specify time as an absolute time, a combination of absolute  and
 delta times,  or  as  one  of  the  following  keywords:  TODAY,
 TOMORROW, or YESTERDAY. The TODAY  keyword  is  *not*  taken  by
 default like in the DCL command DIRECTORY. An absolute time must
 be entered in the format DD-MMM-YYYY:HH:MM:SS:CC.  When  one  or
 more fields are omitted, the  system  supplies  default  values.
 Here are some examples:

 $ TOOL /SINCE=TODAY            ! current time
 $ TOOL /SINCE=12-JUL-1991:12   ! 12:00 noon
 $ TOOL /SINCE=15-::30          ! 12:30 AM, 15th of current month
 $ TOOL /SINCE=15               ! 3:00 PM, today

 For complete information on specifying time values, see the  VMS
 DCL Concepts Manual.

/BEFORE
 /BEFORE=time

 Selects only those files dated prior to the specified time.  You
 can specify time as an absolute time, a combination of  absolute 
 and delta times, or as one of  the  following  keywords:  TODAY,
 TOMORROW, or YESTERDAY. The TODAY  keyword  is  *not*  taken  by
 default like in the DCL command DIRECTORY. An absolute time must
 be entered in the format DD-MMM-YYYY:HH:MM:SS:CC.  When  one  or
 more fields are omitted, the  system  supplies  default  values.
 Here are some examples:

 $ TOOL /BEFORE=YESTERDAY        ! 24 hours before 00:00 o'clock
 $ TOOL /BEFORE=17-FEB-1990:12   ! 12:00 noon
 $ TOOL /BEFORE=15-::30          ! 12:30 AM, 15th of current month
 $ TOOL /BEFORE=15               ! 3:00 PM, today

 For complete information on specifying time values, see the  VMS
 DCL Concepts Manual.

/INCLUDE
 /INCLUDE=file-spec

 File inclusion qualifier. Only those  files  matching  file-spec
 will get listed in the []-window, at startup. If this  qualifier
 is missing, the file inclusion mask is taken as *.*;* (all files
 of any type, all versions) by default. Note that  file-spec  may
 NOT contain node and/or device and/or directory, or it  will  be
 discarded without notification. Here are a couple  of  examples:

 $ TOOL /INC=[...]	! Wrong. Ignored and replaced by *.*;*

 $ TOOL /INC=*.FOR	! Right. Implicitly, only latest versions

 Since  there is  no  ambiguity,  the  qualifier's  name  may  be
 shortened at will. The  file-spec  argument  may  optionally  be
 enclosed in parenthesis, as in /INCLUDE=(*.COM;-1)

/EXCLUDE
 /EXCLUDE=file-spec

 File exclusion qualifier. Files matching this file-spec will NOT
 get listed in the []-window at startup.  If  this  qualifier  is
 missing, the logical name TOOL$XMASK is searched for. If neither
 this is found, the  default  file  exclusion  mask  is  take  as
 *.JOU;*   Keep in mind that this file-spec is not  going  to  be
 parsed by RMS. It instead is used by a string  matching  routine
 that requires a filename to be FULLY covered by a combination of
 normal characters and wildcards. So, for example, if you need to
 exclude all *.DIR files, you'll have to type

 $ TOOL /EXCLUDE=*.DIR;*

 because  the  file-version  part  of  this  file-spec   is   NOT
 implicitly  filled  by  the  RMS.  On  the  command  line,   the
 qualifier's name may be shortened at  will  (a  simple  /E  will
 suffice!)  and  its  argument  may  optionally  be  enclosed  in
 parenthesis, as in /EX=(*.COM;%)
1 Logicals
 This section describes the use of some logical  names  that  are
 meaningful when using TOOL. These may be defined by the user  in
 order to change the path of certain TOOL-related files (such  as
 the TOOL help library file) or  to  modify  the  default  action
 undertaken by TOOL while performing certain  of  its  functions.
 All logical names will be first searched  for  in  the  process'
 logical name table, LNM$_PROCESS. If not found there, three more
 tables will be searched: LNM$_JOB, LNM$_GROUP, and  LNM$_SYSTEM.
 Please refer to the VMS help on the DEFINE command  for  details
 on defining logical names.
2 TOOL$HELP
 When you hit the PF2 key to get extended help, the  system  help
 library directory SYS$HELP is searched  for  the  standard  TOOL
 help library file TOOL.HLB. If this file cannot be found  there,
 the logical name TOOL$HELP is searched for  and  -  if  found  -
 translated. You should therefore equate this  name  to  a  valid
 help library file located in a directory to which you have  read
 access. In defining the logical  name  TOOL$HELP,  you  have  to
 specify a *complete* pathname, comprised of  device,  directory,
 filename and extension. For example, you may wish to put in your
 login script a line like the following:

 $ DEFINE TOOL$HELP DISK$USERS:[JOHNSON.UTILITIES]TOOL.HLB

 In this case, the standard TOOL help library  file  TOOL.HLB  is
 used. This file should be  available  on  a  system-wide  basis,
 though any other valid help file can be  used.  If  neither  the
 TOOL.HLB nor the user-specified  help  file  can  be  found,  no
 extended help will be displayed, unless TOOL.HLB is  located  in
 the current default directory.
2 TOOL$PRINT
 The logical name TOOL$PRINT affects the print queue used by TOOL
 while printing files. At start-up time, if this name  cannot  be
 found in any LNM table, the default  print  queue  SYS$PRINT  is
 assumed. In defining TOOL$PRINT, keep in  mind  that  this  name
 must define a print *queue*, NOT a device! So, for  example,  it
 is *wrong* to define it as "LTA2:" or the  like.  File  selected
 for print are not submitted through a  spawned  subprocess,  but
 directly sent to  the  Job  Controller  by  means  of  a  system
 service.
2 TOOL$LOG
 When you turn on message logging with the command "L"  (see  the
 related help) a new version of the "log file" is  created.  This
 file, by default, is named  TOOL.LOG  and  placed  in  SYS$LOGIN
 (your login directory), but name and place can be  redefined  by
 using the logical name TOOL$LOG. Example: (in LOGIN.COM)

 $ DEFINE TOOL$LOG DISK$USERS:[SUSAN.TODAY]

 Though the filespec  defined  by  TOOL$LOG  may  include  device
 and/or directory, it MUST provide a  filename,  or  it  will  be
 ignored (without notification) and replaced by the default.
2 TOOL$IF_
 This is a *very powerful* feature of TOOL in that it allows  the
 user to decide what action TOOL will perform on specified  types
 of files. Assume you put in your login the following line:

 $ DEFINE TOOL$IF_FOR FORTRAN

 Then, each time you press RETURN (alias ENTER) on a file of type
 *.FOR, the FORTRAN compiler will be invoked - through a  spawned
 subprocess, of course - on that file! There's obviously no limit
 on the number of such TOOL$IF_* logicals you can define in  your
 LOGIN (or elsewhere).
2 TOOL$XMASK
 This logical name is searched for at start-up time. If found, it
 is then translated to obtain an Exclusion  File  Mask  possibily
 different from the default  one  ("*.JOU*").  As  all  filenames
 listed in the []-window are comprised of  name,  extension,  AND
 *version*, it is not effective to define TOOL$XMASK  as  "*.DIR"
 to exclude all directory files form listing. You have to equate
 TOOL$XMASK to the string "*.DIR;*" or simply "*.DIR*"
2 TOOL$EDIT
 Depending on the string equated to the logical  name  TOOL$EDIT,
 either the EDT editor or the TPU  editor  is  invoked  for  each
 marked file. If this logical  name  does  not  equate  "EDT"  or
 "TPU", no other editor will be  available  through  the  command
 "E". If it is NOT defined, however, the editor defaults to  EDT.
 Typically,  you  will want to define your TOOL  editor  in  your 
 LOGIN.COM  script,  by adding a line like the following:

 $ DEFINE TOOL$EDIT EDT
2 TOOL$USER
 This logical name, if defined, specifies the command TOOL passes
 to DCL when the "User" key (^U) is pressed.  This  command  must
 NOT be prefixed by the dollar sign ($) and may  be a nything  at
 all. No argument is appended to this command.  This  feature  is
 much like the "Spawn" command, except that  it  doesn't  require
 you to type in the command at the DCL prompt nor to type  LOGOUT
 to return inside TOOL. Examples: (in your LOGIN.COM)

 $ DEFINE TOOL$USER "SWING"

 $ DEFINE TOOL$USER "PURGE /LOG *.DAT"

 $ DEFINE TOOL$USER "SET HOST NASA::"

 If no such logical name is found in  any  of  the  searched  LNM
 tables, no action takes place. On the other hand, If the command
 defined is invalid, all you get is an error message.
2 TOOL$HELP_FRAME
 This logical name affects the way TOOL displays its  help  text. 
 If TOOL$HELP_FRAME is defined, no  matter  how,  the  help  text
 will be output in a full-screen framed  window  labeled  "Help".
 Otherwise, the  text  will  come  out  in  the  usual  (quicker)
 fashion, namely, the one used by the  VMS  HELP.  Yes,  this  is
 an odd feature!
1 Refusal
 The author has made his best efforts in producing TOOL, but:

 THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS PROVIDED "AS IS" AND
 NO  GUARANTEE  IS  MADE  BY  THE  AUTHOR AS TO THE SUITABILITY,
 RELIABILITY,  SECURITY,  USEFULNESS,  OR  PERFORMANCE  OF  THIS
 SOFTWARE.

 THIS  SOFTWARE  IS  IN  THE  PUBLIC  DOMAIN  AND  MAY BE FREELY
 DISTRIBUTED  WITHOUT CHARGE AS REQUIRED. HOWEVER, ALL COPYRIGHT
 NOTICES AND REFERENCES TO THE AUTHOR IN THE SOURCE MUST BE LEFT
 INTACT.

 THIRD  PARTY  MODIFICATIONS  MAY  BE MADE TO THE SOURCE BUT ANY
 ERRORS  ARISING  FROM THEIR USE ARE ENTIRELY THE RESPONSIBILITY
 OF THE MODIFIER.

 If you find TOOL easy, fast, and convenient  to  use,  a  small
 contribute from you, to be sent at the  address  stated  below,
 would be appreciated. The amount of  such  contribution  is  up
 to you. Just consider the effort of  planning,  developing  and
 debugging such a program, and the value it has (if any) to you.

                       *-----------------*
                       | Adriano Santoni |
                       | via Carducci, 8 |
                       | 20035 Lissone   |
                       | (Milano) ITALY  |
                       *-----------------*

 I am much indebted to Dr. Massimo Vitali, System Manager here at
 the IRFMN Institute. He has taught me lots of things and I would 
 hardly have developed this program without his friendly support. 
1 Revision
 
 Version:	TOOL 1.0 (beta)

 Revised:	18-JUL-1991

 This is the first release, beta version, of TOOL. Please  report
 any bug to the author at the address below. Any  comment  and/or
 criticism will be greatly appreciated.

 Adriano Santoni, Dr.
 Istituto di Ricerche Farmacologiche "Mario Negri"
 Unita' di Biomatematica e Biostatistica
 Via Eritrea, 62
 20143 I-MILANO

 tel	+39-2-39014446
 fax	+39-2-3546277

 e-mail	SANTONI@IMIMNVX.IRFMN.MNEGRI.IT     (Internet)
1 Windows
 This section describes purpose  and  features  of  all  windows.
 TOOL supports virtually *any*  screen  size.  Try  setting  your
 terminal to 132 columns ($  SET  TERMINAL  /WIDTH=132)  and  see
 the changes! While  the  Status  window  has  fixed  dimensions,
 the []-window becomes 100 columns  wide,  and  files  with  very
 long names get listed in a more readable  fashion.  Furthermore,
 if your terminal is really a DECwindows (tm) DECterm  -  or  the
 like - you will also be able to modify its height,  namely,  the
 number of rows displayed. This will cause  the  Messages  window
 to expand, too, so allowing the user to see more of the  message
 "history". However, if the screen size is smaller than 24 rows x
 80 columns, TOOL will abort with an error  message;  after  all,
 there's no reason why you should shrink it. Note  that  TOOL  is
 not  supposed to work  properly  with  a  screen  size  that  is 
 not  really supported. For example, if you $ SET TERM /WIDTH=150
 but your terminal can NOT really display 150 columns, TOOL  will
 behave strangely. Most likely, TOOL will  `get  confused'  about
 size and locations of its windows on the screen. Better to limit
 oneself to the traditional screen widths of 80 and 132 columns.
2 Directory
 This is by far the most important  window  in  TOOL.  Here,  all
 files whose  name  comply  with  the  Inclusion/Exclusion  masks
 are listed along with  their  entry  number  and  size.  If  the
 filename does not fit in the window,  the  exceeding  characters
 are not visible, but a diamond is  displayed  in  the  rightmost
 column. The following is a couple of typical lines:

 +----------------------------------------------------+
 |0023   170 * TODAY_RESULTS.DAT;5                    |
 |0024    64   OLD.DATA;3                             |
 +----------------------------------------------------+
     E     S M N                                     D

 E - Entry number (0-padded), currently  limited  to  1000.
 S - Blocks (512 bytes) allocated to file. Right-justified.
 M - Mark. Toggle on/off with the space-bar, "S", and  "U".
 N - Name. If too long, a diamond appears  at  position  D.

 This window is constantly  labeled  with  the  default  directory
 name, unless too long to fit in 48 columns. Note that  when  TOOL
 starts updating the list, the label  is  temporarily  changed  to
 [], whence the shortname of []-window. If no files are  found  in
 the current directory, the window is simply blanked.  Since  only
 5 digits are available for the file size, it  may  happen  -  for
 very large files - that this field is overflowed.
2 Messages
 The lower  window,  labeled  "Messages",  is  where  TOOL  writes
 phrases describing what is going to be performed and  the  result
 of that operation. Most of the times, the result of an  operation
 (like the deletion of a file)  is  reported  through  the  system
 message associated to the "condition value" returned by a  system
 routine. To see how this works,  try  to  delete  a  non-existing
 file (example below): you will get a series  of  error  messages.
 The  condition  value  associated  to  the  first  of   them   is
 automatically saved in the DCL variable  $STATUS  for  subsequent
 inspection. Experiment!

 $ delete NOSUCH.FILE;1
 %DELETE-W-SEARCHFAIL, error searching for ...NOSUCH.FILE;1
 -RMS-E-FNF, file not found
 $ show symbol $STATUS
 $ $STATUS == "%X10931238"
 $ exit %X931238
 %DELETE-W-SEARCHFAIL, error searching for !AS

 Note that when a message is generated  by  TOOL,  it  is  always
 prefixed  by  "TOOL>".  System  messages,  instead,  are  always
 prefixed by the percent sign "%", unless TOOL was  invoked  with
 the /BRIEF qualifier (see the related help),  and  displayed  in
 boldface, high-intensity, or in a different color (depending  on
 the terminal you have). See also the VMS help on topic Lexicals,
 subtopic F$MESSAGE.
2 Confirm
 The confirmation window appears in many instances;  for  example,
 before exiting TOOL and before a deletion is actually  performed.
 Here, you are expected to press "Y" (Yes) to confirm or "N"  (No)
 to deny, no matter the case. Pressing any other character  (apart
 from some hot-keys like ^W and ^T) will only cause a warning bell
 to ring.
2 Status
 This window displays 12 important items of information:

 	1.	The "device" part of the default directory.
 		If your default is SYS$MANAGER:[SUPERMAN], the
 		device name is SYS$MANAGER which is likely to be
 		a logical name rather than a "true" (physical)
 		name. This means that while SYS$MANAGER is seen
 		as a device (say, a disk), its translation may
 		well be a subdirectory. You can verify this by
 		typing SHOW LOG SYS$MANAGER at the DCL prompt.

 	2.	The name of the physical device where your files
 		actually reside. This field may be similar to the
 		preceding one (example: Device name "DUB2:" and
 		Physical name "_DUB2:"). If the logical name of
 		the example above, SYS$MANAGER, translates to the
 		subdirectory DUA0:[SYS0.SYSCOMMON.SYSMGR], the
 		physical device name is _DUA0:

 	3.	The total number of blocks (512 bytes each), both
 		allocated and free, available on that device.

 	4.	The total number of free blocks remaining on that
 		device, namely, the amount of free space on disk.
 		You will see this number change dynamically when
 		copying or deleting files.

 	5.	The file inclusion mask, wich you may change with
 		the command "I". This is the file specification
 		used in searching the default directory. Related
 		help at the topic Command Matching.

 	6.	The file exclusion mask. File matching this mask
 		are NOT listed in the []-window. See the related
 		help (topic Commands Matching).

 	7.	The total number of files listed in the []-window

 	8.	The total number of files that you have marked,
 		both as an absolute number and as percentage.
 		Marks are displayed as asterisks ("*") and can
 		be toggled on/off with the space bar. Operations
 		like Copy ("C"), Delete ("D"), or ("Move") affect
 		only marked files, if any.

 	9.	The total number of blocks (512 bytes) allocated
 		to all listed files, that is, the disk space used
 		by those files. Note that the size of each file
 		is also listed in the []-window (2nd column).

 	10.	The number of blocks allocated to all marked
 		files, both as an absolute number and as
 		percentage of the above total.

 	11.	The number of successful operations performed.
 		This field is only reset when a new file
 		operation is started. Example: if you marked
 		10 files for deletion and 2 of them could not
 		be deleted, you'll see 8 in this field. When
 		the deletion is in progress, the success count
 		is incremented after the file being acted upon
 		has been properly processed.

 	12.	The number of failed operations performed.
 		This field is only reset when a new file
 		operation is started. Example: if you marked
 		10 files for copy and 3 of them could not
 		be copied, you'll see 3 in this field. When
 		the copy is in progress, the error count is
 		incremented after the file being acted upon
 		has NOT been properly processed.
2 Input
 An input window appears whenever  TOOL  needs  some  information
 from you. This window has full width (the terminal's)  but  only 
 few lines. Only the upper part of the border, showing the title, 
 should normally be visible. In many cases, this window  contains 
 an initial string which is treated as  a  "default"  input  from 
 you.  This  default  will  usually  be  set   according   to   a 
 convenience criterion. For example,  the  Destination  Path  for 
 the Copy ("C")  command  will  be  initialized  to  the  current
 default  directory. This way, if you intend to copy some file(s)
 to a  subdirectory,  you  may  limit  yourself  to  modify  that
 directory  specification, instead of  re-entering  it  in  full.
 Suppose   you    are   in   some   directory   of   yours,   say
 [SYSMGR.GARBAGE.UNIX], and  wish to copy (or move) some  file(s)
 to the subdirectory [-.TOPS]  Then,  after  marking (see related
 help) the desired files, you  press "C" (or  "M"  to  move).  At
 this time,  you  find  yourself  in   an  input  window  labeled
 "Destination  Path"  with  the  initial  content  [GARBAGE.UNIX]
 You can now simply modify this initial  directory  specification
 by making a step  backward  with  the  left-arrow  and  entering
 (literally) -.TOPS   Note that while in the  input  window,  you
 can use line-editing control-keys like those  described  in  the
 VMS help at the topic "Line_editing". TOOL saves and allows  you
 to access up to 20 of your most recently  entered  strings.  You
 can recall them one by one by using the up/down arrows.

 Editing key	Function performed
 -----------	------------------
 CTRL/H, F12	Moves the cursor to the beginning of the line.

 CTRL/J, F13	Deletes the word at the left of the cursor.

 CTRL/A, F14	Switches between overstrike mode and insert mode.

 CTRL/E		Moves the cursor to the end of the line.

 CTRL/X		Deletes from beginning of line up to the cursor.

 There's a limitation, however, that is worth mentioning. You can
 NOT enter more than 80 characters in the input window;  the 80th
 characters is taken as a "terminator" by  TOOL,  namely,  it  is
 followed by an implicit carriage-return. You may  ask  yourself:
 "Why is the input window 4 lines high if  I  cannot  enter  more
 than 1 line?". The answer to this question is: "Because."
