newLISPtm v.9.2 Release Notes August
15th, 2007
First release with newLISP-GS Graphics Server module
This is the first release integrating the new Java based
graphical user interface (GUI) server into the binary and source
distribution. newLISP-GS was developed as replacement for newLISP-tk.
newLISP now has its own API for building platform independent GUIs
and graphics applications. GS is a Java application functioning as a
network server accepting GUI and 2D graphics commands from newLISP.
The server and many demo programs are packaged together with the
newLISP executable and documentation in the Win32 and Mac OS X binary
distribution. Nothing else needs to be installed . The standard Java
runtime environment is included in all installations of MS Windows
XP/Vista and Apple Mac OS X. A minimum of Java RE version 1.5 is
required.
A newLISP-GS based multi tab editor with syntax highlighting,
parenthesis matching and the possibility of evaluating newLISP code from
inside the editor replaces the old Tcl/Tk based frontend.
On Win32 this new development environment is installed
as a desktop icon and a folder in the Program Start menu.
On Mac OS X an applications package and icon is installed in the
Applications folder. The source
for this program can be found as newlisp-edit.lsp on Win32 in
the C:\Program Files\newlisp directory or as newlisp-edit
installed in /usr/bin on Mac OS X and other UNIX s.
The new way of doing Graphics and GUIs in newLISP offers
more sophistication and capabilities than the previous Tcl/Tk based
approach. The old newlisp-tk.exe Win32 frontend and the Mac OS X and
UNIX newlisp-tk.tcl script can still be used to create
Tcl/Tk based applications.
UTF-16 support for directory and filenames on Win32
Thanks to Michael Sabin for contributing code for reading
and writing directory and file path names in UTF-16 format on Win32
when using the UTF-8 version of newLISP. On Mac OS X this mode is not
necessary as this OS supports UTF-8 file and directory names already.
Callback from xml-parse
The xml-parse function can now specify a
callback function. This makes XML processing more comfortable in
communications situations where XML needs to be processed in
real-time.
UNIX local domain socket support
The network functions net-listen, net-connect,
net-accept, net-select, net-send and
net-receive now support local domain UNIX sockets on Mac OS
X, LINUX and all other UNIX flavors.
New functions:
global? - a property
function checking if a symbol is global.
protected? - property functions checking if a
symbol is protected.
Enhancements to existing functionality:
Better quality of random number generation in rand,
random and normal.
join now can take an extra flag to force a joint string after
the last element.
net-ping now can accept ranges in the lowest
octet, e.g.: 192.168.1.24-92
slice can
specify a negative length, which will be interpreted as offset from
the end of the string or list.
The HTTP_COOKIE environment variable is added when using the
HTTPD server mode of newLISP.
A new module crypto.lsp with md5 and
sha1 hash functions.
The documentation utility newlispdoc now can take
a file with a list of URLs for documenting distributed files
in a central place.
When invoking newlisp from the command line,
files can be spefied as http:// or file:// URLs.
Bug fixes and documentation corrections:
Many
bugs have been fixed in this release stabilizing the many new
features, which were introduced in newLISP version 9.1. For more
detail on bug fixes and other changes see the CHANGES file in the
source distribution of newLISP v.9.2.0 in newlisp-9.2.0/doc/CHANGES.
This file details changes for the development versions between
9.1.0/1 and to 9.2.0.
§