   CA-Clipper 5.2a (International) - MAINTENANCE RELEASE UPDATE NOTES.

To address the minor problems found with the initial release of CA-Clipper 5.2 
Computer Associates has produced patch files to update version 5.2 to version 
5.2a.   Should others be found, CA will make them available to you via the 
CLIPPER forum on CompuServe.


REQUIRED FILES FOR PERFORMING UPDATE.

   52AINT.EXE  A self exploding .ZIP file that may be downloaded from the
               CLIPPER forum (library 0) on CompuServe. (GO CLIPPER).

   PATCH.EXE   Updating engine required for use with 52ABIN.RTP, 52ALIB.RTP 
               and 52AOBJ.RTP.  This file is also in Library 0 of the CLIPPER
               CompuServe forum.


CONTENTS OF 52AINT.EXE

   52ABIN.RTP   Updating file for CLIPPER.EXE & CLD.EXE

   52ALIB.RTP   Updating file for CLIPPER.LIB, CLD.LIB, EXTEND.LIB & DBFNTX.LIB

   52AOBJ.RTP   Updating file for NAT_OBJ.EXE.

   52ADOC.TXT   This file.


UPDATE PROCESS (using example directories).

   o   Make sure that you have placed PATCH.EXE in a directory
       which is on your DOS path.

   o   Make a new directory, move 52AINT.EXE into this new directory and
       run it. 
                EXAMPLE:
                        C:\> MD C:\DWNLD
                        C:\> COPY 52AINT.EXE C:\DWNLD
                        C:\> CD C:\DWNLD
                        C:\DWNLD> 52AINT

   o   Take 52ABIN.RTP and move it to your CA-Clipper 5.2 BIN directory.
                EXAMPLE:
                        C:\DWNLD> COPY 52ABIN.RTP  C:\CLIPPER5\BIN

   o   Move to your BIN directory, type PATCH 52ABIN and watch the
       patch program update the appropriate files.  A summary will
       be displayed on your screen.
                EXAMPLE:
                        C:\DWNLD> CD ..\CLIPPER5\BIN
                        C:\CLIPPER5\BIN> PATCH 52ABIN

   o   Take 52ALIB.RTP and move it to your CA-Clipper 5.2 LIB directory.
                EXAMPLE:
                        C:\CLIPPER5\BIN\> CD ..\LIB
                        C:\CLIPPER5\LIB\> COPY C:\DWNLD\52ALIB.RPT

   o   Move to your LIB directory, type PATCH 52ALIB and watch the
       patch program update the appropriate files.  A summary will
       be displayed on your screen.
                EXAMPLE:
                C:\CLIPPER5\LIB> PATCH 52ALIB


   o   Take 52AOBJ.RTP and move it to your CA-Clipper 5.2 OBJ directory.
                EXAMPLE:
                        C:\CLIPPER5\LIB\> CD ..\OBJ
                        C:\CLIPPER5\OBJ\> COPY C:\DWNLD\52AOBJ.RPT

   o   Move to your OBJ directory, type PATCH 52AOBJ and watch the
       patch program update the appropriate files.  A summary will
       be displayed on your screen.
                EXAMPLE:
                C:\CLIPPER5\OBJ> PATCH 52AOBJ

   o   The update process is now complete.

   NOTE:   The process of updating your BIN and LIB files will create a
           sub-directory called \BACKUP appearing off your BIN, LIB 
           and OBJ sub-directories (C:\CLIPPER5\BIN\BACKUP, 
           C:\CLIPPER5\LIB\BACKUP & C:\CLIPPER5\OBJ\BACKUP).  These new 
           directories will contain the original version of the patched 
           files.  You may delete these files and directories but, if 
           space is available, it is recommend that you retain them for 
           future use.


WHAT EXACTLY HAS BEEN CHANGED? - CHECKING THAT THE UPDATE PROCESS WORKED.

   o   In your BIN directory - CLIPPER.EXE and CLD.EXE should be dated
       15th March 93; time stamp should be 5:21AM.

   o   In your LIB directory - CLIPPER.LIB, CLD.LIB, EXTEND.LIB and
       DBFNTX.LIB should be dated 15th March 93; time stamp should 
       be 5:21AM.

   o   In your OBJ directory - NAT_OBJ.EXE should be dated 15th March 93;
       time stamp should be 5.21AM.

   o   All your other files should be dated 4th March 93; time stamp 
       should be 5:20AM.

   NOTES:  1. If you are incorporating nation support in your
              applications then you will need to extract the updated 
              nation .OBJ's from the new NAT_OBJ.EXE.  This is done 
              by running NATION.BAT found in your OBJ directory.
                EXAMPLE:
                        C:\CLIPPER5\OBJ> NATION.BAT

		   2. If you use PLL files you need to rebuild them!
                EXAMPLE:
                        C:\CLIPPER5\PLL> RTLINK @BASE52.LNK

           3. You may also wish to rebuild DBU and the other utilities.


PROBLEMS ADDRESSED BY CA-Clipper 5.2a

   o   C3049 - String Space exhausted. - Change to CLIPPER.EXE
       The compiler has been changed to increase the available string
       space.  Developers whose applications compiled with this error in
       previous versions of Clipper should no longer receive this error
       message.

   o   Debugger Break Point Handling. - Change to CLD.EXE & CLD.LIB
       The debugger has been changed to improve Break Point handling.
       Developers who noticed difficulty in setting break points or noticed
       that break points were lost upon application restart will no
       longer have problems.

   o   Memoedit() double spacing problem. - Change to EXTEND.LIB
       The Memoedit() function has been changed to alleviate a double
       spacing effect which sometimes occurred.  The only developers who
       noticed this problem had memo field data which had a trailing space
       at the wrap point.  While this problem was uncommon it could be
       very disconcerting in applications where the format of memo field
       data is important.

   o   Inkey() setting Lastkey() to 0. - Change to CLIPPER.LIB
       The Inkey() function has been changed. The Inkey() function in 
       CA-Clipper 5.2a will only set the Lastkey() value when a key is 
       drawn from the keyboard buffer.  The Inkey() function in version 
       5.20 set the Lastkey() value to 0 when there was no key in the 
       keyboard buffer to retrieve and the time value expired.  The 5.20
       behavior had an adverse effect on several systems which use 
       Inkey(); for example Memoedit() with a custom UDF() where the UDF() 
       had been coded to expect the last navigational key pressed to be 
       available via Lastkey() would receive a value of 0.

   o   OrdSetFocus() tag in lowercase. - Change to DBFNTX.LIB
       The OrdSetFocus() function will now accept parameters in any case.  
       Developers who changed their applications to use order names rather 
       than order numbers noticed that unless the name was in upper case 
       the order established would be natural (no) order.  This problem was 
       unique to the DBFNTX driver.

   o   NATION support. - Change to NAT_OBJ.EXE
       The change here is only in the internal structure of the nation 
       drivers. The drivers will now make a function call into CLIPPER.LIB 
       to retreive clipper version information.  In the future should a 
       specific driver require updating this change simplifies that process.


SUPPORT NOTES CA-Clipper 5.01 vs 5.2x

   o   _GET_() - Changed in 5.2 and may effect 3rd Party products.
       If you have noticed that sometimes GETs don't appear then your 
       application is probably making a call to _GET_().  The call to 
       this internal function may be invoked from a 3rd party product.

       The CA-Clipper internal function _GET_() has changed from version 
       5.01 to 5.2x.  In 5.2x _GET_() no longer displays the GET. The GET 
       is now only displayed after a call to the get_object:Display() 
       method.  Developers or 3rd parties who depended on the old behavior 
       will either have to re-write the offending code, recompile, or ask 
       the 3rd party vendor to supply a 5.2x compatible version of the 
       library.

   o   Avoid calls to Internal Functions.
       As a reminder. Developers should not rely on the behavior of 
       internal functions, (those that start with one or more "_").  
       Calling internal functions is strongly discouraged by Computer 
       Associates as there is no guarantee the behavior of these 
       internals will remain consistant between versions.  

                                 >>End<<
