All Manuals > LispWorks Release Notes and Installation Guide > 15 Release Notes


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.

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.

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

The 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

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.

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

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.

15.19.8 Deprecated profiler symbols

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.

15.19.9 Naming of flet subfunctions

flet subfunctions now have names like (flet name) rather than name. This is consistent with labels subfunctions.

15.19.10 Saving a split dynamic library on non-Windows platforms

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.

15.19.11 Passing extra linker arguments when making a dynamic library

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.

15.19.12 find-regexp-in-string with :case-sensitive :default

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.

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

The function 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 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 .

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 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

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.

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: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