# newLISP® v.10.6.2 Stable Release 2015-01-20

This stable release adds minor new functionality and fixes bugs.

### Additions and changes

- A new function `(collect exp [int-max-count])` reapeatedly evaluates exp and collects results in a list until evaluation yields `nil` or an optional maximum count of results is collected.
- An addtional syntax of the `reset` function can be used to change the maximum cell count as reported by `sys-info`.
- 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.
- `json-parse` now translates JSON `null` to a symbol `null` in newLISP not `nil` as before.

### 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.
- Fixed multi-line shell mode on Windows when comments are present.

### Compatibility with previous versions

Except for `null` translation in `json-parse`, this version is compatible with the previous version 10.6.0.

∂