LispWorks Patch Release 8.1.1 Copyright (c) 2025 LispWorks Ltd. All rights reserved. See PATCH INSTALLATION INSTRUCTIONS below for installation instructions. This patch release includes most of the private patches issued for LispWorks 8.1 from March 3, 2025 to July 14, 2025. CHANGES IN VERSION 8.1.1 CAPI Improve gp:make-image-from-port. Make Ctrl-n/Ctrl-p in non-focus lists behave like up/down arrows. (Lisp Support Call #43485) Prevent error for input file name with unknown user name. CAPI/WIN32 Make smooth scrolling work in the Editor. (Lisp Support Call #43499) CAPI/COCOA Prevent error when using cached display on editor-pane. (Lisp Support Call #43486) Fix ABORT-DIALOG and EXIT-DIALOG on Cocoa in a nested dialog displayed inside WITH-DIALOG-RESULTS. Also fixes the Preferences > Stepper > Operators > Edit... dialog in the LispWorks IDE. Added missing Objective-C templates found by running the IDE. (Lisp Support Call #43488) Prevent warnings about invoking Objective-C methods "Editor Command Loop" process when using editor floaters. (Lisp Support Call #43542) Prevent infinite 'recursion' when selecting in capi:text-input-choice, such as the Find Source dropdown in the IDE. (Lisp Support Call #43483) (Lisp Support Call #43498) (Lisp Support Call #43549) Fix the title in the title-changed-callback of browser-pane. CAPI/GTK+ Improve scrolling of the Editor in GTK3. (Lisp Support Call #43487) (Lisp Support Call #43490) (Lisp Support Call #43524) Better display on scaled monitors. (Lisp Support Call #43534) Fix gp:get-string-extent. (Lisp Support Call #43547) Fix error looking up icons on some versions of GTK. Improve detection of dark mode. (Lisp Support Call #43540) Fix computation of minimum height of multi-column-list-panel. (Lisp Support Call #43494) Fix the width computation of multi-column-list-panel. (Lisp Support Call #43496) Fix the behaviour of the mousewheel over the scrollbar in GTK3. Fix drawing of pinboard-layout on GTK3. Fix display inside tab-layout after switching tabs. (Lisp Support Call #43525) Restore the display of cursor in the editor after dragging the scrollbar. (Lisp Support Call #43487) (Lisp Support Call #43524) EDITOR Provide default key bindings for the Enter key on the numeric pad on Windows. (Lisp Support Call #43484) Fix errors during non-focus completion. (Lisp Support Call #43485) Fix behaviour of virtual strings. (Lisp Support Call #43472) SYSTEM Force splitting saved huge images on Windows to allow them to start without errors. (Lisp Support Call #43550) COMPILER Fix internal errors with *cg-allocating-on-stack*. IDE Make the cursor in the editor inactive while using the echo area. Prevent deadlock/hanging when inspecting an object from the Listener. (Lisp Support Call #43537) Prevent errors in the interface builder. (Lisp Support Call #43495) DELIVERY Fix an error when using :keep-load-function :full and :packages-to-keep :all. (Lisp Support Call #43544) COM/AUTOMATION Fix situations where an interface in a midl file follows its parent but precedes its grandparent. COMM Fix incorrect error reporting when using OpenSSL 3. (Lisp Support Call #43493) Use latest OpenSSL libraries on macOS 15. Fix parsing of IPv6 addresses. (Lisp Support Call #43506) NOTES Issues marked (Lisp Support Call #x) have been previously reported in a support call with that cookie in the email subject line. For a description of the changes in version 8.1.0 please refer to the Release Notes distributed with the product in the Release Notes and Installation Guide manual. PATCHES IN 8.1.1 These are the filenames of the private patches added in version 8.1.1: cairo-surface-get-device-scale.lisp cg-multiple-value-call-inline-lambda.lisp check-draw-cursor.lisp check-ssl-error.lisp cocoa-menu-allows-plugins.lisp darwin-find-openssl-library-path.lisp delivery-fasl-actions-internal.lisp device-scale.lisp finalize-idl-interfaces.lisp find-font-device.lisp get-character-width-height-direction.lisp get-stock-pixbuf.lisp gsetting-dark-mode-p.lisp g-settings-schema.lisp internal-current-dialog.lisp internal-parse-setting.lisp ipv6-contraction.lisp kp-enter-key-bindings.lisp list-panel-check-height-and-invalidate.lisp macos-report-socket-connection-error.lisp make-image-from-port.lisp marked-object-action-callback.lisp maybe-force-split-executable.lisp menu-allows-plugins.lisp mousewheel-over-scroll-bar.lisp non-focus-arg-find-x-end.lisp non-focus-list-control-np.lisp output-pane-representation-fill-with-pixmap.lisp pane-scroll-bar-pressed.lisp patch-level-1.lisp precompiled-templates-capi-cocoa.lisp report-socket-connection-error.lisp reposition-standard-editor-completer.lisp representation-wait-for-plausible-size.lisp reset-list-panel-column-widths.lisp scroll-bar-button-changed.lisp setf-current-pane.lisp text-input-choice-callback.lisp text-input-pane-file-completion-prepare.lisp update-switchable-layout-visible-child.lisp virtual-string-cursor.lisp webview-did-receieve-title.lisp window-reset-drag-scroll.lisp wm-mousewheel.lisp There are also patches in the itself sequence which simply define patch sequences; there are not listed above, because they are not interesting. PATCH INSTALLATION INSTRUCTIONS LISPWORKS FOR MACINTOSH Run the pkg file 'LispWorksPatches81-64bit-bundle1_Installer.pkg'. Install the patches in the same location where LispWorks 8.1 is already installed. If the LispWorks installation is not found, patches are not installed. Choose the "Install" option when prompted. The installer will add files to the patches subdirectory. Unlike previous versions, it will not update the CFBundleVersion in the LispWorks application bundle. Run LispWorks and select About LispWorks from the LispWorks menu to find check the version number. Uninstalling LispWorks will also uninstall the patches. There is no way to uninstall the patches separately from uninstalling LispWorks. LISPWORKS FOR WINDOWS Run LispWorks811Patches-32bit.exe or LispWorks811Patches-64bit.exe (as appropriate) and follow the on-screen instructions. This will add files to the patches subdirectory. The Windows Control Panel option Programs and Features > View installed updates will show "LispWorks 8.1.1" if these patches are installed. On Windows 10, the Settings option "Apps and features" will show "8.1.1" after you click on the LispWorks 8.1 item. Removing this update uninstalls only the patches, restoring LispWorks to version 8.1.0. Removing this update will not remove any named patches that you have installed "by hand" in the private-patches directory. LISPWORKS FOR LINUX Download either the RPM file (x86 and x86_64 only) or the tar archive; you don't need both. * Patch Installation on Linux from the binary RPM file Please refer to the LispWorks Release Notes and Installation Guide for information about using RPM. The distribution files are also provided in tar format in case you do not have a suitable version of RPM or are using another distribution of Linux. Installation of LispWorks patch bundles from the RPM file must be done as root. You need to install patches in the same location as you installed LispWorks. By default LispWorks Professional/Enterprise is installed in /usr/lib/LispWorks (for 32-bit LispWorks) or /usr/lib64/LispWorks (for 64-bit LispWorks). If you installed LispWorks here, then install the patches in the standard RPM way: rpm -Uh lispworks-patches8.1-8.1.1-1.i386.rpm or rpm -Uh lispworks-patches8.1-8.1.1-1.x86_64.rpm as appropriate. If you installed LispWorks in another directory, /usr/lisp for example, then use --prefix to relocate the patches to that directory, for example: rpm -Uh --prefix /usr/lisp lispworks-patches8.1-8.1.1-1.i386.rpm The directory name must be an absolute pathname. Relative pathnames and pathnames including shell-expanded characters such as . and ~ do not work. If you need to uninstall the patches, this would be done (again as root) by: rpm -e lispworks-patches8.1 Uninstalling this patch release will downgrade LispWorks to version 8.1.0, and will not remove any named patches that you have installed in the private-patches directory. * Patch Installation on Linux from the tar archive Installation of LispWorks patch bundles from the tar archive must be done as root. You need to install patches in the same location as you installed LispWorks. By default tar installations of LispWorks are in /usr/local/lib/LispWorks or /usr/local/lib64/LispWorks. The names of the patch tar archives are: lw81-patches1-x86-linux.tar.gz (for 32-bit x86) lw81-patches1-amd64-linux.tar.gz (for 64-bit x86_64) lw81-patches1-arm-linux.tar.gz (for 32-bit ARM) lw81-patches1-arm64-linux.tar.gz (for 64-bit ARM) For example: cd /usr/local/lib/LispWorks # or your installation directory gzip -d lw81-patches1-x86-linux.tar.gz tar xof lw81-patches1-x86-linux.tar LISPWORKS FOR X86/X64 SOLARIS The patches are supplied as a standard package file, which has a different name from the LispWorks release package. The patch package depends on the LispWorks release package, which must be installed first. To install the patch package, do one of the following as appropriate: pkgadd -d LispWorksPatches81-32bit-bundle1 all pkgadd -d LispWorksPatches81-64bit-bundle1 all To uninstall the patch package, do one of the following as appropriate: pkgrm -n LispWorksPatches81-32bit pkgrm -n LispWorksPatches81-64bit LISPWORKS FOR FREEBSD The patches are supplied as a standard package file, in pkg(8) format and has a different name from the LispWorks release package. The patch package depends on the LispWorks release package, which must be installed first. Login as root to perform the operations below. To upgrade from version 8.1.0, do: pkg add lispworks81-patches-32bit-8.1.1.pkg or pkg add lispworks81-patches-64bit-8.1.1.pkg If you have the 8.1.0 patch package installed already, then upgrade using: pkg upgrade lispworks81-patches-32bit-8.1.1.pkg or pkg upgrade lispworks81-patches-64bit-8.1.1.pkg To uninstall these patches, do: pkg delete lispworks81-patches-32bit or pkg delete lispworks81-patches-64bit LISPWORKS FOR ANDROID LispWorks for Android is installed by default in $HOME/lw-android although it is possible to install it elsewhere. You need to install patches in the same location as you installed LispWorks. For example: cd $HOME/lw-android # or your installation directory gzip -d < lw81-patches1-android.tar.gz | tar xof - LISPWORKS FOR IOS LispWorks for iOS is installed by default in $HOME/lw-ios although it is possible to install it elsewhere. You need to install patches in the same location as you installed LispWorks. For example: cd $HOME/lw-ios # or your installation directory gzip -d < lw81-patches1-ios.tar.gz | tar xof - LISPWORKS (ALL PLATFORMS) After installing the new patches, you will need to restart LispWorks. You can check if the patches have been loaded by this call: (LISP-IMPLEMENTATION-VERSION) => "8.1.1" This version number appears in Help > About window (or its title) on Windows, GTK+ and Motif platforms and the LispWorks > About LispWorks window on macOS. The version number also appears in the Podium Window of the LispWorks IDE on Windows, GTK+ and Motif platforms. If you wish you can save an image containing the new patches, either by saving an image explicitly or by creating a Saved Session. See "Customization of LispWorks" in the LispWorks User Guide and Reference Manual for details. LispWorks will start faster when patches are preloaded, though this difference is small on modern machines.