[Win98 Setup Bug]
Several bug fixes were performed on the core interpreter as well as on some modules and new features are introduced in build29.
- Now you can declare global variables using the command global. This is required when the declare option DeclareVars compile time directive is used. This is extremely useful to find mistyped variable names during compilation time.
- A new sample program queens.bas is in the examples. This program places 8 (or if you modify the source n queens on a chess table so that none threatens the other. Symmetric cases are eliminated.
- New module interfacing the well known CURL module was introduced.
- In the module MT zero length session variable name caused general protection error. This was corrected.
- In the module MT undef arguments were not handled properly.
- The debugger preprocessor caused error when user commanded the debugger to quit some case when debugging CGI programs because the module error string pointer was not initialized. Now this is corrected.
- The operator assignment commands, like +=, -= cause general protection fault when the left hand side variable was undef.
- The file string.c was modified to suppress some compilation warning.
- The command open directory collected all the directories not only the plain files into the file list, though it was not desired by default. Now directories are not collected into the file list.
- There was a bug in the memory handling that caused general protection fault in some cases when reference variables were used.
- The syntax analyzer accepted an expression list with a trailing comma. This is not that way anymore, this bug is fixed.
- The variable pszModuleError was not initialized and thus it caused segmentation fault on Linux when using the debugger.
- The function execute_DereferenceS was corrected and enhanced. It crashed if NULL variable was to be dereferenced (which is not needed anyway). The enhancement results returning NULL when the variable value is undef instead a variable with type VTYPE_UNDEF. This helps external modules to compare variables being undef and not caring referenced undef.
- BASIC programs compiled to C and compiled to be standalone executable were not able to handle the command line parameters. This bug was corrected.
- The CGI module was not prepared to handle HEAD requests. This was added. You have to explicitly allow the method in the CGI program using the command option.
- The MySQL module did release the MySQL connection when a connection was closed by the BASIC program, but the handle pointer was not released only when the BASIC program finished. This bug was corrected now.
Still you may be interested reading the old news of previous builds.