|
|
||||||||||
|
MCL Release NotesMCL 4.3 & 3.4 Release NotesThank you for using MCL 4.3 and/or MCL 3.4. This document describes what has changed since MCL 4.2 and MCL 3.3. Please send bug reports and other feedback to bug-mcl@digitool.com . Digitool's web page is <http://www.digitool.com/> . For MCL related discussion, subscribe to info-mcl@digitool.com by sending a message to info-mcl-request@digitool.com whose body contains the single word: subscribe. InstallationInstall MCL 4.3 & 3.4 by dragging their respective folders to your hard disk. For more details, see the Getting Started with MCL book, which is on the CD in Acrobat format and available in paper form from Digitool as part of the MCL hardcopy documentation product. Known IncompatibilitiesMCL 4.3 is incompatible with some versions of the "PPCExceptionEnabler" extension that shipped with MCL 3.9. IF YOU HAVE "PPCExceptionEnabler" IN YOUR SYSTEM EXTENSIONS FOLDER, GET RID OF IT. It was necessary for using some debuggers with MCL 3.9, but is not necessary for MCL 4.0 and will cause confusing behavior from MCL 4.1/4.2/4.3. If you need to run both MCL 3.9 and MCL 4.3 based applications on the same machine, Digitool has a version of "PPCExceptionEnabler" that does not have this incompatibility. To get it, send mail to bug-mcl@digitool.com. Running MCL for 68K on a PPC (emulated, of course) is incompatible with the following extensions:
MCL for PPC is incompatible with some versions of PPCDebuggerNub. And, as we have said before: If you have PPCExceptionEnabler or PPCTraceEnabler in your extensions folder GET RID OF IT/THEM. Color dialog items in OS8.5Some "genius" at Apple thought it was a good idea to make the long existing color functionality do nothing in the presence of the appearance manager and themes. We have restored some color functionality for dialog-items in OS8.5. Thanks to Chris Young for the initial version of this code. Colors that work for button-dialog-item in OS 8.5 are :frame :text and :body. The body color is a subrectangle within the button so the button retains it's pseudo-3D look. The :frame color does not affect the bigger outline for a default button in 8.5 whereas it does in prior OS versions.
Windoids are fancier, and a bug fix for OS8.5The window-type for a window can now be one of:
All of those after :windoid are new. The default window-type for (make-instance 'windoid ...) is :windoid or :windoid-with-grow depending on the value of :grow-icon-p. Since some of these new windoid window-types can have titles, the window-title for a windoid defaults to "" rather than "Untitled". There is a new special variable ccl::*use-old-style-windoids*, which if not nil and window-type = :windoid results in an old style windoid with a thinner title-bar and no title. The initial value is NIL. View-default-position for windoid is changed to account for the possibility of a side "title" bar. Fixed a bug that caused old style windoids to not appear on the screen in OS8.5. Thanks to Alan Ruttenberg. Navigation Services (PPC only)If "NavigationLib" is available and can run (it also requires "AppearanceLib") then choose-file-dialog, choose-new-file-dialog, choose-directory-dialog and choose-new-directory-dialog will call the new navigation services routines instead of using #_sfgetfile etal. This is controlled by a new special variable ccl::*nav-services-available* which is initialized at start up. There are also several new keyword arguments for the choose-xxx-dialog functions. Thanks to Toomas Altosaar for most of these options. (These new keywords are not passed thru to the old functions when navigation services is not available.) Keywords for choose-file-dialog are:
Allow-multiple-files defaults to the value of *choose-allow-multiple-files* whose initial value is nil. Keywords for choose-new-file-dialog are:
:extended-reply-p (default value is nil) (:REPLACING-P NIL :STATIONERY-P NIL :TRANSLATION-NEEDED-P NIL :FILE-TRANSLATION :NOT-IMPLEMENTED-YET :KEYSCRIPT 0) :format-query-p (default value is nil) Keywords for choose-directory-dialog are:
Keywords for choose-new-directory-dialog are:
Read-sequence and write-sequence per ANSI CLThe functions read-sequence and write-sequence work by calling methods stream-read-sequence or stream-write-sequence. read-sequence (sequence stream&key (start 0) end) [Function] stream-read-sequence ((stream input-stream) (sequence vector)&key (start 0)(end (length sequence))) [Method] stream-read-sequence ((stream input-stream) (sequence list)&key (start 0) end) [Method] Returns start + number of characters read stream-read-sequence ((stream input-binary-file-stream) (sequence vector)&key (start 0)(end (length sequence))) [Method] Error if sequence is a string. Returns start + number of characters read stream-read-sequence ((stream input-file-stream) (sequence base-string)&key (start 0)(end (length sequence))) [Method] Returns start + number of characters read stream-read-sequence ((stream input-script-file-stream) (sequence base-string)&key (start 0)(end (length sequence))) [Method] Returns start + number of characters read stream-read-sequence ((stream input-stream)(sequence t)&key (start 0)(end (length sequence))) [Method] write-sequence (sequence stream&key (start 0) end) [Function] stream-write-sequence ((stream output-stream) (sequence vector)&key (start 0)(end (length sequence))) [Method] stream-write-sequence ((stream output-stream) (sequence list)&key (start 0) (end (length sequence))) [Method] stream-write-sequence ((stream output-binary-file-stream) (sequence vector)&key (start 0)(end (length sequence))) [Method] Other cases are less efficient and will error if an element of the sequence is the wrong type for the element-type of the stream. (The error is not discovered until a bad element is encountered in the process of writing, so some writing may have occurred) Returns sequence stream-write-sequence ((stream output-file-stream) (sequence base-string)&key (start 0)(end (length sequence))) [Method] Returns sequence stream-write-sequence ((stream output-stream) (sequence string)&key (start 0)(end (length sequence))) [Method] Returns sequence stream-write-sequence ((stream output-stream)(sequence t)&key (start 0)(end (length sequence))) [Method] Miscellaneous ANSI CL changesDocumentation and (setf documentation) per ANSI CL Added classes extended-char and base-char per ANSI CL The generic function change-class takes initargs per ANSI CL. This is an INCOMPATIBLE change. The define-condition macro accepts a :default-initargs option per ANSI CL The defstruct macro accepts a :print-object option per ANSI CL. Added the function ensure-directories-exist per ANSI CL. From Kim Barrett. The function defpackage accepts a :documentation option per ANSI CL. The function make-pathname now accepts :pathname-name = :unspecific. Thanks to Richard Billington. Compound type of cons is implemented (PPC only). That is, one can say (deftype funny () '(cons fixnum cons)) specifying that the type funny is a cons where the type of the car is 'fixnum and the type of the cdr is 'cons. Added the function array-displacement from John Mallery. Add get-setf-expansion (= get-setf-method) define-setf-expander (= define-setf-method), and special-operator-p (= special-form-p) per ANSI CL. Added the function copy-structure per ANSI CL. Add and use condition class reader-error per ANSI CL. (68K usually does not provide the stream - the error message says stream "Unknown".) Add condition class parse-error per ANSI CL. It's used in parse-namestring and related functions. Moved some symbols from the :CCL package to the :COMMON-LISP package. Added the macro define-symbol-macro (name expansion &environment env) per ANSI CL (PPC only). Defining a special variable or constant for a symbol that is already defined as a global symbol macro results in a warning and the redefinition occurs. Defining a global symbol macro for a symbol that is already defined as a special or constant results in a continuable error that will ignore the symbol macro. Constantp takes an optional environment argument (PPC only) Typep, subtypep, upgraded-array-element-type, and upgraded-complex-part-type all take an optional environment argument (PPC only). For these functions the environment is ignored because types are always defined in the global environment. The file "ccl:library;ansi-make-load-form" contains ansi compatible definitions for make-load-form and make-load-form-saving-slots. It redefines the existing MCL make-load-form methods to accept (and ignore) the optional environment argument. It is not included in the delivered MCL image. It is incompatible with CLIM for MCL. (PPC only) Optimizations for short and double float (PPC only)Float optimizations for 1d and 2d aref and aset, dynamic-extent etc. Some examples:
;; conses not at all
(defun cons-less (array n)
(declare (type (simple-array double-float (*)) array))
(declare (type double-float n))
(dotimes (i (length array))
(setf (aref array i) (+ (aref array i) n))))
;; conses one double-float - the returned value
;; setq's to n destructively modify n, so beware of binding m to n
(defun sum-array (array)
(declare (type (simple-array double-float (*)) array))
(let ((n 0.0d0))
(declare (dynamic-extent n))
(declare (type double-float n))
(dotimes (i (length array))
(setq n (+ n (aref array i))))
;; heap cons result - fortunately nobody optimizes the (+ n 0.0d0)
(+ n 0.0d0)))
;; Here is a way that is perhaps clearer - conses one double-float.
;; The DESTRUCTIVE declaration says that if n is a declared double or short float
;; then the initial value of n will be a newly heap consed float.
;; It further declares that n will be destructively modified by setq/setf.
(defun sum-array2 (array)
(declare (type (simple-array double-float (*)) array))
(let ((n 0.0d0))
(declare (destructive n))
(declare (type double-float n))
(dotimes (i (length array))
(setq n (+ n (aref array i))))
n))
LocksAdded multiple-reader single-writer locks. With-lock ((lock &key mode (lock-value '*current-process*) (whostate "Lock"))&body body) [Macro] Make-lock is extended to take an optional second argument, the lock type. Type must be '(member nil :multiple-reader-single-writer :simple). Nil and :simple are equivalent. Added the accessor lock-type. If make-lock specified nil or :simple, this will return nil. [A note for CL-HTTP users: CL-HTTP (67-100) also contains the multiple-reader single-writer lock code. It should be safe to continue from kernel redefinition errors re: locks when loading CL-HTTP.] Help fileUpdated version from David Lamkins includes documentation for many previously undocumented Common Lisp functions as well as the process API. MiscellaneousFaster view-activate-event-handler for a Fred window when a selection exists. Faster stream-write-string and read-line-raw for some stream classes (from Shannon Spires). Add-to-shared-library-search-path - second arg :check means error if the library is not found, t means don't add it if not found, nil means just add it. (:check is the only new option here) Coerce compiler optimizer returns for PPC. Added compiler optimizers for bit, sbit and friends. (PPC only) The function ccl::alias-path-p now may return 2 values. If pathname is an alias the second value is the target if it exists, otherwise nil. The function choose-new-directory-dialog has a more sensible default button-string The function y-or-n-dialog takes a :back-color keyword which defaults to *tool-back-color*. The dialog is movable by default and also takes a :window-title keyword which defaults to "". Also fixed so the buttons will be large enough to contain the text. The function log stack-conses intermediate results in some cases, log of bignum conses less. (PPC only) The function log uses #_log2 when appropriate. (PPC only) The Get Info and Trace dialogs extract package if any out of selected string if any. The Get Info dialog tries to find the string in some package when All Packages requested Some improvements to the function arglist for methods. Specifically, omit &method. From Ralf Moeller. Added the part-color :title-background for pop-up-menus which is used for back-color of the menu title. The default is NIL (meaning the back-color of the window). Formerly used :menu-body (default white) for both the title background and menu body. Suggestion from Terje Norderhaug. Add and use a method for pop-up-menu, ccl::the-empty-menu-string to provide the string to show when the pop-up menu has no items. The default method returns the string " The method ccl::window-title-height for window now tells the truth if the window is shown, otherwise its just a guess. Added ccl::window-border-width, ccl::window-right-border-width, and ccl::window-bottom-border-width methods for window. The values are only reliable if the window is shown. Otherwise just a guess. Volume-free-space (path) Returns the number of bytes free on the volume specified by PATH. Ash of bignum with negative count does not cons if result is a fixnum (PPC only, 68K was OK) Replaced some direct references to low memory globals with the functionally equivalent #_lmgetxxx. String-capitalize now recognizes quotes as part of a word (eg, "Joe's" not "Joe'S") Stepping a generic function now steps all the methods if the lambda expressions are available. Added the special variable *default-tabcount* which is the default value of (buffer-tabcount ...). Previously the default value was always 8. The initial value of *default-tabcount* is 8. Added the Fred command ctrl-meta-c which does edit-callers anew. That is, if there is a window containing the callers of the requested fn/variable it is closed and the callers are recomputed. Window-drag-event-handler deals with possible screen size change. Window-drag-event-handler - if command-key then horizontal drag only, if shift key then vertical drag only. Thanks to Toomas Altosaar. Added method appleevent-not-handled-error ((application application) class id). The behavior depends on the value of *signal-appleevent-not-handled-error*. If the value is :warn then just warn, otherwise error. The initial value is :warn. Added an appleevent-handler for resume application, from David Lamkins. This is called when the OS8 Finder resumes a running application via the user opening an already active application. The handler does nothing. It's function in life is to avoid an error or warning. Add an appleevent-handler for changing screen resolution, from Toomas Altosaar. Added a special variable ccl::*paranoid* that controls whether finder clicked fasl or pfsl files will be automatically loaded. If true (the initial value) and the compiled file is not in some defined logical host directory (exclusive of "home") then a dialog will ask whether you really wish to load the file. Otherwise the file is just loaded. This is in response to concerns about security lapses when email attachments contain executable code. If you don't like this feature, set ccl::*paranoid* to NIL. View-default-font for editable-text-dialog-item is always the system font (previously only if the system font was not roman) Export *fred-track-thumb-p* Window-drag-event-handler mods for horizontal or vertical only from Toomas Altosaar. Use command key for horizontal drag only, shift key for vertical drag only. Window-drag-event-handler deals with possible screen resolution change - request from Toomas Altosaar. Window-default-zoom-position and size - use true values for border and title sizes. Added some caching for pathname namestrings etc. Optimize ash when number, count, and result are known fixnums. Previously only optimized if the shift count was a constant fixnum. Update-menu-items no longer enables the menu when any menu-item is enabled. THIS IS AN INCOMPATIBLE CHANGE! Arrow-dialog-item does #\escape => select cancel button if appropriate. Message dialog :back-color defaults to *tool-back-color* The function apropos tells if the symbol defines a class. Load-all-patches now loads source files when no corresponding compiled file exists in the patch directory. Added fred command c-m-r which resets the font at the insertion point to the "default font" for the buffer. Add showing as a color to Inspector for integer, from Toomas Altosaar. Add showing as an IP address to Inspector for integer (if tcp-addr-to-string is defined), from Shannon Spires Change "ccl:examples;series;" to use the "COMMON-LISP" vs "LISP" package from Rainer Joswig. Defstruct accessors do type check when compiled with debug = 3 and predicate exists. From Ralf Moeller. The class string-output-stream, methods stream-write-string and stream-tyo for same, and the function make-string-output-stream are changed as follows: The default element-type of the string is still the value of *default-character-type* whose initial value is 'base-character. (this is in violation of the ANSI CL spec). If the element-type argument is provided to make-string-output-stream or (make-instance 'string-output-stream ...) and is 'base-character/base-char then an attempt to write an extended character or an extended string that really needs to be extended will result in an error. If the element type was not provided when creating the stream, then the output-stream-string is upgraded to an extended string. Previously the string was always upgraded to an extended string when writing an extended string even if the string to be written did not actually contain any extended characters and whether or not element-type was provided. Added font-color-palette.lisp to the library folder. From Toomas Altosaar. Allow for quick editing of FRED color by including a windoid accessible via the fonts menu. Similar to Appleworks. WoodAdd another argument to gc-pheap-file, :delay-gvector-copy. The default is nil. If true, gvectors are forwarded and copying the contents is enqueued. This avoids blowing the stack for databases of recursively connected small objects, but may exceed the queue for databases containing just a few VERY large objects. Fix the case of changing a class in memory, then writing a slot-value to the pheap which left us with the class updated on disk but not the instance-slots with initforms. InterfacesAdded navigation.lisp to the "ccl:library;interfaces;" folder. Added appearance.lisp to the "ccl:library;interfaces;" folder. Bug fixesRandom for integers between 256 and 65535 had a low bias (PPC only, 68K was OK) Random for bignums occasionally returned a BOGUS-OBJECT (PPC only, 68K was OK) Fix stream-writer for case of an eql specializer on the second argument to e.g. stream-tyo (PPC only, 68K remains broken.) Fix some cases of call-next-method when closed over. (PPC only, 68K was OK) Fix method dispatch for methods with EQL specializers when there is a (non T) specializer after the EQL specializer. Numerous fixes to table-dialog-item. Fix some confusion about the system font that occurs in OS 8.0 and later Fix for call-method when call-next-method with different arguments. The function decode-float now returns the correct value for the sign of the significand. (PPC only, 68K was OK) Fix to backtrace for register values (PPC only, 68K was ok) Set-macro-character and set-dispatch-macro-character can now handle extended characters. (PPC only) Fix a bug with resolving aliases when the target is not there. Added stream-clear-output and stream-write-byte methods for broadcast-stream from Terje N. Set-mini-buffer binds *print-circle* and *print-pretty* to nil. Window-make-parts - don't error if a window exists whose name is less than 3 characters The method stream-position for file-stream is fixed such that if new position provided it is the returned value. Fixed truncate for short-float when truncate is called for single value. (PPC only, 68K was OK) Egc-configuration returned incorrect values when the EGC was not enabled. Redefining a structure no longer loses the print-function. Fix for display of window titles beginning with "-" in the Windows menu. 68K only fix for some cases of extended strings in fasl files. (PPC didn't have this bug) Fix fasloader for long lists. (PPC only?) Fix printing of integers in some unusual radices. From Duncan Smith. (PPC only, 68K was OK) Some fixes for Fred when reading a file that references a script that is not installed Fred does the right thing when a file has no fred resources and *input-file-script* is not NIL. Aref and aset of 1d arrays detect out of bounds errors for displaced array. Coerce-to-uvector fixed when given a list (PPC only, 68K was OK) The default function for the initial Fred comtab will self insert any character modified by the option/meta key unless also modified by control or command - e.g (:meta #\s) = ¤ Get-external-scrap and put-scrap nullify *external-style-scrap* View-save-position - defend against errors for read-only file, file has moved etc. This was usually only a problem when the file was NOT modified but *SAVE-POSITION-ON-WINDOW-CLOSE* was true. Window-save-as copies resource fork of original when it makes sense. Added a view-default-font method for pop-up-menus vs :default-initarg. The default definition returns the system font. View-default-font for button-dialog-item, check-box-dialog-item, radio-button-dialog-item, and pop-up-menu are also the system font. Add dialog-item-disable :before method for key-handler-mixin which does change-key-handler. Remove-key-handler calls set-current-key-handler for last/only key-handler so exit-key-handler will be called. Font-codes-string-width - fix for string length > 255 or > 127 if string is an extended string. Fix for default-button in OS8.5 such that if the status of a button is changed from being the default button to not being the default button, the OS will STOP drawing the wide border! Fixes to asseql and memeql from Duncan Smith In concatenate 'string a NIL argument doesn't force an extended-string result. In the file "ccl:library;io-buffer.lisp", stream-tyo and %io-buffer-stream-write-string handle extended chars/strings, add stream-write-byte In the file "ccl:library;scrollers.lisp", add :grow-icon-p initarg to scroller-mixin - from Terje Norderhaug In the file "ccl:library;opentransport.lisp, initialize-instance ((s opentransport-basic-tcp-stream) ...) accepts and ignores the keyword :element-type Fix encode-universal-time for start of DST hour, and for day of week. The function that gets the time zone only does so if more than a second has passed since the last time it got the time zone. The variables that remember the last time (in ticks) that we got the time zone were not initialized at start up. Now they are. Create-directory errors if there is a file with the same name even if :if-exists is nil or :no-error is true. Create-directory and dirpath-to-filepath fixes. Create-directory removes pathname-type if any from the full-pathname of the given pathname. Fixed some cases of comparison of short-float and fixnum (PPC only, 68K was OK) The old versions of choose-xxx-dialog that are used when navigation services is not available will hide windoids while the file dialog is shown. This is a work around for an OS bug that occurs in those dialogs in the presence of windoids in some OS versions (7.6.1 is one such version, there may be others.) Process-wait-with-timeout requires the time argument to be a fixnum or NIL, not a float. Vector-push-extend checks type of extension if provided. (68K only, PPC already did) Rename-file works across volumes by doing copy-file, delete-file. Search (ctrl-s, ctrl-r) works for fred-mixin even if the window has no mini-buffer. Fix shared-initialize (and thus initialize-instance also) to check initargs if called from "outside", that is, not from within the initialization protocol where the initargs have already been checked. (PPC only, 68K still doesn't check.) Fix set-view-font-codes method for simple-view which was making the incorrect assumption that font codes are fixnums. Fix log of non-float and 0 (68K only, PPC was OK) Fix asin 0 (68K only - SANE goes into lala land, PPC was OK) Fixed error message in result-bit-array. Translate-logical-pathname never returns a logical-pathname. Fix a case of printing when *print-circle* true and final cdr not list. Window-default-zoom-position and window-default-zoom-size use the actual title and border widths instead of hard wired constants. Fixed stepping into slot accessor methods. Don't do it unless *compile-definitions* was nil when the method was defined. Fix so that e.g.(full-pathname "ccl:;foo;") does what we think it should do, namely go :UP in the physical directory of the host. Full-pathname really obeys the no-error argument. Probe-file looks for a directory unless either the provided pathname or *default-pathname-defaults* specifies a name or type. Create-file creates a directory unless either the provided pathname or *default-pathname-defaults* specifies a name or type. The function open conses somewhat less in the normal case. The functions fsread and fswrite each cons not at all (vs 8 bytes previously) in the normal case. Fred saving a buffer distinguishes between the cases "The file has been modified since you last read or wrote it" and "The file has been deleted, renamed, or moved since you last read or wrote it." Fred modifying a buffer distinguishes between the cases where the buffer is read-only because the file is locked and the buffer is read-only because the file has a CKID resource that says the file is not modifiable. Software-type from David Lamkins. Deftype boolean for 68K (PPC had it) Fix mini-buffer output for listener and c-x c-a (show arglist). From David Lamkins ;; The MCL 4.2 draw-hardcopy produces an "unpredictable" font for ;; the header line. It should be italicized, but it is sometimes ;; plain and sometimes (like when a buffer contains colors) shadowed. ;; There's also no way to override the font used for the headers. ;; Also, the font -- since is based on one of the buffer fonts -- is ;; usually monospace; this makes it take up more room than necessary ;; in the header, and tends to cause header fields to overlap. ;; ;; This change sets the header font to Geneva italic, 7 point. ;; You can change ccl::*hc-header-font-spec* to a 3-element list ;; containing the font number, style bits, and font size. Fix for meta-. and eql specializers such as (eql foo) which may appear as (eql 'foo) in the defining form. Fix merge-pathnames for defaults NIL. Fix format of -0.0 Change type-of for vector with fill-pointer to use length vs array-dimension (??) Fix concatenate for e.g. '(string 3) or '(simple-string 4) Fixes for upper-case-p, alpha-char-p, alphanumericp, and *fred-word-constituents* for some characters with codes between 128 and 255. Make-instances-obsolete methods return the class. Fixed a bug in set-table-dimensions for table-dialog-item that sometimes caused erasure outside the table. Fix re Fred and read-only files that may not have been read-only when first opened. Event-keystroke fixed for shift + functionkey Fix for e.g. (typep x '(and atom (not symbol))) when not optimized by the compiler. The problem had to do with the appearance of ATOM in a compound type specifier. (PPC only, 68K was OK) Fixes for multiple modal dialogs when dismissed in an order different from invocation. (N.B. this unusual situation remains broken when CLIM is loaded.) Fix the get-info dialog such that eg. 'foo or #'char-equal in the text field does something reasonable vs. error Fix the function clrhash such that if the hash table is locked because it is being rehashed, grown or mapped over the clrhash is deferred until the next call to puthash or gethash when the table is not locked. (PPC only) The macro with-cursor now locks the cursor for the duration when the cursor is a handle that is not currently locked. Compiler FixesFix for call-next-method within lexically bound function. Fixes this case:
(defmethod zorba :around ((object window))
(labels ((draw-it ()
(call-next-method)))
(draw-it)
(draw-it)))
(defmethod zorba ((object t))
(print 3))
(zorba (front-window))
Fix fence post error in allocating a uvector when size is known at compile time. (PPC only, not applicable to 68K) Fix error in aset of an array that is declared simple-array with element type short-float and the new element is a constant. (PPC only, not applicable to 68K) %get-long in unusual situations would not put the result in the correct/expected register (the nasty bug that David Lamkins discovered circa 10/31/98) (PPC only, not applicable to 68K) Insert missing event-check in some simple loops. (PPC only, 68K was OK). Also (loop (without-interrupts ...)) does event check at top of loop whereas previously did not. Fixed a bug pertaining to inlined functions with dynamic-extent rest arg. ABS can constant fold. (declare (values ...)) no longer errors. (declare (goop ...)) warns if goop is neither a known type nor known declaration as does (declare (type goop ...) when goop is an unknown type. New SourcesThe sources for the OpenTransport library (the C-based notifier) are now included. Feel free to review the code, suggest improvements, point out problems, etc. Sources are now also provided for the nfcomp.lisp files (68K and PPC versions) and method-combination.lisp (all in the Lib folder). The Tests folder contains test suites used to check MCL versions and will eventually reside in the "Goodies from Digitool" folder on the CD-ROM. Known bugsA few problems have been reported since the new MCL images were built. Patches for all problems that have been fixed at this time are included in the "Patches 4.3" and "Patches 3.4" folders. See the @README@ files in those folders for more information. AcknowledgmentsThanks to the community of MCL users for your feedback, suggestions, enhancements, bug reports, and bug fixes.
|
|||||||||
|
||||||||||