home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / FOXPRO / FFAQ / BUGLIST.21E < prev    next >
Text File  |  1992-08-17  |  7KB  |  172 lines

  1.  
  2.                FORCE 2.1E BUG LIST (Libraries & Compiler)
  3.                ------------------------------------------
  4.                     The Brutally Honest 4th edition
  5.                          Last Updated 8-17-92
  6.  
  7. =========================================================================
  8. Compiler Bugs:
  9. =========================================================================
  10. OPTIONS: /D
  11.  
  12. Problem: /DMAIN=1 (or /D<iden>=<anything>) will cause the compiler to
  13.    lock up.  However, -DMAIN=1 will work fine.
  14.  
  15. -------------------------------------------------------------------------
  16. FLAGS: CONFIRM
  17.  
  18. Problem: Just plain doesn't work.  SET CONFIRM ON does not function
  19.    the way that it should.  If you SET CONFIRM ON, you can still move
  20.    between the input fields with the cursor keys
  21.  
  22. -------------------------------------------------------------------------
  23. SYMBOLS: duplicate symbols
  24.  
  25. Problem: Force will not catch duplicate DBFDEF symbols.
  26.    For example:
  27.  
  28.    DBFDEF Thing
  29.       CHAR(25)     grop
  30.       INT(08)      grop
  31.    ENDDEF
  32.  
  33.    will slip right by the compiler.  Fortunately, the linker will pick it up.
  34.  
  35. -------------------------------------------------------------------------
  36. MATH: signed integers (and longs) and <>
  37.  
  38. Problem: Force has problems evaluating the "not equal" logical operator
  39.    with integers of different signs.  For example, if A is a signed
  40.    integer 1, (A <> -2) will be .F.
  41.  
  42. -------------------------------------------------------------------------
  43. SYSTEM CALLS: COPY FILE
  44.  
  45. Problem: COPY FILE does not keep the original file's time and date.  I
  46.    don't know if this is a "specification" problem or a bug, because nowhere
  47.    in the manual does it say that COPY FILE has to keep the date and time,
  48.    but that feature is standard on almost all copy programs and
  49.    implementations.
  50.  
  51. -------------------------------------------------------------------------
  52. SYSTEM CALLS: CRITICAL
  53.  
  54. Problem: The CRITICAL error handler replacer function isn't returning
  55.    correctly.  Apparently, from initial tests, the only return value that
  56.    DOS will accept is ABORT.  The others, FAIL, RETRY, and IGNORE cause
  57.    my machine to lock up.
  58.  
  59. Possible WorkAround:  Make a call to scrn_bios() at the beginning of your
  60.    user-defined critical error-handling function.  Seems to "fix" the 3
  61.    non-working return codes.
  62.  
  63. -------------------------------------------------------------------------
  64. LABELS: Concatenation
  65.  
  66. Problem: Apparently, you cannot concatenate strings on the LINE of a
  67.    LABELDEF label.
  68.  
  69. -------------------------------------------------------------------------
  70. SET:    SET RELATION TO
  71.  
  72. Problem:  Just doesn't seem to work the way it's supposed to.  You'll find
  73.    that the example in the manual just plain fails and will print garbage
  74.    to your screen or printer.
  75.  
  76. -------------------------------------------------------------------------
  77. REPORTS: REPORTDEF
  78.  
  79. Problem:  If you specify REPORTDEF without an alias name, the compiler
  80.    will either lock up, or simply write a garbage object file.  The
  81.    correct result should be a syntax error.
  82.  
  83. -------------------------------------------------------------------------
  84. INDEX:  ????
  85.  
  86. Problem:  We're aware of at least two bugs, one that occurs when the last
  87.    record in a BTree node of the index is deleted, and another that
  88.    occurs when you have huge amounts of duplicate keys.
  89.  
  90. =========================================================================
  91. Library Bugs:
  92. =========================================================================
  93. Function: itod()
  94.  
  95. Problem:  Given a date, itod() returns the day and month backwards.
  96.    That is, itod(1,2,92) (Feb 1) returns 2/1/92 (Jan 2)
  97.  
  98. -------------------------------------------------------------------------
  99. Function: round()
  100.  
  101. Problem:  Doesn't work for round values for 5 or more.  That is,
  102.    if z = 123.12345678, round(z,4) yields 123.1235
  103.    but round(z,5) yields 123.12345670002
  104.  
  105. -------------------------------------------------------------------------
  106. Function: store <exp> to <var>
  107.  
  108. Problem: You cannot assign multiple expressions to differing variables.
  109.    For example,
  110.       STORE "Blorg" TO string,1 TO i
  111.    will not work, and it should.
  112.  
  113. =========================================================================
  114. Other things:
  115. =========================================================================
  116. Compatibility:
  117.  
  118.    If a database (.dbf) file is terminated with an EOF character (1A),
  119.    FORCE will not bother to remove it when appending records.  Thus,
  120.    those appended records will not show up.  dBase terminates with 1A.
  121.    Since dBase is the standard by which every dBase compiler is judged,
  122.    this should probably be fixed.
  123. -------------------------------------------------------------------------
  124. Gets:    PICTURE @Z
  125.  
  126. Problem:   This doesn't seem to stop the initial values from being
  127.    displayed (as it says it should in the manual).
  128.  
  129. -------------------------------------------------------------------------
  130. Dates:    Leap Years
  131.  
  132. Problem:    FORCE incorrectly calculates leap year dates.  Apparently,
  133.    not all years evenly divisible by 100 are leap years.  Only years
  134.    that are evenly divisible by 100 AND 400 are leap years.  That's
  135.    400, 800, 1200, 1600, 2000, 2400, etc.  For example, FORCE will tell
  136.    you that 02/29/1900 is a leap year, but it's not.  02/29/2000 is.
  137.  
  138. -------------------------------------------------------------------------
  139. NetWorks:  OPEN SHARED and EXCLUSIVE
  140.  
  141. Problem:   FORCE doesn't seem to detect either of these states.  Most of
  142.    the time, depending on your network, FORCE will just open the file
  143.    anyway.  Other times it will dump with a run-time error.  AND, for
  144.    some people, the functions seem to work fine.  Go figure.
  145.  
  146. -------------------------------------------------------------------------
  147. NetWorks:  NET_ERR()
  148.  
  149. Problem:   Somewhat related to the OPEN SHARED and EXCLUSIVE problem.
  150.    Even if you make a check to NET_ERR() immediately after you open the
  151.    database, FORCE will dump before you get there, so who knows if it
  152.    works?
  153.  
  154. -------------------------------------------------------------------------
  155. NetWorks:  Record Locking
  156.  
  157. Problem:   Same as OPEN SHARED and EXCLUSIVE, except on a smaller scale.
  158.    I've heard a lot of people say that the only way to unlock the record
  159.    is to close the database.
  160.  
  161. =========================================================================
  162. NOTE:  I have test suites for all of these bugs (except the network bugs)
  163.        and will be more than happy to distribute them to anyone who wants
  164.        them.
  165. =========================================================================
  166.  
  167. If you happen to know of any FORCE 2.1E bugs not in this list, please
  168. send them to me, David Holmes (instead of Technical Support), and please
  169. include small source code that shows the bug and will always fail.
  170.  
  171. Thanks -- David Holmes, Technical Support
  172.