From 55d68219669c54847a6efcbdce5d92b4ec529c09 Mon Sep 17 00:00:00 2001 From: Larry Masinter Date: Wed, 3 Mar 2021 14:18:40 -0800 Subject: [PATCH] Early file cleanup; move networking-related maikoloadupfns to another file --- sources/MAIKOLOADUPFNS | 430 +----------------------------------- sources/MAIKOLOADUPFNS.LCOM | Bin 9317 -> 2928 bytes 2 files changed, 1 insertion(+), 429 deletions(-) diff --git a/sources/MAIKOLOADUPFNS b/sources/MAIKOLOADUPFNS index 859b38c5..fd5c61e0 100644 --- a/sources/MAIKOLOADUPFNS +++ b/sources/MAIKOLOADUPFNS @@ -1,429 +1 @@ -(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (FILECREATED "18-May-2018 09:49:50"  {DSK}kaplan>Local>medley3.5>lispcore>sources>MAIKOLOADUPFNS.;2 33928 changes to%: (VARS MAIKOLOADUPFNSCOMS) previous date%: " 5-Apr-89 16:23:30" {DSK}kaplan>Local>medley3.5>lispcore>sources>MAIKOLOADUPFNS.;1) (* ; " Copyright (c) 1989, 2018 by ENVOS Corporation. All rights reserved. ") (PRETTYCOMPRINT MAIKOLOADUPFNSCOMS) (RPAQQ MAIKOLOADUPFNSCOMS [(PROP (FILETYPE MAKEFILE-ENVIRONMENT) MAIKOLOADUPFNS) (FNS CL::%%COPY-TIME-STATS CHECKPAGEMAP CLOCK CLOCK0 DAYTIME SETTIME \10MB.RESTART.ETHER \10MB.STARTDRIVER \10MB.TURNOFFETHER \10MB.TURNONETHER \10MBSENDPACKET \10MBWATCHER \BITBLTSUB \BLTCHAR \CHECKSUM \CLOCK0 \COUNTREALPAGES \DAYTIME0 \DIRTYBACKGROUND \DISPLAYLINE \DOLOCKPAGES \DONEWPAGE \DORECLAIM \DOTEMPLOCKPAGES \LOADVMEMPAGE \LOCKEDPAGEP \LOCKPAGES \MOVEVMEMFILEPAGE \NEWPAGE \NS.SETTIME \PAGEFAULT \PUP.SETTIME \SHOWPAGETABLE \TEMPUNLOCKPAGES \UNLOCKPAGES \WRITEDIRTYPAGE) (GLOBALVARS \TimeZoneComp \10MB.RCLK.BOX \10MB.EXPECTED.RECEIVE.INTERVAL \10MB.INPUT.TIMEOUT \10MB.INPUT.TIMER \10MBTYPE.TRANSLATIONS \MY.NSADDRESS \RAWTRACING \MAXWATCHERGETS) (DECLARE%: EVAL@COMPILE DONTCOPY (LOCALVARS . T) (FILES (SOURCE) 10MBDECLS LLNSDECLS TEDITDCL)) (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA \WRITEDIRTYPAGE \UNLOCKPAGES \TEMPUNLOCKPAGES \SHOWPAGETABLE \MOVEVMEMFILEPAGE \LOCKPAGES \LOCKEDPAGEP \DOTEMPLOCKPAGES \DOLOCKPAGES \DIRTYBACKGROUND \COUNTREALPAGES CHECKPAGEMAP]) (PUTPROPS MAIKOLOADUPFNS FILETYPE CL:COMPILE-FILE) (PUTPROPS MAIKOLOADUPFNS MAKEFILE-ENVIRONMENT (:PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)) (DEFINEQ (CL::%%COPY-TIME-STATS - [LAMBDA (REFERENCE-BLOCK DESTINIATION-BLOCK) (* ; "Edited 2-May-88 17:16 by MASINTER") - (SUBRCALL COPYTIMESTATS REFERENCE-BLOCK DESTINIATION-BLOCK]) (CHECKPAGEMAP - [LAMBDA NOBIND (* lmm " 4-OCT-83 03:05") - NIL]) (CLOCK - [LAMBDA (N BOX) (* ; "Edited 2-May-88 16:11 by MASINTER") - (SUBRCALL GETUNIXTIME N BOX]) (CLOCK0 - [LAMBDA (BOX) (* ; "Edited 2-May-88 16:19 by MASINTER") - (SUBRCALL GETUNIXTIME 0 BOX]) (DAYTIME - [LAMBDA (BOX) (* ; "Edited 2-May-88 16:20 by MASINTER") - (SUBRCALL GETUNIXTIME 5 BOX]) (SETTIME - [LAMBDA (RETFLG) (* ; "Edited 13-May-88 15:22 by MASINTER") - (CL:UNLESS (AND RETFLG (NOT (STRINGP RETFLG))) - (SETQ \TimeZoneComp (SUBRCALL GETUNIXTIME 8 NIL))) - (\PROCESS.RESET.TIMERS) - (DAYTIME]) (\10MB.RESTART.ETHER - [LAMBDA NIL (* ; "Edited 11-May-88 16:09 by MASINTER") - (SUBRCALL ETHER-RESUME]) (\10MB.STARTDRIVER - [LAMBDA (NDB RESTARTFLG MYNSNUMBER) (* ; "Edited 5-Apr-89 15:03 by snow") - (DECLARE (GLOBALVARS \MAIKO.INPUT.PACKET \10MB.EXPECTED.RECEIVE.INTERVAL \10MB.INPUT.TIMEOUT) - ) - (SUBRCALL ETHER-SUSPEND) - (OR (\INIT.ETHER.BUFFER.POOL) - (ERROR "Unable to create buffer pool")) - (replace NDBTQ of NDB with (create SYSQUEUE)) - (SETQ \10MB.RAWPACKETQ (create SYSQUEUE)) - (SETQ \10MB.INPUT.TIMEOUT (TIMES \RCLKSECOND \10MB.EXPECTED.RECEIVE.INTERVAL)) - (\10MB.TURNONETHER NDB NIL NIL (OR MYNSNUMBER T) - 0 0) - (PROG ((CSB (fetch NDBCSB of NDB))) - (OR \MAIKO.INPUT.PACKET (SETQ \MAIKO.INPUT.PACKET (\ALLOCATE.ETHERPACKET))) - (replace DLFIRSTICB of (fetch NDBCSB of NDB) with \ES.PENDING) - (SUBRCALL ETHER-GET \10MBPACKETLENGTH (fetch 10MBPACKETBASE of \MAIKO.INPUT.PACKET) - ) - (replace NDBWATCHER of NDB with (ADD.PROCESS (LIST '\10MBWATCHER (KWOTE NDB)) - 'RESTARTABLE - 'SYSTEM - 'AFTEREXIT - 'DELETE)) - (RETURN NDB]) (\10MB.TURNOFFETHER - [LAMBDA NIL (* ; "Edited 11-May-88 16:11 by MASINTER") - (SUBRCALL ETHER-SUSPEND]) (\10MB.TURNONETHER - [LAMBDA (NDB SMASHSTATE NEWSTATE NSHOSTNUMBER ININTERRUPT OUTINTERRUPT) - (* ; "Edited 11-May-88 16:08 by MASINTER") - -(* ;;; "Reset and activate ether associated with NDB. If SMASHSTATE is given, it is a CSB-length block into which state is saved for later restoration by passing as the NEWSTATE arg. If NEWSTATE is NIL, then the remaining non-NIL args give parameters for this activation: the host number for microcode to watch for, T meaning my own number; and interrupt masks for when a packet arrives or finishes transmitting") - - (* ;; "For Daybreak, SMASHSTATE and NEWSTATE must be NIL") - - (PROG ((CSB (fetch NDBCSB of NDB))) - (\MAIKO.ETHERSUSPEND) - [OR CSB (replace NDBCSB of NDB with (SETQ CSB (LOCF (fetch DLETHERNET - of \IOPAGE] - (replace DLFIRSTOCB of CSB with 0) - (replace DLFIRSTICB of CSB with 0) - [AND NSHOSTNUMBER (COND - ((EQ NSHOSTNUMBER T) - (\BLT (LOCF (fetch DLLOCALHOST0 of CSB)) - (LOCF (fetch (IFPAGE NSHost0) of \InterfacePage)) - \#WDS.NSHOSTNUMBER)) - (T (\STORENSHOSTNUMBER (LOCF (fetch DLLOCALHOST0 of CSB)) - NSHOSTNUMBER] - (AND OUTINTERRUPT (replace DLOUTPUTMASK of CSB with OUTINTERRUPT)) - (AND ININTERRUPT (replace DLINPUTMASK of CSB with ININTERRUPT)) - (replace DLMISSEDPACKETS of CSB with 0) - (replace DLLASTICB of CSB with 0) - (replace DLLASTOCB of CSB with 0) - (SUBRCALL ETHER-RESET) - (SUBRCALL ETHER-RESUME) - (RETURN NDB]) (\10MBSENDPACKET - [LAMBDA (NDB PACKET) (* ; "Edited 11-May-88 16:10 by MASINTER") - (PROG NIL - [COND - (\RAWTRACING (\MAYBEPRINTPACKET PACKET 'RAWPUT] - [COND - ((OR (fetch 10MBMULTICASTP of PACKET) - (EQNSADDRESS.HOST \MY.NSADDRESS (fetch 10MBDESTHOSTBASE of PACKET))) - (* ; - "We would hear this packet if our hardware let us, so fake receipt") - (PROG ((COPYPACKET (\ALLOCATE.ETHERPACKET))) - (\BLT (LOCF (fetch 10MBLENGTH of COPYPACKET)) - (LOCF (fetch 10MBLENGTH of PACKET)) - (ADD1 (fetch 10MBLENGTH of PACKET))) - (* ; - "Copy all data that would have been transmitted") - (replace EPNETWORK of COPYPACKET with NDB) - (replace EPTYPE of COPYPACKET - with (for PAIR in \10MBTYPE.TRANSLATIONS - bind (TYPE _ (fetch 10MBTYPE of PACKET)) - when (EQ TYPE (CAR PAIR)) do - - (* ;; "TYPE is the raw type of the etherpacket. These do not always correspond one-to-one with the EPTYPE constants we use (in particular, for pups), so translate if necessary.") - - (RETURN (CDR PAIR)) - finally (RETURN TYPE))) - [COND - (\RAWTRACING (\MAYBEPRINTPACKET COPYPACKET 'RAWGET] - (\HANDLE.RAW.PACKET COPYPACKET] - (UNINTERRUPTABLY - (SUBRCALL ETHER-SEND (IMAX (fetch 10MBLENGTH of PACKET) - \10MB.MINPACKETLENGTH) - (fetch 10MBPACKETBASE of PACKET)) - (replace EPNETWORK of PACKET with NIL) - (\REQUEUE.ETHERPACKET PACKET)) - (RETURN T]) (\10MBWATCHER - [LAMBDA (NDB) (* ; "Edited 16-May-88 22:24 by MASINTER") - - (* ;; "merge message and packet reading") - - (PROG ((CNTR 0) - MESSAGE-BUFFER MESSAGE-LENGTH PACKET) - LP (IF (SUBRCALL MESSAGE-READP) - THEN (PROMPTPRINT (IF (SETQ MESSAGE-LENGTH (SUBRCALL MESSAGE-READ - (OR MESSAGE-BUFFER - (SETQ MESSAGE-BUFFER - (ALLOCSTRING 1024))) - 1024)) - THEN (SUBSTRING MESSAGE-BUFFER 1 MESSAGE-LENGTH) - ELSE "?? system message: polling failed"))) - (UNINTERRUPTABLY - (SUBRCALL ETHER-CHECK) - (SETQ PACKET (\MAIKO.INPUT.INTERRUPT NDB))) - [COND - (PACKET (\HANDLE.RAW.PACKET PACKET) - (COND - ((ILESSP (add CNTR 1) - \MAXWATCHERGETS) - (GO LP] - (BLOCK) - (SETQ CNTR 0) - (GO LP]) (\BITBLTSUB - [LAMBDA (PILOTBBT SourceBitMap SLX STY DestinationBitMap DLX DTY HEIGHT SourceType Operation - Texture WindowXOffset WindowYOffset) (* ; "Edited 29-Jun-88 16:24 by ") - - (* ;; "replaces \BITBLTSUB on Maiko") - - ((OPCODES SUBRCALL 69 13) - PILOTBBT SourceBitMap SLX STY DestinationBitMap DLX DTY HEIGHT SourceType Operation Texture - WindowXOffset WindowYOffset]) (\BLTCHAR - [LAMBDA (CHARCODE DISPLAYSTREAM DISPLAYDATA) - ((OPCODES SUBRCALL 135 3) - CHARCODE DISPLAYSTREAM DISPLAYDATA]) (\CHECKSUM - [LAMBDA (BASE NWORDS INITSUM) (* ; "Edited 20-May-88 11:48 by MASINTER") - (SUBRCALL CHECK-SUM BASE NWORDS INITSUM]) (\CLOCK0 - [LAMBDA (BOX) (* ; "Edited 2-May-88 16:19 by MASINTER") - (SUBRCALL GETUNIXTIME 0 BOX]) (\COUNTREALPAGES - [LAMBDA NOBIND (* lmm " 4-OCT-83 03:05") - 0]) (\DAYTIME0 - [LAMBDA (BOX) (* ; "Edited 2-May-88 16:20 by MASINTER") - (SUBRCALL GETUNIXTIME 4 BOX]) (\DIRTYBACKGROUND - [LAMBDA NOBIND (* lmm " 4-OCT-83 03:05") - NIL]) (\DISPLAYLINE - [LAMBDA (TEXTOBJ LINE WINDOW) (* ; "Edited 5-Apr-89 16:22 by snow") - - (* ;; "Display the line of text LINE in the edit window where it belongs.") - - (* ;; " This Function works on MIAKO") - - (PROG ((CH 0) - (CHLIST (fetch (THISLINE CHARS) of (fetch THISLINE of TEXTOBJ))) - (WLIST (fetch (THISLINE WIDTHS) of (ffetch THISLINE of TEXTOBJ))) - (LOOKS (fetch (THISLINE LOOKS) of (ffetch THISLINE of TEXTOBJ))) - (WINDOWDS (WINDOWPROP (OR WINDOW (CAR (fetch (TEXTOBJ \WINDOW) of TEXTOBJ))) - 'DSP)) - (TEXTLEN (ffetch (TEXTOBJ TEXTLEN) of TEXTOBJ)) - (THISLINE (ffetch (TEXTOBJ THISLINE) of TEXTOBJ)) - (TERMSA (ffetch (TEXTOBJ TXTTERMSA) of TEXTOBJ)) - (STREAM (ffetch (TEXTOBJ STREAMHINT) of TEXTOBJ)) - (OLDCACHE (fetch LCBITMAP of (ffetch (TEXTOBJ DISPLAYCACHE) of TEXTOBJ))) - (DS (ffetch (TEXTOBJ DISPLAYCACHEDS) of TEXTOBJ)) - (HCPYDS (ffetch (TEXTOBJ DISPLAYHCPYDS) of TEXTOBJ)) - (HARDCOPYMODE (fetch (FMTSPEC FMTHARDCOPY) of (fetch (LINEDESCRIPTOR LFMTSPEC) - of LINE))) - LOOKSTARTX CACHE \PCHARSLEFT \PSTRING \PFILE FONT OFONT OLOOKS XOFFSET CLIPLEFT CLIPRIGHT - DISPLAYDATA DDPILOTBBT DDWIDTHCACHE DDOFFSETCACHE CURY LHEIGHT SCALE) - [SETQ LHEIGHT (COND - ((ffetch (LINEDESCRIPTOR PREVLINE) of LINE) - (* ; - "So if theres a base-to-base measure, we clear everything right.") - (IMAX (IDIFFERENCE (fetch YBOT of (ffetch (LINEDESCRIPTOR - PREVLINE) - of LINE)) - (ffetch (LINEDESCRIPTOR YBOT) of LINE)) - (ffetch (LINEDESCRIPTOR LHEIGHT) of LINE))) - (T (ffetch (LINEDESCRIPTOR LHEIGHT) of LINE] - (COND - (HARDCOPYMODE (* ; - "This is a hardcopy-mode line. Scale things.") - (* ; "(SETQ DS HCPYDS)") - (SETQ SCALE (DSPSCALE NIL HCPYDS))) - (T (SETQ SCALE 1))) - (SETQ CACHE (\TEDIT.LINECACHE (ffetch (TEXTOBJ DISPLAYCACHE) of TEXTOBJ) - (COND - (HARDCOPYMODE (FIXR (FQUOTIENT (fetch RIGHTMARGIN of LINE) - SCALE))) - (T (fetch RIGHTMARGIN of LINE))) - LHEIGHT)) - (COND - ((NEQ CACHE OLDCACHE) (* ; - "We changed the bitmaps because this line was bigger--update the displaystream, too") - (DSPDESTINATION CACHE DS) - (DSPCLIPPINGREGION (create REGION - LEFT _ 0 - BOTTOM _ 0 - WIDTH _ (fetch BITMAPWIDTH of CACHE) - HEIGHT _ (ffetch BITMAPHEIGHT of CACHE)) - DS))) - (BITBLT NIL 0 0 CACHE 0 0 NIL NIL 'TEXTURE 'REPLACE WHITESHADE) - (* ; "Clear the line cache") - (COND - (HARDCOPYMODE (* ; - "This is a hardcopy-mode line. Scale things.") - (* ; "(SETQ DS HCPYDS)") - (SETQ SCALE (DSPSCALE NIL HCPYDS))) - (T (SETQ SCALE 1))) - [COND - ((AND (NOT (ZEROP (fetch CHAR1 of LINE))) - (ILEQ (ffetch CHAR1 of LINE) - TEXTLEN) - (IGEQ (ffetch YBOT of LINE) - (ffetch WBOTTOM of TEXTOBJ))) - - (* ;; "Only display the line of it contains text (CHAR1 > 0), appears before the end of the test, and is on-screen.") - - (COND - ((NEQ (fetch DESC of THISLINE) - LINE) (* ; - "No image cache -- re-format and display") - (\FORMATLINE TEXTOBJ NIL (ffetch CHAR1 of LINE) - LINE))) - (MOVETO (ffetch LEFTMARGIN of LINE) - (ffetch DESCENT of LINE) - DS) - (SETQ DISPLAYDATA (fetch IMAGEDATA of DS)) - (SETQ DDPILOTBBT (ffetch DDPILOTBBT of DISPLAYDATA)) - (SETQ XOFFSET (ffetch DDXOFFSET of DISPLAYDATA)) - - (* ;; "The X position of the left edge of the window, since \TEDIT.BLTCHAR works on the screen bitmap itself.") - - (SETQ CLIPLEFT (ffetch DDClippingLeft of DISPLAYDATA)) - (* ; - "The left and right edges of the clipping region for the text display window.") - (SETQ CLIPRIGHT (ffetch DDClippingRight of DISPLAYDATA)) - (SETQ OFONT (DSPFONT (fetch CLFONT of (SETQ OLOOKS (\EDITELT LOOKS 0))) - DS)) (* ; "The starting font") - (SETQ DDWIDTHCACHE (ffetch DDWIDTHSCACHE of DISPLAYDATA)) - (* ; - "Cache the character-image widths") - (SETQ DDOFFSETCACHE (ffetch DDOFFSETSCACHE of DISPLAYDATA)) - (* ; - "And the offset-into-strike-bitmap array") - (SETQ LOOKSTARTX (ffetch LEFTMARGIN of LINE)) - (* ; - "Starting X position for the current-looks text.") - (AND (fetch CLOFFSET of OLOOKS) - (RELMOVETO 0 (FIXR (FTIMES SCALE (ffetch CLOFFSET of OLOOKS))) - DS)) (* ; - "Any sub- or superscripting at start of line") - (bind (LOOKNO _ 1) - DX - (TX _ (IPLUS XOFFSET (ffetch LEFTMARGIN of LINE))) for I - from 0 to (fetch LEN of THISLINE) - do - - (* ;; "Display the line character by character") - - (SETQ CH (\EDITELT CHLIST I)) (* ; - "Grab the character (or IMAGEOBJ) to display") - (SETQ DX (\WORDELT WLIST I)) (* ; "And its width") - [SELECTC CH - (LMInvisibleRun (* ; - "An INVISIBLE run -- skip it, and skip over the char count") - (add LOOKNO 1)) - (LMLooksChange (* ; "A LOOKS change") - (freplace DDXPOSITION of DISPLAYDATA - with (IDIFFERENCE TX XOFFSET)) - (* ; - "Make the displaystream reflect our current X position") - (TEDIT.MODIFYLOOKS LINE LOOKSTARTX DS OLOOKS - (ffetch DESCENT of LINE)) - (* ; - "Make any necessary changes to the preceding characters (underline, strike-out &c)") - (DSPFONT (fetch CLFONT of (SETQ OLOOKS - (\EDITELT LOOKS LOOKNO)) - ) - DS) (* ; "Set the new font") - (add LOOKNO 1) (* ; "Grab the next set of char looks") - (AND (ffetch CLOFFSET of OLOOKS) - (RELMOVETO 0 (ffetch CLOFFSET of OLOOKS) - DS)) (* ; "Account for super/subscripting") - (SETQ LOOKSTARTX (IDIFFERENCE TX XOFFSET)) - (* ; - "Remember the starting Xpos for possible later underlining &c") - ) - ((CHARCODE (TAB %#^I)) (* ; - "TAB: use the width from the cache to decide the right formatting.") - [COND - ((OR (IEQP CH (CHARCODE %#^I)) - (ffetch CLLEADER of OLOOKS) - (EQ (ffetch CLUSERINFO of OLOOKS) - 'DOTTEDLEADER)) - (LET* [[LEADERFONT (COND - (HARDCOPYMODE (FONTCOPY (ffetch CLFONT - of OLOOKS) - 'DEVICE HCPYDS)) - (T (ffetch CLFONT of OLOOKS] - (DOTWIDTH (CHARWIDTH (CHARCODE %.) - LEADERFONT)) - (TTX (IPLUS TX DOTWIDTH (IDIFFERENCE DOTWIDTH - (IREMAINDER TX DOTWIDTH] - (while (ILEQ TTX (IPLUS TX DX)) - do (COND - (HARDCOPYMODE - (SUBRCALL TEDIT.BLTCHAR (CHARCODE %.) - DS - (FIXR (FQUOTIENT (IDIFFERENCE TTX - DOTWIDTH) - SCALE)) - DISPLAYDATA DDPILOTBBT CLIPRIGHT)) - ((OR TERMSA HARDCOPYMODE) - (* ; - "Using special instrns from TERMSA") - (\DSPPRINTCHAR DS (CHARCODE %.))) - (T (* ; "Native charcodes") - (SUBRCALL TEDIT.BLTCHAR (CHARCODE %.) - DS - (IDIFFERENCE TTX DOTWIDTH) - DISPLAYDATA DDPILOTBBT CLIPRIGHT))) - (add TTX DOTWIDTH]) - (13 (* ; "It's a CR") - NIL) - (COND - [(SMALLP CH) (* ; - "Normal character -- just display it.") - (COND - (HARDCOPYMODE (SUBRCALL TEDIT.BLTCHAR CH DS (FIXR (FQUOTIENT TX - SCALE)) - DISPLAYDATA DDPILOTBBT CLIPRIGHT)) - ((OR TERMSA HARDCOPYMODE) (* ; - "Using special instrns from TERMSA") - (\DSPPRINTCHAR DS CH)) - (T (* ; "Native charcodes") - (SUBRCALL TEDIT.BLTCHAR CH DS TX DISPLAYDATA DDPILOTBBT - CLIPRIGHT] - (T (* ; "CH is an object.") - (MOVETO (IDIFFERENCE (FIXR (FQUOTIENT TX SCALE)) - XOFFSET) - (SETQ CURY (DSPYPOSITION NIL DS)) - DS) (* ; - "Go to the base line, left edge of the image region.") - (APPLY* (IMAGEOBJPROP CH 'DISPLAYFN) - CH DS 'DISPLAY (ffetch STREAMHINT of TEXTOBJ)) - (* ; - "Tell him to display himself here.") - (DSPFONT (ffetch CLFONT of OLOOKS) - DS) - (MOVETO (IDIFFERENCE (FIXR (FQUOTIENT TX SCALE)) - XOFFSET) - CURY DS) (* ; - "Move to after the object's image") - ] - (add TX DX) (* ; "Update our X position") - finally (freplace DDXPOSITION of DISPLAYDATA - with (IDIFFERENCE (FIXR (FQUOTIENT TX SCALE)) - XOFFSET)) (* ; - "Make any necessary looks mods to the last run of characters") - (TEDIT.MODIFYLOOKS LINE LOOKSTARTX DS OLOOKS (ffetch DESCENT of LINE] - (BITBLT CACHE 0 0 WINDOWDS 0 (ffetch YBOT of LINE) - (ffetch WRIGHT of TEXTOBJ) - LHEIGHT - 'INPUT - 'REPLACE) (* ; - "Paint the cached image on the screen (this lessens flicker during update)") - (COND - ((fetch (FMTSPEC FMTREVISED) of (ffetch (LINEDESCRIPTOR LFMTSPEC) - of LINE)) - (* ; - "This paragraph has been revised, so mark it.") - (\TEDIT.MARK.REVISION TEXTOBJ (ffetch (LINEDESCRIPTOR LFMTSPEC) of LINE) - WINDOWDS LINE))) - (SELECTQ (ffetch LMARK of LINE) - (GREY (* ; - "This line has some property that isn't visible to the user. Tell him to be careful") - (BITBLT NIL 0 0 WINDOWDS 0 (ffetch YBASE of LINE) - 6 6 'TEXTURE 'PAINT 42405)) - (SOLID (* ; - "This line has some property that isn't visible to the user. Tell him to be careful") - (BITBLT NIL 0 0 WINDOWDS 0 (ffetch YBASE of LINE) - 6 6 'TEXTURE 'PAINT BLACKSHADE)) - (BITBLT NIL 0 0 WINDOWDS 0 (ffetch YBASE of LINE) - 6 6 'TEXTURE 'REPLACE WHITESHADE]) (\DOLOCKPAGES - [LAMBDA NOBIND (* lmm " 4-OCT-83 03:05") - NIL]) (\DONEWPAGE - [LAMBDA (BASE NOERROR LOCK?) (* ; "Edited 20-Apr-88 10:28 by MASINTER") - (SUBRCALL NEWPAGE BASE]) (\DORECLAIM - [LAMBDA NIL (* ; "Edited 12-Oct-88 12:01 by krivacic") - (SUBRCALL DORECLAIM]) (\DOTEMPLOCKPAGES - [LAMBDA NOBIND (* lmm " 4-OCT-83 03:05") - NIL]) (\LOADVMEMPAGE - [LAMBDA (X) (* lmm%: 26 JUN 75 726) - X]) (\LOCKEDPAGEP - [LAMBDA NOBIND (* lmm " 4-OCT-83 03:05") - T]) (\LOCKPAGES - [LAMBDA NOBIND (* lmm " 4-OCT-83 03:05") - NIL]) (\MOVEVMEMFILEPAGE - [LAMBDA NOBIND (* lmm " 4-OCT-83 03:05") - T]) (\NEWPAGE - [LAMBDA (BASE NOERROR LOCK?) (* ; "Edited 20-Apr-88 10:28 by MASINTER") - (SUBRCALL NEWPAGE BASE]) (\NS.SETTIME - [LAMBDA (RETFLG) (* ; "Edited 13-May-88 15:22 by MASINTER") - (CL:UNLESS (AND RETFLG (NOT (STRINGP RETFLG))) - (SETQ \TimeZoneComp (SUBRCALL GETUNIXTIME 8 NIL))) - (\PROCESS.RESET.TIMERS) - (DAYTIME]) (\PAGEFAULT - [LAMBDA (X) (* lmm%: 26 JUN 75 726) - X]) (\PUP.SETTIME - [LAMBDA (RETFLG) (* ; "Edited 13-May-88 15:22 by MASINTER") - (CL:UNLESS (AND RETFLG (NOT (STRINGP RETFLG))) - (SETQ \TimeZoneComp (SUBRCALL GETUNIXTIME 8 NIL))) - (\PROCESS.RESET.TIMERS) - (DAYTIME]) (\SHOWPAGETABLE - [LAMBDA NOBIND (* lmm " 4-OCT-83 03:05") - NIL]) (\TEMPUNLOCKPAGES - [LAMBDA NOBIND (* lmm " 4-OCT-83 03:05") - NIL]) (\UNLOCKPAGES - [LAMBDA NOBIND (* lmm " 4-OCT-83 03:05") - NIL]) (\WRITEDIRTYPAGE - [LAMBDA NOBIND (* lmm " 4-OCT-83 03:05") - NIL]) ) (DECLARE%: DOEVAL@COMPILE DONTCOPY (GLOBALVARS \TimeZoneComp \10MB.RCLK.BOX \10MB.EXPECTED.RECEIVE.INTERVAL \10MB.INPUT.TIMEOUT \10MB.INPUT.TIMER \10MBTYPE.TRANSLATIONS \MY.NSADDRESS \RAWTRACING \MAXWATCHERGETS) ) (DECLARE%: EVAL@COMPILE DONTCOPY (DECLARE%: DOEVAL@COMPILE DONTCOPY (LOCALVARS . T) ) (FILESLOAD (SOURCE) 10MBDECLS LLNSDECLS TEDITDCL) ) (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDTOVAR NLAMA ) (ADDTOVAR NLAML ) (ADDTOVAR LAMA \WRITEDIRTYPAGE \UNLOCKPAGES \TEMPUNLOCKPAGES \SHOWPAGETABLE \MOVEVMEMFILEPAGE \LOCKPAGES \LOCKEDPAGEP \DOTEMPLOCKPAGES \DOLOCKPAGES \DIRTYBACKGROUND \COUNTREALPAGES CHECKPAGEMAP) ) (PRETTYCOMPRINT MAIKOLOADUPFNSCOMS) (RPAQQ MAIKOLOADUPFNSCOMS [(PROP (FILETYPE MAKEFILE-ENVIRONMENT) MAIKOLOADUPFNS) (FNS CL::%%COPY-TIME-STATS CHECKPAGEMAP CLOCK CLOCK0 DAYTIME SETTIME \10MB.RESTART.ETHER \10MB.STARTDRIVER \10MB.TURNOFFETHER \10MB.TURNONETHER \10MBSENDPACKET \10MBWATCHER \BITBLTSUB \BLTCHAR \CHECKSUM \CLOCK0 \COUNTREALPAGES \DAYTIME0 \DIRTYBACKGROUND \DISPLAYLINE \DOLOCKPAGES \DONEWPAGE \DORECLAIM \DOTEMPLOCKPAGES \LOADVMEMPAGE \LOCKEDPAGEP \LOCKPAGES \MOVEVMEMFILEPAGE \NEWPAGE \NS.SETTIME \PAGEFAULT \PUP.SETTIME \SHOWPAGETABLE \TEMPUNLOCKPAGES \UNLOCKPAGES \WRITEDIRTYPAGE) (GLOBALVARS \TimeZoneComp \10MB.RCLK.BOX \10MB.EXPECTED.RECEIVE.INTERVAL \10MB.INPUT.TIMEOUT \10MB.INPUT.TIMER \10MBTYPE.TRANSLATIONS \MY.NSADDRESS \RAWTRACING \MAXWATCHERGETS) (DECLARE%: EVAL@COMPILE DONTCOPY (LOCALVARS . T) (FILES (SOURCE) 10MBDECLS LLNSDECLS TEDITDCL)) (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA \WRITEDIRTYPAGE \UNLOCKPAGES \TEMPUNLOCKPAGES \SHOWPAGETABLE \LOCKPAGES \LOADVMEMPAGE \DOTEMPLOCKPAGES \DOLOCKPAGES \DIRTYBACKGROUND \COUNTREALPAGES CHECKPAGEMAP]) (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDTOVAR NLAMA ) (ADDTOVAR NLAML ) (ADDTOVAR LAMA \WRITEDIRTYPAGE \UNLOCKPAGES \TEMPUNLOCKPAGES \SHOWPAGETABLE \LOCKPAGES \LOADVMEMPAGE \DOTEMPLOCKPAGES \DOLOCKPAGES \DIRTYBACKGROUND \COUNTREALPAGES CHECKPAGEMAP) ) (PUTPROPS MAIKOLOADUPFNS COPYRIGHT ("ENVOS Corporation" 1989 2018)) (DECLARE%: DONTCOPY (FILEMAP (NIL (2114 31331 (CL::%%COPY-TIME-STATS 2124 . 2320) (CHECKPAGEMAP 2322 . 2440) (CLOCK 2442 . 2591) (CLOCK0 2593 . 2743) (DAYTIME 2745 . 2896) (SETTIME 2898 . 3172) (\10MB.RESTART.ETHER 3174 . 3332) (\10MB.STARTDRIVER 3334 . 4716) (\10MB.TURNOFFETHER 4718 . 4876) (\10MB.TURNONETHER 4878 . 6871) (\10MBSENDPACKET 6873 . 9145) (\10MBWATCHER 9147 . 10468) (\BITBLTSUB 10470 . 10892) (\BLTCHAR 10894 . 11026) (\CHECKSUM 11028 . 11193) (\CLOCK0 11195 . 11346) (\COUNTREALPAGES 11348 . 11467) (\DAYTIME0 11469 . 11622) (\DIRTYBACKGROUND 11624 . 11746) (\DISPLAYLINE 11748 . 28997) (\DOLOCKPAGES 28999 . 29117) (\DONEWPAGE 29119 . 29268) (\DORECLAIM 29270 . 29416) (\DOTEMPLOCKPAGES 29418 . 29540) ( \LOADVMEMPAGE 29542 . 29657) (\LOCKEDPAGEP 29659 . 29775) (\LOCKPAGES 29777 . 29893) ( \MOVEVMEMFILEPAGE 29895 . 30016) (\NEWPAGE 30018 . 30165) (\NS.SETTIME 30167 . 30445) (\PAGEFAULT 30447 . 30559) (\PUP.SETTIME 30561 . 30840) (\SHOWPAGETABLE 30842 . 30962) (\TEMPUNLOCKPAGES 30964 . 31086) (\UNLOCKPAGES 31088 . 31206) (\WRITEDIRTYPAGE 31208 . 31329))))) STOP \ No newline at end of file +(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (FILECREATED " 2-Mar-2021 23:12:27" {DSK}larry>ilisp>medley>sources>MAIKOLOADUPFNS.;4 5921 changes to%: (VARS MAIKOLOADUPFNSCOMS) previous date%: "25-Feb-2021 15:43:43" {DSK}larry>ilisp>save>MAIKOLOADUPFNS.;1) (* ; " Copyright (c) 1989, 2018, 2021 by ENVOS Corporation. ") (PRETTYCOMPRINT MAIKOLOADUPFNSCOMS) (RPAQQ MAIKOLOADUPFNSCOMS ((PROP (FILETYPE MAKEFILE-ENVIRONMENT) MAIKOLOADUPFNS) (FNS CL::%%COPY-TIME-STATS CHECKPAGEMAP CLOCK CLOCK0 DAYTIME SETTIME \BITBLTSUB \BLTCHAR \CHECKSUM \CLOCK0 \COUNTREALPAGES \DAYTIME0 \DIRTYBACKGROUND \DOLOCKPAGES \DONEWPAGE \DORECLAIM \DOTEMPLOCKPAGES \LOADVMEMPAGE \LOCKEDPAGEP \LOCKPAGES \MOVEVMEMFILEPAGE \NEWPAGE \PAGEFAULT \SHOWPAGETABLE \TEMPUNLOCKPAGES \UNLOCKPAGES \WRITEDIRTYPAGE) (GLOBALVARS \TimeZoneComp \RAWTRACING \MAXWATCHERGETS) (DECLARE%: EVAL@COMPILE DONTCOPY (LOCALVARS . T) (FILES (SOURCE) TEDITDCL)))) (PUTPROPS MAIKOLOADUPFNS FILETYPE CL:COMPILE-FILE) (PUTPROPS MAIKOLOADUPFNS MAKEFILE-ENVIRONMENT (:PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)) (DEFINEQ (CL::%%COPY-TIME-STATS [LAMBDA (REFERENCE-BLOCK DESTINIATION-BLOCK) (* ; "Edited 2-May-88 17:16 by MASINTER") (SUBRCALL COPYTIMESTATS REFERENCE-BLOCK DESTINIATION-BLOCK]) (CHECKPAGEMAP [LAMBDA NIL (* ; "Edited 25-Feb-2021 10:07 by larry") NIL]) (CLOCK [LAMBDA (N BOX) (* ; "Edited 2-May-88 16:11 by MASINTER") (SUBRCALL GETUNIXTIME N BOX]) (CLOCK0 [LAMBDA (BOX) (* ; "Edited 2-May-88 16:19 by MASINTER") (SUBRCALL GETUNIXTIME 0 BOX]) (DAYTIME [LAMBDA (BOX) (* ; "Edited 2-May-88 16:20 by MASINTER") (SUBRCALL GETUNIXTIME 5 BOX]) (SETTIME [LAMBDA (RETFLG) (* ; "Edited 13-May-88 15:22 by MASINTER") (CL:UNLESS (AND RETFLG (NOT (STRINGP RETFLG))) (SETQ \TimeZoneComp (SUBRCALL GETUNIXTIME 8 NIL))) (\PROCESS.RESET.TIMERS) (DAYTIME]) (\BITBLTSUB [LAMBDA (PILOTBBT SourceBitMap SLX STY DestinationBitMap DLX DTY HEIGHT SourceType Operation Texture WindowXOffset WindowYOffset) (* ; "Edited 29-Jun-88 16:24 by ") (* ;; "replaces \BITBLTSUB on Maiko") ((OPCODES SUBRCALL 69 13) PILOTBBT SourceBitMap SLX STY DestinationBitMap DLX DTY HEIGHT SourceType Operation Texture WindowXOffset WindowYOffset]) (\BLTCHAR [LAMBDA (CHARCODE DISPLAYSTREAM DISPLAYDATA) ((OPCODES SUBRCALL 135 3) CHARCODE DISPLAYSTREAM DISPLAYDATA]) (\CHECKSUM [LAMBDA (BASE NWORDS INITSUM) (* ; "Edited 20-May-88 11:48 by MASINTER") (SUBRCALL CHECK-SUM BASE NWORDS INITSUM]) (\CLOCK0 [LAMBDA (BOX) (* ; "Edited 2-May-88 16:19 by MASINTER") (SUBRCALL GETUNIXTIME 0 BOX]) (\COUNTREALPAGES [LAMBDA NIL (* ; "Edited 25-Feb-2021 10:08 by larry") 0]) (\DAYTIME0 [LAMBDA (BOX) (* ; "Edited 2-May-88 16:20 by MASINTER") (SUBRCALL GETUNIXTIME 4 BOX]) (\DIRTYBACKGROUND [LAMBDA NIL (* ; "Edited 25-Feb-2021 10:07 by larry") NIL]) (\DOLOCKPAGES [LAMBDA NIL (* ; "Edited 25-Feb-2021 10:07 by larry") NIL]) (\DONEWPAGE [LAMBDA (BASE NOERROR LOCK?) (* ; "Edited 20-Apr-88 10:28 by MASINTER") (SUBRCALL NEWPAGE BASE]) (\DORECLAIM [LAMBDA NIL (* ; "Edited 12-Oct-88 12:01 by krivacic") (SUBRCALL DORECLAIM]) (\DOTEMPLOCKPAGES [LAMBDA NIL (* ; "Edited 25-Feb-2021 10:07 by larry") NIL]) (\LOADVMEMPAGE [LAMBDA NIL (* ; "Edited 25-Feb-2021 10:07 by larry") NIL]) (\LOCKEDPAGEP [LAMBDA NIL (* lmm " 4-OCT-83 03:05") T]) (\LOCKPAGES [LAMBDA NIL (* ; "Edited 25-Feb-2021 10:07 by larry") NIL]) (\MOVEVMEMFILEPAGE [LAMBDA NIL (* lmm " 4-OCT-83 03:05") T]) (\NEWPAGE [LAMBDA (BASE NOERROR LOCK?) (* ; "Edited 20-Apr-88 10:28 by MASINTER") (SUBRCALL NEWPAGE BASE]) (\PAGEFAULT [LAMBDA (X) (* lmm%: 26 JUN 75 726) X]) (\SHOWPAGETABLE [LAMBDA NIL (* ; "Edited 25-Feb-2021 10:07 by larry") NIL]) (\TEMPUNLOCKPAGES [LAMBDA NIL (* ; "Edited 25-Feb-2021 10:07 by larry") NIL]) (\UNLOCKPAGES [LAMBDA NIL (* ; "Edited 25-Feb-2021 10:07 by larry") NIL]) (\WRITEDIRTYPAGE [LAMBDA NIL (* ; "Edited 25-Feb-2021 10:07 by larry") NIL]) ) (DECLARE%: DOEVAL@COMPILE DONTCOPY (GLOBALVARS \TimeZoneComp \RAWTRACING \MAXWATCHERGETS) ) (DECLARE%: EVAL@COMPILE DONTCOPY (DECLARE%: DOEVAL@COMPILE DONTCOPY (LOCALVARS . T) ) (FILESLOAD (SOURCE) TEDITDCL) ) (PUTPROPS MAIKOLOADUPFNS COPYRIGHT ("ENVOS Corporation" 1989 2018 2021)) (DECLARE%: DONTCOPY (FILEMAP (NIL (1336 5603 (CL::%%COPY-TIME-STATS 1346 . 1542) (CHECKPAGEMAP 1544 . 1676) (CLOCK 1678 . 1827) (CLOCK0 1829 . 1979) (DAYTIME 1981 . 2132) (SETTIME 2134 . 2408) (\BITBLTSUB 2410 . 2832) ( \BLTCHAR 2834 . 2966) (\CHECKSUM 2968 . 3133) (\CLOCK0 3135 . 3286) (\COUNTREALPAGES 3288 . 3421) ( \DAYTIME0 3423 . 3576) (\DIRTYBACKGROUND 3578 . 3714) (\DOLOCKPAGES 3716 . 3848) (\DONEWPAGE 3850 . 3999) (\DORECLAIM 4001 . 4147) (\DOTEMPLOCKPAGES 4149 . 4285) (\LOADVMEMPAGE 4287 . 4420) ( \LOCKEDPAGEP 4422 . 4538) (\LOCKPAGES 4540 . 4670) (\MOVEVMEMFILEPAGE 4672 . 4793) (\NEWPAGE 4795 . 4942) (\PAGEFAULT 4944 . 5056) (\SHOWPAGETABLE 5058 . 5192) (\TEMPUNLOCKPAGES 5194 . 5330) ( \UNLOCKPAGES 5332 . 5464) (\WRITEDIRTYPAGE 5466 . 5601))))) STOP \ No newline at end of file diff --git a/sources/MAIKOLOADUPFNS.LCOM b/sources/MAIKOLOADUPFNS.LCOM index a646f2d7f02676f1db0f6c3b969ae2147509d205..503185152d651db476b9cb614ceee4fbe0072906 100644 GIT binary patch delta 680 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