LispWorks Patch Release 6.1.1 Copyright (c) 2012 LispWorks Ltd. All rights reserved. See below for installation instructions. CHANGES IN VERSION 6.1.1 This patch release includes most of the private patches issued for LispWorks 6.1 from November 8, 2011 to September 25, 2012. CAPI Allow setting EDITOR-PANE-WRAP-STYLE before the CAPI:EDITOR-PANE is displayed. (Lisp Support Call #38816) Fix errors in prompters with lists and buttons. (Lisp Support Call #38913) CAPI/WIN32 Fix a memory leak when using pixmap ports. (Lisp Support Call #38871) On Windows XP, ensure that the file dialog appears on the same monitor as its owner. (Lisp Support call #38948) Fix the drawing of dashed lines in :QUALITY mode. (Lisp Support Call #38995) Fix drawing-mode :QUALITY to take account of redefined font aliases. Fix errors in an interface that has nothing except empty menus. (Lisp Support Call #38911) Fix positioning of windows that were maximized when quitting. (Lisp Support Call #38943) Guard against rare arithmetic-type-error in scrolling. (Lisp Support Call #39036) Fix cases when the tooltips do not appear in CAPI:OUTPUT-PANE and subclasses. (Lisp Support Call #38100) Cope with calls to CAPI:SET-PANE-FOCUS before the interface is created. (Lisp Support Call #38850) CAPI/COCOA Ensure that the SELECTION-CALLBACK works in CAPI:OPTION-PANE. (Lisp Support Call #38791) Generate :KEY :PRESS Input Model callbacks for Control key presses. (Lisp Support Call #38973) Fix missing class LWScroller in delivered applications on Mac OS X 10.7. (Lisp Support Call #38903) Fix multiple selection in lists with INTERACTION :EXTENDED-SELECTION. (Lisp Support Call #39001) Fix warning about missing REPRESENTATION-DEFAULT-FOREGROUND method. (Lisp Support Call #38803) Make CAPI:PANE-INTERFACE-COPY-OBJECT work on CAPI:OUTPUT-PANE. (Lisp Support Call #38932) Prevent errors "Invoking a method Screen on a null pointer." (Lisp Support Call #38885) CAPI/GTK+ Prevent errors while destroying interfaces. Fix geometry saving and reading for maximized windows. (Lisp Support Call #38959) EDITOR Rename EDITOR:APPEND-FILE as EDITOR:APPEND-REGION-TO-FILE to avoid clash with LISPWORKS:APPEND-FILE. SYSTEM Fix CONDITIONS::SIGNAL-HANDLER-ERROR when generating bug report backtraces (e.g. :bug-form) in delivered applications. Fix a rare bug that causes crashes in HASH-TABLE code. (Lisp Support Call #38767) Prevent SYS:CALL-SYSTEM from hanging if called immediately after START-TTY-LISTENER on Mac OS X. (Lisp Support Call #38924) Speed up LISPWORKS:COPY-FILE on Mac OS X. Make LISPWORKS:APPEND-FILE work on all platforms. In 64-bit LispWorks, fix FIND-OBJECT-SIZE on an immediate object. (Lisp Support Call #38939) In 32-bit LispWorks, fix the GC to deal properly with extremely large functions. (Lisp Support Call #38934) In 64-bit LispWorks, handle correctly pointers in arrays that are close to 4GB, and also very large hash tables. (Lisp Support Call #38935) Prevent losing interrupts. (Lisp Support Call #38924) COMPILER Fix 'Bad UNWIND-PROTECT cleanup' error in some cases when a LET that binds a special is the body of an UNWIND-PROTECT. Prevent crashes when QuickLisp is compiled at debug level 3. (Lisp Support Call #38825) In 64-bit LispWorks, prevent rare GC errors in optimized arithmetic. Fix error 'No applicable methods for ... COMPILER::CG ... with args (#)' during compilation at debug level 3. (Lisp Support Call #38823) Generate checking code for accessing SPECIAL-DYNAMIC in high safety in non-SMP LispWorks. MULTIPROCESSING Fix some errors in non-SMP LispWorks. Fix potential inefficiency of multiprocessing on PowerPC Macs. IDE Prevent crashes seen when switching to the Code tab in the Interface Builder tool. (Lisp Support Call #38890) Prevent an exception when performing action in Buffers tab of the Editor tool. (Lisp Support Call #39037) Ensure that the screen is updated after doing Clear Output in the Application Builder tool. (Lisp Support Call #38783) On Windows with the "Separate windows sharing a menu bar" option, record Podium preferences correctly. (Lisp Support Call #38910) COMM Fix COMM:GET-HOST-ENTRY calls on FreeBSD with :ADDRCONFIG (Lisp Support Call #38984) Fix COMM:OPEN-TCP-STREAM when :LOCAL-PORT is non-nil and :LOCAL-ADDRESS is nil. Bug was found while testing CL-SMTP:SEND-EMAIL. Fix SYS:WAIT-FOR-INPUT-STREAMS(-RETURNING-FIRST) on some sockets. (Lisp Support Call #38800) COMMON SQL Fix problems with finding the types of Oracle columns. Fix listing of attributes on linked tables. (Lisp Support Call #38996) LISPWORKS ORB Allow not using fragments when sending large buffers, for use in cases where the destination ORB does not accept them. (Lisp Support Call #38830). 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 6.1.0 please refer to the Release Notes distributed with the product in the Installation Guide and Release Notes manual. PATCHES IN THIS RELEASE These are the filenames of the private patches added in version 6.1.1: addrconfig.lisp alloc-three.lisp append-region-to-file.lisp bind-socket-to-address-and-port.lisp bug-backtrace.lisp cg-application-lambda-node.lisp cg-symbol-function.lisp check-draw-cursor.lisp check-in-make-bignum-result-type.lisp comboboxselectiondidchange.lisp connect-sockterm.lisp convert-color-user-color-on-color-user.lisp copy-file.lisp destroyed-loop-process-events.lisp display-representation.lisp editor-buffers-list-action-callback.lisp editor-pane-force-redisplay.lisp execute-with-interface-event.lisp file-dialog-placement.lisp find-confirmer-choice.lisp find-object-size.lisp function-at-address-no-error.lisp gdip-dash.lisp gdip-update-font-state.lisp get-oci-attr-precision.lisp handle-key-down-with-modifiers.lisp initial-object-ids-table.lisp insert-into-segment-pointer-table.lisp keep-lw-scroller.lisp lispworks-product-end-year.lisp list-oci-attributes.lisp maximized-saved-geometry.lisp multiple-value-prog1-node-transform.lisp ns-index-set-templates.lisp object-wait-handle.lisp patch-level-1.lisp protocol-supports-fragments-never.lisp read-special-var.lisp redisplay-window.lisp representation-default-background.lisp representation-do-operation.lisp resume-process.lisp screen-representation-internal-geometry.lisp scroll-message.lisp sdi-podium-path-prefix.lisp set-positioned-tooltip-state.lisp set-representation-focus.lisp stop-quantum.lisp top-level-internal.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 Installers for 32-bit LispWorks are found under macos. Installers for 64-bit LispWorks are found under macos64. Mount the disk image 'LispWorks611Patches-32bit.dmg' or 'LispWorks611Patches-64bit.dmg', as appropriate. Run the installer. Install the patches in the same location where LispWorks 6.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. It will also update the CFBundleVersion in the LispWorks application bundle. You can remove the patches by running the patch installer again and choosing the "Uninstall" option when prompted. Uninstalling this patch release will downgrade LispWorks to version 6.1.0. Uninstalling this patch release will not remove any named patches that you have installed in the private-patches directory. LISPWORKS FOR WINDOWS Run LispWorks611Patches-32bit.exe or LispWorks611Patches-64bit.exe (as appropriate) and follow the on-screen instructions. This will add files to the patches subdirectory. The Windows XP option Add/Remove Programs > Show updates and the Vista/Windows 7 option Programs and Features > View installed updates will show "LispWorks 6.1.1" if these patches are installed. Removing this update uninstalls only patches, restoring LispWorks to version 6.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 Installers for 32-bit LispWorks are found under x86-linux. Installers for 64-bit LispWorks are found under amd64-linux. Download either the RPM file or the tar archive; you don't need both. Please note that LispWorks patch releases are cumulative so you don't need to download previous patch releases separately. Patch Installation 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 or /usr/lib64/LispWorks. If you installed LispWorks here, then install the patches in the standard RPM way: rpm -Uh lispworks-patches6.1-6.1.1-1.i386.rpm or rpm -Uh lispworks-patches6.1-6.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-patches6.1-6.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-patches6.1 Uninstalling this patch release will downgrade LispWorks to version 6.1.0, and will not remove any named patches that you have installed in the private-patches directory. Patch Installation from the tar archive Again you will need to do this 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 (for 64-bit LispWorks). For example: cd /usr/local/lib/LispWorks # or your installation directory gzip -d lw61-patches1-x86-linux.tar.gz tar xf lw61-patches1-x86-linux.tar LISPWORKS FOR X86/X64 SOLARIS Installers for 32-bit LispWorks are found under x86-solaris. Installers for 64-bit LispWorks are found under amd64-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 LispWorksPatches61-32bit-bundle1 all pkgadd -d LispWorksPatches61-64bit-bundle1 all To uninstall the patch package, do one of the following as appropriate: pkgrm -n LispWorksPatches61-32bit pkgrm -n LispWorksPatches61-64bit LISPWORKS FOR FREEBSD Installers for 32-bit LispWorks are found under x86-freebsd. Installers for 64-bit LispWorks are found under amd64-freebsd. Login as root to perform the operations below. To upgrade from version 6.1.0, do: pkg_add lispworks-patches-32bit-6.1.1.tgz or pkg_add lispworks-patches-64bit-6.1.1.tgz To uninstall these patches, do: pkg_delete lispworks-patches-32bit-6.1.1 or pkg_delete lispworks-patches-64bit-6.1.1 LISPWORKS (64-bit) FOR AIX 64-bit LispWorks is installed by default in /opt/LispWorks/lib/LispWorks-64-bit although it is possible to install it elsewhere. You need to install patches in the same location as you installed LispWorks. For example: cd /opt/LispWorks/lib/LispWorks-64-bit # or your installation directory gzip -d lw61-patches1-rs6k64-aix.tar.gz tar xf lw61-patches1-rs6k64-aix.tar LISPWORKS FOR UNIX Unpack the tar file in the lispworks directory. This will add files to the patches subdirectory. LISPWORKS (ALL PLATFORMS) After installing the new patches, check that there is a call to LOAD-ALL-PATCHES in your siteinit.lisp file. This ensures patches are loaded at startup. You will need to restart LispWorks. You can check if the patches have been loaded by this call: (LISP-IMPLEMENTATION-VERSION) => "6.1.1" This version number appears in Help > About window (or its title). The version number also appears in the Podium Window of the LispWorks IDE on Windows, GTK+ and Motif platforms. On Mac OS X, it appears in the title of the application menu when a new application bundle is created as described below. 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.