newLISPtm v.8.4.3 Release Notes Februrary 14th, 2005
HighlightsThis is a maintenance release for 8.4.0 containing mainly bugfixes and a complete overhaul of the 'newLISP Manual and Reference'. There is one change for the
argsfunction which might break code for macros for earlier versions of newLISP when using local parameters and the
new or changed functionality description version args
args which previously worked only in macros now also works in user defined functions. The behavior of args has changed: only unbound arguments for which there is now local variable in the macro (or function) are returned in the list by args. This makes changes in existing macros necessary, which specify both, local variables and they use args. Most changes lead to simpler macros or function, because args contains only the list of parameters not assigned to locals. See the manual for examples.
This function can be used to throw user defined errors exceptions working just like built-in error exceptions, they can be caught by catch as an error and with nil return, or be handled by error-event.
Fixes and other changes and addtions
newlisp.jsf is a syntax highlighting file for the Joe editor started by Lucas Wix and now updated and included in the source distribution. It can be found in the doc directory of the source distribution.
newLISP-tk now is wrapped using freewrap 6.0 and Tcl/Tk 8.4.8
Version 1.20 now with changes for new args functionality.
f-probfor calculating probability of F-ration of variances.
Multi line statement tags did not work on version compiled with readline library support.
Many corrections and reformatting, a PDF version of the main manual in better quality.
signon message Fixed sign-on message for newlisp -h, UTF-8 now is part of sig-non message in UTF-8 enabled versions. 8.4.1
newLISPtm v.8.4.0 Release Notes January 18th, 2004
HighlightsThis release adds several improvements and additions in internet related functions and handling of program flow.
Additions and bug fixesOther improvements and bug fixes are listed in the following table:
new or changed functionality
work similar to while and until, but test the condition after evaluation of the body
reads nonblocking (no newline required) keyboard characters, code not working on Mac OSX but all other flavors
now handles Transfer-encoding: chunked correctly
picks an argument at random and evaluates it
the -x command line switch starts newLISP in demon mode with a handler function specified in x-event. <port> is the portnumber newLISP is listening on.
now has an additional syntax with just one argument to write easier returns from functions, loops or blocks, ie:
(catch (dotimes (x 1000) (if (x 500) (throw "fin"))) => "fin"
returns the result or throw argument
command lines starting with ! in interactive mode are executed immedeately as shell commands, i.e: !dir or !ls, there should be no space between ! and the command (not working in newLISP-tk frontend, only shell console)
100% speedup and safe with catch/throw
get-url, post-url, put-url
length of the URL string is now unlimited
BASE64 encoding and decoding
args can take an index argment i.e. (args 0) (args 1) etc. 8.4.0
other additions, changes
set-nth, nth-set, find, parse, regex, replace overall speedup of about 5% by predefining system symbols $0 -> $15, speedup of 80% to 100% in functions using system symbols 8.3.2
XML-RPC scripts for server and client functions where added to the examples and modules directory. See chapter in useres manual for more information.
now reports the platform newLISP is compiled and unning on
gave error when index symbol was protected
when calling unspecified args in userdefined functions a cell leak happened i.e (define (foo a) ...) was called (foo a b c)
would copy built-in symbols when MAIN was source
did not handle default functions without context qualifier
The versions newLISP 8.3.2 to 8.3.6 were released as development versions.
WinCE is still untested and in alpha/development status. The last compiling and linking version of newLISP for the Arm based pocket PV is 8.2.0, the source for 8.4.0 has not been cleaned up yet to compile with the WinCE makefiles.