15.19 Other changes
15.19.1 ensure-process-cleanup in foreign threads
If the function
mp:ensure-process-cleanup is called on a foreign thread, the cleanups are now executed after the outermost foreign-callable returns and before return to the foreign code that called it (that is when no Lisp frames remain on the stack).
In LispWorks 7.0 and earlier versions, such a cleanup would never be executed.
15.19.2 Configuration files now explicitly qualify LW and HCL symbols.
config/a-dot-lispworks.lisp now explicitly qualify LW and HCL symbols to allows these files to load even if you change the package use list of CL-USER or copy the forms into other files.
15.19.3 Improved performance of sequence functions with :from-end
The Common Lisp sequence functions are now faster when used with a long list and the
:from-end keyword argument is true.
15.19.4 defparser combined rules
parsergen:defparser macro now allows "combined" rules as a way to group multiple clauses for the same non-terminal.
15.19.5 async-io-state-read-with-checking now resets the old length to 0
comm:async-io-state-read-with-checking now resets the old length to 0, so the function
comm:async-io-state-old-length returns 0 in the first invocation of callback.
15.19.6 Profiling new processes
The profiler can now be configured to profile processes that start after the call to
hcl:start-profiling by using the
:new value for the
:processes keyword argument.
15.19.7 The profiler now defaults to monitoring all packages
hcl:set-up-profiler now defaults to monitoring all packages if the
:symbols keywords are not supplied.
In addition, if the profiler is invoked before any call to
hcl:set-up-profiler, it calls
hcl:set-up-profiler implicitly without any arguments, so will monitor all packages.
15.19.8 Deprecated profiler symbols
hcl:*profile-symbol-list* is deprecated.
hcl:remove-symbol-profiler are deprecated. Use
15.19.9 Naming of flet subfunctions
flet subfunctions now have names like
) rather than name. This is consistent with
15.19.10 Saving a split dynamic library on non-Windows platforms
:split keyword argument to
lw:deliver now works for a Lisp dynamic library on all platforms (previously it only worked on Microsoft Windows). Using
:split :resources for a dynamic library on Mac OS X create a Resources directory adjacent to the dynamic library, as in a framework bundle.
15.19.11 Passing extra linker arguments when making a dynamic library
lw:deliver now have a keyword argument
:dll-extra-link-options, which allows extra arguments to be passed to the linker when making a dynamic library. This option has existed since LispWorks 6.0 but has not been documented until now.
15.19.12 find-regexp-in-string with :case-sensitive :default
:case-sensitive keyword argument to
lw:find-regexp-in-string now defaults to
nil and is treated purely as a generalized boolean. In previous releases, the value
:default was documented as depending on the Editor variable
DEFAULT-SEARCH-KIND, but this was incorrect.
15.19.13 Reduced memory allocation on Unix platforms with large RLIMIT_NOFILE
LispWorks now uses less memory when waiting for I/O on Unix platforms when the
RLIMIT_NOFILE resource limit is large (for example 65536 on Linux Debian 8.3).
15.19.14 lw-ji:get-java-virtual-machine can return an existing JVM
lw-ji:get-java-virtual-machine now returns an existing Java virtual machine if LispWorks already knows about it.
15.19.15 The default JVM library on Windows
On Windows, calling the function
:jvm-library-path t now checks the registry for the location of the JVM library, using the keys that Oracle document in
Java 2 Runtime Environment for Microsoft Windows
15.19.16 cl:software-version now detects Windows 10
The string returned by
cl:software-version now includes the text "Windows 10" when running on Microsoft Windows 10. Prior to LispWorks 7.1, the description begins with "Windows 8" when running on Windows 10.
15.19.17 Running 32-bit ARM Linux LispWorks on 64-bit ARM Linux
LispWorks (32-bit) for ARM Linux will now run on multiarch 64-bit ARM (AArch64) installations.
15.19.18 LispWorks for Linux on some Intel CPUs
A segmentation violation in
libpthread.so has been fixed when running LispWorks for Linux on certain newer Intel CPUs (those that support the TSX extensions such as Broadwell-EP) and running newer versions of Linux that use them (such as Debian Jessie).
15.19.19 Hibernation on Macintosh computers
Problems have been fixed with timers and event loop errors when hibernating and waking Macintosh computers while running LispWorks.
15.19.20 dbg:log-bug-form message-stream has a different default
:message-stream keyword argument to the function
dbg:log-bug-form now defaults to the value of
cl:*error-output*. In LispWorks 7.0 and earlier, it defaulted to the value of
cl:*debug-io*, but this was not documented.
15.19.21 Various Code Coverage bug fixes
Various bugs have been fixed in Code Coverage interface.
15.19.22 Changes in *features*
:lispworks7.1 is present,
:lispworks7.0 is not.
For a full description including information about the features used to distinguish new LispWorks implementations and platforms, see the entry for
cl:*features* in the
LispWorks User Guide and Reference Manual
15.19.23 ASDF version
The supplied ASDF is now version 3.3.0.
15.19.24 Loading old data files
Binary files created with
hcl:with-output-to-fasl-file in LispWorks 7.0, LispWorks 6.1, LispWorks 6.0, LispWorks 5.x, LispWorks 4.4 or LispWorks 4.3 can be loaded into LispWorks 7.1 using
LispWorks Release Notes and Installation Guide - 19 Oct 2017