
  Changelog:
     version 1.4.3
        * added '-sublabel' switch for GetCalls and ProcMap, so Task_CheckExposed
          will work on sublabels also. Similar change for MakeVarListsE
        * RexxMerge.cmd: in a case where the old procedure line is customized with an
          extra exposed variable, like
                GetOpts.ReadSwitch: procedure expose flag. str. valid (Shared_vars)
          and the replacement line is
                GetOpts.ReadSwitch: procedure expose flag. str. valid
          the lists of exposed variables will be merged to keep the exposed (Shared_vars)
          This involved a lot of changes and may have created new bugs.
        * -check=expose: treat an error-handler as a called routine from every procedure
        * Tree command: fixed a bug that ignored a top-level routine that calls itself
        * Change command: reduce the number of unnecessary prompts
        * Depends command: now shows system commands used
        * Tree command: added -ascii switch to force using ascii line-drawing characters
        * fixed: Variables -flat -show=compact showed nothing
        * fixed: wrong results from Unused -flat
        * fixed typo in MakeVarListsE that resulted in wrong list of unused variables
        * ugly, unsatisfactory bugfix in QuotedVar, trying to exclude strings that are
          not variable names
        * improved QuotedVar, which was confused by nested functions.
          Affects Unused and Variables commands.

     version 1.4.2
        * fixed: Task_Change sometimes failed to set G.0FileChanged flag
        * Recognize literal string as a variable name, as in value() or SysFileTree()
          This should make Variables, Change, and Unused commands slightly more accurate.
          also affects Task_Recap and Check_Expose tasks.
        * improved Task_UnusedVars-- use MakeVarListsE, added -alt switch, minor bugfixes
        * fixed: in QuotedVar(),
               value('foo', , 'os2environment')
          returned 'SET' for variable foo, should be 'USED'
          likewise for
               symbol('Map.'!tmp'.start')
          returned 'SET' for 'Map.' and '.start', should be ''
        * fixed: in MakeVarListsL line number was not shown for stems
        * Task_CheckStyle, added warning for SELECT without OTHERWISE
        * allow help search for a quoted string, like
               RexxTool.cmd help "else if"
        * replaced OS2Var() with EnvVar(), which will work for either Regina or OS/2 Rexx;
          fixes Depend command under Regina
        * Improved R_MoveClauseDown, added 'newline' argument. Task_ThenDo
          now calls R_MoveClauseDown instead of shifting tokens itself.
        * Removed the last of the calls to MidStr(); use substr() instead.
          Should make Tokeniser slightly faster.

     version 1.4.1
        * In the Variables command, removed "-show=unused". Use the
          Unused command instead.
        * improved the Unused command. There should be fewer false positives
          when checking for unused variables.
        * in GetCalls, handle scripts that start with a label, like "Main"
        * in Check_Warn, added check for assignment of special variable
        * removed experimental -expandslow switch.
          rewrote ExpandVariable(), but it could still be better
        * improved Task_Calls-- it now shows which library a BIF belongs to,
          and allows limiting the display with the -show switch
        * in BifAliases, handle a RxFuncAdd statement with continued line
        * added the ProcMap function that records the start and end of
          each routine, recognizing top headers and ignoring sublabels,
          consistent with the B_xxx functions. This will make the Change
          task more accurate and theoretically could make other tasks faster
          because they don't need to search the entire token array for a label.
        * in GetCalls, fixed a bug that causes some external names to be
          included in list of Level 0 routines.
        * in Task_Variables, fixed a bug that reported an expanded exposed
          variable as unused
     version 1.4.0
        * Changed (Unlabeled) pseudo-label to [Unlabeled]
        * In the Change command, the -var switch now uses "=" instead of ":"
          as a separator between the old and new values.
        * In the Change command, added -proc switch to change the name of
          a procedure. (needed by new standalone.btm for rewriting names of
          external procedures)
        * Fixed: a group of bugs in Task_Change that changed "expose Opt."
          to "expose Opt.0" and failed to change variable name in comments.
        * Fixed: return code from CheckOnly
        * Fixed: Task_CheckError failed to report missing End-Of-Comment
        * Fixed: "-where=+handlers" was completely broken
        * Fixed: R_AtAnyAssignment did not recognize PULL
        * Fixed: false warning about missing End Of Comment for Regina comment
        * Improved Task_Foldline to handle line that ends with an operator
        * improved Variable command-- recognize variable used in stem, expand
          exposed variable
        * New StringMatch function so DevHelp and -where can now use
          ? and * as wild characters
        * Some tweaks to the tokeniser for speed.
        * Tweaked ExtractHelpHeader to make the Help command faster
        * Improved SearchPath(); Depends command now finds an external
          procedure with a full path+filename.
        * Introduced the idea of sub-labels. See "RexxTool.cmd help sublabel"
          This involved changes in many places and may create new bugs.
          RexxMerge.cmd also now recognizes sub-labels.
        * Also removed logic that tried to identify local error-handlers,
          because it was not quite foolproof and was impossible to perfect.
          To get the old behavior from Format when adding or maintaining
          headers/footers, the local handler will need to have a name
          that is recognized as a sub-label.
        * Added Task_CheckExpose that tries to detect missing EXPOSE statements.
          It needs refining.
        * Improved Extract command to handle the [Unlabeled] pseudo-label.
                RexxTool.cmd extract -where=[Unlabeled],+handlers
           will now extract everything except unused routines.
        * Added option -AddHeader=ABOVE to insert empty header above the
          label instead of below it.
          Also improved recognition of an existing header by comparing
          it with the Header array.
        * In RexxMerge.cmd, the Replace command now ignores case and indenting,
          so minor formatting changes will not cause a routine to be replaced.
          Can be overridden with -strict switch.

     version 1.3.1  first public release

