-*- Mode: Text; -*- LispWorks Patch Release 4.4.6 Copyright (c) 2005 LispWorks Ltd. All rights reserved. See below for installation instructions. CHANGES IN VERSION 4.4.6 ------------------------ LISPWORKS Fix a bug with the return value of read-modify-write GETHASH operations (LSC #32709) (LSC #31169). Prevent an 'illegal type specifier' error when compiling ABS with an argument of type complex (LSC #31967). Change REPLACE [and hence (SETF SUBSEQ)] to do better checks of the sequence bounds (LSC #32126). ADJUST-ARRAY now signals error for an out of range dimensions argument. Improve garbage collector on Windows/Linux (for example, during compile-file). Fix a stack overflow while compiling (LSC #32060). Fix a bug in CLEAN-DOWN on large images on Windows and Linux (LSC #31881). Improve performance of the garbage collector when doing many allocations in the static area. Improve the performance of COPY-TREE on Windows and Linux (LSC #32108). Allow ENCODE-UNIVERSAL-TIME and DECODE-UNIVERSAL-TIME to work with times whose number of days since 1900 is a bignum (LSC #32490). Prevent errors when pretty-printing to a null BROADCAST-STREAM (LSC #32434). Make a timer with a broken function less destructive. Prevent some rare stack overflows on Windows and Darwin. On Unix, prevent LispWorks using all the available CPU after failing to open a file due to permission problems (LSC #32499). Fix the walker's handling of LAMBDA forms (LSC #31852). EDITOR Fix a problem when printing an editor stream object (LSC #31881). Make the first scroll operation in a window work correctly in MS Windows and Mac OS Editor emulation (LSC #31856). CAPI/COCOA Make the menu bar menus update correctly on Mac OS X 10.4 (Tiger). (Many support calls.) This fix was previously made available in the private patches appkit-tiger-1.nfasl and capi-cocoa-tiger-1.nfasl. Make images with transparent backgrounds work on Mac OS X 10.4 (Tiger). (Many support calls.) This fix was previously made available in either the private patch premultiply-rgba32-standalone.nfasl or the private patch premultiply-rgba32.nfasl Allow the CAPI:SLIDER callback to receive :DRAG operation when the user clicks and drags (LSC #31064). Fix a problem with the menu switching back to the default application menu when switching back to LispWorks when a dialog is active (LSC #31111). When printing, obey the scale set by the user in the Page Setup dialog for page on demand printing and in the printer metrics. Fix text printing to prevent duplicate pages (LSC #31671). Get native dialogs when invoking menu commands from the application interface (LSC #32301). Make the 'Format for' dropdown on CAPI:PAGE-SETUP-DIALOG work on Mac OS 10.4 (Tiger). (LSC #32542). Fix Preview printing on Mac OS X 10.4 (Tiger). (LSC #32542). Fix MP:PROCESS-SEND error when showing a Carbon window from the Listener. Fix scaled printing with a mask by making it work in user coordinates (LSC #31671). Removed unnecessary resizing when setting a CAPI:LAYOUT-DESCRIPTION to include :DIVIDER (LSC #31765). Make the jobname option work for CAPI printing (LSC #31672). Fix the font height calculation for CAPI:MULTI-LINE-TEXT-INPUT-PANE (LSC #31488). CAPI/WINDOWS Ensure that the margins remain the same after setting the font in a CAPI:TEXT-INPUT-PANE or CAPI:DISPLAY-PANE (LSC #31878). Prevent excessive redrawing when switching layouts (LSC #31652). Ensure that setting the background of CAPI:LAYOUT and CAPI:SIMPLE-PANE causes the window and its (possibly transparent) children to be redrawn (LSC #31652). Fix drawing a toolbar on a layout that has a background color, including CAPI:PINBOARD-LAYOUT and when using CAPI:CONTAIN (LSC #31337). Make keyboard input be case insensitive again for selection in CAPI:OPTION-PANE (LSC 31918). Make CAPI:TITLE-PANE transparent by default so that it works with Windows XP themes (LSC #32461) (LSC #32203). CAPI Removed unnecessary resizing when setting a CAPI:LAYOUT-DESCRIPTION to include another layout (LSC #31765). CLOS Fix an error from (SETF ACCESSOR-METHOD-SLOT-DEFINITION) when redefining a class whose slot accessor has been defined again with DEFMETHOD (LSC #31880). COMMON LISPWORKS Fix a bug in the Stepper tool. COM/AUTOMATION Correct some methods with optional OUT parameters (LSC #32202). This fixes some errors of the form: "The subscript 120 exceeds the limit 99 for the first dimension of the array #(#S(COM::VARTYPE-CONVERTER ..." Treat (:SAFEARRAY x) as (:POINTER SAFEARRAY) to allow more uses in type libraries (LSC #32182). Fix calling methods defined with PROPPUTREF (LSC #32386). DELIVERY Fix analysis when there are compiler macros (LSC #31881). Make the :CALL-COUNT and :CLOS-INFO options work for CAPI/Cocoa applications (LSC #32205). CLIM Fix redisplay of overlapping streams (LSC #31755). Fix scrolling when part of the window is hidden, on Windows (LSC #31755). COMMON SQL Fix 'Unresolved external' errors when loading the Oracle 10g shared library on HP-UX (LSC #31639). Fix incorrect SQL parenthesis balancing when using SQL:INSERT-RECORDS with :QUERY (LSC #31809). Allow OPERATOR to be used as a field name again (LSC #31742). Note: Issues marked (LSC #x) have been previously addressed in (Lisp Support Call #x). Note: For a description of changes in version 4.4.5 and previous, please refer to the release notes for those versions. PATCHES IN THIS RELEASE ----------------------- This is the full list of private patches included in version 4.4.6: abs-result-type adjust-array all-allocation allocate-dispatch-arguments analyse-plist appkit-tiger-1 capi-cocoa-tiger-1 capislidervaluechanged cg-application-extra-vars check-active-menu-window cocoa-printer-scale com-pointer-p compact-cons cons-free-chain contains-overlap copy-tree days-bignum default-dialog-owner delete-old-accessors-1-2 disable-stepper display-page-layout-panel do-regexp em-margins ensure-future-menu-changes ensure-gp-representation-cgcontext ensure-representation-redrawn-win32 ensure-representation-redrawn forced-gc get-pretty-print-stream handle-erasebkgnd ignore-layout-divider-callback install-stop-application-cleanups invoke-time-events long-waiter-count mac-help-about-2 medium-copy-area ora-init os-file-handle-stream-file-handle patch-level-6 premultiply-rgba32-standalone prepare-window-for-redisplay print-region-stream printjobtitle propputref puthash-with-tlatter r-combobox-wm-chartoitem-2 replace reset-top-level-focus run-new-print-operation set-element-parent-layout simple-database-insert-query sql-operator text-input-pane-representation-font-height transparent-controls update-representation-background-r-pcl-window update-representation-font-r-edit walk-template PATCH INSTALLATION INSTRUCTIONS ------------------------------- Please note that the patch archive may appear to lack patches at the start of some sequences. For instance, patches capi/0001/0001 through capi/0001/0013 are not included. This is because these patches are preloaded in the LispWorks 4.4.5 executable as distributed. LISPWORKS FOR MACINTOSH PROFESSIONAL/ENTERPRISE Mount the disk in the 'LispWorksPatches4.4.6.dmg' file. Run the installer 'LispWorks Patches'. Install the patches in the same location where LispWorks 4.4.5 is already installed. If the LispWorks installation is not found, patches are not installed. Choose the "Easy Install" option when prompted. The installer will add files to the patches subdirectory and also update the LispWorks application bundle. You can remove the patches by running the installer 'LispWorks Patches' again and choosing the "Uninstall" option when prompted. Uninstalling this patch release will downgrade LispWorks to version 4.4.5. Uninstalling this patch release will not remove any private patches that you have installed, including those patches for LispWorks on Mac OS X 10.4 (Tiger). LISPWORKS FOR WINDOWS PROFESSIONAL/ENTERPRISE Unzip the archive lwwproent44_patches6.zip in the installation directory (by default this directory is C:\Program Files\LispWorks ). This will add files to the patches subdirectory. Be sure to extract all files from the archive. If there is an option to overwrite existing files, be sure that option is on. LISPWORKS FOR LINUX PROFESSIONAL/ENTERPRISE Download either the RPM file or the tar archive. 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 (Linux Version) 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. If you installed LispWorks here, then install the patches in the standard RPM way: rpm -Uh lispworks-patches4.4-4.4.6-1.i386.rpm If you installed LispWorks in another directory, /usr/lisp for example, then use --prefix to relocate the patches to that directory: rpm -Uh --prefix /usr/lisp lispworks-patches4.4-4.4.6-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-patches4.4 Uninstalling this patch release will downgrade LispWorks to version 4.4.5. 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 Professional/Enterprise are in /usr/local/lib/LispWorks. % cd /usr/local/lib/LispWorks # or your installation directory % gzip -d lwlproent44-patches6.tar.gz % tar xf lwlproent44-patches6.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. The patches are loaded if LISP-IMPLEMENTATION-VERSION returns "4.4.6". This version number also appears in the Podium Window of the Common LispWorks IDE on Windows and Motif platforms. On Mac OS, it appears in the title of the application menu when a new application bundle is created as described below. It is best to save an image containing the new patches. To do this create a script such as this: --------------------- save-lw.lisp ------------------------------- (in-package "CL-USER") (load-all-patches) #+:cocoa (compile-file-if-needed (sys:example-file "configuration/macos-application-bundle") :load t) (save-image #+:cocoa (write-macos-application-bundle "/Applications/LispWorks/LispWorks 4.4.6.app") #-:cocoa (merge-pathnames (make-pathname :name "lispworks-446") (lisp-image-name)) :remarks "LispWorks 4.4.6") (quit) ---------------------------------------------------------------------- Use the script as a LispWorks initialization file, as shown below. On Windows, run this in a MS DOS command window: prompt> lispworks-4450.exe -init save-lw.lisp -siteinit - On Linux/Unix, run this in your usual shell: prompt$ lispworks-4450 -init save-lw.lisp -siteinit - On Mac OS, run this in Terminal.app, for example: mymac:/ 9 % cd /Applications/LispWorks/LispWorks.app/Contents/MacOS mymac:/Applications/LispWorks/LispWorks.app/Contents/MacOS 10 % lispworks-4-4-5-darwin -init /tmp/save-lw.lisp -siteinit -