Patch-ID# 100096-01 Keywords: Sun Common Lisp 3.0.5 patches Synopsis: Sun Common Lisp 3.0.5 patches for SUN3 and SUN4 Date: 08/01/90 Unbundled Product: SCLisp Unbundled Release: 3.0 Topic: SCLisp 3.0.5 lisp patches BugId's fixed with this patch: Architectures for which this patch is available: sun3, sun4 Obsoleted by: Problem Description: Sun Common Lisp 3.0.5 Patch Collection ## Contents ## ## INTRODUCTION ## Important notes [WTK patches; SPE 1.1; restrictions] ## TECHNICAL SUPPORT ## COMPATIBILITY ## APPLICABILITY ## Specific restrictions [MC68030 issue; 4129; Sun-3 disksave issues] ## Upgrading Applications Built on Lisp ## SPECIAL CONSIDERATIONS ## Relation to SPE 1.1 ## Earlier Version of the Lisp 3.0.5 Patch Collection ## Changes from the earlier version ## Recompilation ## Macros modified by Window Tool Kit patches ## Array initialization in compiled code ## Sun-3 Images Disksaved with Windows Initialized ## Other Disksave Issues (Problems with certain Sun-3 Images) ## Sun-3 OS 4.x ## Sun-3 OS 3.5 ## ## INSTALLATION ## Requirements Related to Foreign Libraries ## Space Requirements ## Extracting the Tape Contents ## Loading the Patch Collection ## ADDITIONAL NOTES ON PATCHES ## The bug-3670 Patch (Lisp Scheduler/SunView) ## The bug-4893 Patch (Lisp Scheduler/Unwinding Stack) ## (show-patches) INTRODUCTION The Sun Common Lisp 3.0.5 Patch Collection is a set of patches and auxiliary files for upgrading Lisp 3.0 images to the 3.0.5 patch revision level on Sun-3 and Sun-4. The patch release tape contains both the Sun-3 and Sun-4 patches, in separate directories. Each tape directory is self-contained in that it includes the patches already in the official Lisp 3.0 releases, as well as new patches dealing, most notably, with signal handling, stack overflow detection, locking in the Window Tool Kit, and handling of active region errors. (One of the bugs fixed is the "sigcontext not on signal stack" problem.) Important notes: -- Two of the Window Tool Kit (WTK) patches make changes that could necessitate recompilation of WTK application code. Also there is a compiler patch which affects certain array initializations. See the section below on "Recompilation", under "SPECIAL CONSIDERATIONS". -- Users who have an earlier version of the Lisp 3.0.5 Patch Collection (in particular, SPE 1.1 users) may not need this version or may need just one or two of the new patches. See the discussions below under "SPECIAL CONSIDERATIONS". -- Some important restrictions on applying this patch collection (especially with Sun-3 versions of Lisp) are mentioned below under "APPLICABILITY". In particular, the Lisp 3.0.5 Patch Collection does not work with the Lisp 3.0.4 (Sun-3) Application Environment under SunOS Release 3.5 . TECHNICAL SUPPORT If you have problems installing or using this software, call Sun Microsystems at 1-800-USA-4SUN [1-800-872-4786] (for locations outside of the United States contact your local Sun service organization or Sun Distributor). Be prepared to give the dispatcher this information about your system: o Model Number o Serial Number o SunOS release number o Lisp release number To see the SunOS release number, type the following command: % cat /etc/motd To see the Sun Common Lisp release number, type the following in Lisp: > (lisp-implementation-version) For information about the types of technical support available at Sun, see the "Read This First" document for the Sun Common Lisp 3.0.4 (Sun-3) and 3.0.1 (Sun-4) Development Environments, or contact your Sun representative. COMPATIBILITY The Sun Common Lisp 3.0.5 Patch Collection can be used with Lisp 3.0 versions running on Sun-3 workstations under SunOS Releases 3.5 and 4.0.x, and on Sun-4 workstations under SunOS Releases 4.0.x. Although not officially specified as compatible with later SunOS Releases, Lisp 3.0, including Lisp 3.0.5, does run also under SunOS 4.1. The Sun Common Lisp 3.0.5 Patch Collection is shipped on 1/4" cartridge tape. APPLICABILITY The Sun Common Lisp 3.0.5 Patch Collection can be applied to Sun Common Lisp 3.0 images below the 3.0.5 patch level to upgrade them to Lisp 3.0.5. This collection is intended for use with the Lisp 3.0.4 (Sun-3) and Lisp 3.0 (Sun-4) Development Environments and the Lisp 3.0.4 (Sun-3) and Lisp 3.0.1 (Sun-4) Application Environments, and it has been tested only with those releases. The collection has all the patches needed to upgrade the earlier Lisp 3.0 (Sun-3) Development Environment to the 3.0.5 patch level. In any case, if you are working with Sun-3 Lisp please note the warnings in the following paragraph. (You can determine the version of a Lisp image as described above in the section on "TECHNICAL SUPPORT".) Specific restrictions (SUN-3 ONLY): [These four restrictions do not apply to SPE 1.1.] -- Compatibility with MC68030-based Sun-3 machines (3/80, 3/4xx): On the Sun-3, Lisp compatibility with the MC68030 architecture is provided by the images on the Sun Common Lisp 3.0.4 release tapes, and not by patches. Applying the Sun Common Lisp 3.0.5 Patch Collection to an image from a pre-3.0.4 release tape will not provide MC68030 compatibility. -- This patch set does not work with the Lisp 3.0.4 (Sun-3) Application Environment under SunOS Release 3.5 . -- With any Sun-3 release of Lisp 3.0, a certain disksave scenario will give an image, with Lisp windows, that does not work properly with one of the patches in this collection. The section "Sun-3 Images Disksaved with Windows Initialized", under "SPECIAL CONSIDERATIONS", describes the details of this scenario and a remedy for the problem. -- In certain cases on the Sun-3, there are restrictions on the procedure for loading the modules and patches. See the section "Other Disksave Issues (Problems with certain Sun-3 Images)", under "SPECIAL CONSIDERATIONS". On both Sun-3 and Sun-4, this patch collection cannot be loaded while the Lisp window system is up. Upgrading Applications Built on Lisp [With regard to SPE 1.1, see the section "Relation to SPE 1.1".] Regardless of which Lisp 3.0 release you start with, in general we suggest that you apply this patch collection to a starting image containing only material from your Lisp release tape, and then rebuild your applications on the new image (rather then simply loading the patches into arbitrary disksaved Lisp 3.0 images). The reasons for doing this are as follows: (a) Your application may use a restart function that prevents you from loading the patches before the window system is initialized. (b) Some parts of your application may need to be recompiled (see the "Recompilation" section). (c) It is best to avoid loading the same patch twice. (The load-patches command used to install the patch collection will not reload patches applied by earlier load-patches commands, but it will not recognize -- and so will reload -- patches that may have been obtained earlier from Sun Customer Support and applied individually with simple load commands.) (d) The special circumstance described in "Sun-3 Images Disksaved with Windows Initialized" may apply to your current image. If none of these reasons is relevant to your case, then it should be all right to load this patch collection directly into an image which includes your application. In any event, avoid reloading any patch which has already been loaded with this patch set; it is especially important to avoid loading an old version of a patch that may be updated by the present collection. See the "INSTALLATION" section for more details. In general, Lisp 3.0 users should apply this patch collection; however, in certain cases this collection may not be needed, or just one or two patches from the set are needed. The following sections describe these exceptional cases, along with other situations requiring special attention. SPECIAL CONSIDERATIONS Relation to SPE 1.1 SPE 1.1 images should not need this patch collection (with the exception of one patch), because the SPE 1.1 build already loads Lisp patches to the 3.0.5 patch level. The present patch collection does differ in some ways from the set of Lisp patches included with SPE 1.1; the differences are described in the next section. However, only one of these differences (a new patch, bug-5408) is considered significant for SPE 1.1. The bug fixed by the bug-5408 patch is described below, under "Changes from the earlier version". If you are not having problems of this kind, you may want to simply continue with your present image and not load the new patches. Loading bug-5408 via the SPE initialization files will not work because this patch must be loaded before Lisp window initialization, and the SPE startup process brings up windows before loading initialization files. Therefore, if you do wish to have this patch, along with other new 3.0.5 patches, in your SPE image, you should rebuild the image using the present version of the Lisp 3.0.5 Patch Collection. To do such a rebuild: rename the lucid-patches/sun{3,4} subdirectory of your SPE root directory; set up lucid-patches/sun{3,4} as a link to the directory with your new 3.0.5 patch set; and then follow the usual instructions for building an SPE 1.1 image (with no further change). For example, with Sun-4 Lisp and SPE, suppose the new patch set is stored in /usr/lisp/patches-3.0.5-sun4 (see "Extracting the Tape Contents" below) and the SPE root directory is /usr/spe; then you can work as follows: % cd /usr/spe/lucid-patches % mv sun4 sun4.orig % ln -s /usr/lisp/patches-3.0.5-sun4 sun4 % cd .. Then proceed with the SPE 1.1 build, as described in the Introduction to the Symbolic Programming Environment, section 2.2 (Building the SPE system). You may want to first rename or archive your original SPE image and save it until you have tested the new image. The section on "Recompilation" below is relevant to SPE 1.1 only to the extent that SPE 1.1 is used to run code compiled in pre-3.0.5 Lisp images; code compiled within SPE 1.1 itself is not subject to those problems. Earlier Version of the Lisp 3.0.5 Patch Collection [This section is addressed to SPE users who have applied the SPE 1.1 Lisp patches to their non-SPE Lisp images; and to users who received the SPE 1.1 Lisp patch set from Customer Support, to deal with issues in non-SPE Lisp images. Others can ignore this section.] The earlier patch set will not work with the Sun Common Lisp Application Environment; for the Application Environment, use only the present version of the Lisp 3.0.5 Patch Collection. If you are running the Development Environment and have already installed the earlier version of this patch set, you may want to stay with that version unless you are affected by one of the problems mentioned below under "Changes from the earlier version". If your image allows you to load patches before Lisp window initialization (if any), we suggest that you load at least the bug-5408 patch. For example, with plain Lisp you can put a line like the following in your lisp-init.lisp file: (load "/usr/lisp/patches-3.0.5-sun4/bug-5408") The 5408 patch applies no matter which modules are present, on both Sun-3 and Sun-4. For Sun-3 images with the Window Tool Kit, we suggest that you similarly load the bug-4732 patch. On the other hand, if you choose to fully install the present version of the patch collection, then you should do a fresh installation (do not load it on top of the earlier version). Note that the section below on "Recompilation" is relevant regardless of which version of Lisp 3.0.5 you use. Changes from the earlier version A Lisp image built with the present patches will have version "3.0.5 (Rev 01)", while the patch set included with SPE 1.1 will give Lisp version "3.0.5" (without a "Rev" level). The "Rev 01" release differs from the original version in having the following new patches: -- The bug-5420 patch makes the Application Environment compatible with the new signal handling; bug-5420 is relevant only to the Application Environment. -- The bug-5445 patch eliminates an undefined foreign symbol ("_sigstate") that causes warning messages to be issued when foreign code is loaded; these messages have not been observed with SPE 1.1; moreover, the messages can be ignored if they do occur (the patch is cosmetic). -- The bug-5499 patch fixes a problem in which the Lisp window system can "freeze" when an application uses the function lucid::%sleep with a "very small" argument (less than 20000 [microseconds]). In general (even without windows) a call to lucid::%sleep with such an argument may never return. The error can appear when the bug-4885 patch is present without this new patch (as in the earlier version of Lisp 3.0.5); the problem has not been seen in SPE 1.1. Incidentally, applications should generally use supported functions rather than internal functions; in the present context, the Common Lisp function sleep (with an argument in seconds) should be used rather than lucid::%sleep. -- The bug-5408 patch fixes a problem in which an interrupt (such as a control-C or mouse-click) during a tight processing loop in some cases is deferred until all passes of the loop are completed. The symptom is an inordinate delay in response to an interrupt (in extreme cases Lisp may "freeze"). Like bug-5499, this is related to the bug-4885 patch. This problem can occur in SPE 1.1. -- The bug-4732 WTK patch (Sun-3 only) is included mainly to allow negative viewport coordinates. This corrects a side effect of another patch, which introduces an unwanted check for such coordinates on Sun-3. (The error does not occur in SPE 1.1.) With the fix, Lisp windows can moved to extend off the top and left side of the root viewport. This patch also fixes a "moving band" problem with certain instances of pop-up menus (not observed in SPE 1.1). -- "Rev 01" has an updated version of the bug-3670 patch for the Sun-4; the update solves a disksave problem that occurred when the original Sun-4 version of bug-3670 was loaded and explicitly activated by the user. You can ignore this patch unless you do explicit foreign calls to SunView code outside the Window Tool Kit; for more information, see the section "ADDITIONAL NOTES ON PATCHES". Recompilation Macros modified by Window Tool Kit patches Two of the Window Tool Kit patches in this collection modify macros, as follows: bug-4892 changes WITH-MOUSE-METHODS-PREEMPTED and WITH-MOUSE-METHODS-PREEMPTED-GLOBALLY; bug-4888 changes WINDOWS::WITH-TEMP-REGION and WINDOWS::WITH-TEMP-REGIONS. In order for your application to benefit from these patches, code which uses any of these four macros must be recompiled after you have upgraded the Lisp Development Environment to patch level 3.0.5. If such code is not recompiled then it might show the bugs associated with the earlier versions of the specified macros. The symptoms of those bugs are as follows (if your code is subject to these problems, you may have seen the symptoms already in your pre-3.0.5 images): (a) When an error occurs in application code for an active region method, the debugger options presented do not include a continuation option. (only process restart and kill options are available). [Fixed by the bug-4892 patch.] (b) The Lisp window system can "freeze" with heavy use (multiple Lisp processes with high CPU utilization and heavy mousing increase the likelihood of seeing this bug, which is due to a locking problem). [Fixed by the bug-4888 patch.] Array initialization in compiled code The bug-4200 patch fixes an array initialization problem in the production mode of the Lisp compiler. After upgrading to Lisp 3.0.5, you should recompile code which contains a make-array expression of the following specific form: (make-array :initial-element 0 :element-type 'integer) Without the patch, the compiled code initializes the elements to NIL instead of 0. The problem has been observed only when the initial value is 0 and the element-type is 'integer. [Strictly speaking, the problem could occur for any type that is a subtype of 'number but neither a subtype of (unsigned- byte 32) nor of (signed-byte 32).] Before the patch was available, the suggested workaround was to initialize the array after it is built. [Note: You can ignore the next two sections if you are working with SUn-4 Lisp only.] Sun-3 Images Disksaved with Windows Initialized [You can ignore this section if you are starting with a Lisp image at patch level 3.0.4 (or 3.0.5) and have no problem initializing Lisp windows. In particular, this section does not apply to SPE 1.1.] Sun-3 Lisp 3.0.x images built in a certain way do not work properly with bug-4129, a Window Tool Kit patch which is part of the Lisp 3.0.4 release (and therefore part of the present patch collection as well). Specifically, suppose windows are initialized in a Lisp image below the 3.0.4 patch level and a disksave command is issued, without a prior user command to leave the window system. Then if the bug-4129 patch is loaded into the disksaved image, an attempt to initialize windows will generate a structure-offset error. (In fact the error will occur also if bug-4129 is loaded after window initialization and before disksave.) The idea for avoiding this is to load bug-4129 before both window initialization and disksave. One solution is to build your Lisp 3.0.5 image, including Window Tool Kit, directly from Lisp release images and modules and the present patch collection, without initializing windows, as shown in the example under "INSTALLATION". After that, there should be no problem disksaving an application with windows initialized. Other Disksave Issues (Problems with certain Sun-3 Images) [These problems are not seen with SPE 1.1.] (a) On Sun-3 under SunOS Releases 4.x, if you want a Lisp 3.0.5 image with all three of the modules prodcomp, windows, and editor, then you should start with the lisp-3-0-full image, which already has these modules; then load the 3.0.5 patch collection and disksave, as shown in the example under "INSTALLATION". This approach avoids an "Unknown object" error which occurs when the disksave is done after manually loading the three modules (and 3.0.5 patches). Using lisp-3-0-full as the starting image is preferable anyway in this case because it yields a smaller image than if the three modules were loaded manually. (b) On Sun-3 under SunOS Release 3.5, there are cases in which the disksave to install the Lisp 3.0.5 patch set does not work properly even with just one module loaded (an "Unknown object" error occurs during disksave or the new image gives a segmentation fault on startup). To avoid these problems you should "bootstrap" your lisp-3-0-base (Development Environment) release tape image by loading the 3.0.5 patch set (with load-patches, as shown below) and disksaving to get an intermediate image; then use that intermediate image as your starting image in following the instructions below to build your new image. (Alternatively, if a "full" image is suitable for your work, you can use the lisp-3-0-full image as your starting image and just load the 3.0.5 patch set.) Lisp users are urged to upgrade to a SunOS 4.x Release and use the Lisp versions designed for SunOS 4.0. INSTALLATION [Note: These instructions are self-contained for most purposes. For additional details on some items you may want to see your Sun Common Lisp 3.0 Installation Guide and Release Notes, referred to below as the Installation Guide.] Requirements Related to Foreign Libraries Some of the patches in this collection load foreign library code. For the most part this requires no special attention, but there are two issues to be aware of: (a) If you are upgrading an image which includes the Window Tool Kit, then the SunView Programmers Files should be present on the machine where you are running Lisp to build the new image. If you have ever loaded the Windows module into your Lisp image then you probably have these files, since the Window Tool Kit cannot be loaded without them. (The Installation Guide, as well as the Lisp 3.0 Read This First, gives more details on this.) (b) If you plan to run your new images under more than one version of SunOS, you should build them under the earliest of those OS versions. (This applies regardless of which modules are included.) For example, if you plan to run an image under both SunOS 4.0.3 and SunOS 4.1 (but no earlier version), then the image should be built under SunOS 4.0.3. (Note that the Lisp 3.0 versions designed for use with SunOS 3.x should not be run under SunOS 4.x, and vice versa.) Space Requirements The release tape for the Sun Common Lisp 3.0.5 Patch Collection contains Sun-3 and Sun-4 patch directories; the directory names and the sizes of their contents are as follows: patches-3.0.5-sun3 1.2 MB patches-3.0.5-sun4 1.1 MB. To start with, your Lisp directory (the directory in which your Lisp 3.0 release is installed) should have enough free space to hold the patch collection for the architecture corresponding to that release. (Otherwise you can extract the patch set onto another directory accessible from your system and specify the alternate directory in the load-patches command below.) Beyond space for the tape contents, you will need room for the new disksaved versions of the images you upgrade. We recommend that the old images be kept until the new ones have been tested; so temporarily, for each image you rebuild, you will need space for another image larger than the old one. For example, an image built from lisp-3-0-base with the production mode of the Compiler, Window Tool Kit, and 3.0.5 patches will be about 12.5 MB in size on the Sun-4 (somewhat smaller on Sun-3). If you wish to have the Editor in addition to the preceding modules, then you should use the lisp-3-0-full image as your starting image and just load the patches; the resulting image will be smaller than one built piecewise, even though it has an extra module (Flavors), because of tuning that has been done on the pre-built lisp-3-0-full. The new images can be stored in any convenient directory. Extracting the Tape Contents [Note: These instructions are for a local tape drive; if you are using a remote tape drive, follow the instructions in the Installation Guide, using the appropriate tape device for your machine, such as "st8", "st0" etc.] We suggest that this patch collection be stored in your Lisp directory. After mounting the tape on a local tape drive, extract the tape contents as follows (this example assumes that the Lisp directory is /usr/lisp and that the Lisp release is for Sun-4): % cd /usr/lisp % mt -f /dev/rst8 rew Extract the patches for the architecture corresponding to your Lisp release: % tar xvpf /dev/rst8 patches-3.0.5-sun4 This command creates subdirectory patches-3.0.5-sun4 in the Lisp directory, and stores the Sun-4 version of the patch collection there. For the Sun-3 version, specify patches-3.0.5-sun3 in the preceding tar command. Loading the Patch Collection The patch loading procedure is basically the same as it always has been for Lisp 3.0 releases; a change here is that the :directory value for load-patches is now the directory with the Lisp 3.0.5 Patch Collection. Since the Lisp 3.0.5 Patch Collection includes the original Lisp 3.0 release patches, it does not matter whether or not your starting image already has the original patches. Our recommendation is to start with an image from your Lisp release or with a disksaved image containing only Lisp release material (a tape image, modules, and patches loaded via load-patches). Load any additional Lisp release modules you need; install the Lisp 3.0.5 Patch Collection; and disksave the resulting Lisp 3.0.5 image. If you need to recompile parts of your application (see the section above on "Recompilation"), then recompile with the new Lisp 3.0.5 image. Finally, use Lisp 3.0.5 to load and run your application; if appropriate, disksave an image containing your application. If you are loading Lisp patches for each session, e.g., via a lisp-init file, make sure that none of the patches you load this way has the same number as a patch in this collection (since you do not want to reload patches or load an old version of an updated patch). The following example illustrates how to build a Lisp 3.0.5 image. In this case we start with a "base" image from the Lisp 3.0 release tape; but if you already have an image built from lisp-3-0-base, the prodcomp and windows modules, and the original release patches, then you can start with that image and skip to the load-patches command in the sequence below. Note that even if no modules are loaded, you should still load this patch collection. (In certain cases on Sun-3 you need to modify the example procedure; note the sections above on disksave issues with Sun-3 images, under "SPECIAL CONSIDERATIONS".) The example assumes that you are using a machine of the appropriate architecture for your version of Lisp; however, this procedure does not initialize windows, so you can work from a remote login. (In fact, you should not have the Lisp Window Tool Kit initialized during this procedure, since certain patches cannot be loaded when the Lisp window system is up.) Work in your Lisp directory. (If your starting image is not located in the Lisp directory and you intend to load the windows or editor module, then you should set up a symbolic link to the image from the Lisp directory and work from there, to insure that certain font, bitmap, and object files from the Lisp directory are loaded.) % cd /usr/lisp Invoke the Lisp image to be upgraded; the "-n" option insures that a lisp-init file (if any exists) is not loaded: % lisp-3-0-base -n Load any Lisp release modules you need which are not already present. In this case we load the production mode of the Compiler and the Window Tool Kit. (Loading the Window Tool Kit will generate messages about foreign libraries, and may cause memory expansion and garbage collection. If you install the Lisp Editor in addition to the Window Tool Kit, remember to load the file editor-window-aux, as specified in the Installation Guide.) > (load "prodcomp") > (load "windows") Load the Lisp 3.0.5 Patch Collection (including original release patches): > (load-patches :directory "patches-3.0.5-sun4") If you are working with a Sun-3 or if you placed the patches elsewhere, adjust the :directory value accordingly. Note: On the Sun-3, the loading of the patches is followed by a warning concerning the symbol *load-instance*; this warning can be ignored. If you later install additional release modules, you must then repeat the preceding load-patches command to bring in the patches relevant to those modules. (Note: With a Window Tool Kit/Editor application built from Lisp, the loading of the scheduler patch bug-4893 has sometimes given an error involving find-process-wait-value; if this occurs see the discussion and workaround below under "The bug-4893 Patch...". This error has not been seen with the Lisp and SPE releases themselves.) To complete the installation, save the new Lisp image to disk. The example assumes the new image is to be named lisp-3.0.5-prod-win and stored in the current (Lisp) directory. You may specify your choice of pathname for the new image. If the directory chosen for the new image is NFS mounted, it must be mounted rw,hard to insure a proper disksave. > (disksave "lisp-3.0.5-prod-win" :full-gc t) Then test your new image. Note: If the new image has different memory-use characteristics from your old one, you can invoke the change-memory-management facility to tune memory use for the new image. The ideas are described in Chapter 5 of the Sun Common Lisp 3.0 User's Guide. With some Sun-4 images you may find reserved-memory expansion occurring more frequently than formerly; in such cases a modest initial expansion of reserved memory should help [for example, you might add to your lisp-init.lisp file the command (change-memory-management :expand-reserved 10) ]. ADDITIONAL NOTES ON PATCHES The bug-3670 Patch (Lisp Scheduler/SunView) This patch is just for users who need to do explicit foreign calls to SunView code. Other users can ignore it; this patch is not needed for the Lisp Window Tool Kit. A primary symptom of the problem fixed by this patch is a "sigcontext not on signal stack" message in connection with a foreign call to SunView code. (This is a special case; "sigcontext" errors in general are fixed by a different patch, bug-4885.) Although it is present in any Lisp 3.0.5 image, the bug-3670 patch does not take effect until it is activated by the user with the Lisp command (lucid::interface-scheduler-to-sunview) This command may be typed directly to the Lisp prompt or included in your lisp-init.lisp file. However, you should not activate the patch unless it is needed, since there is some performance cost for activating it. The bug-4893 Patch (Lisp Scheduler/Unwinding Stack) This patch changes the definitions of some scheduler constructs. With a large Window Tool Kit/Editor application image, the loading of this patch has sometimes given the error "The function FIND-PROCESS-WAIT-VALUE is undefined". If this occurs, exiting from Lisp [with (lucid::%quit) ], restarting the image, and reloading the patches should work. Or you can deal with this by wrapping your load-patches command in with-scheduling-inhibited; for example, an initialization file might contain the command (with-scheduling-inhibited (load-patches :directory "/usr/lisp/patches-3.0.5-sun4")) List of Patches Loaded You can use the Lisp 3.0 show-patches command to see the subjects of the patches loaded in a Lisp 3.0.5 image. Invoke the image and type: > (show-patches) This will show all the patches installed by load-patches commands (it will not list additional patches which you may have loaded with simple load commands).