hưs2D p,COMPILE-DATADAMS,Lisp Machine One)FdF Dp,COMPILER,NEW-DESTINATIONSpGLOBALlTpB SITEpB AMSpB QFASL-SOURCE-FILE-UNIQUE-ID1DplFSMAKE-FASLOAD-PATHNAMEDpB+QUOTElFCDB:pB lUNSPECIFICDB:DsyspatchDB:system-100-14DB:lispDB:B>pB lPATCH-FILEpB lTpB BASEFpB ,PACKAGEpB USERpB lREADTABLEpB lZLFC: /sys/window/shwarmN[plSIPATCH-SOURCE-FILE-NAMESTRINGplTVSHEET-COMPUTE-MOTIONˀ6$lF-Ba@pB_lCOMPUTE-MOTION-ROUND-DOWNC%%CH-CHARC%%CH-FONTpB_lPRINTING-CHARACTER-TRANSLATE-TABLEÂARRAY-BITS-PER-ELEMENTFFFFFFFFFFtFFFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFFONTpB_,SHEET-GET-SCREENpB PARSE-FONT-SPECIFIERCARRAY-TYPEeFepB_SHEET-CHARACTER-WIDTHDDpB ,MACROS-EXPANDEDD pB_SHEET-FONT-MAPCCHAR-FONTCHARCCHAR-CODEINCFWHENÂFONT-CHAR-WIDTH-TABLENEQpB_,SHEET-RIGHT-MARGIN-SIZEpB_SHEET-WIDTHpB_lSHEET-INSIDE-WIDTHpB_,SHEET-BOTTOM-MARGIN-SIZEpB_SHEET-HEIGHTpB_SHEET-INSIDE-HEIGHTpB_SHEET-TOP-MARGIN-SIZEpB_,SHEET-INSIDE-TOPpB_SHEET-CURSOR-YpB_SHEET-LEFT-MARGIN-SIZEpB_lSHEET-INSIDE-LEFTpB_SHEET-CURSOR-XpB_lSHEET-RIGHT-MARGIN-CHARACTER-FLAGpB_lSHEET-CURRENT-FONTSENDÀUNLESSpB_COERCE-FONTpB_,SHEET-CHAR-WIDTHpB_,SHEET-TAB-WIDTHpB_SHEET-FLAGSpB_,SHEET-TAB-NCHARSFONT-CHAR-WIDTHpB_lSHEET-LINE-HEIGHTFONT-CHAR-HEIGHTDpB(,ARG-MAPDDpB_SHEETDpB_lXDpB_lYDÀSTRINGDpB_STARTDpB_ENDDpB_CR-AT-END-PDpB_STOP-XDpB_STOP-YDpB_BOTTOM-LIMITDpB_RIGHT-LIMITDBDpB_,LINE-HTDpB_lTAB-WIDTHDpB(lLOCAL-MAPDDpB_CWADpB_lCWDpB_lCHDpB_FONTXDpB_TEMDpB_lIDpB_lNDpB_lNNDpB_lIIDpB_MARGIN-FLAGDpB_lMAXIMUM-XDpB_OLD-XDpB_lWIDTH-INCRDpB_LIMITDpB_,FONT-MAPDÁDOCUMENTATIONCompute the motion that would be caused by outputing a string.This is used by the editor and by TV:STREAM-MIXIN.In computing the motion, it will chose the font in one of two ways: If given an ART-FAT-STRING array (16 bit string) like the editor uses, it will take the font from the character's CHAR-FONT and look in SHEET's font-map. If given an ART-STRING array (8 bit string), it will take the font from FONT, or the SHEET-CURRENT-FONT of the sheet.SHEET is used to supply information such as the font map, and for defaulting such things as BOTTOM-LIMIT, RIGHT-LIMIT and LINE-HT.STRING, with START and END, specifies what characters to process.CR-AT-END-P if non-NIL says "output" a Newline after STRING or the portion of STRING, and count that in the cursor motion.STOP-X and STOP-Y specify a cursor position at which to stop. Processing stops when both coordinates are  the stop points. The stop points default to the bottom left corner of SHEET. Specify a very large value for STOP-Y if you do not want processing to stop before the end of STRING.BOTTOM-LIMIT and RIGHT-LIMIT are a cursor position at which to wrap around; these default to the inside-size of SHEET.FONT specifies the font to use, if STRING is not a fat string.LINE-HT is the line height to use for Newline characters, defaulting to SHEET's line height.TAB-WIDTH is the width to use for Tab characters, defaulting to SHEET's SHEET-TAB-WIDTH.Processing stops either because the string or portion hasbeen processed or because the stopping-point has been reached.Returns 4 values:FINAL-X, FINAL-Y are the cursor position at which processing stopped.FINAL-STRING-INDEX is the index in the string at which processing stopped (could be the length of the string, if the stop point was passed then), T if stopped due to reaching the stop point after the additional Newline, or NIL if stopped due to finishing.MAXIMUM-X was the largest X-position ever encountered during processing.DÀVALUESpB_,FINAL-XpB_,FINAL-YpB_lFINAL-STRING-INDEXB!DpB(,COMPILER-ARGLISTBBBBC&OPTIONALDBBBDBBBBBDBDCIFBDBBDBBDBDBCBDC*DBBDBBDBB8EC`E`8ED`,DE`Z,DE`ZE`s 8E-D X.@A/DE`A}E`ZXEIXE`E`SXE`E`S XE`E`SE`SZ XE`E`SE`SI8EE`S XE`E`SE`SSEJEEEEj[FED`A|0@ DZIuXECEJ`@8EJEr[JEU XEUXEEEEJE|EEFUX8E3׉58EEEE [ZxEE [ZJE|CEu/XEEUXEEs[MLw@E DC8CED|Z|EEEFE@8MESMESAE0@XLEAsLEEL3EEFYEJEr[JEU XEUXEEEEJE|DEEEzDZBC8DDEZDCuXDECE`NCENEj[UX|CEJ[J`@ED`AEKBE18E3׉5"8 BE2T 8@8@EBEJ[AE3BE38EDED3DE0DsE4@EBE3|r[ 8E5 8EUXKEEEEJE|E58E3׉5-9+E)EJEr[JEUXEESAE0E3FEs[GEEHGU 8 D|EHEGEEEHSAs3EGEJEr[JEU XEUXEEEEJE|EEFUX8E3׉58EEEE [ZxEE [ZJE|EKEEEzB18E3׉58BE2T8EA3BE38EDED3DE0DsE4@EBE3|r[ 8E5 8EUXKEEEEJE|E58E3׉5r9pEnOQBaNILNRB^FC: /sys/window/basstrNSB^1DpB\,DEFVAR-1pB_*ESCAPE-KEYS*DB:DDFpB_KBD-ESC-CLEARlDiscard type-aheadpB ,KEYBOARD-PROCESSDFDpB_KBD-ESC-RESUMElAllow deexposed typeout in window that Terminal-0-S would select.DFpB_SYSTEM-MENU-SET-MOUSE-SCREEN,Set Mouse screenDFDpB_KBD-SCREEN-REDISPLAYClear and redisplay all windows (Page = Clear Screen)DFApB_KBD-ESC-ARRESTlArrest process in who-line (minus means unarrest)B]DFBpB_,KBD-BURY,Bury the selected windowpB lTYPEAHEADDFCpB_KBD-COMPLEMENTDB:DComplement video black-on-white stateWith an argument, complement the who-line documentation windowB]DFFpB_lKBD-FINGERDpB_lFINGER-ARG-PROMPTBzDFGDpB_KBD-GC-STATUSlShow the current state of all garbage collection.DFHDpB_lKBD-HOSTATShow status of CHAOSnet hostsBzDFIpB_lKBD-ESC-ISelected window deexposed input notify flag (complement, or arg=1 on, 0 off)DFMpB_KBD-ESC-MORE,Selected window **MORE** enable (complement, or arg=1 on, 0 off)B]DFNpB_KBD-ESC-NOTIFICATIONSDB:D,Allow notifications to come out.Terminal 1 N print all notifications (even old ones)lTerminal 2 N defer notifications, reset who-lineBzDFOpB_,KBD-OTHER-EXPOSED-WINDOWSelect another exposed windowBzDFQpB_lKBD-ESC-QDLETDDpB_,PRINTERDCORpB\*DEFAULT-BIT-ARRAY-PRINTER*pB\l*DEFAULT-PRINTER*DANDDGETDBCDÀCONSPBDCARBBDB:pB\,PRINT-BIT-ARRAYDÀFORMATBRHardcopy the screen on the ~ADBCDBBDBBBDFSpB_lKBD-SWITCH-WINDOWSDB:DSelect the most recently selected window. With an argument, select the nthpreviously selected window and rotate the top n windows. (Default arg is 2).lWith an arg of 1, rotate through all the windows.lWith a negative arg rotate in the other direction.With an argument of 0, select a window that wants to type out.BzDFTpB_lKBD-ESC-TSelected window deexposed typeout action. 0 - wait, 1 - notify, 2 - permit.DFVpB_KBD-VIEW-MAILView new mail. Terminal 1 V - view any file.BzDFWpB_lKBD-ESC-WDB:DlSwitch which process the wholine looks at. Default is just to refresh it 1 means selected-window's process, 2 means freeze on this process, 3 means rotate among all processes, 4 means rotate other direction,, 0 gives a menu of all processesDFpB_KBD-ESC-OUTPUT-HOLDExpose window on which we have "Output Hold"DF?pB_KBD-ESC-HELPBRBzDFBBRBzDBRDFDpB_,KBD-USE-COLD-LOAD-STREAM,Get to cold-load streamBzD TpB_KBD-CLEAR-TEMPORARY-WINDOWS,Flush temporary windowsD pB_,KBD-CLEAR-LOCKSlClear window-system locksD ApB_lKBD-ESC-ARREST-ALLArrest nearly all processesB]^Determines what to do with characters typed after the Terminal character.A list of elements (CHAR FUNCTION DOCUMENTATION . OPTIONS).CHAR is what character this element applies to.If FUNCTION is a list, it is evaluated; otherwise, it is called with one arg, which is either NIL or the numeric arg (1 in Terminal 1 F).The evaluation or calling is normally done in a separate process.DOCUMENTATION can be a string, a function that returns a string, or NIL. NIL means the this entry will not appear in the help message. It can also be a list of strings that go on separate lines.OPTIONS are keywords (with no values). Defined options are: :TYPEAHEAD - copy the contents of thesoftware buffer into the currently selected IO-BUFFER. This has theeffect of treating everything typed before the TERMINAL as typeahead tothe currently selected window. Useful for TERMINAL commands thatchange the selected window. These commands should set KBD-ESC-TIME to NILas soon as they change the selected window, unless they complete quickly(input should never be done with KBD-ESC-TIME non-NIL). :KEYBOARD-PROCESS - run the function in the keyboard process instead of startinga new process for it.BRNRB^1DpB\,FASL-RECORD-FILE-MACROS-EXPANDEDDB:D DBkDBmؗDBkDB0DBmDBxkDBmܗDBFbDBlDBX(DBmDB^DBmDB*5DBmDBmDBYDBmDB`DBmDBmDBpLDBmDBmDBmNnDBkDBhDB"DB% ZDB[TGDB0LDBm̗