From 8a06820287df2eddaa5dc1be6ed74282aad3209e Mon Sep 17 00:00:00 2001 From: Larry Masinter Date: Wed, 27 Jul 2022 12:21:30 -0700 Subject: [PATCH 1/3] \RPLPTR when run interpreted doesn't work with large vmem pointers --- sources/LLNEW | 510 ++++++++++++++++++++++----------------------- sources/LLNEW.LCOM | Bin 10260 -> 10313 bytes 2 files changed, 249 insertions(+), 261 deletions(-) diff --git a/sources/LLNEW b/sources/LLNEW index fdfec3cbf..96aa8c8f7 100644 --- a/sources/LLNEW +++ b/sources/LLNEW @@ -1,18 +1,19 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 2-Feb-95 16:21:44" {DSK}sources>LLNEW.;15 69572 - changes to%: (RECORDS CONSPAGE) +(FILECREATED "27-Jul-2022 12:14:32" {DSK}larry>medley>sources>LLNEW.;2 68829 - previous date%: "24-Aug-94 10:56:08" {DSK}sources>LLNEW.;14) + :CHANGES-TO (FNS \RPLPTR) + + :PREVIOUS-DATE " 2-Feb-95 16:21:44" {DSK}larry>medley>sources>LLNEW.;1) (* ; " -Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1992, 1993, 1994, 1995 by Venue & Xerox Corporation. All rights reserved. +Copyright (c) 1981-1987, 1990, 1992-1995, 2022 by Venue & Xerox Corporation. ") (PRETTYCOMPRINT LLNEWCOMS) -(RPAQQ LLNEWCOMS +(RPAQQ LLNEWCOMS ((PROPS (LLNEW FILETYPE)) (DECLARE%: DONTCOPY EVAL@COMPILE (FILES (LOADCOMP) LLCODE)) @@ -82,15 +83,13 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1992, 1993, 1994, (DECLARE%: DONTCOPY (EXPORT (MACROS LOCAL ALLOCAL)) (ADDVARS (MKI.SUBFNS (CHECK . *) (RAID . HELP) - (UNINTERRUPTABLY - . PROGN) + (UNINTERRUPTABLY . PROGN) (\StatsAdd1 . *) (EVQ . I.\COPY) (COPY . I.\COPY)) (RD.SUBFNS (CHECK . *) (RAID . HELP) - (UNINTERRUPTABLY - . PROGN) + (UNINTERRUPTABLY . PROGN) (\StatsAdd1 . *) (EVQ . V\COPY) (COPY . V\COPY) @@ -100,7 +99,7 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1992, 1993, 1994, (ADDVARS (DONTCOMPILEFNS MAKEINITFIRST \COPY MAKEINITLAST \UNCOPY] (LOCALVARS . T))) -(PUTPROPS LLNEW FILETYPE :BCOMPL) +(PUTPROPS LLNEW FILETYPE :BCOMPL) (DECLARE%: DONTCOPY EVAL@COMPILE (FILESLOAD (LOADCOMP) @@ -255,13 +254,14 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1992, 1993, 1994, (.COERCE.TO.SMALLPOSP. L]) (\RPLPTR - [LAMBDA (OBJ OFFSET VAL) (* lmm " 3-NOV-81 12:10") + [LAMBDA (OBJ OFFSET VAL) (* ; "Edited 27-Jul-2022 12:06 by larry") + (* lmm " 3-NOV-81 12:10") (UNINTERRUPTABLY (\ADDREF VAL) (\DELREF (\GETBASEPTR (SETQ OBJ (\ADDBASE OBJ OFFSET)) 0)) - (\PUTBASEBYTE OBJ 1 (\HILOC VAL)) (* ; - "\PUTBASEPTR smashes the high byte") + (\PUTBASE OBJ 0 (\HILOC VAL)) (* ; + "\PUTBASEPTR smashes the high byte wich with bigvm is correct") (\PUTBASE OBJ 1 (\LOLOC VAL)) VAL)]) @@ -330,7 +330,7 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1992, 1993, 1994, (CL::COMPLEX-IMAGPART Y]) ) -(PUTPROPS EQL BYTEMACRO COMP.EQ) +(PUTPROPS EQL BYTEMACRO COMP.EQ) (DEFINEQ (LOC @@ -377,55 +377,55 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1992, 1993, 1994, (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE (ACCESSFNS POINTER [(PAGE# (IPLUS (LLSH (\HILOC DATUM) - 8) - (LRSH (\LOLOC DATUM) - 8))) - (WORDINPAGE (LOGAND (\LOLOC DATUM) - 255)) - (CELLINPAGE (LRSH (fetch WORDINPAGE of DATUM) - 1)) - (BYTEINPAGE (LLSH (fetch WORDINPAGE of DATUM) - 1)) - (SEGMENT# (\HILOC DATUM)) - (WORDINSEGMENT (\LOLOC DATUM)) - (CELLINSEGMENT (LRSH (fetch WORDINSEGMENT of DATUM) - 1)) - (WORD# (fetch WORDINPAGE of DATUM)) - (DBLWORD# (fetch CELLINPAGE of DATUM)) - (PAGEBASE (\VAG2 (\HILOC DATUM) - (LOGAND (\LOLOC DATUM) - 65280] - (CREATE (\VAG2 (LRSH PAGE# 8) - (LLSH (LOGAND PAGE# 255) - 8)))) + 8) + (LRSH (\LOLOC DATUM) + 8))) + (WORDINPAGE (LOGAND (\LOLOC DATUM) + 255)) + (CELLINPAGE (LRSH (fetch WORDINPAGE of DATUM) + 1)) + (BYTEINPAGE (LLSH (fetch WORDINPAGE of DATUM) + 1)) + (SEGMENT# (\HILOC DATUM)) + (WORDINSEGMENT (\LOLOC DATUM)) + (CELLINSEGMENT (LRSH (fetch WORDINSEGMENT of DATUM) + 1)) + (WORD# (fetch WORDINPAGE of DATUM)) + (DBLWORD# (fetch CELLINPAGE of DATUM)) + (PAGEBASE (\VAG2 (\HILOC DATUM) + (LOGAND (\LOLOC DATUM) + 65280] + (CREATE (\VAG2 (LRSH PAGE# 8) + (LLSH (LOGAND PAGE# 255) + 8)))) (ACCESSFNS WORD ((HIBYTE (LRSH DATUM 8)) - (LOBYTE (LOGAND DATUM 255))) - (CREATE (IPLUS (LLSH HIBYTE 8) - LOBYTE))) + (LOBYTE (LOGAND DATUM 255))) + (CREATE (IPLUS (LLSH HIBYTE 8) + LOBYTE))) ) (DECLARE%: EVAL@COMPILE -[PUTPROPS PTRGTP MACRO (OPENLAMBDA (X Y) - (OR (IGREATERP (\HILOC X) - (\HILOC Y)) - (AND (EQ (\HILOC X) - (\HILOC Y)) - (IGREATERP (\LOLOC X) - (\LOLOC Y] - -[PUTPROPS .COERCE.TO.SMALLPOSP. DMACRO (OPENLAMBDA (X) - (COND - ((SMALLPOSP X) - X) - (T (\ILLEGAL.ARG X] - -[PUTPROPS .COERCE.TO.BYTE. DMACRO (OPENLAMBDA (X) +(PUTPROPS PTRGTP MACRO [OPENLAMBDA (X Y) + (OR (IGREATERP (\HILOC X) + (\HILOC Y)) + (AND (EQ (\HILOC X) + (\HILOC Y)) + (IGREATERP (\LOLOC X) + (\LOLOC Y]) + +(PUTPROPS .COERCE.TO.SMALLPOSP. DMACRO [OPENLAMBDA (X) (COND - ([AND (SMALLPOSP X) - (ILESSP X (CONSTANT (LLSH 1 BITSPERBYTE] + ((SMALLPOSP X) X) - (T (\ILLEGAL.ARG X] + (T (\ILLEGAL.ARG X]) + +(PUTPROPS .COERCE.TO.BYTE. DMACRO [OPENLAMBDA (X) + (COND + ([AND (SMALLPOSP X) + (ILESSP X (CONSTANT (LLSH 1 BITSPERBYTE] + X) + (T (\ILLEGAL.ARG X]) ) (* "END EXPORTED DEFINITIONS") @@ -435,40 +435,40 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1992, 1993, 1994, (ADDTOVAR INEWCOMS (FNS \GETBASEBYTE \PUTBASEBYTE CREATEPAGES \NEW4PAGE)) (ADDTOVAR RDCOMS (FNS \CAR.UFN \CDR.UFN) - (FNS \COPY \UNCOPY) - (FNS \GETBASEBYTE \PUTBASEBYTE)) + (FNS \COPY \UNCOPY) + (FNS \GETBASEBYTE \PUTBASEBYTE)) (ADDTOVAR INITPTRS (\LISTPDTD)) (ADDTOVAR MKI.SUBFNS (\ADDBASE . I.ADDBASE) - (\GETBASE . I.GETBASE) - (\PUTBASE . I.PUTBASE) - (\GETBASEPTR . I.GETBASEPTR) - (\PUTBASEPTR . I.PUTBASEPTR) - (\HILOC . I.HILOC) - (\LOLOC . I.LOLOC) - (\VAG2 . I.VAG2) - (.COERCE.TO.SMALLPOSP. . PROG1) - (.COERCE.TO.BYTE. . PROG1) - (LOCKEDPAGEP . MKI.LOCKEDPAGEP) - (\RPLPTR . I.PUTBASEPTR) - (CONS . I.\CONS.UFN)) + (\GETBASE . I.GETBASE) + (\PUTBASE . I.PUTBASE) + (\GETBASEPTR . I.GETBASEPTR) + (\PUTBASEPTR . I.PUTBASEPTR) + (\HILOC . I.HILOC) + (\LOLOC . I.LOLOC) + (\VAG2 . I.VAG2) + (.COERCE.TO.SMALLPOSP. . PROG1) + (.COERCE.TO.BYTE. . PROG1) + (LOCKEDPAGEP . MKI.LOCKEDPAGEP) + (\RPLPTR . I.PUTBASEPTR) + (CONS . I.\CONS.UFN)) (ADDTOVAR RD.SUBFNS (\ADDBASE . VADDBASE) - (\GETBASE . VGETBASE) - (\PUTBASE . VPUTBASE) - (\GETBASEPTR . VGETBASEPTR) - (\PUTBASEPTR . VPUTBASEPTR) - (\HILOC . VHILOC) - (\LOLOC . VLOLOC) - (\VAG2 . VVAG2) - (.COERCE.TO.SMALLPOSP. . PROG1) - (.COERCE.TO.BYTE. . PROG1) - (PTRGTP . IGREATERP) - (\RPLPTR . VPUTBASEPTR) - (CAR . V\CAR.UFN) - (CDR . V\CDR.UFN) - (CAR/CDRERR . T)) + (\GETBASE . VGETBASE) + (\PUTBASE . VPUTBASE) + (\GETBASEPTR . VGETBASEPTR) + (\PUTBASEPTR . VPUTBASEPTR) + (\HILOC . VHILOC) + (\LOLOC . VLOLOC) + (\VAG2 . VVAG2) + (.COERCE.TO.SMALLPOSP. . PROG1) + (.COERCE.TO.BYTE. . PROG1) + (PTRGTP . IGREATERP) + (\RPLPTR . VPUTBASEPTR) + (CAR . V\CAR.UFN) + (CDR . V\CDR.UFN) + (CAR/CDRERR . T)) EVAL@COMPILE (ADDTOVAR DONTCOMPILEFNS CREATEPAGES) @@ -902,40 +902,40 @@ EVAL@COMPILE (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE (BLOCKRECORD LISTP ( - (* ;; "Describes a CONS cell.") + (* ;; "Describes a CONS cell.") - (CAR POINTER) - (CDR POINTER)) - (CREATE (CREATECELL \LISTP)) + (CAR POINTER) + (CDR POINTER)) + (CREATE (CREATECELL \LISTP)) - (* ;; "FOLLOWING ARE CDR-CODE FIELDS") + (* ;; "FOLLOWING ARE CDR-CODE FIELDS") - (BLOCKRECORD LISTP ((CDRCODE BITS 4) - (CARFIELD XPOINTER))) + (BLOCKRECORD LISTP ((CDRCODE BITS 4) + (CARFIELD XPOINTER))) - (* ;; "For chaining together free cells on a page:") + (* ;; "For chaining together free cells on a page:") - (BLOCKRECORD LISTP ((NEXTFREE BYTE) - (NIL BITS 24))) - [ACCESSFNS LISTP ((FULLCARFIELD NIL (\PUTBASEPTR DATUM 0 NEWVALUE] + (BLOCKRECORD LISTP ((NEXTFREE BYTE) + (NIL BITS 24))) + [ACCESSFNS LISTP ((FULLCARFIELD NIL (\PUTBASEPTR DATUM 0 NEWVALUE] - (* ;; "because replace of XPOINTER is slow, the CAR field is stored with PUTBASEPTR, even though that smashes the hi byte") + (* ;; "because replace of XPOINTER is slow, the CAR field is stored with PUTBASEPTR, even though that smashes the hi byte") - ) + ) (BLOCKRECORD CONSPAGE ( - (* ;; - "Describes a page of CONS cells, which (when free) are chained together thru the top byte.") - - (NIL 2 FIXP) (* ; - "Empty cells, space for another 2 CONS cells if we can figure out how.") - (CNT BYTE) (* ; "# of cells free on this page") - (NEXTCELL BYTE) (* ; - "WORD offset of next free cell (not guaranteed to be 0 if no free cells)") - (NIL WORD) (* ; "Padding") - (NEXTPAGE FIXP) (* ; - "Next CONS page on the DTD's free list, for searching for cells.") - )) + (* ;; + "Describes a page of CONS cells, which (when free) are chained together thru the top byte.") + + (NIL 2 FIXP) (* ; + "Empty cells, space for another 2 CONS cells if we can figure out how.") + (CNT BYTE) (* ; "# of cells free on this page") + (NEXTCELL BYTE) (* ; + "WORD offset of next free cell (not guaranteed to be 0 if no free cells)") + (NIL WORD) (* ; "Padding") + (NEXTPAGE FIXP) (* ; + "Next CONS page on the DTD's free list, for searching for cells.") + )) ) (RPAQQ CONSCONSTANTS (\CDR.ONPAGE \CDR.NIL \CDR.INDIRECT \CDR.MAXINDIRECT \CONSPAGE.LAST)) @@ -960,128 +960,118 @@ EVAL@COMPILE (DECLARE%: EVAL@COMPILE -[PUTPROPS .MAKECONSCELL. MACRO (OPENLAMBDA (PAGE A D) - (PROG [(.MK.NEWCELL (\ADDBASE PAGE (fetch (CONSPAGE - NEXTCELL) - of PAGE] - (CHECK (NEQ (fetch (CONSPAGE CNT) of PAGE) - 0) - (EVENP (fetch (CONSPAGE NEXTCELL) of - PAGE))) - (replace (CONSPAGE NEXTCELL) of PAGE - with (fetch (LISTP NEXTFREE) of - .MK.NEWCELL - )) - (CHECK (EVENP (fetch (CONSPAGE NEXTCELL) of - PAGE))) - (add (fetch (CONSPAGE CNT) of PAGE) - -1) - (replace (LISTP FULLCARFIELD) of .MK.NEWCELL - with A) - (replace (LISTP CDRCODE) of .MK.NEWCELL - with D) - (RETURN .MK.NEWCELL] - -[PUTPROPS .FINDCLOSEPRIOR. MACRO - (OPENLAMBDA (PG A D) - (LET ((CDROFFSET (LOGAND (\LOLOC D) - 255)) - (OFFSET (fetch (CONSPAGE NEXTCELL) of PG)) - CELL PRIOR) - (WHILE (NEQ OFFSET 0) - DO (COND - ((AND (ILEQ OFFSET CDROFFSET) - (IGEQ OFFSET (IDIFFERENCE CDROFFSET 14))) - - (* ;; - "There's a cell close enough. Take it off the chain and return it.") - - [COND - [PRIOR - (* ;; - "There was a prior entry in the chain; detach this one.") - - (REPLACE (LISTP NEXTFREE) OF (\ADDBASE PG - PRIOR) - WITH (FETCH (LISTP NEXTFREE) - OF (SETQ CELL (\ADDBASE PG OFFSET] - (T - (* ;; "No prior entry; set the conspage's NEXTCELL entry.") - - (REPLACE (CONSPAGE NEXTCELL) OF PG - WITH (FETCH (LISTP NEXTFREE) - OF (SETQ CELL (\ADDBASE PG OFFSET] - (add (fetch (CONSPAGE CNT) of PG) - -1) - (replace (LISTP FULLCARFIELD) of CELL with A) - (replace (LISTP CDRCODE) of CELL - with (LOGOR \CDR.ONPAGE (LRSH (IDIFFERENCE CDROFFSET OFFSET) - 1))) - (RETURN CELL))) +(PUTPROPS .MAKECONSCELL. MACRO (OPENLAMBDA (PAGE A D) + (PROG [(.MK.NEWCELL (\ADDBASE PAGE (fetch (CONSPAGE NEXTCELL) + of PAGE] + (CHECK (NEQ (fetch (CONSPAGE CNT) of PAGE) + 0) + (EVENP (fetch (CONSPAGE NEXTCELL) of PAGE))) + (replace (CONSPAGE NEXTCELL) of PAGE + with (fetch (LISTP NEXTFREE) of .MK.NEWCELL)) + (CHECK (EVENP (fetch (CONSPAGE NEXTCELL) of PAGE))) + (add (fetch (CONSPAGE CNT) of PAGE) + -1) + (replace (LISTP FULLCARFIELD) of .MK.NEWCELL with A) + (replace (LISTP CDRCODE) of .MK.NEWCELL with D) + (RETURN .MK.NEWCELL)))) + +(PUTPROPS .FINDCLOSEPRIOR. MACRO [OPENLAMBDA (PG A D) + (LET ((CDROFFSET (LOGAND (\LOLOC D) + 255)) + (OFFSET (fetch (CONSPAGE NEXTCELL) of PG)) + CELL PRIOR) + (WHILE (NEQ OFFSET 0) + DO (COND + ((AND (ILEQ OFFSET CDROFFSET) + (IGEQ OFFSET (IDIFFERENCE CDROFFSET 14))) + + (* ;; + "There's a cell close enough. Take it off the chain and return it.") + + [COND + [PRIOR + (* ;; + "There was a prior entry in the chain; detach this one.") + + (REPLACE (LISTP NEXTFREE) + OF (\ADDBASE PG PRIOR) + WITH (FETCH (LISTP NEXTFREE) + OF (SETQ CELL (\ADDBASE PG + OFFSET] + (T + (* ;; + "No prior entry; set the conspage's NEXTCELL entry.") + + (REPLACE (CONSPAGE NEXTCELL) OF PG + WITH (FETCH (LISTP NEXTFREE) + OF (SETQ CELL (\ADDBASE PG OFFSET] + (add (fetch (CONSPAGE CNT) of PG) + -1) + (replace (LISTP FULLCARFIELD) of CELL with A) + (replace (LISTP CDRCODE) of CELL + with (LOGOR \CDR.ONPAGE (LRSH (IDIFFERENCE + CDROFFSET OFFSET) + 1))) + (RETURN CELL))) + (SETQ PRIOR OFFSET) + (SETQ OFFSET (FETCH (LISTP NEXTFREE) + OF (\ADDBASE PG OFFSET]) + +(PUTPROPS .FINDCDRABLEPAIR. MACRO + [OPENLAMBDA (PG A D) + (LET ((OFFSET (fetch (CONSPAGE NEXTCELL) of PG)) + CELL PRIOR PRIORPRIOR) + (AND (IGEQ (FETCH (CONSPAGE CNT) OF PG) + 2) + (WHILE (NEQ OFFSET 0) + DO (COND + ((AND PRIOR (ILEQ OFFSET PRIOR) + (IGEQ OFFSET (IDIFFERENCE PRIOR 14))) + + (* ;; + "There's a cell close enough. Take it off the chain and return it.") + + [COND + [PRIORPRIOR + + (* ;; + "There was a prior entry in the chain; detach this one.") + + (REPLACE (LISTP NEXTFREE) OF (\ADDBASE PG PRIORPRIOR) + WITH (FETCH (LISTP NEXTFREE) OF (SETQ CELL + (\ADDBASE PG OFFSET] + (T + (* ;; "No prior entry; set the conspage's NEXTCELL entry.") + + (REPLACE (CONSPAGE NEXTCELL) OF PG + WITH (FETCH (LISTP NEXTFREE) OF (SETQ CELL (\ADDBASE PG + OFFSET] + (add (fetch (CONSPAGE CNT) of PG) + -2) + (\PUTBASEPTR (\ADDBASE PG PRIOR) + 0 D) + (REPLACE (LISTP FULLCARFIELD) OF CELL WITH A) + (REPLACE (LISTP CDRCODE) OF CELL WITH (LRSH (IDIFFERENCE PRIOR OFFSET + ) + 1)) + (RETURN CELL))) + (SETQ PRIORPRIOR PRIOR) (SETQ PRIOR OFFSET) - (SETQ OFFSET (FETCH (LISTP NEXTFREE) OF (\ADDBASE PG OFFSET] - -[PUTPROPS .FINDCDRABLEPAIR. MACRO - (OPENLAMBDA (PG A D) - (LET ((OFFSET (fetch (CONSPAGE NEXTCELL) of PG)) - CELL PRIOR PRIORPRIOR) - (AND (IGEQ (FETCH (CONSPAGE CNT) OF PG) - 2) - (WHILE (NEQ OFFSET 0) - DO (COND - ((AND PRIOR (ILEQ OFFSET PRIOR) - (IGEQ OFFSET (IDIFFERENCE PRIOR 14))) - - (* ;; - "There's a cell close enough. Take it off the chain and return it.") - - [COND - [PRIORPRIOR - - (* ;; - "There was a prior entry in the chain; detach this one.") - - (REPLACE (LISTP NEXTFREE) OF (\ADDBASE - PG PRIORPRIOR) - WITH (FETCH (LISTP NEXTFREE) - OF (SETQ CELL (\ADDBASE PG - OFFSET] - (T - (* ;; - "No prior entry; set the conspage's NEXTCELL entry.") - - (REPLACE (CONSPAGE NEXTCELL) OF PG - WITH (FETCH (LISTP NEXTFREE) - OF (SETQ CELL (\ADDBASE PG OFFSET] - (add (fetch (CONSPAGE CNT) of PG) - -2) - (\PUTBASEPTR (\ADDBASE PG PRIOR) - 0 D) - (REPLACE (LISTP FULLCARFIELD) OF CELL WITH A) - (REPLACE (LISTP CDRCODE) OF CELL - WITH (LRSH (IDIFFERENCE PRIOR OFFSET) - 1)) - (RETURN CELL))) - (SETQ PRIORPRIOR PRIOR) - (SETQ PRIOR OFFSET) - (SETQ OFFSET (FETCH (LISTP NEXTFREE) OF (\ADDBASE PG - OFFSET] - -[PUTPROPS .FINDPAIR. MACRO (OPENLAMBDA (A D) - (LET ((PG (fetch DTDNEXTPAGE of \LISTPDTD)) - CELL CPG) - [WHILE (IGREATERP PG 0) - DO (COND - ((SETQ CELL (.FINDCDRABLEPAIR. (SETQ CPG - (CREATE - POINTER - PAGE# _ PG)) - A D)) - (RETURN CELL)) - (T (SETQ PG (FETCH (CONSPAGE NEXTPAGE) - OF CPG] - (OR CELL (.FINDCDRABLEPAIR. (\NEXTCONSPAGE) - A D] + (SETQ OFFSET (FETCH (LISTP NEXTFREE) OF (\ADDBASE PG OFFSET]) + +(PUTPROPS .FINDPAIR. MACRO [OPENLAMBDA (A D) + (LET ((PG (fetch DTDNEXTPAGE of \LISTPDTD)) + CELL CPG) + [WHILE (IGREATERP PG 0) + DO (COND + ((SETQ CELL (.FINDCDRABLEPAIR. (SETQ CPG + (CREATE POINTER + PAGE# _ PG)) + A D)) + (RETURN CELL)) + (T (SETQ PG (FETCH (CONSPAGE NEXTPAGE) OF CPG] + (OR CELL (.FINDCDRABLEPAIR. (\NEXTCONSPAGE) + A D]) ) @@ -1138,8 +1128,8 @@ EVAL@COMPILE (DECLARE%: DONTCOPY (DECLARE%: EVAL@COMPILE -[PUTPROPS !CHECK MACRO ((X) - (OR X (RAID 'X] +(PUTPROPS !CHECK MACRO [(X) + (OR X (RAID 'X]) ) ) @@ -1390,10 +1380,10 @@ EVAL@COMPILE (DECLARE%: DONTCOPY (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE -(PUTPROPS LOCAL MACRO ((X) +(PUTPROPS LOCAL MACRO ((X) X)) -(PUTPROPS ALLOCAL MACRO ((X) +(PUTPROPS ALLOCAL MACRO ((X) X)) ) @@ -1402,21 +1392,19 @@ EVAL@COMPILE (ADDTOVAR MKI.SUBFNS (CHECK . *) - (RAID . HELP) - (UNINTERRUPTABLY - . PROGN) - (\StatsAdd1 . *) - (EVQ . I.\COPY) - (COPY . I.\COPY)) + (RAID . HELP) + (UNINTERRUPTABLY . PROGN) + (\StatsAdd1 . *) + (EVQ . I.\COPY) + (COPY . I.\COPY)) (ADDTOVAR RD.SUBFNS (CHECK . *) - (RAID . HELP) - (UNINTERRUPTABLY - . PROGN) - (\StatsAdd1 . *) - (EVQ . V\COPY) - (COPY . V\COPY) - (1ST . V\UNCOPY)) + (RAID . HELP) + (UNINTERRUPTABLY . PROGN) + (\StatsAdd1 . *) + (EVQ . V\COPY) + (COPY . V\COPY) + (1ST . V\UNCOPY)) (ADDTOVAR INEWCOMS (FNS MAKEINITFIRST \COPY MAKEINITLAST)) @@ -1429,19 +1417,19 @@ EVAL@COMPILE (LOCALVARS . T) ) (PUTPROPS LLNEW COPYRIGHT ("Venue & Xerox Corporation" 1981 1982 1983 1984 1985 1986 1987 1990 1992 -1993 1994 1995)) +1993 1994 1995 2022)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (5895 12403 (\ADDBASE 5905 . 6712) (\GETBASE 6714 . 6958) (\PUTBASE 6960 . 7236) ( -\PUTBASE.UFN 7238 . 7518) (\PUTBASEPTR.UFN 7520 . 7842) (\PUTBITS.UFN 7844 . 8550) (\GETBASEBYTE 8552 - . 8979) (\PUTBASEBYTE 8981 . 9672) (\GETBASEPTR 9674 . 10012) (\PUTBASEPTR 10014 . 10332) (\HILOC -10334 . 10558) (\LOLOC 10560 . 10784) (\VAG2 10786 . 11161) (\RPLPTR 11163 . 11640) (\RPLPTR.UFN 11642 - . 12401)) (12404 13819 (EQ 12414 . 12632) (EQL 12634 . 13817)) (13858 14608 (LOC 13868 . 14199) (VAG -14201 . 14606)) (14609 15650 (CREATEPAGES 14619 . 15108) (\NEW4PAGE 15110 . 15648)) (20046 38779 (CONS - 20056 . 20362) (\CONS.UFN 20364 . 22782) (\MAIKO.CONS.UFN 22784 . 25037) (CAR 25039 . 25166) ( -\CAR.UFN 25168 . 26271) (CDR 26273 . 26400) (\CDR.UFN 26402 . 28001) (RPLACA 28003 . 28230) ( -\RPLACA.UFN 28232 . 29231) (RPLACD 29233 . 29368) (\RPLACD.UFN 29370 . 33121) (DOCOLLECT 33123 . 33387 -) (\RPLCONS 33389 . 35399) (ENDCOLLECT 35401 . 35609) (\INITCONSPAGE 35611 . 38173) (\NEXTCONSPAGE -38175 . 38777)) (38837 41172 (\RESTLIST.UFN 38847 . 39945) (\FINDKEY.UFN 39947 . 41170)) (51822 53618 -(CHECKCONSPAGES 51832 . 52771) (\CHECKCONSPAGE 52773 . 53616)) (53786 68392 (MAKEINITFIRST 53796 . -54134) (MAKEINITLAST 54136 . 59420) (\COPY 59422 . 61925) (\UNCOPY 61927 . 68390))))) + (FILEMAP (NIL (5767 12399 (\ADDBASE 5777 . 6584) (\GETBASE 6586 . 6830) (\PUTBASE 6832 . 7108) ( +\PUTBASE.UFN 7110 . 7390) (\PUTBASEPTR.UFN 7392 . 7714) (\PUTBITS.UFN 7716 . 8422) (\GETBASEBYTE 8424 + . 8851) (\PUTBASEBYTE 8853 . 9544) (\GETBASEPTR 9546 . 9884) (\PUTBASEPTR 9886 . 10204) (\HILOC 10206 + . 10430) (\LOLOC 10432 . 10656) (\VAG2 10658 . 11033) (\RPLPTR 11035 . 11636) (\RPLPTR.UFN 11638 . +12397)) (12400 13815 (EQ 12410 . 12628) (EQL 12630 . 13813)) (13858 14608 (LOC 13868 . 14199) (VAG +14201 . 14606)) (14609 15650 (CREATEPAGES 14619 . 15108) (\NEW4PAGE 15110 . 15648)) (19775 38508 (CONS + 19785 . 20091) (\CONS.UFN 20093 . 22511) (\MAIKO.CONS.UFN 22513 . 24766) (CAR 24768 . 24895) ( +\CAR.UFN 24897 . 26000) (CDR 26002 . 26129) (\CDR.UFN 26131 . 27730) (RPLACA 27732 . 27959) ( +\RPLACA.UFN 27961 . 28960) (RPLACD 28962 . 29097) (\RPLACD.UFN 29099 . 32850) (DOCOLLECT 32852 . 33116 +) (\RPLCONS 33118 . 35128) (ENDCOLLECT 35130 . 35338) (\INITCONSPAGE 35340 . 37902) (\NEXTCONSPAGE +37904 . 38506)) (38566 40901 (\RESTLIST.UFN 38576 . 39674) (\FINDKEY.UFN 39676 . 40899)) (51152 52948 +(CHECKCONSPAGES 51162 . 52101) (\CHECKCONSPAGE 52103 . 52946)) (53125 67731 (MAKEINITFIRST 53135 . +53473) (MAKEINITLAST 53475 . 58759) (\COPY 58761 . 61264) (\UNCOPY 61266 . 67729))))) STOP diff --git a/sources/LLNEW.LCOM b/sources/LLNEW.LCOM index 552cf77034c92bac4da199dbce96a5fd654a7c54..62bfa7c114f80f503b9d40870181edba8fdd15e1 100644 GIT binary patch delta 935 zcmajeJ!}$j6aes^v=AV;LR|li-%nd++i7@BW0_>5cTw zM2)6B@uVybW~AttBoc-{<{errd3it26OI?S9wE@j5D!zRl;>tjN|97%2}4%I?C|CA zbfv6BO8IJaIZ{@NC1p7>Usd>qjTI@1<}oJrNbfSTrjUK@8IM zCzPL}Xm$4h4^mo_>e7rrw4f<~?=&K4ZGH;AZ5{$GEswz0E&U*+jerAM7QCqSfU33v zYILGIwzb(b5Zm6QV#cOaQl|0afwO<#urC)+HI7$jb$HH}?g&NKf9ghX6;Z__m-FgrUOKkygt?e18m@r;7F!krA zD_9J-$D#9T`yG7fFo(f$^L6l}`3tyl=m9v@aSi<1@djF79Ij#O@y-k2!_Fe8w_-eJ z#pQRb=fGZ@0^YNo1;01qyd8TC4vYH9J`B-Og0&lD5~OTq^`%`8)i^xm9GF{oV84aI znKcGy?lPE3bfJ&CFyGdF8Z38XW~Uo7LFXy3#l@+wocN;OoLHN5p_g1l{p_+q)a-VE hE;j)aZtPoeWB#tYXrZ}KC_sQ7q?h2ok7XOb*e^_*{4@Xn delta 905 zcmajdKTH#06aa8*OZk%=DQyr$C|?iCwIOZ#wRfd=kj9p43G@$5ix>?NOM61Ka7{}k zL=7&o7>#-ojS0rVkfBv>lIuR*(H}4Ak;7Us6<7UIM|%JSSl2iJW-bjOU}ue*oBc| zp;F4JWhGcqtL2|mj83NI3}HqmlbKX#EaD`kvU0YdRx9;=>=Jx0f7j#*^+aQNdpUD&iQIUZ;5(jNnjW}k1)1Z#2xtkKW$@yk%xYaxZ>RYPdY6}IoTWz(sExUTC+-`k}m01%!rd=`Z zfWq$_tD&QOIEI8PU@%3J;3EB>677~MK zmf+oUass5*4(&&8Gu%eubjgOfFE*@?vDou5i#<(!m|3a2(}($R|8a1$AM*w~W)|$n zKw*GtKkfLU+yLHPt^06*XziR8&OB!Wr#S+ya9H=Ko`22d4=_{|eFT7ikthmIXZ^?e E148Qa@Bjb+ From 09e7131f0c01a34054651c7a24bb3f076b1436b6 Mon Sep 17 00:00:00 2001 From: Larry Masinter Date: Wed, 27 Jul 2022 13:25:04 -0700 Subject: [PATCH 2/3] oops, misread maiko N_OP_rplptr; this is closer --- sources/LLNEW | 49 +++++++++++++++++++++++++-------------------- sources/LLNEW.LCOM | Bin 10313 -> 10323 bytes 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/sources/LLNEW b/sources/LLNEW index 96aa8c8f7..95787f602 100644 --- a/sources/LLNEW +++ b/sources/LLNEW @@ -1,10 +1,10 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "27-Jul-2022 12:14:32" {DSK}larry>medley>sources>LLNEW.;2 68829 +(FILECREATED "27-Jul-2022 13:21:34" {DSK}larry>medley>sources>LLNEW.;3 69018 :CHANGES-TO (FNS \RPLPTR) - :PREVIOUS-DATE " 2-Feb-95 16:21:44" {DSK}larry>medley>sources>LLNEW.;1) + :PREVIOUS-DATE "27-Jul-2022 12:14:32" {DSK}larry>medley>sources>LLNEW.;2) (* ; " @@ -83,13 +83,15 @@ Copyright (c) 1981-1987, 1990, 1992-1995, 2022 by Venue & Xerox Corporation. (DECLARE%: DONTCOPY (EXPORT (MACROS LOCAL ALLOCAL)) (ADDVARS (MKI.SUBFNS (CHECK . *) (RAID . HELP) - (UNINTERRUPTABLY . PROGN) + (UNINTERRUPTABLY + . PROGN) (\StatsAdd1 . *) (EVQ . I.\COPY) (COPY . I.\COPY)) (RD.SUBFNS (CHECK . *) (RAID . HELP) - (UNINTERRUPTABLY . PROGN) + (UNINTERRUPTABLY + . PROGN) (\StatsAdd1 . *) (EVQ . V\COPY) (COPY . V\COPY) @@ -254,14 +256,15 @@ Copyright (c) 1981-1987, 1990, 1992-1995, 2022 by Venue & Xerox Corporation. (.COERCE.TO.SMALLPOSP. L]) (\RPLPTR - [LAMBDA (OBJ OFFSET VAL) (* ; "Edited 27-Jul-2022 12:06 by larry") + [LAMBDA (OBJ OFFSET VAL) (* ; + "Edited 27-Jul-2022 13:17 by larry: Only called interpreted") (* lmm " 3-NOV-81 12:10") (UNINTERRUPTABLY (\ADDREF VAL) (\DELREF (\GETBASEPTR (SETQ OBJ (\ADDBASE OBJ OFFSET)) 0)) - (\PUTBASE OBJ 0 (\HILOC VAL)) (* ; - "\PUTBASEPTR smashes the high byte wich with bigvm is correct") + (\PUTBASE OBJ 0 (LOGOR (LOGAND 61440 (\GETBASE OBJ 0)) + (\HILOC VAL))) (* ; "\PUTBASEPTR smashes the high ") (\PUTBASE OBJ 1 (\LOLOC VAL)) VAL)]) @@ -1393,14 +1396,16 @@ EVAL@COMPILE (ADDTOVAR MKI.SUBFNS (CHECK . *) (RAID . HELP) - (UNINTERRUPTABLY . PROGN) + (UNINTERRUPTABLY + . PROGN) (\StatsAdd1 . *) (EVQ . I.\COPY) (COPY . I.\COPY)) (ADDTOVAR RD.SUBFNS (CHECK . *) (RAID . HELP) - (UNINTERRUPTABLY . PROGN) + (UNINTERRUPTABLY + . PROGN) (\StatsAdd1 . *) (EVQ . V\COPY) (COPY . V\COPY) @@ -1419,17 +1424,17 @@ EVAL@COMPILE (PUTPROPS LLNEW COPYRIGHT ("Venue & Xerox Corporation" 1981 1982 1983 1984 1985 1986 1987 1990 1992 1993 1994 1995 2022)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (5767 12399 (\ADDBASE 5777 . 6584) (\GETBASE 6586 . 6830) (\PUTBASE 6832 . 7108) ( -\PUTBASE.UFN 7110 . 7390) (\PUTBASEPTR.UFN 7392 . 7714) (\PUTBITS.UFN 7716 . 8422) (\GETBASEBYTE 8424 - . 8851) (\PUTBASEBYTE 8853 . 9544) (\GETBASEPTR 9546 . 9884) (\PUTBASEPTR 9886 . 10204) (\HILOC 10206 - . 10430) (\LOLOC 10432 . 10656) (\VAG2 10658 . 11033) (\RPLPTR 11035 . 11636) (\RPLPTR.UFN 11638 . -12397)) (12400 13815 (EQ 12410 . 12628) (EQL 12630 . 13813)) (13858 14608 (LOC 13868 . 14199) (VAG -14201 . 14606)) (14609 15650 (CREATEPAGES 14619 . 15108) (\NEW4PAGE 15110 . 15648)) (19775 38508 (CONS - 19785 . 20091) (\CONS.UFN 20093 . 22511) (\MAIKO.CONS.UFN 22513 . 24766) (CAR 24768 . 24895) ( -\CAR.UFN 24897 . 26000) (CDR 26002 . 26129) (\CDR.UFN 26131 . 27730) (RPLACA 27732 . 27959) ( -\RPLACA.UFN 27961 . 28960) (RPLACD 28962 . 29097) (\RPLACD.UFN 29099 . 32850) (DOCOLLECT 32852 . 33116 -) (\RPLCONS 33118 . 35128) (ENDCOLLECT 35130 . 35338) (\INITCONSPAGE 35340 . 37902) (\NEXTCONSPAGE -37904 . 38506)) (38566 40901 (\RESTLIST.UFN 38576 . 39674) (\FINDKEY.UFN 39676 . 40899)) (51152 52948 -(CHECKCONSPAGES 51162 . 52101) (\CHECKCONSPAGE 52103 . 52946)) (53125 67731 (MAKEINITFIRST 53135 . -53473) (MAKEINITLAST 53475 . 58759) (\COPY 58761 . 61264) (\UNCOPY 61266 . 67729))))) + (FILEMAP (NIL (5851 12537 (\ADDBASE 5861 . 6668) (\GETBASE 6670 . 6914) (\PUTBASE 6916 . 7192) ( +\PUTBASE.UFN 7194 . 7474) (\PUTBASEPTR.UFN 7476 . 7798) (\PUTBITS.UFN 7800 . 8506) (\GETBASEBYTE 8508 + . 8935) (\PUTBASEBYTE 8937 . 9628) (\GETBASEPTR 9630 . 9968) (\PUTBASEPTR 9970 . 10288) (\HILOC 10290 + . 10514) (\LOLOC 10516 . 10740) (\VAG2 10742 . 11117) (\RPLPTR 11119 . 11774) (\RPLPTR.UFN 11776 . +12535)) (12538 13953 (EQ 12548 . 12766) (EQL 12768 . 13951)) (13996 14746 (LOC 14006 . 14337) (VAG +14339 . 14744)) (14747 15788 (CREATEPAGES 14757 . 15246) (\NEW4PAGE 15248 . 15786)) (19913 38646 (CONS + 19923 . 20229) (\CONS.UFN 20231 . 22649) (\MAIKO.CONS.UFN 22651 . 24904) (CAR 24906 . 25033) ( +\CAR.UFN 25035 . 26138) (CDR 26140 . 26267) (\CDR.UFN 26269 . 27868) (RPLACA 27870 . 28097) ( +\RPLACA.UFN 28099 . 29098) (RPLACD 29100 . 29235) (\RPLACD.UFN 29237 . 32988) (DOCOLLECT 32990 . 33254 +) (\RPLCONS 33256 . 35266) (ENDCOLLECT 35268 . 35476) (\INITCONSPAGE 35478 . 38040) (\NEXTCONSPAGE +38042 . 38644)) (38704 41039 (\RESTLIST.UFN 38714 . 39812) (\FINDKEY.UFN 39814 . 41037)) (51290 53086 +(CHECKCONSPAGES 51300 . 52239) (\CHECKCONSPAGE 52241 . 53084)) (53263 67869 (MAKEINITFIRST 53273 . +53611) (MAKEINITLAST 53613 . 58897) (\COPY 58899 . 61402) (\UNCOPY 61404 . 67867))))) STOP diff --git a/sources/LLNEW.LCOM b/sources/LLNEW.LCOM index 62bfa7c114f80f503b9d40870181edba8fdd15e1..2b5ca6b07c2280147d56e07f2d7404b92fdb7d67 100644 GIT binary patch delta 91 zcmX>Za5-Q?3cInDk)f5b$;50+M&pS~d*J+PO?G1iGfM+Qi^&;`I+Ilx?KWRvoWv@x p!pOkDEGWR>B+B66cp-`5B!eiUL&^z;ybladoi07uT*-bx0RXr@8#e#| delta 95 zcmV-l0HFWVP{~k`WCt=jF*G_eHj!&N0Wy)LjFX`OF$N$uI5;vnlV|}f5+E`yMrC3x zIW-_LHaapfIy5wqdno}iv(f>Q1s5Cv0009K5CB3I06;;|VgShi6#+m((zAmH&>$Be B8Q=f_ From 28c4b4c3be286a2562f5a8fbb1d6fc26339b80ed Mon Sep 17 00:00:00 2001 From: Larry Masinter Date: Wed, 27 Jul 2022 21:37:55 -0700 Subject: [PATCH 3/3] Make LLNEW UFNs and functions run renamed match maiko interp wrt high 4 bits --- sources/LLNEW | 64 ++++++++++++++++++++++----------------------- sources/LLNEW.LCOM | Bin 10323 -> 10384 bytes 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/sources/LLNEW b/sources/LLNEW index 95787f602..c70005f42 100644 --- a/sources/LLNEW +++ b/sources/LLNEW @@ -1,10 +1,10 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "27-Jul-2022 13:21:34" {DSK}larry>medley>sources>LLNEW.;3 69018 +(FILECREATED "27-Jul-2022 21:35:24" {DSK}larry>medley>sources>LLNEW.;4 69231 - :CHANGES-TO (FNS \RPLPTR) + :CHANGES-TO (FNS \GETBASEPTR \RPLPTR \RPLPTR.UFN) - :PREVIOUS-DATE "27-Jul-2022 12:14:32" {DSK}larry>medley>sources>LLNEW.;2) + :PREVIOUS-DATE "27-Jul-2022 13:21:34" {DSK}larry>medley>sources>LLNEW.;3) (* ; " @@ -83,15 +83,13 @@ Copyright (c) 1981-1987, 1990, 1992-1995, 2022 by Venue & Xerox Corporation. (DECLARE%: DONTCOPY (EXPORT (MACROS LOCAL ALLOCAL)) (ADDVARS (MKI.SUBFNS (CHECK . *) (RAID . HELP) - (UNINTERRUPTABLY - . PROGN) + (UNINTERRUPTABLY . PROGN) (\StatsAdd1 . *) (EVQ . I.\COPY) (COPY . I.\COPY)) (RD.SUBFNS (CHECK . *) (RAID . HELP) - (UNINTERRUPTABLY - . PROGN) + (UNINTERRUPTABLY . PROGN) (\StatsAdd1 . *) (EVQ . V\COPY) (COPY . V\COPY) @@ -216,12 +214,14 @@ Copyright (c) 1981-1987, 1990, 1992-1995, 2022 by Venue & Xerox Corporation. BYTE]) (\GETBASEPTR - [LAMBDA (X D) (* ; "Edited 24-Aug-94 09:29 by sybalsky") + [LAMBDA (X D) (* ; "Edited 27-Jul-2022 21:19 by larry") + (* ; "Edited 24-Aug-94 09:29 by sybalsky") - (* ;; - "usually done in microcode; this def. uses GETBASE, VAG2, etc. and handles overflows too") + (* ;; "usually done in microcode; this def. used by makeinit") + + (* ;; "usually not done here unless interpreted") - (\VAG2 (\GETBASE X D) + (\VAG2 (LOGAND 4095 (\GETBASE X D)) (\GETBASE (\ADDBASE X 1) D]) @@ -257,7 +257,7 @@ Copyright (c) 1981-1987, 1990, 1992-1995, 2022 by Venue & Xerox Corporation. (\RPLPTR [LAMBDA (OBJ OFFSET VAL) (* ; - "Edited 27-Jul-2022 13:17 by larry: Only called interpreted") + "Edited 27-Jul-2022 21:25 by larry: Only called interpreted or (renamed) during MAKEINIT") (* lmm " 3-NOV-81 12:10") (UNINTERRUPTABLY (\ADDREF VAL) @@ -269,13 +269,14 @@ Copyright (c) 1981-1987, 1990, 1992-1995, 2022 by Venue & Xerox Corporation. VAL)]) (\RPLPTR.UFN - [LAMBDA (OBJ VAL OFFSET) (* ; "Edited 14-Jan-87 16:34 by Pavel") + [LAMBDA (OBJ VAL OFFSET) (* ; "Edited 27-Jul-2022 21:30 by larry") + (* ; "Edited 14-Jan-87 16:34 by Pavel") (* ;;; "The UFN is different from the function since the offset (inline) gets pushed last.") (LET ((SLOT (\ADDBASE OBJ OFFSET))) (UNINTERRUPTABLY - + (* ;; "Fix up the reference counts.") (\ADDREF VAL) @@ -283,7 +284,8 @@ Copyright (c) 1981-1987, 1990, 1992-1995, 2022 by Venue & Xerox Corporation. (* ;; "\PUTBASEPTR smashes the high byte, so we use two calls instead.") - (\PUTBASEBYTE SLOT 1 (\HILOC VAL)) + (\PUTBASE SLOT 0 (LOGOR (LOGAND 61440 (\GETBASE SLOT 0)) + (\HILOC VAL))) (\PUTBASE SLOT 1 (\LOLOC VAL)) (* ;; "Be sure to return the OBJ; code generated by the new compiler counts on it.") @@ -1396,16 +1398,14 @@ EVAL@COMPILE (ADDTOVAR MKI.SUBFNS (CHECK . *) (RAID . HELP) - (UNINTERRUPTABLY - . PROGN) + (UNINTERRUPTABLY . PROGN) (\StatsAdd1 . *) (EVQ . I.\COPY) (COPY . I.\COPY)) (ADDTOVAR RD.SUBFNS (CHECK . *) (RAID . HELP) - (UNINTERRUPTABLY - . PROGN) + (UNINTERRUPTABLY . PROGN) (\StatsAdd1 . *) (EVQ . V\COPY) (COPY . V\COPY) @@ -1424,17 +1424,17 @@ EVAL@COMPILE (PUTPROPS LLNEW COPYRIGHT ("Venue & Xerox Corporation" 1981 1982 1983 1984 1985 1986 1987 1990 1992 1993 1994 1995 2022)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (5851 12537 (\ADDBASE 5861 . 6668) (\GETBASE 6670 . 6914) (\PUTBASE 6916 . 7192) ( -\PUTBASE.UFN 7194 . 7474) (\PUTBASEPTR.UFN 7476 . 7798) (\PUTBITS.UFN 7800 . 8506) (\GETBASEBYTE 8508 - . 8935) (\PUTBASEBYTE 8937 . 9628) (\GETBASEPTR 9630 . 9968) (\PUTBASEPTR 9970 . 10288) (\HILOC 10290 - . 10514) (\LOLOC 10516 . 10740) (\VAG2 10742 . 11117) (\RPLPTR 11119 . 11774) (\RPLPTR.UFN 11776 . -12535)) (12538 13953 (EQ 12548 . 12766) (EQL 12768 . 13951)) (13996 14746 (LOC 14006 . 14337) (VAG -14339 . 14744)) (14747 15788 (CREATEPAGES 14757 . 15246) (\NEW4PAGE 15248 . 15786)) (19913 38646 (CONS - 19923 . 20229) (\CONS.UFN 20231 . 22649) (\MAIKO.CONS.UFN 22651 . 24904) (CAR 24906 . 25033) ( -\CAR.UFN 25035 . 26138) (CDR 26140 . 26267) (\CDR.UFN 26269 . 27868) (RPLACA 27870 . 28097) ( -\RPLACA.UFN 28099 . 29098) (RPLACD 29100 . 29235) (\RPLACD.UFN 29237 . 32988) (DOCOLLECT 32990 . 33254 -) (\RPLCONS 33256 . 35266) (ENDCOLLECT 35268 . 35476) (\INITCONSPAGE 35478 . 38040) (\NEXTCONSPAGE -38042 . 38644)) (38704 41039 (\RESTLIST.UFN 38714 . 39812) (\FINDKEY.UFN 39814 . 41037)) (51290 53086 -(CHECKCONSPAGES 51300 . 52239) (\CHECKCONSPAGE 52241 . 53084)) (53263 67869 (MAKEINITFIRST 53273 . -53611) (MAKEINITLAST 53613 . 58897) (\COPY 58899 . 61402) (\UNCOPY 61404 . 67867))))) + (FILEMAP (NIL (5793 12801 (\ADDBASE 5803 . 6610) (\GETBASE 6612 . 6856) (\PUTBASE 6858 . 7134) ( +\PUTBASE.UFN 7136 . 7416) (\PUTBASEPTR.UFN 7418 . 7740) (\PUTBITS.UFN 7742 . 8448) (\GETBASEBYTE 8450 + . 8877) (\PUTBASEBYTE 8879 . 9570) (\GETBASEPTR 9572 . 10054) (\PUTBASEPTR 10056 . 10374) (\HILOC +10376 . 10600) (\LOLOC 10602 . 10826) (\VAG2 10828 . 11203) (\RPLPTR 11205 . 11860) (\RPLPTR.UFN 11862 + . 12799)) (12802 14217 (EQ 12812 . 13030) (EQL 13032 . 14215)) (14260 15010 (LOC 14270 . 14601) (VAG +14603 . 15008)) (15011 16052 (CREATEPAGES 15021 . 15510) (\NEW4PAGE 15512 . 16050)) (20177 38910 (CONS + 20187 . 20493) (\CONS.UFN 20495 . 22913) (\MAIKO.CONS.UFN 22915 . 25168) (CAR 25170 . 25297) ( +\CAR.UFN 25299 . 26402) (CDR 26404 . 26531) (\CDR.UFN 26533 . 28132) (RPLACA 28134 . 28361) ( +\RPLACA.UFN 28363 . 29362) (RPLACD 29364 . 29499) (\RPLACD.UFN 29501 . 33252) (DOCOLLECT 33254 . 33518 +) (\RPLCONS 33520 . 35530) (ENDCOLLECT 35532 . 35740) (\INITCONSPAGE 35742 . 38304) (\NEXTCONSPAGE +38306 . 38908)) (38968 41303 (\RESTLIST.UFN 38978 . 40076) (\FINDKEY.UFN 40078 . 41301)) (51554 53350 +(CHECKCONSPAGES 51564 . 52503) (\CHECKCONSPAGE 52505 . 53348)) (53527 68133 (MAKEINITFIRST 53537 . +53875) (MAKEINITLAST 53877 . 59161) (\COPY 59163 . 61666) (\UNCOPY 61668 . 68131))))) STOP diff --git a/sources/LLNEW.LCOM b/sources/LLNEW.LCOM index 2b5ca6b07c2280147d56e07f2d7404b92fdb7d67..e2481a24da4fb21ddfce5f9c8d39fcf333e1071a 100644 GIT binary patch delta 378 zcmcZ{Fd=Y4GKZ0&m9eRnk=ev-OGy(=1ui8cb6u~}99<&=BO?VvV=E(bD`Vq{dnM)E zT|=B4gIxncf)rwc0(_8Yy-+v5iFc%&xD-+nOHxx5uo+>hq{*e>=IP_=9OUX4;_8B` z2U{QsYV7>pMM82mhaxIkD#lPe}5 z6z1v44$Kmp-Pk5FTBtEGFfcnfT@Yks5ENi^6lL%@$so$;kpeX31H)6tOHa-+csO1@ U%jke&lxyJRIxgwWN*sm?0Qq}lmH+?% delta 281 zcmbObcsXD~GKZnDm64&9vB|`2OG#r*1ui8cb6u~}99<&=BO?VvLn|XoD^rV!dnIjy z0(=5Of)q0I6qMXTeS8#<)#>T!DJi5RmZYX&8enW-Wneg2n^Be>YSmlL?CeF9QPu zlY`@h6AU1N@#5qJR?*D~Y-<<|rxh2r@DV3NSi~GI*S15M}hpcD!`l!}0Q2 gMh5`~KTjWC5Z2J-bq$