newLISP v.1.7.5 Stable Release Notes

# newLISP® v.10.7.5 Stable Release 2019-05-12

This stable release fixes bugs and adds some minor functionality.

### Bug fixes

Bug fixes where done in releases 10.7.2, 10.7.3, 10.7.4 and 10.7.5.

- When using `read-line` on files together with other funtions like `read`, `seek` and `search`, file positions are now maintained better.
- Better handling of UTF-16 encoded filenames on MS Windows. Filenames in newLISP UTF-8 versions should be given encoded in UTF-8 but will be correctly encoded to UTF-16 format on Windows. When reading from the Windows file system, they will be correctly translated to UTF-8.
- Fixed a wrong "symbol protected" message when a protected symbol is part of a nested espression, but not a symbol with its content to be modified.
- Fixed a flushing problem on `print` to stdout on macOS and other BSDs.
- `(trim str)` on some strings containing `0`'s would overrun memory and `0`'s where not trimmed from the left. All characters less than space (32) should be trimmed from both ends of the string buffer. When the entire string is valid ASCII or UTF-8 with no `0`'s, `trim` behaves like in older versions.
- `(rotate theList -offsetOfRotation)` did not return the correct original list when `offsetOfRotation` was equal to the length of the list to rotate.
- Some list comparisons would ignore trailing `nil`'s in lists, which would lead to wrong results.

### New Features

New features where added in development releases 10.7.3 and 10.7.4.

- Supress loading of startup file `init.lsp` when `-h` option is present. In older versions only the `-n` and `-x` options supressed `init.lsp`.
- `(read-key true)` with the `true` parameter is now non-blocking.
- When starting newlisp in `-http-safe` server mode HTTP_PUT and HTTP_DELETE requests will not be served. This will cause `write-file` and `delete-file` in url syntax and `put-url` and `delete-url` functions issued from a newLISP client to return the text message "Server in safe mode".
- The environment variable REQUEST_URI is now defined when newLISP is run in webserver mode.

### Compatibility with previous versions

This version is compatible with the previous versions in the 10.7.x series.

∂