                             History of XSET
                             ===============

Version 4.20
============
                     
  New functionalities:
  -------------------

    - DRIVETEST also returns:
      'HARDDISK', 'TAPE', 'OPTICAL', 'FLOPPY' & 'CDROM'


Version 4.10
============
                     
  New functionalities:
  -------------------

    - /REVERSE   reverts a string (first character becomes last one)
    - /LEFT, /RIGHT & /MID handle arguments counted from end of string
    - ability to use ERRORLEVEL function even if your shell is not supported
      (see XSET.DOC)
    
  Bug corrections:
  ---------------

   - ERRORLEVEL sometimes returned a wrong value



Version 4.02
============
                     
  Changes:
  -------
   - DIFFDATE   also allows 4 digits years (94, 1994, ...)


  New functionalities:
  -------------------

    - XSET handles the special case of  the  variable  'windir'  created  in
      Windows DOS boxes that you normally cannot use.
      
    
  Bug corrections:
  ---------------

   - ERRORLEVEL return was wrong for MS-DOS 6.0
   - some problems dedicated to demo version in some very particular
     configurations 



Version 4.00
============
                     
  Changes:
  -------
   - ERRORLEVEL is PC-DOS 6.1 and MS-DOS 6.2 compatible

   -  /TIMEOUT  n 
      Line input: If n < 0, time-out will be active during the  whole  input
                  process; if you wait more than abs(n) seconds between  two
                  keys, the program will return the string typed so far.
      KEY input: the program will return after  the  specified  time  if  no
                 valid key was hit.
                 ^^^^^
                     
  New functionalities:
  -------------------

    - /SEPARATOR string       
      This uses the characters from 'string' as word separator.
      This option is intended to be used with /WORD and /COUNT.

    - RANDOM n1 n2
      This generates a random integer number between n1 and n2.



Version 3.50
============
                     
  New functionalities:
  -------------------

  This version now fully supports full edition of input lines.
  
    Valid keys:   Home         Begin of line
                  End          End of line
                  Left/Right   One character left/right
                  Insert       Toggle isert on/off
                  Delete       Delete current  character
                  BackSpace    Delete previous character
                  Ctrl-home    Erase to begin-of-line
                  Ctrl-end     Erase to end-of-line
                  Escape       Erase whole input
                  Enter        Accept input
  
  
  /DEFAULT       set current value as default for the input prompt
  
  /TIMEOUT n     breaks the input if no key was hit after n seconds
  
  /COLOR  <color>       change prompt color
         valid colors = BLACK BLUE GREEN CYAN RED MAGENTA BROWN DARKGRAY
                        LIGHTGRAY LIGHTBLUE LIGHTGREEN LIGHTCYAN LIGHTRED
                        LIGHTMAGENTA YELLOW WHITE
                        HIGHLIGHT REVERSE
  
  /BACKGROUND  <color>   will change prompt background color
          valid colors = BLACK BLUE GREEN CYAN RED MAGENTA
                         BROWN DARKGRAY LIGHTGRAY
  
  /BLINK                displays a blinking prompt
  
  /XPOS  x
  Set cursor to column x (or current - abs(x) if x < 0) before displaying prompt.

  /YPOS  y
  Set cursor to line y (or current - abs(y) if y < 0) before displaying prompt.

  /WINDOW  left top right bottom
  Draw a window (using color specified with /BACKGROUND).  

  /BOX
  Draw a window around the prompt .

  /BORDER
  Add a border inside a window (specified with /WINDOW or /BOX).

  CPU     returns processor type (86, 186, 286, 386 or 486)
  
  VOLLABEL   returns the volume label of a disk
  
  DRIVETEST  tests if a disk drive is readable, writeable, invalid,
             remote, removable, ram disk, subst, ...
  
  /LINE      accepts both positive and negative arguments:
              1   will read first line 
              2   will read second line 
             -1   will read the last line,
             -2   will read the line before, ...
                
  XSET variable:   
       Before scanning the command line, the XSET program  will  look  for
       the 'XSET' variable into the current DOS environment. If it exists,
       the XSET program will use the variable contents like  option  flags
       you would have given onto the command line. After it will  use  the
       option flags given onto the command line.
             
  XSET_MSG variable:
       Assigned by the XSET program itself to specify special events.
  
  
  Changes:
  -------
   - FTIME also returns seconds (hh:mm:ss)   
   - ERRORLEVEL is MS-DOS 6.0 compatible
   - /MATH accepts hexadecimal numbers followed by H
   - /MATH accepts power expression ( x^y )
   - KEY also returns non-printable characters as their decimal ASCII 
         code preceeded by a '#'.
   - /REGEXP accepts a new special character '?' matching 'zero or one time'.


  Bug corrections:
  ---------------

   - This version now fully supports non standard mode like 30 or 60 lines.
   - bug fix in function FEXT when no extension in filename.
   - XSET did not recognize empty strings on command-line ("").
  

                  

Version 3.00
============

  Completely new interface to allow several operations in one shot.
  
  ex: XSET/LOWER /PROMPT "Enter a filename: " FPATH

  Type XSET /? to get the full description of all functionalities.



Version 2.60
============

        New commands added:

XSET /VIEW var   will show content of variable 'var'

This command is useful to use variables longer than 128 characters.

You can exit the help screen at any time by hitting Escape or Ctrl-C.



Version 2.50
============

        New commands added:

XSET /VIEW   display all environment variables



Version 2.40
============

        New commands added:

XSET /SIZE   display environment size and free size (in bytes).

        Bug correction:  bug fix in function DIFFDATE.



Version 2.30
============

        New commands added:

Commands    Arguments    Action and value assigned to <dosvar>
--------    ---------    -------------------------------------
DIFFDATE    date1 date2  number of days between date1 and date2 (date2 - date1)
                         date format may be 'dd-mm-yy' or 'yymmdd'
                         (may also be mixed)

        Bug correction:  WORD 1 sometimes returned wrong result.



Version 2.20
============

        New commands added:

Commands    Arguments    Action and value assigned to <dosvar>
--------    ---------    -------------------------------------
YYMMDD                   system date in 'yymmdd' format
VARCOPY     variable     contents of DOS environment variable 'variable'

XSET /CLEAR   will clear delete all variables from environment\r\n\n"

XSET /LOAD    will load variables from standard input.
              variables must have been saved with command 'SET'
              ex:   save variables with 'SET > SAVEFILE.VAR'
                  reload variables with 'XSET /LOAD < SAVEFILE.VAR'



        Enhancements:

Function 'PASSWD' accepts up to 127 characters

Function 'MATH'   accepts logical operators '= < > <= >='



Version 2.12
============

        Bug correction:  file functions returned TRUENAME.




Version 2.11
============

        Bug correction: the BYTEFREE command was sometimes return -1.




Version 2.10
============

        New commands added:

Commands    Arguments    Action and value assigned to <dosvar>
--------    ---------    -------------------------------------

ERRORLEVEL  none         errorlevel code of last command

BYTEFREE    [drive]      number of bytes free on specified (or current) drive

DAYOFWEEK                day in the week ( 0 = sunday,... )

CHANGE      s1 s2 {s3}   change <s1> by <s2> in <s3>

SEARCH      str1 {str2}  portion of <str1> matching <str2>


Version 2.03
============

        Bug correction: little problem appearing sometimes
                        with KEY command.

        Bug correction: garbage display when no prompt specified
                        with INPUT command.

        Bug correction: strange behaviour on certain machines
                        when invoking for the first time the
                        DENSITY command.

Version 2.02
============

        Bug correction: all INPUT commands where buggy 
                        (due to a compilation problem).

Version 2.01
============

        Bug correction: the command TRUENAME always returned an empty
                        string (due to a last minute change).

Version 2.0
===========

        New commands added:

Commands    Arguments    Action and value assigned to <dosvar>
--------    ---------    -------------------------------------

MIN      {str1...strn}    minimum or maximum of numbers or strings list
MAX      {num1...numn}    (one string may not contain <space> or <tab>)

FPATH       {file}       full pathname of a filename
FDRIVE      {file}       drive of a filename
FDIR        {file}       drive & directory of a filename
FEXT        {file}       extension of a file name (no period included)
FNAME       {file}       name of a file without extension
FXNAME      {file}       name & extension of a file
FSIZE       {file}       size of a file
TRUENAME    {file}       full truename of a file
LINE        n            read the <n>-th line from standard input
STDERR      n            read the <n>-th line from standard error



Version 1.1
===========

        First shareware version.
        

        
Version 1.0
===========

        Creation for personal use.
