Clipper 5.2d Buglist
====================

Rev 1.0, august 9 1994


Well, it's no real list yet. (Aren't we lucky...)
I will be including any bugs reported by you, other Clipper users.
If your not reporting, the only bugs in this list will be the ones 
we discover here and the ones I read about on CIS.

If you think it's important to know where to look before spending
tons of hours searching for a bug someone knows already, post your
messages to me. 
Any comments are welcome too, of course.

Jean-Luc van Hulst
CIS 100063,1002




KNOW BUGS
=========

1. dbappend() / APPEND BLANK

   dbappend() has a optional parameter (documented in the Drivers guide,
   but not in the Function section of the Norton Guide) <lUnlock>

   If omitted it should read TRUE wich unlocks any previous locks.

   Bug: if the parameter is omitted (wich is the case when using the
        standard APPEND BLANK command) the <lUnlock> parameter is 
        set randomly to either true or false, depending on the last
        return value of the last called function (!).


   Symptoms:   Programs that append a lot of records to the same database
               in loop (e.i. import routines, batch updates..) could crash
               after some 200 or more appends.
               A novell server will give a warning on the console.

   Workaround: add #xtranslate dbappend() => dbappend(.t.) to your include
               file

   Example:    USE TEST SHARED
               FOR I=1 TO 1000
                  APPEND BLANK  // will fail after about 250 records 
                                // on a novell 3.x server
               NEXT







KNOW LIMITATIONS
================

1. Assign with "=" instead of ":="

   In codeblocks "=" will not (always?) work as assignment.
   i.e.  {||oObject:var="TEST"} will return TRUE or FALSE and oObject:var
   will not have "TEST" assigned to it.

   Workaround: Use := wich does work and is much more descriptive!


2. APPEND FROM <database>

   If NONE of the fields in <database> match fields in database your appending
   in, NO records are appended. One might expect completly empty records to
   be appended.

   Workaround: ...


THIRD PARTY
===========

1. Calling funcky's npstore() function with a string passed by reference will
   eventually cause a GPF.

   Example   :  npstore(handle,NP_WRAP,@string)
                (Put it in a for next loop so see it crash)

   Workaround:  remove the @ sign.

