What is new in ScriptBasic v2.0.0

[forum ]
[Win98 Setup Bug]
Use the FORUM and the WIKI maintained by John Spikowski. Version 2.0.0 is a new major version. The numbering of versions is radically changed. Bug fixes and new features.

New Features

Language features

  1. You can now alter the behavior of ScriptBasic in regards to undeclared variables inside functions. Undeclared variables inside functions were treated as global variables until now. From this version you can use the compiler directive declare option DefaultLocal to alter this behavior. The other way around is declare option DefaultGlobal. For more information please read the manual.
  2. Module T can serialize an array variable to XML. Unfortunately there is no currently implemented counter function to read the generated XML file back to an array.
  3. Mathematical functions gcd and lcm are defined and became reserved words, but are not implemented yet.
  4. Initial version of the module XML was added to the release.
  5. Floating numbers printed by the command print are printed with many more digits.
  6. The debugger handles the console controls under Windows positioning cursor, clearing the console screen and so on providing a more powerful interface towards the programmer.
Interpreter features
  1. The Eszter SB Application Engine now can bind on more than one interface and implement an experimental, BASIC programmable FTP daemon as well as the HTTP daemon. The FTP features are experimental, missing some core features and undocumented at the moment.
  2. The option -d was enhanced. Now it can be used on UNIX as well as on Windows to aid debugging when a module does not load. This option will print what libraries the module tries to load and also interface versions.
  3. Internal preprocessors need not be configured in the configuration file. The interpreter will find them based on the file name if they are stored in the directory where the module DLL/SO files are.
  4. The Windows setup program can handle the situation when some files or registry entries are not writable. In this case you can alter the permission during the setup and ask setup to retry the action. You can also tell the setup program to ignore the failure at your own risk.
Internal, Developer features
  1. The module interface macro basext_GetArgsF and the function implementing the argument handling for module functions was extended to handle pointer values stored in BASIC strings. Although this is not a safe way to implement handles in modules this may be the only effective way when there are really a lot of handles/pointers to be handled and exchanged by the module and the BASIC program.
  2. The helper program setup.pl was greatly enhanced. Type setup --help for more information.

Bug Fixes

  1. Mathematical functions were fixed. For example int, cint, fix, round, frac functions were corrected to handle large numbers that do not fit into a C long
  2. When you compiled a BASIC program to executable under Windows you had to start it writing the extension .exe on the command line attached to the name of the program. Now this is not needed anymore.
  3. Now you can have configuration sub items that contain no items at all. Formerly this was not handled by the configuration compilation system (it was a documented feature). Although it may not seem reasonable to have such a sub item in the configuration file, it may happen when someone comments out configuration items.

Still you may be interested reading the old news of previous builds.

This page was generated January 28, 2010 9:58:54