newLISPtm v.8.4.3 Release Notes Februrary 14th, 2005
Highlights
This 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 theargs
function which might break code for macros for earlier versions of newLISP when using local parameters and theargs
function together.
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.
8.4.3
throw-error
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.
8.4.1
Fixes and other changes and addtions
newlisp.jsf
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.
8.4.1
newlisp-tk.exe
newLISP-tk now is wrapped using freewrap 6.0 and Tcl/Tk 8.4.8
8.4.1
newlisp-tk.tcl
Version 1.20 now with changes for new args functionality.
8.4.2
stat.lsp
Added f-prob
for calculating probability of F-ration of variances.
8.4.1
[cmd], [/cmd]
Multi line statement tags did not work on version compiled with readline library support.
8.3.2
newlisp_manual
Many corrections and reformatting, a PDF version of the main manual in better quality.
8.4.3
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
Highlights
This release adds several improvements and additions in internet related functions and handling of program flow.
Additions and bug fixes
Other improvements and bug fixes are listed in the following table:
new or changed functionality
description
version
do-while, do-until
work similar to while and until, but test the condition after evaluation of the body
8.3.2
read-key
reads nonblocking (no newline required) keyboard characters, code not working on Mac OSX but all other flavors
8.3.2.
get-url
now handles Transfer-encoding: chunked correctly
8.3.2
amb
picks an argument at random and evaluates it
8.3.2
-x <port>
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.
8.3.2
catch
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
8.3.3
!
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)
8.3.5
dolist
100% speedup and safe with catch/throw
get-url, post-url, put-url
length of the URL string is now unlimited
8.3.5
base64-enc, base64-dec
BASE64 encoding and decoding
8.3.6
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
xmlrpc-server
xmlrpc.cgi
xmlrpc-client.lsp
XML-RPC scripts for server and client functions where added to the examples and modules directory. See chapter in useres manual for more information.
8.3.6
signon message
now reports the platform newLISP is compiled and unning on
8.3.6
bug fixes
description
nth-set
gave error when index symbol was protected
8.3.2
define
when calling unspecified args in userdefined functions a cell leak happened i.e (define (foo a) ...) was called (foo a b c)
8.3.2
def-new, new
would copy built-in symbols when MAIN was source
8.3.2
debug
did not handle default functions without context qualifier
8.3.2
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.