newLISP® v.10.3 Release Notes
rev 2010-10-01
This release starts the transition to the IPv6 – Internet Protocol version 6 –
based Internet, introduces a better command-line mode (REPL), adds some minor new
functionality and fixes miscellaneous bugs.
New Functions and Features
- ! now has an optional process-creation parameter on MS
Windows. Using this parameter also suppresses creation of console windows.
- exec now allows binary zeros in the data piped in via a second
parameter.
- New date-list returns list of year, month, day, hours, minutes, seconds
and day of the year, day of the week from time value in seconds since
January 1st, 1970 (reverse of date-value). The new function is the inverse
of date-value.
- New net-ipv switches betweeen IPv4 and IPv6 internet protocols during
runtime. Prior versions had to be compiled for either IPv4 or IPv6. As of today
IPv6 is not widely deployed, but will gain importance during the coming years.
A command line switch -6 has been added to start up newLISP in IPv6
mode.
- New multiline mode on the commandline, without using the [cmd]
and [/cmd] tags: just hitting the enter-key on an empty line gets
into and out of multiline mode. The [cmd] and [/cmd] tags
still work too and are needed internally when newLISP is working in server mode,
for some programming environments interfacing with newLISP and when pasting
source containing empty lines into the terminal.
Tab-expansion (on Unix only) for built-in function names also works in
multiline mode. Multiline entry mode does not work in the Java based console
of newLISP-GS.
A chapter explaining more details of the interactive Lisp mode in newLISP has
been added to the Users Manual.
Other changes and additions
- The week-day value in the returned list of now – also present
in the new date-list function – has been changed to conform to
the ISO-8601 international standard for time and date related data. Week days
from Monday thru Sunday now number 1 to 7.
- The parse-date function has been renamed to date-parse
for better consistency of naming in the date functions API with functions
date-list and date-value. The old spelling
will still work but is not documented anymore.
- The maximum length for the interactive command-line and lines in HTTP
request headers has been increased to 511 charcters, up from 254.
- The default connection timeout for networks functions now is set to 10 secs,
up from 3 secs. This always can be overwritten by timeout parameters in
net-connect and HTTP web functions which take timeout parameters.
- win32demo.lsp shows how to interface with Win32 GUI libraries.
the file is available in the examples directory of the newLISP
source distribution. Thanks to Cyril Slobin for providing this example.
- A table widget gs:table and supporting functions has been added
to the Java based newLISP-GS guiserver. See the new demo file table-demo.lsp
for details.
- The gs:text-field widget in the newLISP-GS guiserver can now be
configured as a password entry widget. The file textfield-demo.lsp
has been added to the demo files accessible from the newLISP-GS IDE.
- syntax.cgi now emits a bigger font for iPad and iPhone.
- All HTML files shipped in the doc directory of the source distribution
are now UTF-8, XHTML 1.0 compliant.
Bug fixes
- Support for UTF-8 is improved in the newLISP-GS, Java GUI server. Japanese
language characters from Windows Code Page MS392 are now displayed correctly in
all circumstances. For UTF-8 support, the UTF-8 version of the newlisp.exe
executable must be installed. It is available in
www.newlisp.org/downloads/UTF-8_win32/
directory.
- copy and map passed on a wrong protection status under some
circumstances.
- title-case did not handle the boolean flag correctly on non-utf8
versions.
- Various fixes for the IPv6 internet protocol mode.
Compatibility with previous release
- With exception of the now function with different numbering for
the week-day field, all code running on the last stable release 10.2.8 should
also run on 10.3 with no changes.
∂