home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / os2 / te2new.124 < prev    next >
Text File  |  1993-07-30  |  37KB  |  793 lines

  1.                                          Notes for TE/2 Version 1.24
  2.                                                        July 19, 1993
  3.  
  4.                                                      Oberon Software
  5.                                                   518 Blue Earth St.
  6.                                               Mankato, MN 56001-2142
  7.  
  8.                                                  Voice: 507/388-7001
  9.                                                  BBS:   507/388-1154
  10.  
  11.   -------------------------------------------------------------
  12.  
  13. Copyright 1991-93, Oberon Software, Mankato, MN - All Rights Reserved
  14.  
  15.   -------------------------------------------------------------
  16.  
  17. The top portion of this document outlines the changes applied between
  18. TE/2 Version 1.23 and 1.24.  The second portion of this document outlines
  19. changes made between TE/2 Version 1.20 and 1.23.  The third portion of
  20. this document outlines the changes made between TE/2 Version 1.10C and
  21. 1.20.
  22.  
  23.   -------------------------------------------------------------
  24.  
  25.  =======================================================================
  26.  Changes which effect both the Registered and Shareware Versions of TE/2
  27.  =======================================================================
  28.  
  29. General Note
  30.  
  31.      Oberon Software's GEnie ID has changed from "B.FLOWERS" to "BRADY".
  32.      You can address GE Mail to either this ID or to our new Customer
  33.      Support Representative, Steven Tower, at GEnie ID "TOWER".  You
  34.      can send GE Mail to Kimberly Bobrow about Oberon PMQWK at GEnie
  35.      ID "KIMBERLY".
  36.  
  37.      The Oberon User Support TOPic on GEnie has moved from the IBMPC
  38.      RoundTable to the new OS/2 RoundTable.  To access the OS/2 RoundTable
  39.      on GEnie, type "OS/2" at most any GEnie prompt.  The Oberon User
  40.      Support TOPic is in CATegory 22, TOPic 2.
  41.  
  42.      The new OS/2 RoundTable is really taking off and Oberon Software is
  43.      excited to be working closely with GEnie to help ensure its success.
  44.      If you are already a GEnie subscriber, please visit the OS/2 RT on
  45.      Page 1400.  If not, you can contact a GEnie representative for
  46.      subscription information at 1-800-638-9636.
  47.  
  48.      You can also use the new GEnie-Internet Gateway to contact Oberon
  49.      Software now.  Just send Internet mail to brady@genie.geis.com.
  50.      Likewise, contact Steven Tower at tower@genie.geis.com and Kimberly
  51.      Bobrow at kimberly@genie.geis.com.
  52.  
  53.  
  54. OS/2 2.1 Notes
  55.  
  56.      The release of OS/2 2.1 triggered two very visible problems.  For
  57.      one of these problems, a workaround has been effected.  For the
  58.      other, no programmatic workaround has yet been devised however we
  59.      will offer several possible workarounds for the user to try.
  60.  
  61.      1. Screen is corrupted at TE/2 start-up.
  62.         This problem has been addressed and corrected within TE/2.
  63.  
  64.      2. Keyboard and/or "Screen handler" problems.
  65.         The problem appears to exist in the OS/2 2.x keyboard handler.
  66.         The symptom is that you may receive one or more of the following
  67.         error messages from TE/2 at start-up:
  68.  
  69.               "Cannot initialize screen handler."
  70.               "Cannot set logical keyboard state, error 445"
  71.               "Cannot obtain kbd focus for logical keyboard, error 449"
  72.  
  73.         If this happens it means that OS/2 has been unable to provide
  74.         TE/2 with access to a logical, secondary keyboard which TE/2
  75.         needs to use for its menu and dialog box routines.  TE/2 cannot
  76.         continue if this happens as there would be severe consequences
  77.         during later processing.  The following workarounds have been
  78.         suggested by users and testers and appear to work with varying
  79.         degrees of reliability:
  80.  
  81.             A. Run TE/2 in a window instead of full screen.  This is the
  82.                only suggestion guaranteed to work 100% of the time.  If
  83.                you have slow video, however, you may be displeased with
  84.                the speed of screen updates.
  85.             B. Some users report that the problem only happens when a
  86.                WinOS2 application is running in the background.  Check to
  87.                see what else is running on your machine and see if closing
  88.                any one of them will allow TE/2 to run.
  89.             C. Most users state that if they delete their TE/2 program
  90.                object from the desktop and recreate it from a template
  91.                that this will correct the problem.  Others have re-installed
  92.                OS/2 and have seen the problem corrected.
  93.  
  94.  
  95. New INI File Setting
  96.  
  97.      Variable       Setting and Notes
  98.      -------------  -------------------------------------------------
  99.      SaveScreen     TRUE/FALSE, default: TRUE.  If FALSE the contents of
  100.                     the screen before TE/2 is run will NOT be saved and
  101.                     restored afterwards.  Saves about 2k of memory and a
  102.                     few milliseconds at startup.  If you're running from
  103.                     the desktop there's no need to save the screen anyway.
  104.  
  105.  
  106. Problem Resolution and Other Enhancements
  107.  
  108.      Under OS/2 2.1 when running TE/2 in a full screen session on certain
  109.      hardware configurations, screen corruption at program startup would
  110.      occur.  This has been corrected.
  111.  
  112.      Corrected problem regarding "bleed through" of keystrokes from Dialing
  113.      Directory and Scrollback Buffer into main terminal screen when TE/2
  114.      is run in a window.
  115.  
  116.      Corrected problems encountered when changing COM devices via the
  117.      Alt-P menu in TE/2.
  118.  
  119.      Corrected problem regarding use of root directory paths for UploadPath,
  120.      DownloadPath, and ScriptPath.
  121.  
  122.      Function keys behave normally in Chat Mode (i.e., PF Key macros now
  123.      work).
  124.  
  125.      Backspace in Chat Mode will now wrap backwards across line boundarys.
  126.  
  127.      Added Alt-Y (Yank) in Chat Mode to retrieve the last transmitted line
  128.      for re-edit and re-transmission.
  129.  
  130.      Problems regarding various hard and soft traps and machine lockups
  131.      which were occuring during re-upload of marked text from the scroll
  132.      back buffer have apparently been corrected.  If you have or continue
  133.      to have problems with this function, please notify Oberon Software
  134.      immediately.
  135.  
  136.      Corrected time estimation process on large uploads.
  137.  
  138.  
  139.        ========================================================
  140.        Changes which effect only the Registered Version of TE/2
  141.        ========================================================
  142.  
  143. New Script Function
  144.  
  145.      integer DrawBox(integer Row, integer Col, integer nRows, integer nCols, integer Attr, integer Style, integer Fill)
  146.  
  147.      Draws a box with the specified co-ordinates.  Style is 0 for no frame,
  148.      1 for single line frame, 2 for double line frame.  Fill is TRUE or FALSE.
  149.      Returns TRUE on success, FALSE if parameter error.
  150.  
  151.  
  152. Changes and corrections to Script Parser
  153.  
  154.      Problem with using "%%" in the format string for the message() function
  155.      resolved.
  156.  
  157.      Function SetMark(), the second parameter has rejecting the keyword
  158.      'toggle' which the documentation states should be usable here.
  159.      SetMark() now works correctly.
  160.  
  161.      ZModem was setting the script language system variables: LastDownload
  162.      and LastUpload incorrectly.  This is fixed.
  163.  
  164.      Extraneous TIMEOUT events generated by multiple Waitfor()'s, MuxWait()'s,
  165.      and Rgets()'s which were causing synchronization problems have been
  166.      accomodated for and this problem should be resolved.
  167.  
  168.      All script functions which take a dialing directory "tag" as an
  169.      argument will now accept "#n" instead of a tag to refer to the n-th
  170.      directory entry.
  171.  
  172.  
  173. REXX notes
  174.  
  175.      For some TE/2 fucntions which return either string or numeric
  176.      information, the REXX handler may get confused in certain situations.
  177.      For example, a string which begins with a numeric digit (i.e., "123ABC")
  178.      may get truncated to just the numeric portion ("123" in the example).
  179.      For large numbers, like the return values from OpenDialog() and fopn(),
  180.      REXX may alter the number and, for phone numbers with hyphens embedded,
  181.      it appears that REXX is treating these as numbers and possibly
  182.      attempting to do arithmetic on them!  The solution to this problem is
  183.      to force the return value from TE/2 to REXX to be a string that does
  184.      NOT begin with a numeric digit.  You can do this with sprintf() and
  185.      a subsequent use of REXX's substr() function.  Some examples follow:
  186.  
  187.        /* TE/2 to REXX string and numeric handling */
  188.  
  189.        /* 'DirNumber("")' Returns the phone number most recently dialed    */
  190.                        /* from the dialing directory, i.e. 1-800-555-1212. */
  191.                        /* REXX might think that this is an arithmetic      */
  192.                        /* statement!  So instead...                        */
  193.  
  194.        'sprintf("[%s", DirNumber(""))' /* Will return "[1-800-555-1212"    */
  195.        TheNumber = substr(rc, 2)       /* Makes it "1-800-555-1212" again  */
  196.  
  197.  
  198.        /* 'OpenDialog(...)' Returns a 16-bit memory pointer which REXX     */
  199.                        /* will probably not handle correctly as a return   */
  200.                        /* code.  Use the same workaround...                */
  201.  
  202.        'sprintf("[%s", OpenDialog(...))'
  203.        DlgHandle = substr(rc, 2)
  204.  
  205.  
  206.   -------------------------------------------------------------
  207.  
  208.                                          Notes for TE/2 Version 1.23
  209.                                                       April 15, 1993
  210.  
  211.                                                      Oberon Software
  212.                                                   518 Blue Earth St.
  213.                                               Mankato, MN 56001-2142
  214.  
  215.                                                  Voice: 507/388-7001
  216.                                                  BBS:   507/388-1154
  217.  
  218.   -------------------------------------------------------------
  219.  
  220. Copyright 1991-93, Oberon Software, Mankato, MN - All Rights Reserved
  221.  
  222.   -------------------------------------------------------------
  223.  
  224.  =======================================================================
  225.  Changes which effect both the Registered and Shareware Versions of TE/2
  226.  =======================================================================
  227.  
  228. New INI File Settings
  229.  
  230.      Variable       Setting and Notes
  231.      -------------  -------------------------------------------------
  232.      SetVTDefAttr   TRUE or FALSE, default is FALSE.  If set to TRUE,
  233.                     then the value of your TermAttr will be given to
  234.                     the VT100 handler to use as the default attribute.
  235.                     This replaces and overrides any setting for the
  236.                     "V" flag in the COMMPAK2FLAGS environment variable.
  237.  
  238.      NoHPFSSalvage  TRUE or FALSE, default is FALSE.  If set to TRUE,
  239.                     TE/2 will NOT use the HPFS-type file renaming
  240.                     scheme when a filename collision occurs on a
  241.                     download.
  242.  
  243.      NoExtSalvage   TRUE or FALSE, default is FALSE.  If set to TRUE
  244.                     TE/2 will use only one digit from 1 to 9 as the
  245.                     final character when attempting to resolve a file
  246.                     name collision on a FAT drive (or when NoHPFSSalvage
  247.                     is TRUE).
  248.  
  249.      SalvageBrkCh   any number from 1 to 255, default is 59.  Set this
  250.                     to the ASCII value of the character you wish to
  251.                     use as a separator character when resolving file
  252.                     name collisions on an HPFS drive.  By default this
  253.                     is a semi-colon and renamed files have the form:
  254.                     filename;nn (where nn is a number from 1 to 999).
  255.                     Suggested settings for this would be 46 (a period),
  256.                     32 (a space), 45 (a hyphen), or 95 (an underscore).
  257.                     Do NOT use any character which is not valid in an
  258.                     HPFS file name such as +, /, \, :, * or ?
  259.  
  260.      CursorTop      These are the initial scan line setting for the cursor.
  261.      CursorBottom   If they are left un-set, the cursor will not be changed.
  262.                     If one is set, they must both be set.  They can be
  263.                     queried from the script language but not set, use the
  264.                     new SetCursorSz() function instead.
  265.  
  266.      ExtendedFIFO   This is not a new setting but it was only partially
  267.                     enabled in TE/2 1.20.  The choices for this setting
  268.                     are now: TRUE, FALSE, or AUTO.  The "fourth choice"
  269.                     is to leave reference to it OUT of TE2.INI.  If it
  270.                     omitted from TE2.INI then the ambient state of the
  271.                     16550 is preserved and used.  If set to anything at all,
  272.                     the device is checked first for Extended Hardware
  273.                     Buffering support.  If supported, then if ExtendedFIFO
  274.                     is set to FALSE, buffering is disabled; if set to TRUE,
  275.                     buffering is enabled with a Receive Trigger level of 8
  276.                     and a Transmit Load Buffer Count of 16; if set to AUTO,
  277.                     then Auto-Buffering is enabled.
  278.  
  279.  
  280. Problem Resolution and Other Enhancements
  281.  
  282.      You may now specify the name of a Named Pipe, either local or remote,
  283.      in the "Device" field in TE2.INI.  If a pipe name is used then the
  284.      various COM-specific functions, like setting the baud rate, parity,
  285.      etc., are silently ignored.
  286.  
  287.      An add-on product is available for using TE/2 with TCP/IP sockets
  288.      and/or NETBIOS sessions.  Please contact Oberon Software if interested.
  289.  
  290.      The TE/2 intro screens are no longer garbaged if you start up in
  291.      132 column mode.
  292.  
  293.      Added command line parameter "-?" which will display a list of TE/2's
  294.      command line parameters, version information, and then exits.
  295.  
  296.  
  297.        ========================================================
  298.        Changes which effect only the Registered Version of TE/2
  299.        ========================================================
  300.  
  301. New Script Functions
  302.  
  303.      integer CRC16(string strg, integer len)
  304.      integer CRC32(string strg, integer len)
  305.  
  306.           These compute and return 16-bit and 32-bit CRCs for the
  307.           the first 'len' bytes of the supplied string.  If you set
  308.           len to -1, then the entire string length is used.
  309.  
  310.  
  311.      integer SetFNKeyFile(string filename)
  312.  
  313.           Allows a script to load a new function key definition file.
  314.           Returns 0 on success, 1 if the file was not found or could
  315.           not be opened for reading, and 2 if an error was encountered
  316.           reading the file.
  317.  
  318.           If the filename parameter is "" then the user will be queried
  319.           for a file name.  If the filename parameter contains path
  320.           information and/or a drive letter, then the name is accepted
  321.           as is, otherwise the standard search alogrithm for TE/2
  322.           support files is used (current directory, dirctory containing
  323.           TE2.EXE, and them each directory in the OS/2 PATH statement).
  324.  
  325.  
  326.      string ReadScr(integer row, integer col, integer length)
  327.  
  328.           Reads 'length' characters from the terminal screen at row 'row'
  329.           and column 'col'.  'row' and 'col' are 0 based (upper left corner
  330.           of screen is [0,0]).  'length' must be greater than zero and
  331.           less than 256.  If 'length' is zero or less, the empty string
  332.           is returned.  If 'length' is greater than 256, 256 is used.  No
  333.           error checking on 'row' and 'col' for validity is performed yet.
  334.  
  335.      integer StrnStr(string s1, string s2, integer n)
  336.  
  337.           Finds the n-th occurance of s2 in s1.  The call StrnStr(s1, s2, 1)
  338.           would be identical to StrStr(s1, s2).
  339.  
  340.      string UniqueFName(string template)
  341.  
  342.           Creates a temporary file name based on 'template' which is a
  343.           basename plus wildcard characters '?'.  For example:
  344.           C:\TEMP\FILE????.  The function does NOT open the file.
  345.           Returns the empty string if no new names could be generated.
  346.           Note: this function works exactly like the REXX/2 utility function
  347.           SysTempFileName except that you cannot specify an alternate
  348.           filler character.
  349.  
  350.      integer CancelAllWatch()
  351.  
  352.           Cancels all active watches.  Returns the number of watchfor's
  353.           which were canceled.
  354.  
  355.      integer SetCursorSz(integer top, integer bottom)
  356.  
  357.           Sets the size of the cursor.  'top' and 'bottom' are the
  358.           top and bottom scan lines for the cursor, respectively.
  359.           Returns TRUE on sucsess and FALSE on failure.  If successful,
  360.           system variables 'CursorTop' and 'CursorBottom' are updated.
  361.  
  362.  
  363.      integer SetMark(string tag, special)
  364.  
  365.           "tag" is a dialing directory tag, "special" is TRUE, FALSE, or
  366.           TOGGLE. This function sets the mark for the queue dialer on the
  367.           specified dialing directory entry.  Returns the OLD state of the
  368.           mark for that entry (TRUE or FALSE) or -1 if "tag" was not found.
  369.  
  370.  
  371.      integer TermWindow(integer Row, integer Col, integer nRows, integer nCols)
  372.  
  373.           Resets the terminal window (a subset of the physical screen) to the
  374.           size specified.  Returns TRUE on success, FALSE on error.  It's
  375.           recommended that you perform a cls() before and after this call.
  376.           Take great care with this one, it's a direct back door into the
  377.           terminal emulation code.
  378.  
  379.  
  380. New 'system', read-only script variables:
  381.  
  382.      integer Emulation
  383.           Reports the current emulation mode:
  384.             0 -> TTY
  385.             1 -> ANSI-BBS
  386.             2 -> ANSI-TE/2
  387.             3 -> VT100
  388.             4 -> IBM 3101
  389.  
  390.      integer Fullscreen
  391.           Set to TRUE (1) if TE/2 executing in a fullscreen
  392.           session or FALSE (0) if in a window
  393.  
  394.      integer ScreenRows
  395.      integer ScreenCols
  396.           These report the actual number of rows and colums on the
  397.           physical screen.
  398.  
  399.      string StartScr
  400.           Contains the name of the script specified on the TE/2 command
  401.           line via "-m<scriptfile>".  If none was specified, StartScr
  402.           contains "".
  403.  
  404.      integer RexxRC
  405.           Contains the return code from the last executed Rexx script
  406.           (0 if none have been executed).  See notes on Rexx scripting
  407.           below.
  408.  
  409.  
  410. Changes and corrections to Script Parser
  411.  
  412.      Change to the way REXX script return codes are handled.
  413.           Previously you had to end your REXX script with "exit 1" (or
  414.           other non-zero value) if you needed to return execution to a
  415.           TE/2 language script.  A return value of 0 would cause script
  416.           execution to end.  TE/2 will now continue executing the current
  417.           script regardless of the REXX return code.  A new, readonly
  418.           script variable "RexxRC" is set to the return value of the last
  419.           executed REXX script.
  420.  
  421.           Example:
  422.  
  423.             program
  424.               message("This is a TE/2 script^M^J")
  425.               run("rexxscr.cmd")
  426.               message("REXX return code is %d^M^J", RexxRC)
  427.               end
  428.  
  429.  
  430.      Default ScriptPath
  431.           If the ScriptPath setting in TE2.INI was left NULL, it was
  432.           erroneously defaulting the search path to the root directory
  433.           of the current disk.  TE/2 now defaults to the CURRENT
  434.           directory as the documentation suggests.
  435.  
  436.      Reentrancy and Watchfor()
  437.           Previously the script parser was not reentrant and because of
  438.           this Watchfor() statements could only be excuted between the
  439.           execution of individual lines of the script file.  This
  440.           severely limited the use of Watchfor() in conjunction with
  441.           actions that should occur immediately (i.e., transmitting a
  442.           response to a trigger string).  This limitation has now been
  443.           removed.  Some of the new example scripts use this feature
  444.           extensively, please refer to them for examples.
  445.  
  446.      Download()
  447.           Because of changes in the TE/2 and Commpak/2 handling of
  448.           input data streams in the 1.20 release, Download() stopped
  449.           working correctly with respect to ZModem.  This has been
  450.           corrected.
  451.  
  452.      Watchfor()
  453.          The number of available watchfor handles has been increased from
  454.          10 to 32
  455.  
  456.      Watchfor(), OpenDialog(), and SaveScr()
  457.          These functions may now be called 'directly' from REXX scripts.
  458.          Be sure to retrieve the returned handles immediately from the
  459.          REXX 'RC' variable after calling one of these.
  460.  
  461.      Transmit()
  462.          The transmit() function was erroneously limiting output
  463.          to the first 64 characters of any given string and discarding
  464.          the remainder.  This has been corrected.
  465.  
  466.          The transmit() function would behave unpredictably on strings
  467.          containing one or more modem delay characters if local echo
  468.          mode was not ON.  This has been corrected.
  469.  
  470.  
  471.  
  472.   -------------------------------------------------------------
  473.  
  474.                                          Notes for TE/2 Version 1.20
  475.                                                        June 15, 1992
  476.  
  477.                                                      Oberon Software
  478.                                                   518 Blue Earth St.
  479.                                               Mankato, MN 56001-2142
  480.  
  481.                                                  Voice: 507/388-7001
  482.                                                  BBS:   507/388-1154
  483.  
  484.  
  485.  =======================================================================
  486.  Changes which effect both the Registered and Shareware Versions of TE/2
  487.  =======================================================================
  488.  
  489.   * New INI File variables
  490.  
  491.      DirFile <filename>  -- Names the default dialing directory file
  492.                             which TE/2 will load at startup.
  493.  
  494.      FnkFile <filename>  -- Names the default function key definition
  495.                             file which TE/2 will load at startup.
  496.  
  497.      XexFile <filename>  -- Names the default external programs file
  498.                             which TE/2 will load at startup.
  499.  
  500.      VT100Prn <devname>  -- Names the "printer device" to be used in
  501.                             conjunction with the new printer support
  502.                             in the VT100 emulation (described elsewhere
  503.                             in this document)
  504.  
  505.      VT100Backspace      -- Set to True or False, default is False.  If
  506.                             "true", the VT100 emulation will interpret
  507.                             incoming backspace characters as "destructive"
  508.                             (That is, a backspace will be equivalent to
  509.                             the sequence backspace-space-backspace).
  510.  
  511.      SwapBS4Del          -- Set to True or False, default is False.  If
  512.                             "true", TE/2 will transmit a DEL character
  513.                             (ASCII 127) from the backspace key instead of
  514.                             the default backspace character (ASCII 8).
  515.                             Note that this effects ONLY the backspace key
  516.                             itself and not CONTROL+H.
  517.  
  518.      DialerSendInit      -- Set to True or False, default is False.  If
  519.                             "true" the TE/2 dialer will transmit the modem
  520.                             initialization string ("ModemInitStrg") to the
  521.                             modem at the beginning of each dialing session.
  522.  
  523.  
  524.   * New INI file keyword
  525.      INCLUDE <filename>  -- allows you to segregate portions of your
  526.                             INI file settings into separate files.
  527.                             This feature is used in the default INI
  528.                             file for the new modem definition setup
  529.                             described elsewhere in this document.
  530.  
  531.   * Online Colors Setup!
  532.      Atl-Y from within TE/2 will now execute TE2COLOR.EXE if possible.
  533.      TE2COLOR.EXE must be either
  534.           1) in the current directory,
  535.           2) in the same directory as TE2.EXE, or
  536.           3) somewhere on the PATH.
  537.      Your INI file must be located likewise (if you've changed directories
  538.      since startup, this may cause a problem).  Note that online color
  539.      setup WILL NOT WORK if you have your color attributes in a file which
  540.      has been "included" into your .INI file.  If this is the case, you
  541.      still can run TE2COLOR as a standalone, the command line syntax is
  542.      "TE2COLOR filename".
  543.  
  544.  
  545.   * Modem setup files
  546.      A file named MODEMS.ZIP is included with this release of TE/2.
  547.      It contains over 60 modem configuration files designed to be
  548.      "included" into your TE2.INI for various modem types.  To use
  549.      these files, refer to the file MODEMS.DOC which is contained
  550.      in MODEMS.ZIP.
  551.  
  552.  
  553.   * Alternate Keyboards
  554.      Alt-= brings up a menu of alternate keyboards for you to choose
  555.      from.  Support is provided for:
  556.  
  557.                OS2You Mode
  558.                Doorway Mode (Standard)
  559.                Doorway Mode (Enhanced)
  560.                "Pure" Binary Mode for function keys
  561.  
  562.      See TE2.DOC, the section on "Alternate Keyboards" for a description
  563.      of each of these and further information.
  564.  
  565.  
  566.   * PASSWORD Field in Dialing Directory entries
  567.      You can assign a string to be associated with each entry into
  568.      the dialing directory.  The "Toggle" function in the dialing
  569.      directory screen will allow you to view this setting.  In the
  570.      full featured version of TE/2, you may access this value via
  571.      the "PASSWORD()" function (described elsewhere in this document).
  572.  
  573.  
  574.   * "Access Codes" in the dialing directory
  575.      This was previously a "registered version only" feature, it
  576.      has now been included into the shareware release of TE/2.
  577.      This feature allows you to enter up to ten strings for each
  578.      dialing directory that may be substituted as "macros" into
  579.      the phone numbers of directory entries.
  580.  
  581.  
  582.   * New "Filename Mangling" logic on download filename collisions
  583.      The old filename resolution logic, involving dollar sign
  584.      characters, has been replaced.  TE/2 will resolve filename
  585.      collisions differently depending on whether the target disk
  586.      is formatted with HPFS or not:
  587.  
  588.           On HPFS, ";xx", where "xx" is a number starting at 1,
  589.           will be appended to the existing file's name.
  590.  
  591.           On FAT, the last two characters of the existing file's
  592.           name will be replaced with a two digit number beginning
  593.           at 01.
  594.  
  595.  
  596.   * COMMPAK2FLAGS Environment Variable
  597.      This environment variable has been instituted as a means of
  598.      passing certain information into Commpak2.Dll to alter its
  599.      behavior.  At this time, there is one valid setting for
  600.      COMMPAK2FLAGS:
  601.  
  602.         "set COMMPAK2FLAGS=X:Y;"  or "set COMMPAK2FLAGS=X:N;"
  603.  
  604.      These settings will turn the 16550 Extended Hardware Buffering
  605.      check ON and OFF respectively.  The default is on.  Although the
  606.      com device driver should only return an error in response to a
  607.      check for the 16550 chip, on some machines it causes a fatal
  608.      trap!  If you experience this problem just as a file transfer
  609.      begins, you should set COMMPAK2FLAGS=X:N; in your CONFIG.SYS.
  610.  
  611.  
  612.   * New INI Setting: ExtendedFIFO True/False
  613.      TE/2 will not alter the BUFFERS setting for the com port upon
  614.      startup unless this setting appears in the INI file  (that is,
  615.      TE/2 will use whatever is default or has been set via the OS/2
  616.      MODE command).  If ExtendedFIFO is set to "TRUE", TE/2 will
  617.      attempt to set AUTO buffering, if it is set to "FALSE" it will
  618.      attempt turn off the 16550 FIFO buffer.  Do not use this setting
  619.      unless you deem it absolutely necessary.  Note also that the
  620.      file transfer protocols will, by default, attempt to set AUTO
  621.      buffering during file transfer.  If this causes a problem on
  622.      your machine, you can turn this off via the COMMPAK2FLAGS
  623.      environment variable described elsewhere in this document.
  624.  
  625.  
  626.   * VT100 Printing
  627.      If the new INI file setting "VT100Prn" is set to a valid
  628.      device or file name before entering VT100 mode, certain VT220
  629.      printing features will be enabled.  This will allow the host
  630.      program to direct the VT100 to perform various print functions:
  631.  
  632.           Auto Print Mode ON and OFF  (^[[?5i and ^[[?4i)
  633.                All following display lines print when you move the
  634.                cursor off the line using a LF, FF, VT, or auto wrap.
  635.                The printed line ends with a CR and the character which
  636.                moved the cursor off the previous line.  Auto line
  637.                wrap line "ends" with a LF.
  638.  
  639.           Printer Controller Mode ON and OFF (^[[5i and ^[[4i)
  640.                The terminal sends received characters to the printer
  641.                without displaying them on the screen.  All characters
  642.                and character sequences, except NULL, XON, XOFF, ^[[5i,
  643.                and ^[[4i, are sent to the printer.  Printer controller
  644.                mode has a higher priority than Auto print mode.  It can
  645.                be selected during auto print mode.
  646.  
  647.           Print Screen (^[[i or ^[[0i)
  648.                Print the screen or the current scrolling region (depending
  649.                on the DECPEX setting).  Each line ends with a CR+LF
  650.                pair and the operation is completed with a FF if DECPFF
  651.                mode is selected.
  652.  
  653.           DSR response to ^[?15n
  654.                The VT100 will respond to the hosts query for terminal
  655.                printer information with ^[[?10n if a device has been
  656.                named via VT100Prn (implying the printer is "ready") or
  657.                with ^[[?13n if no device is named (printer NOT "ready").
  658.  
  659.           Print Mode Selection Supported
  660.                ^[[?18h -- DECPFF. Print FF after print screen.
  661.                ^[[?18l -- DECPFF. Don't print FF after print screen.
  662.                ^[[?19h -- DECPEX. ^[[i prints full screen.
  663.                ^[[?19l -- DECPEX. ^[[i prints active scroll region.
  664.  
  665.           Print cursor line NOT supported
  666.                ^[[1i, "Print current cursor line" is NOT supported by the
  667.                VT100 emulation as it would not be possible to produce
  668.                reasonable printer output from this function given the
  669.                intervention of the OS/2 spooler.
  670.  
  671.  
  672.   * Character translation of "[" characters filtered
  673.      For certain European character setups, the "[" needs to be
  674.      translated but it still needs to be accessed "as is" when it
  675.      appears in an ANSI or VT100 control sequence!  When applying
  676.      character translation from the XLat table, TE/2 now checks for
  677.      the special case of '[' immediately following an ESCape character
  678.      and does not translate it in this situation.  Any arbitrary
  679.      number of control characters may appear between the ESC and the
  680.      '[' and it will still be considered "immediately after".
  681.  
  682.  
  683.   * High-bit characters allowed in input fields.
  684.      European users can now enter their names properly in the dialing
  685.      directory and other input fields!
  686.  
  687.  
  688.   * TE/2 now no longer reports negative numbers for baud rates of
  689.      38400 or greater.
  690.  
  691.   * The default baud rate for a new entry into the TE/2 dialing
  692.      directory is now set to whatever was specified in your "Baud"
  693.      statement in TE2.INI.
  694.  
  695.  
  696.   * TRAP 0008 problem for TE/2 with shared modem over LAN addressed.
  697.      If you have experienced this problem, place the line:
  698.  
  699.                     NoOvIO    TRUE
  700.  
  701.      anywhere in your TE2.INI.  This should correct the problem at
  702.      the expense of a small amount of throughput.  If the problem
  703.      persists, please contact Oberon Software.
  704.  
  705.  
  706.   * Cursor problem fixed in input fields when screen in 25 line mode.
  707.      Previously the cursor would not display correctly in input fields
  708.      unless the screen was in 43 or 50 line mode.
  709.  
  710.   * Long "CONNECT" strings no longer overwrite the borders of the dialer
  711.      dialog box.
  712.  
  713.     ------------------------------------------------------------
  714.  
  715.        ========================================================
  716.        Changes which effect only the Registered Version of TE/2
  717.        ========================================================
  718.  
  719.   * REXX/2 Interface for script writers!
  720.      You now have the option of writing your TE/2 scripts in either
  721.      the TE/2 "Original Syntax" Script Language or in the REXX/2
  722.      Procedure language!  See the notes in SCRIPT.DOC regarding
  723.      REXX scripts for further information.
  724.  
  725.  
  726.   * New Script Language Functions
  727.      NOTE: In each of the following functions which use "tag" as an
  728.      argument, the string "tag" may be either a value to search the
  729.      directory file's "Tag" field for or it may be "" in which case
  730.      it is interpreted as "the most recently dialed entry".
  731.  
  732.      Password(tag)                 Returns the "Password" field for the
  733.                                    entry or "" on error.
  734.  
  735.      DirName(tag)                  Returns the "Name" field for the entry
  736.                                    or "" on error.
  737.  
  738.      DirPhone(tag)                 Returns the "Number" field for the entry
  739.                                    or "" on error.
  740.  
  741.      DirScript(tag)                Returns the "Script" field for the entry
  742.                                    or "" on error.
  743.  
  744.      DirTag(tag)                   Returns the "Tag" field for the entry
  745.                                    or "" on error.
  746.  
  747.      SaveDirFile(filename)         Saves the current directory as filename,
  748.                                    if filename is "" saves the current
  749.                                    directory without changing the name.
  750.                                    Returns 0 on success, non zero otherwise.
  751.  
  752.      SetTag(tag, tag2)             Sets the "Tag" field for the entry,
  753.                                    returns 1 on success, 0 on failure.
  754.  
  755.      SetName(tag, name)            Sets the "Name" field for the entry,
  756.                                    returns 1 on success, 0 on failure.
  757.  
  758.      SetPassword(tag, password)    Sets the "Password" field for the entry,
  759.                                    returns 1 on success, 0 on failure.
  760.  
  761.      SetPhone(tag, phone)          Sets the "Number" field for the entry,
  762.                                    returns 1 on success, 0 on failure.
  763.  
  764.      SetScript(tag, script)        Sets the "Script" field for the entry,
  765.                                    returns 1 on success, 0 on failure.
  766.  
  767.      StrEval(strg)                 Returns the value of its argument.
  768.                                    This function appears as an aid to the
  769.                                    REXX language script writer.
  770.  
  771.      SetXlatTable(fname, ioflag)   Reads a new character translation table
  772.                                    from the indicated file.  If ioflag
  773.                                    is non-zero, it will initialize the
  774.                                    OUTPUT translation, if it is zero it
  775.                                    will initialize INPUT translation.  If
  776.                                    fname is "" the corresponding
  777.                                    character translation is turned OFF.
  778.  
  779.      SetVT100BkSp(flag)            Sets the VT100 backspace mode (see INI
  780.                                    variable VT100Backspace) to ON or OFF
  781.                                    depending on the Boolean "flag".  Returns
  782.                                    the previous state of the VT100 backspace
  783.                                    mode.
  784.  
  785.  
  786.  
  787.   * File Transfer Progress Display revised and cleaned up for CIS B+
  788.      The somewhat confusing "Bytes Transferred" and "Time Remaining"
  789.      statistics for CIS B+ transfers have been reworked and cleaned up.
  790.      TE/2 will now "ring the bell" after a CIS B+ file transfer if
  791.      you have alarms enabled also!
  792.  
  793.