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.
The files config/configure.lisp
, config/siteinit.lisp
, private-patches/load.lisp
and 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.
The Common Lisp sequence functions are now faster when used with a long list and the :from-end
keyword argument is true.
The parsergen:defparser
macro now allows "combined" rules as a way to group multiple clauses for the same non-terminal.
The function 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.
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.
The function hcl:set-up-profiler
now defaults to monitoring all packages if the :packages
and :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.
The variable hcl:*profile-symbol-list*
is deprecated.
The functions hcl:add-symbol-profiler
and hcl:remove-symbol-profiler
are deprecated. Use hcl:set-up-profiler
instead.
flet
subfunctions now have names like (flet
name)
rather than name. This is consistent with labels
subfunctions.
The :split
keyword argument to hcl:save-image
and 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.
The functions hcl:save-image
and 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.
The :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.
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).
The function lw-ji:get-java-virtual-machine
now returns an existing Java virtual machine if LispWorks already knows about it.
On Windows, calling the function lw-ji:init-java-interface
with :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
.
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.
LispWorks (32-bit) for ARM Linux will now run on multiarch 64-bit ARM (AArch64) installations.
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).
Problems have been fixed with timers and event loop errors when hibernating and waking Macintosh computers while running LispWorks.
The :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.
: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
.
Binary files created with hcl:dump-forms-to-file
or 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 sys:load-data-file
.
LispWorks Release Notes and Installation Guide - 19 Oct 2017