newLISP® v.10.6.1 Development Release
2014-9-16
This development release adds minor new functionality and fixes bugs.
Additions and changes
- A new function (collect exp) reapeatedly evaluates exp
and collects results in a list until evaluation yields nil.
- Some PCRE regular expression options can now be given as either numbers or letters.
Multiple letter optiosn can be combined in a string. This affects all functions using
regular expressions. See the regex function for details.
- The regex function now gives offset and length in number of UTF-8 characters
when PCRE UTF8 option 2048 or "u" is specified.
- A second syntax pattern for copy allows copying a newLISP cell from
a memory address. This is useful when interfacing with C-language code.
- The get-string function now takes one or two additional optional
parameters for two new syntax patterns. The new patterns allow creating string buffers
from memory address locations limited by size or a limit string. Using special limit
strings, UTF16 and UTF32 strings of unknown size can be copied. This is useful
when interfacing with C-language code.
- The macro? predicate now also can be used on symbols to test if a symbol
was created using the macro function.
- A wrong UDP option in net-connect or net-listen will now throw
an error message. Previously wrong UDP options were ignored.
Bug fixes
- rotate on a (copy str) expression corrupted memory.
- The flt function now returns an unsigned integer on all platforms.
Previusly on 32-bit versions a signed integer was returned.
- The crc32 function will not sign-extend on 32-bit newLISP.
- The protected? function did not recognize macro symbols
as protected.
Compatibility with previous versions
This version is compatible with the previous version 10.6.0.
∂