(DEFINE-FILE-INFO PACKAGE (DEFPACKAGE "SEDIT" (USE "LISP" "XCL")) READTABLE "XCL" BASE 10)

(IL:FILECREATED " 2-Dec-2021 23:29:30" 
IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>SEDIT-ACCESS.;2| 16200  

      IL:|previous| IL:|date:| "19-Jan-93 11:17:23" 
IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>SEDIT-ACCESS.;1|)


; Copyright (c) 1987-1988, 1990, 1993 by Venue & Xerox Corporation.

(IL:PRETTYCOMPRINT IL:SEDIT-ACCESSCOMS)

(IL:RPAQQ IL:SEDIT-ACCESSCOMS
          ((IL:PROP IL:FILETYPE IL:SEDIT-ACCESS)
           (IL:PROP IL:MAKEFILE-ENVIRONMENT IL:SEDIT-ACCESS)
           (IL:LOCALVARS . T)
           (IL:DECLARE\: IL:DONTCOPY IL:DOEVAL@COMPILE (IL:FILES IL:SEDIT-DECLS))
           (IL:INITRECORDS BROKEN-ATOM EDIT-CONTEXT EDIT-ENV EDIT-NODE EDIT-NODE-TYPE EDIT-POINT 
                  EDIT-SELECTION GAP LINE-BLOCK LINE-START LIST-FORMAT OPEN-STRING STRING-ITEM 
                  WEAK-LINK)
           (IL:SYSRECORDS BROKEN-ATOM EDIT-CONTEXT EDIT-ENV EDIT-NODE EDIT-NODE-TYPE EDIT-POINT 
                  EDIT-SELECTION GAP LINE-BLOCK LINE-START LIST-FORMAT OPEN-STRING STRING-ITEM 
                  WEAK-LINK)))

(IL:PUTPROPS IL:SEDIT-ACCESS IL:FILETYPE :COMPILE-FILE)

(IL:PUTPROPS IL:SEDIT-ACCESS IL:MAKEFILE-ENVIRONMENT (:READTABLE "XCL" :PACKAGE
                                                            (DEFPACKAGE "SEDIT" (:USE "LISP" "XCL"))))
(IL:DECLARE\: IL:DOEVAL@COMPILE IL:DONTCOPY

(IL:LOCALVARS . T)
)
(IL:DECLARE\: IL:DONTCOPY IL:DOEVAL@COMPILE 

(IL:FILESLOAD IL:SEDIT-DECLS)
)

(IL:/DECLAREDATATYPE 'BROKEN-ATOM '(IL:POINTER)
       '((BROKEN-ATOM 0 IL:POINTER))
       '2)

(IL:/DECLAREDATATYPE 'EDIT-CONTEXT
       '(IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER 
               IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER 
               IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:FLAG 
               IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER 
               IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:FULLXPOINTER IL:POINTER 
               IL:FULLXPOINTER IL:WORD IL:FULLXPOINTER IL:FULLXPOINTER IL:POINTER IL:POINTER 
               IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER 
               IL:POINTER IL:POINTER IL:POINTER IL:FULLXPOINTER IL:FULLXPOINTER IL:POINTER IL:POINTER
               IL:POINTER IL:POINTER IL:POINTER IL:POINTER)
       '((EDIT-CONTEXT 0 IL:POINTER)
         (EDIT-CONTEXT 2 IL:POINTER)
         (EDIT-CONTEXT 4 IL:POINTER)
         (EDIT-CONTEXT 6 IL:POINTER)
         (EDIT-CONTEXT 8 IL:POINTER)
         (EDIT-CONTEXT 10 IL:POINTER)
         (EDIT-CONTEXT 12 IL:POINTER)
         (EDIT-CONTEXT 14 IL:POINTER)
         (EDIT-CONTEXT 16 IL:POINTER)
         (EDIT-CONTEXT 18 IL:POINTER)
         (EDIT-CONTEXT 20 IL:POINTER)
         (EDIT-CONTEXT 22 IL:POINTER)
         (EDIT-CONTEXT 24 IL:POINTER)
         (EDIT-CONTEXT 26 IL:POINTER)
         (EDIT-CONTEXT 28 IL:POINTER)
         (EDIT-CONTEXT 30 IL:POINTER)
         (EDIT-CONTEXT 32 IL:POINTER)
         (EDIT-CONTEXT 34 IL:POINTER)
         (EDIT-CONTEXT 36 IL:POINTER)
         (EDIT-CONTEXT 38 IL:POINTER)
         (EDIT-CONTEXT 40 IL:POINTER)
         (EDIT-CONTEXT 42 IL:POINTER)
         (EDIT-CONTEXT 42 (IL:FLAGBITS . 0))
         (EDIT-CONTEXT 44 IL:POINTER)
         (EDIT-CONTEXT 46 IL:POINTER)
         (EDIT-CONTEXT 48 IL:POINTER)
         (EDIT-CONTEXT 50 IL:POINTER)
         (EDIT-CONTEXT 52 IL:POINTER)
         (EDIT-CONTEXT 54 IL:POINTER)
         (EDIT-CONTEXT 56 IL:POINTER)
         (EDIT-CONTEXT 58 IL:POINTER)
         (EDIT-CONTEXT 60 IL:POINTER)
         (EDIT-CONTEXT 62 IL:POINTER)
         (EDIT-CONTEXT 64 IL:POINTER)
         (EDIT-CONTEXT 66 IL:POINTER)
         (EDIT-CONTEXT 68 IL:FULLXPOINTER)
         (EDIT-CONTEXT 70 IL:POINTER)
         (EDIT-CONTEXT 72 IL:FULLXPOINTER)
         (EDIT-CONTEXT 74 (IL:BITS . 15))
         (EDIT-CONTEXT 76 IL:FULLXPOINTER)
         (EDIT-CONTEXT 78 IL:FULLXPOINTER)
         (EDIT-CONTEXT 80 IL:POINTER)
         (EDIT-CONTEXT 82 IL:POINTER)
         (EDIT-CONTEXT 84 IL:POINTER)
         (EDIT-CONTEXT 86 IL:POINTER)
         (EDIT-CONTEXT 88 IL:POINTER)
         (EDIT-CONTEXT 90 IL:POINTER)
         (EDIT-CONTEXT 92 IL:POINTER)
         (EDIT-CONTEXT 94 IL:POINTER)
         (EDIT-CONTEXT 96 IL:POINTER)
         (EDIT-CONTEXT 98 IL:POINTER)
         (EDIT-CONTEXT 100 IL:POINTER)
         (EDIT-CONTEXT 102 IL:POINTER)
         (EDIT-CONTEXT 104 IL:FULLXPOINTER)
         (EDIT-CONTEXT 106 IL:FULLXPOINTER)
         (EDIT-CONTEXT 108 IL:POINTER)
         (EDIT-CONTEXT 110 IL:POINTER)
         (EDIT-CONTEXT 112 IL:POINTER)
         (EDIT-CONTEXT 114 IL:POINTER)
         (EDIT-CONTEXT 116 IL:POINTER)
         (EDIT-CONTEXT 118 IL:POINTER))
       '120)

(IL:/DECLAREDATATYPE 'EDIT-ENV
       '(IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER 
               IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER 
               IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER 
               IL:POINTER IL:POINTER)
       '((EDIT-ENV 0 IL:POINTER)
         (EDIT-ENV 2 IL:POINTER)
         (EDIT-ENV 4 IL:POINTER)
         (EDIT-ENV 6 IL:POINTER)
         (EDIT-ENV 8 IL:POINTER)
         (EDIT-ENV 10 IL:POINTER)
         (EDIT-ENV 12 IL:POINTER)
         (EDIT-ENV 14 IL:POINTER)
         (EDIT-ENV 16 IL:POINTER)
         (EDIT-ENV 18 IL:POINTER)
         (EDIT-ENV 20 IL:POINTER)
         (EDIT-ENV 22 IL:POINTER)
         (EDIT-ENV 24 IL:POINTER)
         (EDIT-ENV 26 IL:POINTER)
         (EDIT-ENV 28 IL:POINTER)
         (EDIT-ENV 30 IL:POINTER)
         (EDIT-ENV 32 IL:POINTER)
         (EDIT-ENV 34 IL:POINTER)
         (EDIT-ENV 36 IL:POINTER)
         (EDIT-ENV 38 IL:POINTER)
         (EDIT-ENV 40 IL:POINTER)
         (EDIT-ENV 42 IL:POINTER)
         (EDIT-ENV 44 IL:POINTER)
         (EDIT-ENV 46 IL:POINTER))
       '48)

(IL:/DECLAREDATATYPE 'EDIT-NODE
       '(IL:FULLXPOINTER IL:POINTER IL:POINTER IL:FULLXPOINTER IL:WORD IL:WORD IL:POINTER IL:POINTER
               IL:FULLXPOINTER IL:POINTER IL:WORD IL:WORD IL:WORD IL:WORD IL:FLAG IL:POINTER 
               IL:POINTER IL:POINTER IL:POINTER)
       '((EDIT-NODE 0 IL:FULLXPOINTER)
         (EDIT-NODE 2 IL:POINTER)
         (EDIT-NODE 4 IL:POINTER)
         (EDIT-NODE 6 IL:FULLXPOINTER)
         (EDIT-NODE 8 (IL:BITS . 15))
         (EDIT-NODE 9 (IL:BITS . 15))
         (EDIT-NODE 10 IL:POINTER)
         (EDIT-NODE 12 IL:POINTER)
         (EDIT-NODE 14 IL:FULLXPOINTER)
         (EDIT-NODE 16 IL:POINTER)
         (EDIT-NODE 18 (IL:BITS . 15))
         (EDIT-NODE 19 (IL:BITS . 15))
         (EDIT-NODE 20 (IL:BITS . 15))
         (EDIT-NODE 21 (IL:BITS . 15))
         (EDIT-NODE 16 (IL:FLAGBITS . 0))
         (EDIT-NODE 22 IL:POINTER)
         (EDIT-NODE 24 IL:POINTER)
         (EDIT-NODE 26 IL:POINTER)
         (EDIT-NODE 28 IL:POINTER))
       '30)

(IL:/DECLAREDATATYPE 'EDIT-NODE-TYPE
       '(IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER 
               IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER 
               IL:POINTER IL:POINTER IL:POINTER)
       '((EDIT-NODE-TYPE 0 IL:POINTER)
         (EDIT-NODE-TYPE 2 IL:POINTER)
         (EDIT-NODE-TYPE 4 IL:POINTER)
         (EDIT-NODE-TYPE 6 IL:POINTER)
         (EDIT-NODE-TYPE 8 IL:POINTER)
         (EDIT-NODE-TYPE 10 IL:POINTER)
         (EDIT-NODE-TYPE 12 IL:POINTER)
         (EDIT-NODE-TYPE 14 IL:POINTER)
         (EDIT-NODE-TYPE 16 IL:POINTER)
         (EDIT-NODE-TYPE 18 IL:POINTER)
         (EDIT-NODE-TYPE 20 IL:POINTER)
         (EDIT-NODE-TYPE 22 IL:POINTER)
         (EDIT-NODE-TYPE 24 IL:POINTER)
         (EDIT-NODE-TYPE 26 IL:POINTER)
         (EDIT-NODE-TYPE 28 IL:POINTER)
         (EDIT-NODE-TYPE 30 IL:POINTER)
         (EDIT-NODE-TYPE 32 IL:POINTER)
         (EDIT-NODE-TYPE 34 IL:POINTER))
       '36)

(IL:/DECLAREDATATYPE 'EDIT-POINT '(IL:FULLXPOINTER IL:POINTER IL:POINTER IL:POINTER IL:FULLXPOINTER 
                                         IL:POINTER IL:POINTER)
       '((EDIT-POINT 0 IL:FULLXPOINTER)
         (EDIT-POINT 2 IL:POINTER)
         (EDIT-POINT 4 IL:POINTER)
         (EDIT-POINT 6 IL:POINTER)
         (EDIT-POINT 8 IL:FULLXPOINTER)
         (EDIT-POINT 10 IL:POINTER)
         (EDIT-POINT 12 IL:POINTER))
       '14)

(IL:/DECLAREDATATYPE 'EDIT-SELECTION
       '(IL:FULLXPOINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER 
               IL:FULLXPOINTER IL:POINTER IL:FULLXPOINTER IL:POINTER IL:POINTER IL:POINTER)
       '((EDIT-SELECTION 0 IL:FULLXPOINTER)
         (EDIT-SELECTION 2 IL:POINTER)
         (EDIT-SELECTION 4 IL:POINTER)
         (EDIT-SELECTION 6 IL:POINTER)
         (EDIT-SELECTION 8 IL:POINTER)
         (EDIT-SELECTION 10 IL:POINTER)
         (EDIT-SELECTION 12 IL:POINTER)
         (EDIT-SELECTION 14 IL:FULLXPOINTER)
         (EDIT-SELECTION 16 IL:POINTER)
         (EDIT-SELECTION 18 IL:FULLXPOINTER)
         (EDIT-SELECTION 20 IL:POINTER)
         (EDIT-SELECTION 22 IL:POINTER)
         (EDIT-SELECTION 24 IL:POINTER))
       '26)

(IL:/DECLAREDATATYPE 'GAP '(IL:POINTER)
       '((GAP 0 IL:POINTER))
       '2)

(IL:/DECLAREDATATYPE 'LINE-BLOCK '(IL:FULLXPOINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER 
                                         IL:POINTER IL:POINTER IL:POINTER IL:POINTER)
       '((LINE-BLOCK 0 IL:FULLXPOINTER)
         (LINE-BLOCK 2 IL:POINTER)
         (LINE-BLOCK 4 IL:POINTER)
         (LINE-BLOCK 6 IL:POINTER)
         (LINE-BLOCK 8 IL:POINTER)
         (LINE-BLOCK 10 IL:POINTER)
         (LINE-BLOCK 12 IL:POINTER)
         (LINE-BLOCK 14 IL:POINTER)
         (LINE-BLOCK 16 IL:POINTER))
       '18)

(IL:/DECLAREDATATYPE 'LINE-START
       '(IL:FULLXPOINTER IL:FULLXPOINTER IL:FULLXPOINTER IL:WORD IL:WORD IL:WORD IL:WORD IL:WORD 
               IL:POINTER IL:WORD IL:POINTER IL:WORD IL:WORD)
       '((LINE-START 0 IL:FULLXPOINTER)
         (LINE-START 2 IL:FULLXPOINTER)
         (LINE-START 4 IL:FULLXPOINTER)
         (LINE-START 6 (IL:BITS . 15))
         (LINE-START 7 (IL:BITS . 15))
         (LINE-START 8 (IL:BITS . 15))
         (LINE-START 9 (IL:BITS . 15))
         (LINE-START 10 (IL:BITS . 15))
         (LINE-START 12 IL:POINTER)
         (LINE-START 11 (IL:BITS . 15))
         (LINE-START 14 IL:POINTER)
         (LINE-START 16 (IL:BITS . 15))
         (LINE-START 17 (IL:BITS . 15)))
       '18)

(IL:/DECLAREDATATYPE 'LIST-FORMAT '(IL:POINTER IL:POINTER IL:POINTER IL:POINTER IL:POINTER)
       '((LIST-FORMAT 0 IL:POINTER)
         (LIST-FORMAT 2 IL:POINTER)
         (LIST-FORMAT 4 IL:POINTER)
         (LIST-FORMAT 6 IL:POINTER)
         (LIST-FORMAT 8 IL:POINTER))
       '10)

(IL:/DECLAREDATATYPE 'STRING-ITEM '(IL:POINTER IL:WORD IL:FULLXPOINTER IL:FLAG)
       '((STRING-ITEM 0 IL:POINTER)
         (STRING-ITEM 2 (IL:BITS . 15))
         (STRING-ITEM 4 IL:FULLXPOINTER)
         (STRING-ITEM 3 (IL:FLAGBITS . 0)))
       '6)

(IL:/DECLAREDATATYPE 'WEAK-LINK '(IL:FULLXPOINTER)
       '((WEAK-LINK 0 IL:FULLXPOINTER))
       '2)
(IL:ADDTOVAR IL:SYSTEMRECLST

(IL:DATATYPE BROKEN-ATOM (ATOM-CHARS))

(IL:DATATYPE EDIT-CONTEXT 
             (ENVIRONMENT PROFILE EVAL-FN EVAL-IN-PROCESS CONTEXT-LOCK COMPLETION-EVENT EDIT-TYPE 
                    ICON-TITLE EDIT-OPTIONS COMMENT-WIDTH COMMENT-SEPARATION FIND-CANDIDATE 
                    SUBSTITUTE-CANDIDATE DISPLAY-WINDOW WINDOW-LEFT WINDOW-BOTTOM WINDOW-RIGHT 
                    WINDOW-TOP ROOT ROOT-CHANGED-FN COMPLETION-FN CHANGED-STRUCTURE? (
                                                                                DONT-COLLECT-CHANGES?
                                                                                      IL:FLAG)
                    CHANGED-NODES OPEN-NODE-CHANGED? OPEN-NODE OPEN-NODE-INFO ATOM-STARTED 
                    ATOM-STARTED-UNDO-POINTER UNDO-LIST UNDO-UNDO-LIST CARET CARET-POINT SELECTION 
                    SELECTION-DISPLAYED? (CURRENT-NODE IL:FULLXPOINTER)
                    CURRENT-X
                    (CURRENT-LINE IL:FULLXPOINTER)
                    (LAST-LINEARIZED-SUB-NODE-INDEX IL:WORD)
                    (LINEAR-POINTER IL:FULLXPOINTER)
                    (LINEAR-PREV IL:FULLXPOINTER)
                    LAST-MOUSE-X LAST-MOUSE-Y LAST-MOUSE-TYPE \\X \\Y \\Z \\T FIRST-BLOCK 
                    CURRENT-BLOCK MATCHING? BELOW? VISIBLE? (REPAINT-START IL:FULLXPOINTER)
                    (REPAINT-LINE IL:FULLXPOINTER)
                    REPAINT-X RELINEARIZATION-TIME-STAMP SHIFT-Y SHIFT-DOWN SHIFT-RIGHT PROPS))

(IL:DATATYPE EDIT-ENV 
             (PARSE-INFO PARSE-INFO-UNKNOWN USER-DATA DEFAULT-FONT ITALIC-FONT KEYWORD-FONT 
                    COMMENT-FONT BROKEN-ATOM-FONT SPACE-WIDTH DEFAULT-LINE-SKIP EM-WIDTH INDENT-BASE
                    INDENT-STEP MAX-WIDTH COMMENT-WIDTH-PERCENT INIT-COMMENT-SEPARATION LPAREN-STRING
                    RPAREN-STRING DOT-STRING QUOTE-STRING COMMENT-STRING COMMAND-TABLE 
                    DEFAULT-CHAR-HANDLER HELP-MENU))

(IL:DATATYPE EDIT-NODE ((NODE-TYPE IL:FULLXPOINTER)
                        FORMAT UNASSIGNED (SUPER-NODE IL:FULLXPOINTER)
                        (DEPTH IL:WORD)
                        (SUB-NODE-INDEX IL:WORD)
                        STRUCTURE SUB-NODES (LINEAR-THREAD IL:FULLXPOINTER)
                        LINEAR-FORM
                        (START-X IL:WORD)
                        (RIGHT-MARGIN IL:WORD)
                        (PREFERRED-WIDTH IL:WORD)
                        (ACTUAL-WIDTH IL:WORD)
                        (CHANGED? IL:FLAG)
                        INLINE-WIDTH ACTUAL-LLENGTH FIRST-LINE LAST-LINE))

(IL:DATATYPE EDIT-NODE-TYPE 
             (NAME ASSIGN-FORMAT COMPUTE-FORMAT-VALUES LINEARIZE SUB-NODE-CHANGED SET-POINT 
                   COMPUTE-POINT-POSITION COMPUTE-SELECTION-POSITION SET-SELECTION GROW-SELECTION 
                   SELECT-SEGMENT INSERT DELETE COPY-STRUCTURE COPY-SELECTION STRINGIFY BACK-SPACE 
                   CLOSE-NODE))

(IL:DATATYPE EDIT-POINT ((POINT-NODE IL:FULLXPOINTER)
                         POINT-INDEX POINT-TYPE POINT-X (POINT-LINE IL:FULLXPOINTER)
                         POINT-STRING POINT-OFFSET))

(IL:DATATYPE EDIT-SELECTION ((SELECT-NODE IL:FULLXPOINTER)
                             SELECT-START SELECT-END SELECT-TYPE DELETE-OK? PENDING-DELETE? 
                             SELECT-START-X (SELECT-START-LINE IL:FULLXPOINTER)
                             SELECT-END-X
                             (SELECT-END-LINE IL:FULLXPOINTER)
                             SELECT-STRING SELECT-START-OFFSET SELECT-END-OFFSET))

(IL:DATATYPE GAP (LINEAR-ITEM))

(IL:DATATYPE LINE-BLOCK ((BLOCK-START IL:FULLXPOINTER)
                         BLOCK-NEW-X BLOCK-WIDTH NEXT-BLOCK BITS? BLOCK-X BLOCK-BASE-LINE 
                         BLOCK-ASCENT BLOCK-DESCENT))

(IL:DATATYPE LINE-START ((NEXT-LINE IL:FULLXPOINTER)
                         (PREV-LINE IL:FULLXPOINTER)
                         (NODE IL:FULLXPOINTER)
                         (LINE-ASCENT IL:WORD)
                         (LINE-DESCENT IL:WORD)
                         (LINE-SKIP IL:WORD)
                         (LINE-LENGTH IL:WORD)
                         (INDENT IL:WORD)
                         YCOORD
                         (CACHE-TIME IL:WORD)
                         CACHED-Y
                         (CACHED-ASCENT IL:WORD)
                         (CACHED-DESCENT IL:WORD)))

(IL:DATATYPE LIST-FORMAT (LIST-FORMATS LIST-INLINE? LIST-PFORMAT LIST-MFORMAT LIST-SUBLISTS))

(IL:RECORD OPEN-STRING (REAL-LENGTH SUBSTRING . BUFFER-STRING))

(IL:DATATYPE STRING-ITEM (STRING (WIDTH IL:WORD)
                                (FONT IL:FULLXPOINTER)
                                (PRIN-2? IL:FLAG)))

(IL:DATATYPE WEAK-LINK ((DESTINATION IL:FULLXPOINTER)))
)
(IL:PUTPROPS IL:SEDIT-ACCESS IL:COPYRIGHT ("Venue & Xerox Corporation" 1987 1988 1990 1993))
(IL:DECLARE\: IL:DONTCOPY
  (IL:FILEMAP (NIL)))
IL:STOP
