;;; -*- Mode:LISP; Package:USER; Base:10; Readtable:Common-Lisp; Patch-File:T -*- ;;; Patch directory for System version 126 ;;; Written 23-Aug-88 18:44:26 by smh (Steve Haflich) at site Gigamos Cambridge ;;; while running on Harpo from band 3 ;;; with Don't-dump-a-band! Inconsistent (unreleased patches loaded) System 126.64, ZWEI 125.19, ZMail 73.2, Local-File 75.2, File-Server 24.1, Unix-Interface 13.0, Tape 24.2, Lambda-Diag 17.0, microcode 1762, SDU Boot Tape 3.12, SDU ROM 102, kold 4aug88. (:EXPERIMENTAL ((0 "System Loaded" "pld" NIL) (1 "SI:SHOW-VIRTUAL-MEMORY-FRAGMENTATION draws image of regions; limit used to be 256. Correct quantity is now SI:NUMBER-OF-REGIONS. -Keith" "pld" NIL) (2 "Add :force-p keyword to (ethernet:exos-stats) to query the board even if the interface is not enabled. Needed by (ethernet:netspy)..." "keith" NIL) (3 "Change these macros (used by cross compiler) to allow watching *open-frames* change a bit easier." "RWK" NIL) (4 "Give correct byte specifications to sys:%%fasl-group-check and sys:%%fasl-group-flag." "pld" NIL) (5 "PROCLAIM-UNSPECIAL was completely brain damaged. Apparently it had never been exercised. Now it and (PROCLAIM '(UNSPECIAL FOO)) both work." "smh" NIL) (6 "System-Help now prints keystroke characters with a remark. Example:  (Top-L)" "pld" NIL) (7 "The arglists for tcpa:define-network-service and tcpa:subprocess were screwed up, even though they explicitly did (declare (arglist ...)) This is because the symbol GLOBAL:ARGLIST was not imported into the NETWORK package. Fix the package and recompile the macros..." "pld" NIL) (8 "Completely changes how definitions and declarations are maintained local to a file compilation, preparatory to providing real cross-compilation support. A new first-class object exists, called a COMPILATION-ENVIRONMENT. The variable COMPILER:*COMPILATION-ENVIRONMENT* can be bound to one of these. GETDECL and PUTDECL have been modified, and these vars no longer exist: FILE-LOCAL-DECLARATIONS, FILE-SPECIAL-LIST, FILE-UNSPECIAL-LIST. Also includes a couple K-compatibility customizations to QCP1." "smh" NIL) (9 "Implements some new #+ and #- syntax for cross compilation: #+(TARGET FOO) looks for FOO on COMPILER:*TARGET-FEATURES* For symmetry and completeness: #-(LOCAL FOO) looks for FOO on *FEATURES*" "smh" NIL) (10 "Add :IMPRESS and :DVI to canonical file types. Put them, and :BOTEX, on the lists that COPY-FILE is supposed to look at to determine whether a file is :CHARACTERS T or NIL. (It doesn't, but that is the story for another patch.) " "keith" NIL) (11 "a udp-socket now lets you specify :gauge-name on open" "pld" NIL) (12 "Moved *TARGET-FEATURES* to SI package. Made #+(TARGET ...) ignore *TARGET-FEATURES* if null." "smh" NIL) (13 "COMPILE-FILE now takes an additional keyword arg: :EXPLICIT-COMPILATION-ENVIRONMENT. This is passed through to QC-FILE." "smh" NIL) (14 "Aesthetic gesture: Added :GIGAMOS to *FEATURES*." "smh" NIL) (15 "The DIRECTORY function was bombing out over TCP/FTP. Teach FS:FTP-ACCESS to ignore the :FAST option to DIRECTORY-LIST." "keith" NIL) (16 "Added *FASD-INDIRECT-ARRAY* in preparation for further cross-compilation changes." "smh & RWK" NIL) (17 "Added canonical file types :FBIN and :FDEF. Obsoleted :KFASL." "smh & RWK" NIL) (18 "Function COMPILE-STREAM: Remove bogus conditionalization. Function COMPILE-FILE-DRIVER: Keyword interface for what used to be QC-FILE (which remains for compatability, but calls COMPILE-FILE-DRIVER now). The arglist was getting quite out of hand! Adds :target-computer, :target-features, :environment-pathname, and :byte-size keyword args to the functionality of QC-FILE. Function COMPILE-FILE: Use COMPILE-FILE-DRIVER. Function COMPILE-FILE-FOR-FALCON: Call the cross compiler, and write an environment file, too. Function QC-FILE: Now a compatability stub. Call COMPILE-FILE-DRIVER to do the work. Function WRITE-COMPILATION-ENVIRONMENT: Write a compilation environment to an FDEF file. Function LOAD-TO-COMPILATION-ENVIRONMENT-INTERNAL: Used by the FDEF files. Variable *FALCON-ENVIRONMENT*: Environment holding global information about the Falcon system. Variable SI::*FALCON-FEATURES*: Features list for the Falcon. Initially: (:falcon :gigamos :lexical :commonlisp :loop :defstruct :lispm :mit :lmi :common :sort :fasload :string :newio :roman :trace :grindef :grind) -- smh & RWK" "smh&RWK" NIL) (19 "Variable SI::*LAMBDA-FEATURES*: Add this to describe the Lambda target. Variable SI::*FALCON-FEATURES*: Put this in the right file. Function SI::PROB-FROCESSOR: Conditionalize this to work on the Falcon." "RWK" NIL) (20 "SI:COMBINED-SDU-SERIAL-STREAM-FLAVOR had a FORMAT bug, and returned an incorrect flavor name when :ASCII was T." "keith" NIL) (21 "Fix FTP-ACCESS paths :OPEN method so that probe calls return NIL when file does not exist. Most straight-forward way is to return stream iff probe stream finds a TRUENAME for file from the PROBE-DIRECTORY-LIST. Also had to implement proper handling of :ERROR and :IF-DOES-NOT-EXIST. Now, things like this work: (open \"angel:/usr/spool/mail/keith\" :direction :probe)" "keith" NIL) (22 "Improve interface to DISK-SAVE. SI:GET-NEW-SYSTEM-VERSION now takes :QUERY keyword (which DISK-SAVE uses). If non-NIL, offers user chance to edit the system label string. This solves a problem whereby DISK-SAVE no longer gave an opportunity to specify your own partition comment. That happened when we changed all the loaded standard systems (except SYSTEM) s.t. they do not appear in the disk label comment by default. Other presentability improvements thanks to SAZ. -Keith" "keith" NIL) (23 "Fixed setf-method for GETF. Now this will work (gasp!): (setf (getf (gethash symbol (structure-slot-accessor frob)) indicator) new)" "smh" NIL) (24 "Fixed over-optimized optimizer for GETF. Previously (GETF (FOO) 'PROPERTY) would blow up in compilation." "smh" NIL) (25 "The COMPILATION-DEFINE mechanism now knows about COMPILATION-ENVIRONMENTs ... sort-of." "smh" NIL) (26 "Minor bug in COMPILE-FILE-FOR-FALCON" "smh" NIL) (27 "QCOMPILE0 knows about COMPILATION-ENVIRONMENTs for arglist purposes" "smh" NIL) (28 "ARGLIST knows about COMPILATION-ENVIRONMENTs" "smh" NIL) (29 "Make sure :LAMBDA is on the si:*features* list. It was accidentally clobbered by an earlier patch, now repaired." "RWK" NIL) (30 "Delete :FOR-FALCON from the features list, since it's not a feature. Use #+(TARGET FALCON) instead." "RWK" NIL) (32 "Preliminary patching for FASLOAD changes, so the real patch will be able to load itself! Define the various new FASL ops, and the new names for the stream buffer variables. Define the variables: Variable *FASL-NIBBLE-8BIT*: T if using 8-bit bytes. Variable *FASL-NIBBLE-PEEK*: Holding tank for peeked-at nibble. Variable *FASL-BYTE-SIZE*: 16 for now, but will become 8. Use *FASL-BYTE-SIZE* in various functions: FASLOAD, QFASL-FILE-PLIST, FASL-APPEND Function FASLOAD-INTERNAL: Bind the new variables needed by the rest of it." "RWK" NIL) (34 "Patch in new QFASL.QFASL, which can read the 8bit QFASL files, etc." "RWK" NIL) (35 "New debugging function COMPILER:PRINT-COMP-ENV which prints the content of a COMPILATION-ENVIRONMENT object in readable form." "smh" NIL) (36 "Minor fix to new define-setf-method for getf." "smh" NIL) (37 "New QFASD, to write 8bit files." "RWK" NIL) (38 "New MAKE-SYSTEM changes to handle :FOR-FALCON, saving and loading environment files, etc." "RWK" NIL) (39 "Add *SYSTEM-LOAD-BINARY-FILE-TYPE* to the frobs bound here." "rg" NIL) (40 "Add FASD-INDEX, and make FASL-OP-K-IMMEDIATES and FASD-K-LOAD-TIME-EVALS." "wkf" NIL) (41 "Fix package inadequacy in array-type optimizations for K cross compilation. This will eventually be better fixed such that array-type args will be quoted symbols instead of groady numbers." "smh" NIL) (42 "Force FDEF files version number to track source file version number." "smh" NIL) (43 "Add two extra args to COMPILE-LOAD-INIT-CONDITION to keep make-system from blowing out." "JIM" NIL) (44 "The Fixup code for the in-core datastructures for systems in patch System 126.38 didn't find some transformation types salted away in the dependencies lists for component systems (sigh). Fix them up harder." "RWK" NIL) (45 "Fix multitudinous bugs in the Falcon compiled-function FBIN format and code. Note expecially: DON'T USE FASD-FIXED!!! (It's a subroutine of FASD-CONSTANT, which (among other things, is responsible for putting the object in the fasd-table.) This is one of a half-dozen ways the FASD and FASL tables were out of synch. Also, eliminate numerous gratuitous hirsute operations which really just wanted to be subroutines of the main operation." "RWK" NIL) (46 "FBIN: Flush FASL-OP's no longer used due to previous patch." "RWK" NIL) (47 "Bump the FASL version to 2. Version 1 QFASL files are still compatible, but this obsoletes version 1 FBIN files." "RWK" NIL) (48 "Take my debugging print statement of FASD-K-COMPILED-FUNCTION, sigh." "RWK" NIL) (49 "Make QFASL-STREAM-PROPERTY-LIST setup *FASL-NIBBLE-8BIT*" "smh" NIL) (50 "Further refinement of qfasl-stream-property-list to bind *fasl-nibble-peek* to nil." "JIM" NIL) (51 ";; don't send the property list down to the K ;; until the K can handle bignums and the fleabit compiler can handle progv --pfc" "PFC" NIL) (52 "On the Falcon WITH-STACK-LIST(*) now compile into a simple LET and make no attempt to stack cons." "smh" NIL) (53 "For printing MAKE-SYSTEM file transformations, when an input file arg is NIL, print nothing at all. Print, for example, \"Loading FOO.QFASL\", instead of \"Loading FOO.QFASL and NIL\". Also, for LOAD-SITE-FILE transformation, changed \"Loading site files on account of\" to \"Loading site files because of\"." "keith" NIL) (54 "FASL streams \"remember\" the internal FASL version on the FASL stream property list receiver. SI:QFASL-STREAM-PROPERTY-LIST and FS:FILE-ATTRIBUTE-LIST now have the :FASL-VERSION property, whose value is the stream's internal FASL version." "keith" NIL) (55 "Improvements to READ-INTERN-SOFT: 1) When a symbol was not found, it signalled an inappropriate error, e.g. claiming the current package was auto-exporting merely if it wasn't read-locked. 2) This function is supposed to enforce the restriction that forbids interning new symbols into read-locked and auto-exporting packages. Generally, this worked; but things like the following generated a continuable error: (read-from-string \"GLOBAL:YOU-LOSE\") Now, READ-INTERN-SOFT acts true to its name, and signals a fatal error. If an uninterned symbol in a \"normal\" package is read, the resume option is still allowed. (The proceed message is somewhat misleading, though.) 3) The name READ-INTERN-SOFT was somewhat of a misnomer, since it always signalled some error or other when a symbol was not found. Now, it accepts an optional argument, ERROR-P. Now, when a symbol is not found, if ERROR-P is non-NIL (the default), an appropriate error is signalled; otherwise, NIL is returned." "keith" NIL) (56 "Improve interface to SI:MAYBE-SET-SYSTEMS-RELEASED. This gets called when we do a full GC in mode :SYSTEM-RELEASE, typically when the system status is changing. Now, prompt to release some, all, or none of the patchable systems. Also offer to set the system release status (printed by PRINT-HERALD) to any of the stanard values." "keith" NIL) (57 "Tighten up use of SI:*RELEASE-STATUS* in PRINT-HERALD. Make a list of standard release keywords, SI:RELEASE-STATUS-KEYWORDS. Add :OBSOLETE keyword. Also, first shot at the Falcon's herald, almost the same as Lambda's." "keith" NIL) (58 "More informative error message text." "smh" NIL) (59 "Improved compiler internal error messages." "smh" NIL) (60 "The PATCH-VERSION structure now stores and prints the universal time at which the patch was started. The change is upward compatible. The intention is to aid correlating a patch with file changes and unexpected lossages." "smh" NIL) (61 "Dummy patch to test patch system changes." "smh" NIL 2797265021) (62 "FBIN files with bignums can now be loaded on the K w/o crashing it. Therefore we can fasd the file property list with its bignum time. -pfc" "RG" NIL) (63 "UNFASL-FILE now handles FBIN files !! Please use it. Coming soon ... disassembled K code as well. --pfc" "PFC" NIL 2797279426) (64 "The macroexpansion of DEFCONSTANT now puts a CONSTANT-FOR-COMPILATION property into the compilaton-environment, and pass1 knows how to find these properties. Constants so defined will now be substituted into compiled code. This is a slight change to lambda compiler semantics." "smh" NIL 2797279622) (65 "improved unfasling of K-FUNCTIONs pfc" "PFC" NIL 2797359174) (66 "Font Editor fix: a call to FED:com-read-file was miscoded; a user moving off a \"Read which format of font file\" menu gave an error..." "saz" NIL) ))