Intermezzo Patches
==================

[note:  Each of these patches is rated in terms of Impact (how important it is to fix the bug), Risk (how probable is it that loading this patch will cause other bugs), and Size (#bytes/#pages)]

{ERIS}<Lisp>INTERMEZZO>PATCHES>ALLOCPAGEBLOCK.DCOM;2
Patch allows ALLOCPAGEBLOCK to be called more than once, which permits PROLOG and COLOR to alloc large blocks of memory after the initial setup.

{ERIS}<Lisp>INTERMEZZO>PATCHES>BSPPATCH.DCOM;2
Patch fixes the BSP implementation (used by Pup Ftp and Pup Chat) to send out ack requests at less demanding intervals, to avoid overloading busy nets.

{ERIS}<Lisp>intermezzo>patches>BREAKCHECKPATCH.DCOM;1
Initializes the top-level value of HELPFLAG to T (currently NOBIND); redefines BREAKCHECK so it accesses HELPCLOCK as a SPECVAR, instead of a GLOBALVAR. (see AR 3705)
Impact: Minor
Risk: Minor
Size: 894/2

{ERIS}<Lisp>intermezzo>patches>CPMPATCH.DCOM;1
Fixes the following ARs:
AR3579 DELFILE doesn't remove file from DIR listing,
AR4042 CRLF EOL convention and ↑Z EOF convention, AR4054 formatting SSSD floppies.

{ERIS}<Lisp>intermezzo>patches>DATATYPEPATCH.DCOM;1
Fixes bug with loading a new declaration for a record where, even if CROSSCOMPILING is set to not redeclare records, the "old" declaration will get smashed (specifically, the global variable which holds the type number will get set to NIL). [see AR 3706]
Impact: Major
Risk: Moderate
Size: 1194/3

{ERIS}<Lisp>INTERMEZZO>PATCHES>DATATYPEPATCH2.DCOM;1
Fixes AR 3703: HREAD breaks when reading a fontdescriptor dumped with UGLYVARS
Impact: Major
Risk: Moderate
Size: 1194/3

{ERIS}<Lisp>INTERMEZZO>PATCHES>DECLPATCH.;1
Fixes bug (AR 3511) where DEFINEQ((FOO NIL (CLISP: INTEGER) (for X from 1 to 2 do (PRINT X))))DWIMIFY(FOO) complains about INTEGER not being a valid declaration.
Impact: Minor
Risk: Minor
Size: 859/2

{ERIS}<Lisp>INTERMEZZO>PATCHES>DFSPATCH.;1
Does a bunch of MOVDs to allow people with old code that calls VOLUMEDISPLAY or DFSCREATEDIRECTORY to continue to use the old names.
Impact: Moderate
Risk: Minor
Size: 899/2

{ERIS}<LISP>INTERMEZZO>PATCHES>DISKDLIONPATCH.DCOM;1
Fixes a wide variety of problems which occur when stack operations occur under the low level DLion file system code.  When doing extensive local file system I/O, this bug would cause the system to freeze, possibly without allowing the user to enter TELERAID, and possibly with the cursor still tracking, then hang at 0149 when re-booting, requiring the power to be turned off to clear a disk check condition. 
Impact: Major
Risk: Moderate
Size: ?

{ERIS}<Lisp>INTERMEZZO>PATCHES>FAULTPATCH.DCOM;2
Fixes bug in pagefault handler that caused intermittent MP9024 errors under \LOOKUPPAGEMAP.
Impact: Serious
Risk: Moderate

{ERIS}<Lisp>INTERMEZZO>PATCHES>FILEPKGPATCH.DCOM;1
Fixes bug (AR 3699) in EDITCALLERS: should get defn from core instead of file.
Impact: Moderate
Risk: Minor
Size: 2721/6

{ERIS}<Lisp>INTERMEZZO>PATCHES>GRAPHERPATCH.DCOM;1
Fixes 3707: Grapher bugs: link-drawing changed; image objects get/put fns broken

{ERIS}<Lisp>intermezzo>patches>LFSETFILEPTRPATCH.DCOM;1
Fixes bug where SETFILEPTR beyond end of file can smash local file system.

{ERIS}<Lisp>intermezzo>patches>LISPPATCHIMPL.BCD;1
{ERIS}<Lisp>intermezzo>patches>LISPPATCHOPTIONSDF.BCD;1
These files contain the NS file services patch that fixes the early timeout that breaks lisp file operations.

{ERIS}<Lisp>Intermezzo>Patches>LISPTAJOPATCH.DCOM;1
Fixes bug that lisp directory pointer was being put in Tajo directory bytes.  The effect of this was to prevent having both a lisp directory and a tajo directory on the same volume.  Unfortunately, after loading this patch, you must re-scavenge from Pilot and then from Lisp, so this should not be put in the Intermezzo Full.sysout.

{ERIS}<Lisp>intermezzo>Patches>LOCALFILEPATCH.DCOM;1
Fixes bug that allowed a file to be opened twice for write access, causing hard disk errors.  It will now return NIL and refuse to open the file a second time.
Impact: Major
Risk: Minor

{ERIS}<Lisp>intermezzo>Patches>MATRIXUSEPATCH.DCOM;1
Fixes the bug where SETELT and GETELT don't check their arguments, and hence can trash random vmem if passed the wrong arguments (AR 3606).  Also fixes similar problems with MATMULT* functions (AR 3634)
Impact: Major
Risk: Minor
Size: 1089/3

{ERIS}<Lisp>INTERMEZZO>PATCHES>PACKFILENAMEPATCH.DCOM;1
Fixes AR 3538: (PACKFILENAME 'DIRECTORY NIL 'BODY '<XXX>FOO.BAR;1) => <XXX>FOO.BAR;1
Impact: Moderate
Risk: Moderate
Size: 4167/9

{ERIS}<Lisp>INTERMEZZO>PATCHES>PRINTPATCH.DCOM;1
Fixes bad calls to opcode 374q, which crashes Dolphins. (see AR 3495).
Also includes fixes that were in PRESSPATCH: Complex press files (w too many pieces in a single object) cause error "too complex" on Press printer and crash Fullpress printer. (see AR 3701)
Impact: Moderate
Risk: Moderate
Size: 9094/18

{ERIS}<Lisp>INTERMEZZO>PATCHES>READBITMAPPATCH.DCOM;1
Fixes bug where READBITMAP fails to read 0 by 0 bitmaps (AR 3702)
Impact: Minor
Risk: Minor
Size: 1153/3

{ERIS}<Lisp>INTERMEZZO>PATCHES>SPPPATCH.DCOM;1
Patches the SPP connection manager to get better performance when retrieving files from an NS server, especially ones that have had the Lisp Patch Option installed.

{ERIS}<Lisp>INTERMEZZO>PATCHES>SPPPATCH2.DCOM;2
Patches SPP.OPEN to make it work correctly for passive connections (HOST = NIL)--with the patch, SPP.OPEN waits until a connection is established.

{ERIS}<Lisp>INTERMEZZO>PATCHES>TEDITFONTPATCH.;1
Fixes AR 3539: TEdit needs NS fonts
[comments: Fonts loaded by Tedit are (1)  EDITBITMAP (loaded by IMAGEOBJ) loads Gacha12B.  This doesn't exist, so it is created from Gacha12  (2)  TEDITWINDOW loads Helvetica8B (for icon)  (3)  TEDITMENU loads Modern10 (for menus)]
[note:  An alternative patch is to simply release the file MODERN10-C0.DISPLAYFONT, and tell the user to put it on a font directory]
[Note:  Loading TEDITFONTPATCH will cause a break unless DATATYPEPATCH2 is loaded first.]
Impact: Minor
Risk: Minor
Size: 9921/20

{ERIS}<Lisp>INTERMEZZO>PATCHES>TYPEMASKPATCH.DCOM;2
Masinter.pa: "I believe there will be a series of required additions to the microcode to run LispCore>Next generated code. As we make changes, I will put out "patch" files which also make it so that you can load the code and run it in Intermezzo. TYPEMASKPATCH is only one of these.  I think it is important to get it into the internal release relatively soon, but less important to get it into the customer release."