-*- Mode: Text; -*- LispWorks Patch Release 4.3.7 Copyright (c) 2004 Xanalys LLC. All rights reserved. Issues marked (LSC #x) have been previously addressed in (Lisp Support Call #x). See below for installation instructions. RELEASE NOTES -- CHANGES IN VERSION 4.3.7 LISPWORKS Fix bug in PARSE-INTEGER on Windows and Linux. Fixes many Lisp Support Calls. Fix hanging in Portable AllegroServe on Windows and Mac OS X. (LSC #25719) and (LSC #26082). Fix bug in READ-SEQUENCE and WRITE-SEQUENCE. (LSC #25922), (LSC #26134) and (LSC #26349). Fix segmentation fault when compiling a TAGBODY/HANDLER-BIND combination. Better crash reporting. EDITOR Fix Changed Definitions on Windows XP. (LSC #25395). CAPI Fix crash with CAPI:PASSWORD-PANE on Cocoa. (LSC #25809). FIXES FOR LISPWORKS ON MAC OS X 10.3 (each of these fixing many Lisp Support Calls) Fix error in File > Open dialog/CAPI:PROMPT-FOR-FILE. Fix crash in File > Open dialog/CAPI:PROMPT-FOR-FILE. Set the initial input focus in dialogs. Fix problem changing fonts in the Editor/Listener tools. -- CHANGES IN VERSION 4.3.6 EDITOR Fix problems with windows that are displaying the Main buffer not being chosen (LSC #13157) (LSC #13204). Fix CL:ED not to open two windows for a file that the editor has already displayed. Ensure that editor buffers don't grow larger than the editor can handle. Make the Changed Definitions mechanism work for files with Carriage Return line termination (LSC #12272). Fix cursor positioning problems when a window has a long line at the start. Make commands on DEFSYSTEM systems avoid binary files such as COM type libraries (LSC #12905). Fix source form location, breakpointing and stepping for forms containing #+/#- reader syntax (LSC #12868) . Ensure that the correct emulation is set at startup of delivered applications. Fix error reporting when evaluating Lisp forms. LISPWORKS Fix various minor ANSI CL compliance issues, mostly getting error classes correct and adding some type checks. Also: various fixes for lambda list destructuring; allow DISASSEMBLE to be called with a lambda expression; cope with :KEY NIL in various list functions; pass the arguments to the test function in the correct order for various set functions; various LOOP fixes; fix NCONC on Windows/Linux to discard dotted list tails; don't give an error in NTH-VALUE when the value is too large; fix some bugs in RESTART-CASE; Fix SORT for numeric array types with fill-pointer on Windows and Linux; and fix NSET-EXCLUSIVE-OR for lists with duplicate elements (LSC #12827) (LSC #12601). Prevent C heap memory corruption after aborting from a waiting socket read or write operation on Windows (LSC #12719). Prevent attempts to access the windows Z drive during module and patch loading (LSC #13128). Ensure that threads on Mac OS wait until they are enabled before running (LSC #12869). Make DESCRIBE and INSPECT more robust by handling printing errors. Fix DELETE, REMOVE and NSUBSTITUTE (and the related CL functions) with :FROM-END and :END or :START. Fix startup failure on Mac OS 10.3 preview (LSC #12932). Export DBG:OUTPUT-BACKTRACE. Fix some problems that slowed socket I/O on Mac OS (LSC #12828). Ensure that certain system hash tables have sensible rehash-size on Windows and Linux. Fix promotion of very large functions (LSC #13217). Define SYS:LOAD-DATA-FILE which is for loading files created by DUMP-FORMS-TO-FILE and WITH-OUTPUT-TO-FASL-FILE. Allow loading 4.2 fasls (LSC #10107). Initialize the results of MAKE-SEQUENCE and MAKE-STRING. Fixes for REPLACE and SUBSEQ on Windows and Linux: copy the final element in DOUBLE-FLOAT vectors correctly; prevent overwriting of uncopied elements in SIGNED-BYTE and UNSIGNED-BYTE vectors for byte-size less than 8. Fix a compiler bug exposed by the slides example of CL-HTTP (LSC #12788). Fix check for weak arrays on UNIX and Mac OS. Fix ADJUST-ARRAY on byte arrays (LSC #12955). CLOS Fix various issues shown up by ANSI CL compliance tests. Make CLOS:COMPUTE-SLOTS work like in AMOP with the slot location code in an around method. Make the :EXTRA-INITARGS option default to NIL when redefining a class (LSC #13055). FOREIGN LANGUAGE INTERFACE Improve the error message for missing FLI templates. Add a precompiled template for DOUBLE with size nil. LISPWORKS ORB Take care not to close streams that other threads are reading or writing. Ensure that POA threads and their controller don't clash when writing replies or closing the stream. This fixes the connection reclaimer and the handling of connections terminated by the other ORB (LSC #12719). DELIVERY Fix <**> message near the end of the output from DELIVER on Mac OS X and other UNIX platforms. Allow CAPI:EDITOR-PANE to work after delivery on Cocoa. CAPI Allow the mouse cursor to be set for CAPI:OUTPUT-PANE on Cocoa. Display dialogs properly in interfaces that were hidden on Windows (LSC #12974). Fix a docking problem with CAPI:TOOLBARs (LSC #12888). Fix CAPI/Cocoa failure to find NSObject on Mac OS 10.3 preview (LSC #12932). Fix a problem with undocked toolbars on Windows. Make CAPI:GRAPH-PANE's accelerators for expanding and collapsing nodes valid on all platforms. Allow the :DIRECTION initarg for CAPI:LINE-PINBOARD-OBJECT for backwards compatibility with LispWorks 4.2. Support the :ADJUST column specification option in CAPI:MULTI-COLUMN-LIST-PANEL on Cocoa. Allow :WIDTH and :MIN-WIDTH to be an arbitrary hint expression in the columns of a CAPI:MULTI-COLUMN-LIST-PANEL on Cocoa. Don't set accelerators in popup menus on Cocoa, Don't allow the caret position or selection to be set outside the range of the text in CAPI:TEXT-INPUT-PANE on Cocoa (LSC #13166) . Implement CAPI:SHOW-INTERFACE, CAPI:HIDE-INTERFACE, CAPI:SHOW-PANE and CAPI:HIDE-PANE for CAPI/Cocoa. Don't put the window at the back when setting CAPI:TOP-LEVEL-INTERFACE-DISPLAY-STATE on Cocoa. COMMON LISPWORKS Make LispWorks display a .lisp file, or load a .nfasl file, when you launch it in the Mac OS Finder. Add icons for these file types. Note: to see this working, you may need to remove the cache(s) by deleting (in single-user mode or via a remote login) the file ~/Library/Caches/com.apple.LaunchServices.UserCache.csstore or /Library/Caches/com.apple.LaunchServices.LocalCache.csstore, and log out or reboot to force the association to be updated. Fix some minor problems in the Stepper tool. Fix some problems where the Interface Builder tool passed invalid initargs or failed to take account of new CAPI classes. Fix oversized podium window when uniconifying on Windows (LSC #13133). Make the Profiler run in the background on Cocoa, and don't hang the IDE if an error occurs during profiling (LSC #12822). COM/AUTOMATION Define and call COM:COM-OBJECT-DISPINTERFACE-INVOKE, various other dispinterface fixes. Fix (un)registration of servers when more than one component is implemented in a type library. Add %- to COM names only if they are in a different package. KNOWLEDGEWORKS Allow the KnowledgeWorks > Spy menu when used from all tools. CLIM Add CLIM::MAKE-PIXMAP-FROM-FILE. COMMON SQL Define SQL:UPDATE-OBJECTS-JOINS (LSC #13047). 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/0042 are not included. This is because these patches are preloaded in the LispWorks4.3 executable as distributed. LISPWORKS FOR MACINTOSH PROFESSIONAL/ENTERPRISE Mount the disk in the 'LispWorks Patches 4.3.7.dmg' file. Run the installer 'LispWorks Patches'. Install the patches in the same location LispWorks 4.3 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.3.0. LISPWORKS FOR WINDOWS PROFESSIONAL/ENTERPRISE Unzip the archive lwwproent43_patches7.zip in the installation directory (by default this directory is C:\Program Files\Xanalys\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.3-4.3.7-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.3-4.3.7-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.3 Uninstalling this patch release will downgrade LispWorks to version 4.3.0. Patch Installation from the tar archive Again you'll 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 lwlproent43-patches7.tar.gz % tar xf lwlproent43-patches7.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.3.7". 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.3.7.app") #-:cocoa (merge-pathnames (make-pathname :name "lispworks-4307") (lisp-image-name)) :remarks "LispWorks 4.3.7") (quit) ---------------------------------------------------------------------- Use the script as a LispWorks initialization file, as shown below. On Windows, run this in a MS DOS command window: prompt> lispworks-4300.exe -init save-lw.lisp -siteinit - On Linux/Unix, run this in your usual shell: prompt$ lispworks-4300 -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-3-0-darwin -init /tmp/save-lw.lisp -siteinit -