[comp.sys.apple] GSBasic bugs in the Beta Version

delaney@wnre.aecl.CDN (Grant Delaney) (01/17/88)

The following is note about GSGasic from someone who is writing a book on it


==================
BUG REPORT: GSBASIC VERSION 1.0B4

         BY JOE JAWORSKI


If you purchased GSBasic version 1.0B4 from APDA, be
prepared to fight many bugs in the interpreter.

Don't get me wrong. Overall, the interpreter is excellent
for creating fast 16-bit applications.But if you haven't
purchased it yet and want to, I suggest you wait for version
1.0 or check with TML systems, since their GSBasic is due
out by the end of January.

The following is a list of bugs I have encountered:

1) Using the INT statement anywhere in the program will
cause the RENUMBER command to crash the system.

2) Renumbering a program that causes line numbers to exceed
65000 (it lets you do this) will erase all of those lines
whose new numbers are beyond 65000.

3) Creating/displaying a modal or modeless dialog from a
subroutine will crash the system.

4) Creating/displaying a window, dialog, or alert with
TaskMaster off will crash the system later on in your
program.

5) There is no check for accessing an element of a structure
array beyond its DIMENSIONed size. Changing values there
will obviously cause unpredictable results.

6) Some TDF calls ask for the wrong types and numbers of
parameters. In particular, _ReadTimeHex will screw up the
stack. Use CALL% when in doubt.

7) Memory Manager routines, such as allocating Bank 0 space
for tool startups, will not work in a subroutine.

8) You cannot use the Text Tools. GSBasic uses them for its
I/O.

9) Redirecting INPUT via an OPEN/ASSIGN to a character
device does not work. INPUTs are forced to the .CONSOLE
device (keyboard) regardless of the slot specified.
Similarly, you cannot pass 8 bits on an OUTPUT; GSBasic
forces bit 8 to zero regardless of _SetOutGlobals.

In addition to the above, there have been many instances
where my programs will crash the system for no apparent
reason. Unfortunately, it is difficult to pinpoint the exact
cause of these problems.

A word of advise: Before you pull your hair out and spend
hours debugging code that look fine, consider a bug in the
interpreter!

- Joe Jaworski