newLISPtm v.8.1.0-4 Release Notes August 10-21, 2004


Highlights

This is the first version UNICODE enabled oversion of newLISP which can be compiled for UTF-8 in both, the Win32 and Linux/UNIX versions. Relevant string functions now treat multibyte character strings correctly. See the manual chapter Customization, localization and UTF-8 for details.

The possibility to compile a newLISP shared library for Linux  has been added. Now newLISP can be called from other applications by importing it as a library. See the manual chapter Shared library module for Linux/BSD versions for details

More functions for programming in the UDP internet protocol have been added. Until now only short, closed transactions where possible using UDP. Now UDP can be programmed similar to TCP with non-blocking communications.

MinGW is now the default compiler for the Win32 binary distribution. This also made the pipe function work correctly on Win32 and will also cause the Linux/UNIX and Win32 versions to come closer in source code over time. Both compile flavors now use the GNU gcc compiler.

Some functions which have improved replacements or functional equivalents are marked as deprecated and will be completely eliminated in a future versions. See the chapter Deprecated functions in the manual.

newLISP v 8.1.1-4 are a bug fix releases on August 13th, 14th, 18th and 21st, 2004

Pocket PC
Luis Carvalho (thanks) ported newLISP to the Pocket PC, see makefile_wince. This is not fully testet yet, needs pocketgcc from http://mamaich.kasone.com/fr_pocket.htm
8.1.4
get-url
did not work on some SOLARIS installations
8.1.3
make install_home
install mode for installing in a users home directory without root/superuser permissions in $HOME/bin and $HOME/share on Linux/Unix installations (thanks Nigel)
8.1.2
expand
new function for variable expansion in lists and nested lists
8.1.2
search
crashed on a bad file handle
8.1.2
net-receive-udp
the timeout parameter was not working
8.1.1
sleep
on system with onl 1sec reolution milli seconds are rounded to the nearest second
8.1.1

Credits

Like in previous releases many of the improvements in functions and new functions and bug fixes where prompted by users on the newLISP dicussion board. Many thanks to everybody for participating in this effort.  Only through user input and contributions newLISP can stay current and adapt to the ever changing requirements in software development.

Bug fixes and other improvements

Other improvements and bug fixes are listed in the following table:

topic/functions
description
version
dup
This function is used to generate lists or strings of repeated elements
8.1.0
net-receive-from
This new function can be used for TCP and UDP communications and together with net-select or net-peek
8.1.0
net-send-to
This new function can be used for TCP and UDP communications 8.1.0
net-listen
Now as an optional parameter "udp" for creating a UDP socket bound to a specific address for the local receiving side.
8.1.0
net-connect
Now as an optional parameter "udp" for creating a UDP socket bound to a specific address for the remote target side. (was present in older versions but not documented)
8.1.0
net-receive-udp
can take an additional timeout parameter, now can work on a specific interface card (this was documented , but not working)
8.1.0
trim
Can now take an optional second parameter to trim left and/right with different characters (UTF8 enabled on UTF-8 versions)
8.1.0
source
Now also can take context symbols as parameter
8.1.0
net-sessions
Now also includes client connection sockets in -p and -d modes
8.1.0
parsing of octal numbers
090 now gets broken up into "0" and "90" by the parser, before the token was left intact but interpreted as the number zero.
8.1.0
-d mode
Was fixed from crashing sometimes under Linux when reconnecting, now will perform a reset when reconnecting. On Slackware newLISP will still not maintain -d mode when the client exits, but Debian Linux, Mandrake Linux and FreeBSD work Ok.
8.1.0
-c mode
This commandline option suppresses the prompt, banner and listening, connection messages (if no logging is specified). This option was added for easier operation of newLISP via other software when in -p and -d modes.
8.1.0
make uninstall
New makefile option for uninstalling newLISP versions installed with make install
8.1.0
print println in Win32 DLL
Now will consistenly have their output in newlispEvalStr call results
8.1.0
newlispEvalStr dllEvalStr
newlispEvalStr replaces the dllEvalStr for compatibility with the new Lunux/UNIX shared library, dllEvalStr will still work but will be eliminated in a future version
8.1.0
error messages
An improvement for error mesages of  missing parenthesis
8.1.0
newlisp.vim
A user contributed VIM editor syntax file was added to the source distrubution and is maintained by http://www.geocities.com/excaliborus 8.1.0
udp-server.lsp and udp-client.lsp
Two new example programs to demo the new non-blocking style of UDP communications are included in the examoples directory
8.1.0
nodes.lsp
new module in the modules directory for using newLISP on Linux cluster insdtallations or any other computing architecture, which atomatically can distribute processes to other CPU's. The routines used in the module can also be used for creating parallel newLISP processes on one-CPU architectures.

Because of newLISP's small memory foot print hundreds of newLISP processes can be hosted by the same CPU and memory
8.1.0
Mac OSX dylib interface
Merged bug fixes from Peter O'Gorman's dlcompat library interface code as of CVS 2004-07-12
8.1.0
sys-info
Version numbering has been changed: 64 (but 6) will be added if compiled as a library and the highest bit 7 will be added (128) for UTF-8 enabled versions
8.1.0
examples modules
New versions of several modules and examples to account for change in sys-info
8.1.0
HTML help links
HTML local links to newISP functions in the manual are now consistenly named correctly for use in help utilities composing the link from the function  name.
8.1.0