What is new in ScriptBasic v1.0build19

[forum ]
[Win98 Setup Bug]
RedHat RPM packages are available

PATCH 10b19p2 should solve the segfault issue when no configuration file is present. Download the kit, install it and then download this patch and replace the original files with the ones included in the ZIP. On UNIX do not forget to convert the CR/LF to LF and do not use the Win32 EXE files.

We compiled ScriptBasic using gcc version 2.95.2 20000313 (Debian GNU/Linux) with no problem. However some users using RedHat Linux reported compilation problem. This is most probably caused by the fact that some of the C programs contain CR/LF line separators. Convert them to normal UNIX LF characters and try to compile again. We try to locate the issue and release a new build soon.


    The major change from buil18 to 19 is the configuration file format. The old configuration file is very simple and the new features could not fit into the structure. The new configuration file handling module handles structured configuration keys that will result higher freedom for module developers and also will reduce key name conflicts.

    The bad news is that you have to upgrade your old configuration file manually.

    The module handles binary configuration files. This is good and bad at the same time. On one hand the configuration file processing taking place before starting the ScriptBasic interpreter is much faster. This is a great speed-up for CGI programs. On the other hand you have to compile your configuration file using the configuration file compiler (delivered with ScriptBasic). We are sure that many time you will just edit the text file and forget to recompile it. Sorry. We are sure that the compiled binary format fast loading pays back.


    There is a function PACK and a command UNPACK implemented. These command implements a functionality similar to Perl pack and unpack although much simpler. If you have special requests these commands can be extended with further formatting characters.


    The next build will let you write:

    a{"help"} = 123


    a{143.12} = 123

    or even

    a{undef} =66

    This is a simple implementation of associative array handling. Note that the implementation is simple, and is not a high performance hash handling mechanism. For large hashes you still have to use the hash module. But it eases life in case you need something like an array.

    We further work on issues that are not implemented in the current version like a[13]{"key"} constructs.

  • Berkeley DB new version

    The new Berkeley DB released by Sleepy Cat is incorporated into the DB module of ScriptBasic. Older builds of ScriptBasic will not support this or later version of Berkeley DB and this and later builds of ScriptBasic will not support older Berkeley DB versions.


    There are some bugs in build18. For example:

    sub q(f)
    for f=1 to 10
    ' do nothing
    next f
    end sub
    will just print 100 in build18, because the implicit assignment in the "for" loop did not care the variable as passed by reference.


    There are some developments in some modules that have no effect in ScriptBasic. This is the memory handling module that can now be used in a multi-thread program where the same memory segment is used for allocation concurrently. ScriptBasic does not use this feature.


    The myalloc.c module has a bug that prevents its usage in a real multithread environment. It does not effect ScriptBasic.

Report of any other bug is appreciated.

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