1
0
mirror of synced 2026-03-06 11:34:26 +00:00

Rmk8: Revised EDITINTERFACE, another attempt at SEDIT-TOPLEVEL (#619)

* EDITINTERFACE: further cleanup

* SEDIT:  Another attempt at adding a property interface
This commit is contained in:
rmkaplan
2021-12-11 21:45:29 -08:00
committed by GitHub
parent 40c10a7841
commit c2915bf5d3
10 changed files with 755 additions and 394 deletions

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED " 4-Dec-2021 10:40:27" 
{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>EDITINTERFACE.;21 46036
(FILECREATED " 8-Dec-2021 18:25:33" 
{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>EDITINTERFACE.;29 47473
changes to%: (FNS EDITDATE?)
:CHANGES-TO (FNS EDITDATE? EDITDATE)
previous date%: " 3-Dec-2021 15:45:20"
{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>EDITINTERFACE.;19)
:PREVIOUS-DATE " 8-Dec-2021 16:11:23"
{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>EDITINTERFACE.;27)
(* ; "
@@ -109,7 +109,7 @@ Copyright (c) 1986-1988, 1990-1991 by Venue & Xerox Corporation.
(DEFGLOBALVAR XCL::ED-LAST-INFO NIL
"used in ED to stash last call info so (ED NIL) will restart last edit")
(CL:DEFUN ED (CL::NAME CL::OPTIONS) (* ; "Edited 5-Jul-88 16:03 by woz")
(CL:DEFUN ED (CL::NAME CL::OPTIONS) (* ; "Edited 5-Jul-88 16:03 by woz")
(* ;;; "Standard Common Lisp editor entry. CLtL say's ED does something reasonable when passed a pathname. We coerce name into something that might be the name of something with an IL:FILES definition, & try to edit that. Then save call info in ED-LAST-INFO, so (ED) will start last edit over again.")
@@ -629,21 +629,21 @@ Copyright (c) 1986-1988, 1990-1991 by Venue & Xerox Corporation.
(FIXEDITDATE
[LAMBDA (EXPR)
(* ;; "Edited 3-Dec-2021 15:35 by rmk: Updated to add dates to the initial undated comments that begins with current-editor initials, to provide a kind of dated change-log capability.")
 (* ; "Edited 3-Dec-2021 15:03 by rmk")
(* ;; "Edited 8-Dec-2021 16:11 by rmk: Updated to add dates to the initial undated comments that begins with current-editor initials, to provide a kind of dated change-log capability.")
(* ; "Edited 3-Dec-2021 15:03 by rmk")
(* ; "Edited 22-Oct-2021 16:58 by rmk:")
(* ; "Edited 27-Sep-2018 22:04 by rmk:")
(* ; "Edited 31-Mar-2000 17:13 by rmk:")
(* ; "Edited 17-Jul-89 11:13 by jtm:")
(* ; "18-JUL-78 21:11")
(* ;; "Inserts or replaces previous edit date. This retains multiple edits (at least one day apart or by different editor) unless *REPLACE-OLD-EDIT-DATES*. Note that the new date doesn't show up within the current SEDIT session, you have to exit and re-edit to see it.")
(* ;; "Inserts or replaces previous edit date. This retains multiple edits (at least one day apart or by different editor) unless *REPLACE-OLD-EDIT-DATES*. Note that the new date doesn't show up within the current SEDIT session, you have to exit and re-edit to see it. ")
(CL:WHEN (AND INITIALS (LISTP EXPR)
(LISTP (CDR EXPR)))
(PROG (E)
(* ;; "Normalize out the colon, add it back if needed.")
(* ;; "Normalize out the colon, add it back if needed. ")
(COND
((FMEMB (CAR EXPR)
@@ -729,26 +729,36 @@ Copyright (c) 1986-1988, 1990-1991 by Venue & Xerox Corporation.
(IF (STRING.EQUAL INITLS (CADR PARSE))
THEN
(* ;; "This is a previous date with this author. If more than a day later, add a new date. If less than a day, assume we are in essentially the same session, and update (CAR E) to the current time.")
(* ;; "Another edit by the same author. If not dated but contains a rest, then upgrade the rest comment with a date Otherwise,If more than a day later, add a new date. If less than a day, assume we are in essentially the same session, and update (CAR E) to the current time.")
[IF (OR (NULL (CAR PARSE))
(IGREATERP (IDIFFERENCE (IDATE)
(IDATE (CAR PARSE)))
(TIMES 24 3600)))
[IF (NULL (CAR PARSE))
THEN
(* ;; "If no date, must have been %"INITIALS: xxx%" and we definitely want to upgraded to the Edited... format")
(* ;; "If no date but %"INITIALS: xxx%", we definitely want to upgraded to the Edited... initials: xxx format")
(/ATTACH (EDITDATE NIL INITLS (CADDR PARSE))
(/RPLACA E (EDITDATE (CAR E)
INITLS
(CADDR PARSE)))
ELSEIF (IGREATERP (IDIFFERENCE (IDATE)
(IDATE (CAR PARSE)))
(TIMES 24 3600))
THEN
(* ;;
 "If we aren't upgrading, then we don't want to propagate the previous REST.")
(/ATTACH (EDITDATE NIL INITLS)
E)
ELSE
(* ;; "Same author, within a day. ")
(* ;;
 "Same author, within a day. Just change the date, keep the REST.")
(/RPLACA E (EDITDATE NIL INITLS (CADDR PARSE]
(/RPLACA E (EDITDATE (CAR E)
INITLS
(CADDR PARSE]
ELSE
(* ;;
 "Not a previous date, or not one with this author. Add a new one.")
(/ATTACH (EDITDATE NIL INITLS (CADDR PARSE))
(* ;; "Not a previous date, or not one with this author. Add a new one. If rmk is editing and sees an lmm: rest, we don't want to attribute that rest to rmk in the new one.")
(/ATTACH (EDITDATE NIL INITLS)
E))
ELSE
(* ;; "Need a new date, didn't even see %"<initials: xxx%"")
@@ -758,11 +768,14 @@ Copyright (c) 1986-1988, 1990-1991 by Venue & Xerox Corporation.
(RETURN EXPR)))])
(EDITDATE?
[LAMBDA (COMMENT RESTOK) (* ; "Edited 4-Dec-2021 10:39 by rmk")
[LAMBDA (COMMENT RESTOK) (* ; "Edited 8-Dec-2021 18:24 by rmk")
(* ;; "Edited 6-Dec-2021 16:04 by rmk: Return will have date/initial, initial/rest, or date/initial/rest. Always an initial and something, or NIL.")
(* ; "Edited 4-Dec-2021 10:39 by rmk")
(* ;;; "This determines whether this is a dated or initialed comment that is potentially reusable in the current context. Unless RESTOK, this only recognizes modern-format configurations of the form %"Edited <date> by <initials>%", and returns a parsed pair (DATE INITIALS).")
(* ;;; "If RESTOK, this also parses strings with additional stuff after the <initials> (%"Edited by <initials>: xxx%") and strings that appear to begin with initials but don't have a date (<initials>: xxx). In those cases the return is a triple (DATE INITIALS REST), where DATE may be NIL. ")
(* ;;; "If RESTOK, this also parses strings with additional stuff after the INITLS (%"Edited by <initials>: xxx%") and strings that appear to begin with initials but don't have a date (<initials>: xxx). In those cases the return is a triple (DATE INITIALS REST), where DATE may be NIL. ")
(* ;;; "")
@@ -772,41 +785,55 @@ Copyright (c) 1986-1988, 1990-1991 by Venue & Xerox Corporation.
(* ;;; "There is no harm in not recognizing prehistoric formats, new dates will always be added on.")
(LET ((TAIL COMMENT)
STRING BYPOS DATE I RESTPOS)
STRING BYPOS (IPOS 1)
DATE I IENDPOS RESTPOS)
(CL:WHEN [AND (EQ COMMENTFLG (CAR (LISTP TAIL)))
(MEMB [CAR (LISTP (SETQ TAIL (CDR TAIL]
'(; ;; ;;;))
(STRINGP (SETQ STRING (CAR (SETQ TAIL (CDR TAIL]
(SETQ STRING (CL:STRING-TRIM `(#\Space)
STRING))
(CL:UNLESS [AND [STREQUAL "Edited " (SUBSTRING STRING 1 7 (CONSTANT (CONCAT]
(SETQ BYPOS (STRPOS " by " STRING 8))
[IDATE (SETQ DATE (CL:STRING-TRIM `(#\Space)
(SUBSTRING STRING 8 (SUB1 BYPOS]
(SETQ I (SUBSTRING STRING (IPLUS BYPOS 4)
(OR (SETQ RESTPOS (STRPOS " " STRING (IPLUS BYPOS 4)))
-1]
(CL:WHEN [AND [STREQUAL "Edited " (SUBSTRING STRING 1 7 (CONSTANT (CONCAT]
(SETQ BYPOS (STRPOS " by " STRING 8))
(IDATE (SETQ DATE (CL:STRING-TRIM `(#\Space)
(SUBSTRING STRING 8 (SUB1 BYPOS]
(* ;; "Could be %"<INITIALS>: abc%" to be upgraded with a date")
(* ;; "Standard format, initials should be next. ")
(CL:WHEN (SETQ RESTPOS (STRPOS " " STRING))
(SETQ I (SUBSTRING STRING 1 (SUB1 RESTPOS)))))
(CL:WHEN (AND I (ILESSP (NCHARS I)
12)) (* ;
(SETQ IPOS (IPLUS BYPOS 4)))
(* ;; "Chomp off the next substring--initials?")
(CL:WHEN (IGREATERP (NCHARS STRING)
IPOS)
[SETQ IENDPOS (SUB1 (OR (STRPOS " " STRING IPOS)
(ADD1 (NCHARS STRING]
(SETQ I (SUBSTRING STRING IPOS IENDPOS))
(CL:WHEN (ILESSP (NCHARS I)
12) (* ;
 "Sanity check: Initials should be short.")
(CL:WHEN (EQ (CHARCODE %:)
(NTHCHARCODE I -1)) (* ;
 "Normalize out the colon in the return")
(SETQ I (SUBSTRING I 1 -2)))
(IF RESTOK
THEN (LIST DATE I (AND RESTPOS (SUBSTRING STRING RESTPOS)))
ELSEIF (AND DATE (NOT RESTPOS))
THEN (LIST DATE I))))])
(CL:WHEN (EQ (CHARCODE %:)
(NTHCHARCODE I -1)) (* ; "Normalize out the colon")
(SETQ I (SUBSTRING I 1 -2)))
(CL:WHEN (SETQ REST (SUBSTRING STRING (ADD1 IENDPOS)))
(SETQ REST (CL:STRING-TRIM `(#\Space)
REST)))
(IF (IGREATERP (NCHARS REST)
0)
THEN
(* ;; "Could be %"<initials>: abc%" to be upgraded with a date")
(CL:WHEN RESTOK (LIST DATE I REST))
ELSEIF DATE
THEN
(* ;; "If we saw just initials")
(LIST DATE I)))))])
(EDITDATE
[LAMBDA (OLDDATE INITLS REST)
(* ;; "Edited 3-Dec-2021 13:17 by rmk: Upgraded to make sure that the comment includes REST")
(* ;; "Edited 8-Dec-2021 17:58 by rmk: Upgraded to make sure that the comment includes REST")
(* ; " 20-Nov-86 23:23 by Masinter")
(* ;; "Generates a new date from an old one. Packs : onto INITLS if there is a REST. In the REST case we upgrade a singe semicolon to a double.")
@@ -815,7 +842,7 @@ Copyright (c) 1986-1988, 1990-1991 by Venue & Xerox Corporation.
" by " INITLS))
NEWDATE OLDSEMI)
(CL:WHEN REST
(SETQ EDITSTRING (CONCAT EDITSTRING ":" REST)))
(SETQ EDITSTRING (CONCAT EDITSTRING ": " REST)))
(CL:WHEN OLDDATE
(SETQ OLDSEMI (CADR OLDDATE)))
(SETQ NEWDATE (LIST (CL:IF REST
@@ -901,11 +928,11 @@ Copyright (c) 1986-1988, 1990-1991 by Venue & Xerox Corporation.
)
(PUTPROPS EDITINTERFACE COPYRIGHT ("Venue & Xerox Corporation" 1986 1987 1988 1990 1991))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (4080 10379 (ED 4080 . 10379)) (10381 14357 (INSTALL-PROTOTYPE-DEFN 10381 . 14357)) (
14358 31141 (EDITDEF.FNS 14368 . 15704) (EDITF 15706 . 16586) (EDITFB 16588 . 17436) (EDITFNS 17438 .
18758) (EDITLOADFNS? 18760 . 22560) (EDITMODE 22562 . 24572) (EDITP 24574 . 25085) (EDITV 25087 .
25726) (DC 25728 . 26409) (DF 26411 . 27453) (DP 27455 . 28539) (DV 28541 . 29113) (EDITPROP 29115 .
29334) (EF 29336 . 29665) (EP 29667 . 29850) (EV 29852 . 30031) (EDITE 30033 . 30911) (EDITL 30913 .
31139)) (31491 45181 (NEW/EDITDATE 31501 . 31723) (FIXEDITDATE 31725 . 39112) (EDITDATE? 39114 . 41927
) (EDITDATE 41929 . 43184) (SETINITIALS 43186 . 45179)))))
(FILEMAP (NIL (4086 10381 (ED 4086 . 10381)) (10383 14359 (INSTALL-PROTOTYPE-DEFN 10383 . 14359)) (
14360 31143 (EDITDEF.FNS 14370 . 15706) (EDITF 15708 . 16588) (EDITFB 16590 . 17438) (EDITFNS 17440 .
18760) (EDITLOADFNS? 18762 . 22562) (EDITMODE 22564 . 24574) (EDITP 24576 . 25087) (EDITV 25089 .
25728) (DC 25730 . 26411) (DF 26413 . 27455) (DP 27457 . 28541) (DV 28543 . 29115) (EDITPROP 29117 .
29336) (EF 29338 . 29667) (EP 29669 . 29852) (EV 29854 . 30033) (EDITE 30035 . 30913) (EDITL 30915 .
31141)) (31493 46618 (NEW/EDITDATE 31503 . 31725) (FIXEDITDATE 31727 . 39874) (EDITDATE? 39876 . 43363
) (EDITDATE 43365 . 44621) (SETINITIALS 44623 . 46616)))))
STOP

Binary file not shown.

View File

@@ -1,15 +1,17 @@
(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE (DEFPACKAGE "SEDIT" (USE "LISP" "XCL")))
(IL:FILECREATED "19-Jan-93 11:17:23" IL:|{DSK}<python>lde>lispcore>sources>SEDIT-ACCESS.;3| 16340
(DEFINE-FILE-INFO PACKAGE (DEFPACKAGE "SEDIT" (USE "LISP" "XCL")) READTABLE "XCL" BASE 10)
IL:|previous| IL:|date:| " 5-Jan-93 02:16:37"
IL:|{DSK}<python>lde>lispcore>sources>SEDIT-ACCESS.;2|)
(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. All rights reserved.
; Copyright (c) 1987-1988, 1990, 1993 by Venue & Xerox Corporation.
(IL:PRETTYCOMPRINT IL:SEDIT-ACCESSCOMS)
(IL:RPAQQ 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)
@@ -21,11 +23,10 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-ACCESS.;2|)
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:FILETYPE :COMPILE-FILE)
(IL:PUTPROPS IL:SEDIT-ACCESS IL:MAKEFILE-ENVIRONMENT (:READTABLE "XCL" :PACKAGE
(DEFPACKAGE "SEDIT" (:USE "LISP"
"XCL"))))
(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)
@@ -48,7 +49,7 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-ACCESS.;2|)
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 IL:POINTER IL:POINTER IL:POINTER)
'((EDIT-CONTEXT 0 IL:POINTER)
(EDIT-CONTEXT 2 IL:POINTER)
(EDIT-CONTEXT 4 IL:POINTER)
@@ -108,8 +109,9 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-ACCESS.;2|)
(EDIT-CONTEXT 110 IL:POINTER)
(EDIT-CONTEXT 112 IL:POINTER)
(EDIT-CONTEXT 114 IL:POINTER)
(EDIT-CONTEXT 116 IL:POINTER))
'118)
(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
@@ -295,7 +297,7 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-ACCESS.;2|)
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))
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
@@ -305,17 +307,17 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-ACCESS.;2|)
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))
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
@@ -324,43 +326,43 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-ACCESS.;2|)
CLOSE-NODE))
(IL:DATATYPE EDIT-POINT ((POINT-NODE IL:FULLXPOINTER)
POINT-INDEX POINT-TYPE POINT-X (POINT-LINE IL:FULLXPOINTER)
POINT-STRING POINT-OFFSET))
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))
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))
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)))
(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)))
(FONT IL:FULLXPOINTER)
(PRIN-2? IL:FLAG)))
(IL:DATATYPE WEAK-LINK ((DESTINATION IL:FULLXPOINTER)))
)

Binary file not shown.

View File

@@ -1,19 +1,19 @@
(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE (DEFPACKAGE SEDIT (USE LISP XCL)))
(IL:FILECREATED "19-Jan-93 11:18:34" IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;3| 50314
(DEFINE-FILE-INFO PACKAGE (DEFPACKAGE SEDIT (USE LISP XCL)) READTABLE "XCL" BASE 10)
IL:|changes| IL:|to:| (IL:RECORDS 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:FILECREATED " 1-Dec-2021 20:02:36" 
IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>SEDIT-DECLS.;2| 48072
IL:|previous| IL:|date:| " 5-Jan-93 02:19:37"
IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
IL:|changes| IL:|to:| (IL:RECORDS EDIT-CONTEXT)
IL:|previous| IL:|date:| "19-Jan-93 11:18:34"
IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>SEDIT-DECLS.;1|)
; Copyright (c) 1987, 1988, 1990, 1993 by Venue & Xerox Corporation. All rights reserved.
; Copyright (c) 1987-1988, 1990, 1993 by Venue & Xerox Corporation.
(IL:PRETTYCOMPRINT IL:SEDIT-DECLSCOMS)
(IL:RPAQQ IL:SEDIT-DECLSCOMS
(IL:RPAQQ IL:SEDIT-DECLSCOMS
((IL:PROP IL:FILETYPE IL:SEDIT-DECLS)
(IL:PROP IL:MAKEFILE-ENVIRONMENT IL:SEDIT-DECLS)
@@ -79,11 +79,11 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
(IL:P (IL:|printout| T T "EXPORTS.ALL must be loaded to compile SEdit" T)
(IL:|printout| T T "SEDIT-ACCESS must be REMADE NEW if you change a record" T))))
(IL:PUTPROPS IL:SEDIT-DECLS IL:FILETYPE :COMPILE-FILE)
(IL:PUTPROPS IL:SEDIT-DECLS IL:FILETYPE :COMPILE-FILE)
(IL:PUTPROPS IL:SEDIT-DECLS IL:MAKEFILE-ENVIRONMENT (:READTABLE "XCL" :PACKAGE
(DEFPACKAGE IL:SEDIT (:USE IL:LISP
IL:XCL))))
(IL:PUTPROPS IL:SEDIT-DECLS IL:MAKEFILE-ENVIRONMENT (:READTABLE "XCL" :PACKAGE
(DEFPACKAGE IL:SEDIT (:USE IL:LISP IL:XCL)
)))
@@ -113,7 +113,7 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
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)
REPAINT-X RELINEARIZATION-TIME-STAMP SHIFT-Y SHIFT-DOWN SHIFT-RIGHT PROPS)
CHANGED-NODES IL:_ (CONS))
(IL:DATATYPE EDIT-ENV
@@ -124,22 +124,20 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
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:ACCESSFNS (INLINE? (EQ (IL:|fetch| FIRST-LINE IL:|of| IL:DATUM
)
(IL:|fetch| LAST-LINE IL:|of| IL:DATUM)
)))
FORMAT IL:_ 'NOT-YET-ASSIGNED)
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:ACCESSFNS (INLINE? (EQ (IL:|fetch| FIRST-LINE IL:|of| IL:DATUM)
(IL:|fetch| LAST-LINE IL:|of| IL:DATUM))))
FORMAT IL:_ 'NOT-YET-ASSIGNED)
(IL:DATATYPE EDIT-NODE-TYPE
(NAME ASSIGN-FORMAT COMPUTE-FORMAT-VALUES LINEARIZE SUB-NODE-CHANGED SET-POINT
@@ -148,89 +146,80 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
CLOSE-NODE))
(IL:DATATYPE EDIT-POINT ((POINT-NODE IL:FULLXPOINTER)
POINT-INDEX POINT-TYPE POINT-X (POINT-LINE IL:FULLXPOINTER)
POINT-STRING POINT-OFFSET))
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))
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))
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:ACCESSFNS (LINE-HEIGHT (IL:IPLUS (IL:FETCH LINE-SKIP IL:OF
IL:DATUM)
(IL:FETCH LINE-ASCENT IL:OF
IL:DATUM)
(IL:FETCH LINE-DESCENT IL:OF
IL:DATUM))))
(IL:ACCESSFNS (BASE-LINE-Y (IL:IDIFFERENCE (IL:ADD1 (IL:FETCH YCOORD
IL:OF IL:DATUM
))
(IL:IPLUS (IL:FETCH LINE-SKIP
IL:OF IL:DATUM)
(IL:FETCH LINE-ASCENT
IL:OF IL:DATUM)))))
(IL:ACCESSFNS (NEXT-LINE-Y (IL:IDIFFERENCE (IL:FETCH YCOORD
IL:OF IL:DATUM)
(IL:FETCH LINE-HEIGHT IL:OF
IL:DATUM))))
(IL:ACCESSFNS (OLD-TOP (IF (EQ (IL:FETCH CACHE-TIME IL:OF
IL:DATUM)
(IL:|fetch| RELINEARIZATION-TIME-STAMP
IL:|of| CONTEXT))
(IL:SUB1 (IL:IPLUS (IL:FETCH CACHED-Y
IL:OF IL:DATUM)
(IL:FETCH CACHED-ASCENT
IL:OF IL:DATUM)))
(IL:FETCH YCOORD IL:OF IL:DATUM))))
(IL:ACCESSFNS (OLD-BOTTOM (IF (EQ (IL:FETCH CACHE-TIME IL:OF
IL:DATUM)
(IL:|fetch|
RELINEARIZATION-TIME-STAMP
IL:|of| CONTEXT))
(IL:IDIFFERENCE (IL:FETCH CACHED-Y
IL:OF IL:DATUM)
(IL:FETCH CACHED-DESCENT
IL:OF IL:DATUM))
(IL:ADD1 (IL:FETCH NEXT-LINE-Y
IL:OF IL:DATUM))))))
(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:ACCESSFNS (LINE-HEIGHT (IL:IPLUS (IL:FETCH LINE-SKIP IL:OF IL:DATUM)
(IL:FETCH LINE-ASCENT IL:OF IL:DATUM)
(IL:FETCH LINE-DESCENT IL:OF IL:DATUM))))
(IL:ACCESSFNS (BASE-LINE-Y (IL:IDIFFERENCE (IL:ADD1 (IL:FETCH YCOORD
IL:OF IL:DATUM))
(IL:IPLUS (IL:FETCH LINE-SKIP IL:OF
IL:DATUM
)
(IL:FETCH LINE-ASCENT IL:OF IL:DATUM
)))))
(IL:ACCESSFNS (NEXT-LINE-Y (IL:IDIFFERENCE (IL:FETCH YCOORD IL:OF IL:DATUM)
(IL:FETCH LINE-HEIGHT IL:OF IL:DATUM))))
(IL:ACCESSFNS (OLD-TOP (IF (EQ (IL:FETCH CACHE-TIME IL:OF IL:DATUM)
(IL:|fetch| RELINEARIZATION-TIME-STAMP
IL:|of| CONTEXT))
(IL:SUB1 (IL:IPLUS (IL:FETCH CACHED-Y IL:OF
IL:DATUM
)
(IL:FETCH CACHED-ASCENT
IL:OF IL:DATUM)))
(IL:FETCH YCOORD IL:OF IL:DATUM))))
(IL:ACCESSFNS (OLD-BOTTOM (IF (EQ (IL:FETCH CACHE-TIME IL:OF IL:DATUM)
(IL:|fetch| RELINEARIZATION-TIME-STAMP
IL:|of| CONTEXT))
(IL:IDIFFERENCE (IL:FETCH CACHED-Y IL:OF
IL:DATUM
)
(IL:FETCH CACHED-DESCENT IL:OF IL:DATUM)
)
(IL:ADD1 (IL:FETCH NEXT-LINE-Y IL:OF IL:DATUM)))
)))
(IL:DATATYPE LIST-FORMAT (LIST-FORMATS LIST-INLINE? LIST-PFORMAT LIST-MFORMAT LIST-SUBLISTS)
(IL:ACCESSFNS (NON-STANDARD? (NULL (IL:|fetch| LIST-FORMATS
IL:|of| IL:DATUM))))
(IL:ACCESSFNS (SET-FORMAT-LIST (IL:|fetch| LIST-INLINE? IL:|of|
IL:DATUM)))
(IL:ACCESSFNS (CFVLIST (IL:|fetch| LIST-PFORMAT IL:|of| IL:DATUM
)))
(IL:ACCESSFNS (LINEARIZE-LIST (IL:|fetch| LIST-MFORMAT IL:|of|
IL:DATUM)))
LIST-SUBLISTS IL:_ NIL)
(IL:ACCESSFNS (NON-STANDARD? (NULL (IL:|fetch| LIST-FORMATS IL:|of| IL:DATUM
))))
(IL:ACCESSFNS (SET-FORMAT-LIST (IL:|fetch| LIST-INLINE? IL:|of| IL:DATUM)))
(IL:ACCESSFNS (CFVLIST (IL:|fetch| LIST-PFORMAT IL:|of| IL:DATUM)))
(IL:ACCESSFNS (LINEARIZE-LIST (IL:|fetch| LIST-MFORMAT IL:|of| IL:DATUM)))
LIST-SUBLISTS IL:_ NIL)
(IL:RECORD OPEN-STRING (REAL-LENGTH SUBSTRING . BUFFER-STRING))
(IL:DATATYPE STRING-ITEM (STRING (WIDTH IL:WORD)
(FONT IL:FULLXPOINTER)
(PRIN-2? IL:FLAG)))
(FONT IL:FULLXPOINTER)
(PRIN-2? IL:FLAG)))
(IL:DATATYPE WEAK-LINK ((DESTINATION IL:FULLXPOINTER)))
)
@@ -248,7 +237,7 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
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 IL:POINTER IL:POINTER IL:POINTER)
'((EDIT-CONTEXT 0 IL:POINTER)
(EDIT-CONTEXT 2 IL:POINTER)
(EDIT-CONTEXT 4 IL:POINTER)
@@ -308,8 +297,9 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
(EDIT-CONTEXT 110 IL:POINTER)
(EDIT-CONTEXT 112 IL:POINTER)
(EDIT-CONTEXT 114 IL:POINTER)
(EDIT-CONTEXT 116 IL:POINTER))
'118)
(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
@@ -529,8 +519,8 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
(IL:RPAQQ IL:MICASPERPT 35.27778)
(IL:RPAQQ QUOTE-WRAPPER-LIST (QUOTE QUOTE IL:BQUOTE IL:BQUOTE IL:COMMA IL:\\\, COMMA-AT IL:\\\,@
COMMA-DOT IL:\\\,. FUNCTION FUNCTION))
(IL:RPAQQ QUOTE-WRAPPER-LIST (QUOTE QUOTE IL:BQUOTE IL:BQUOTE IL:COMMA IL:\\\, COMMA-AT IL:\\\,@
COMMA-DOT IL:\\\,. FUNCTION FUNCTION))
(IL:CONSTANTS (EDITOR-NAME "SEdit")
@@ -545,11 +535,11 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
(IL:DECLARE\: IL:EVAL@COMPILE
(IL:PUTPROPS GET-PROMPT-WINDOW IL:MACRO ((CONTEXT)
(IL:GETPROMPTWINDOW (IL:|fetch| DISPLAY-WINDOW
IL:|of| CONTEXT))))
(IL:PUTPROPS GET-PROMPT-WINDOW IL:MACRO ((CONTEXT)
(IL:GETPROMPTWINDOW (IL:|fetch| DISPLAY-WINDOW IL:|of|
CONTEXT))))
(IL:PUTPROPS EVAL-IN-PROCESS IL:MACRO (NIL (LET* ((PROCESS (IF (EQ (IL:PROCESSPROP (IL:THIS.PROCESS)
(IL:PUTPROPS EVAL-IN-PROCESS IL:MACRO (NIL (LET* ((PROCESS (IF (EQ (IL:PROCESSPROP (IL:THIS.PROCESS)
'IL:NAME)
'IL:MOUSE)
(IL:TTY.PROCESS)
@@ -562,10 +552,10 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
IL:|of| (CADADR PROCFORM)))
(T PROCESS)))))
(IL:PUTPROPS LOOKUP-COMMAND IL:MACRO ((CHAR TABLE)
(IL:PUTPROPS LOOKUP-COMMAND IL:MACRO ((CHAR TABLE)
(GETHASH CHAR TABLE)))
(IL:PUTPROPS QUOTE-WRAPPER IL:MACRO (TYPE (COND
(IL:PUTPROPS QUOTE-WRAPPER IL:MACRO (TYPE (COND
((AND (IL:LISTP (CAR TYPE))
(EQ (CAAR TYPE)
'QUOTE))
@@ -573,38 +563,33 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
(IL:KWOTE (IL:|for| W IL:|in| (CADAR TYPE)
IL:|collect| (IL:LISTGET
QUOTE-WRAPPER-LIST
W)))
W)))
(IL:KWOTE (IL:LISTGET QUOTE-WRAPPER-LIST
(CADAR TYPE)))))
(T `(IL:LISTGET QUOTE-WRAPPER-LIST ,(CAR TYPE))))))
(IL:PUTPROPS QUOTE-WRAPPER-NAME IL:MACRO ((TYPE)
(IL:PUTPROPS QUOTE-WRAPPER-NAME IL:MACRO ((TYPE)
(IL:LISTGET (IL:CONSTANT (IL:REVERSE QUOTE-WRAPPER-LIST))
TYPE)))
(IL:PUTPROPS REPAINT-NEW-LINE IL:MACRO (IL:OPENLAMBDA (LINE)
(WHEN (IL:ILESSP (IL:|fetch| NEXT-LINE-Y
IL:|of| (CAR LINE))
(IL:|fetch| WINDOW-TOP IL:|of|
CONTEXT))
(REPAINT CONTEXT (IL:|fetch| INDENT
IL:|of| (CAR LINE))
(IL:|fetch| BASE-LINE-Y
IL:|of| (CAR LINE))
(CDR LINE)
(IL:|fetch| LINEAR-POINTER IL:|of|
CONTEXT))
(WHEN (IL:ILESSP (IL:|fetch| NEXT-LINE-Y
IL:|of| (CAR LINE))
(IL:|fetch| WINDOW-BOTTOM
IL:|of| CONTEXT))
(IL:|replace| BELOW? IL:|of| CONTEXT
IL:|with| T)))))
(IL:PUTPROPS REPAINT-NEW-LINE IL:MACRO (IL:OPENLAMBDA (LINE)
(WHEN (IL:ILESSP (IL:|fetch| NEXT-LINE-Y IL:|of|
(CAR LINE))
(IL:|fetch| WINDOW-TOP IL:|of| CONTEXT))
(REPAINT CONTEXT (IL:|fetch| INDENT IL:|of| (CAR LINE))
(IL:|fetch| BASE-LINE-Y IL:|of| (CAR LINE))
(CDR LINE)
(IL:|fetch| LINEAR-POINTER IL:|of| CONTEXT))
(WHEN (IL:ILESSP (IL:|fetch| NEXT-LINE-Y
IL:|of| (CAR LINE))
(IL:|fetch| WINDOW-BOTTOM IL:|of| CONTEXT))
(IL:|replace| BELOW? IL:|of| CONTEXT IL:|with|
T)))))
(IL:PUTPROPS RESET-CONTROL-VARIABLES IL:MACRO ((CONTEXT)
(IL:PUTPROPS RESET-CONTROL-VARIABLES IL:MACRO ((CONTEXT)
(WHEN (COMPILING-POST-KOTO)
(IL:SETQ *PACKAGE* (IL:FETCH PACKAGE
IL:OF CONTEXT))
(IL:SETQ *PACKAGE* (IL:FETCH PACKAGE IL:OF CONTEXT
))
(IL:SETQ *PRINT-ARRAY* NIL)
(IL:SETQ *PRINT-BASE* (IL:FETCH PRINT-BASE
IL:OF CONTEXT))
@@ -614,7 +599,7 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
(IL:SETQ *PRINT-GENSYM* T)
(IL:SETQ *PRINT-RADIX* NIL))))
(IL:PUTPROPS SELECT-COMMENT-INDENT IL:MACRO ((KEY LEVEL-1-INDENT LEVEL-2-INDENT LEVEL-3-INDENT)
(IL:PUTPROPS SELECT-COMMENT-INDENT IL:MACRO ((KEY LEVEL-1-INDENT LEVEL-2-INDENT LEVEL-3-INDENT)
(IL:SELECTQ KEY
(1 LEVEL-1-INDENT)
(2 LEVEL-2-INDENT)
@@ -622,34 +607,31 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
LEVEL-3-INDENT)
(IL:SHOULDNT "unexpected comment level"))))
(IL:PUTPROPS SET-COMMENT-POSITIONS IL:MACRO ((COMMENT-START-X COMMENT-INDENT FORM-INDENT PAREN-WIDTH
(IL:PUTPROPS SET-COMMENT-POSITIONS IL:MACRO ((COMMENT-START-X COMMENT-INDENT FORM-INDENT PAREN-WIDTH
NODE CONTEXT)
(COND
((IL:IGEQ (IL:IPLUS FORM-INDENT (IL:|fetch|
COMMENT-WIDTH
IL:|of|
CONTEXT))
(IL:|fetch| RIGHT-MARGIN IL:|of|
NODE))
((IL:IGEQ (IL:IPLUS FORM-INDENT (IL:|fetch|
COMMENT-WIDTH
IL:|of| CONTEXT))
(IL:|fetch| RIGHT-MARGIN IL:|of| NODE))
(IL:SETQ COMMENT-START-X
(IL:IPLUS (IL:|fetch| START-X IL:|of|
NODE)
(IL:IPLUS (IL:|fetch| START-X IL:|of| NODE)
PAREN-WIDTH))
(IL:SETQ COMMENT-INDENT COMMENT-START-X))
(T (IL:SETQ COMMENT-START-X
(IL:IDIFFERENCE (IL:|fetch| RIGHT-MARGIN
IL:|of| NODE)
(IL:|fetch| COMMENT-WIDTH IL:|of|
CONTEXT)))
(IL:|fetch| COMMENT-WIDTH IL:|of| CONTEXT)
))
(IL:SETQ COMMENT-INDENT
(IL:IPLUS COMMENT-START-X (IL:|fetch|
COMMENT-SEPARATION
IL:|of| CONTEXT)
))))))
IL:|of| CONTEXT)))))
))
(IL:PUTPROPS SET-SELECTION-NOWHERE IL:MACRO ((SELECTION)
(IL:|replace| SELECT-NODE IL:|of| SELECTION
IL:|with| NIL)))
(IL:PUTPROPS SET-SELECTION-NOWHERE IL:MACRO ((SELECTION)
(IL:|replace| SELECT-NODE IL:|of| SELECTION IL:|with|
NIL)))
)
@@ -662,108 +644,99 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
DESTINATION IL:_ ,DEST))
(IL:DECLARE\: IL:EVAL@COMPILE
(IL:PUTPROPS ADVANCE IL:MACRO ((WIDTH)
(IL:PUTPROPS ADVANCE IL:MACRO ((WIDTH)
(IL:|add| (IL:|fetch| CURRENT-X IL:|of| CONTEXT)
WIDTH)))
(IL:PUTPROPS CLOSE-OPEN-NODE IL:MACRO ((CONTEXT)
(IL:PUTPROPS CLOSE-OPEN-NODE IL:MACRO ((CONTEXT)
(WHEN (IL:|fetch| OPEN-NODE-CHANGED? IL:|of| CONTEXT)
(CLOSE-NODE CONTEXT))))
(IL:PUTPROPS DEAD-NODE? IL:MACRO ((NODE)
(IL:PUTPROPS DEAD-NODE? IL:MACRO ((NODE)
(EQ 0 (IL:|fetch| DEPTH IL:|of| NODE))))
(IL:PUTPROPS END-UNDO-BLOCK IL:MACRO (NIL (COLLECT-UNDO-BLOCK CONTEXT)))
(IL:PUTPROPS END-UNDO-BLOCK IL:MACRO (NIL (COLLECT-UNDO-BLOCK CONTEXT)))
(IL:PUTPROPS ESCAPE-CHAR IL:MACRO ((READ-TABLE)
(IL:|fetch| (READTABLEP IL:ESCAPECHAR) IL:|of|
(OR READ-TABLE
*READTABLE*))))
(IL:PUTPROPS ESCAPE-CHAR IL:MACRO ((READ-TABLE)
(IL:|fetch| (READTABLEP IL:ESCAPECHAR) IL:|of| (OR READ-TABLE
*READTABLE*))))
(IL:PUTPROPS EQ-POINT-TYPE IL:MACRO ((POINT TYPE)
(IL:PUTPROPS EQ-POINT-TYPE IL:MACRO ((POINT TYPE)
(LET ((POINTNODE (IL:|fetch| POINT-NODE IL:|of| POINT)))
(IF (IL:|type?| EDIT-SELECTION POINTNODE)
(EQ (IL:|fetch| NODE-TYPE
IL:|of| (IL:|fetch| SELECT-NODE
IL:|of| POINTNODE))
(EQ (IL:|fetch| NODE-TYPE IL:|of| (IL:|fetch|
SELECT-NODE
IL:|of| POINTNODE)
)
TYPE)
(EQ (IL:|fetch| NODE-TYPE IL:|of| POINTNODE)
TYPE)))))
(IL:PUTPROPS NEXT-LINEAR IL:MACRO ((CONTEXT ITEM)
(AND (IL:LISTP (IL:|fetch| LINEAR-POINTER IL:|of| CONTEXT)
)
(IL:PUTPROPS NEXT-LINEAR IL:MACRO ((CONTEXT ITEM)
(AND (IL:LISTP (IL:|fetch| LINEAR-POINTER IL:|of| CONTEXT))
(EQ (CAR (IL:|fetch| LINEAR-POINTER IL:|of| CONTEXT))
ITEM))))
(IL:PUTPROPS SET-LINEAR IL:MACRO (IL:OPENLAMBDA (CONTEXT NEW-LPTR)
(IL:|replace| LINEAR-POINTER IL:|of| CONTEXT
IL:|with| NEW-LPTR)
(IF (IL:LISTP (IL:|fetch| LINEAR-PREV IL:|of| CONTEXT
))
(RPLACD (IL:|fetch| LINEAR-PREV IL:|of| CONTEXT)
NEW-LPTR)
(IL:|replace| LINEAR-FORM
IL:|of| (IL:|fetch| LINEAR-PREV IL:|of|
CONTEXT)
IL:|with| NEW-LPTR))))
(IL:PUTPROPS SET-LINEAR IL:MACRO (IL:OPENLAMBDA (CONTEXT NEW-LPTR)
(IL:|replace| LINEAR-POINTER IL:|of| CONTEXT IL:|with| NEW-LPTR)
(IF (IL:LISTP (IL:|fetch| LINEAR-PREV IL:|of| CONTEXT))
(RPLACD (IL:|fetch| LINEAR-PREV IL:|of| CONTEXT)
NEW-LPTR)
(IL:|replace| LINEAR-FORM IL:|of| (IL:|fetch| LINEAR-PREV
IL:|of| CONTEXT)
IL:|with| NEW-LPTR))))
(IL:PUTPROPS START-UNDO-BLOCK IL:MACRO (NIL (IL:|push| (IL:|fetch| UNDO-LIST IL:|of|
CONTEXT)
(IL:PUTPROPS START-UNDO-BLOCK IL:MACRO (NIL (IL:|push| (IL:|fetch| UNDO-LIST IL:|of| CONTEXT)
NIL)))
(IL:PUTPROPS STEP-LINEAR IL:MACRO ((CONTEXT)
(IL:PUTPROPS STEP-LINEAR IL:MACRO ((CONTEXT)
(IL:|replace| LINEAR-POINTER IL:|of| CONTEXT
IL:|with| (CDR (IL:|replace| LINEAR-PREV IL:|of|
CONTEXT
IL:|with| (IL:|fetch|
LINEAR-POINTER
IL:|of| CONTEXT)))))
)
IL:|with| (CDR (IL:|replace| LINEAR-PREV IL:|of| CONTEXT
IL:|with| (IL:|fetch| LINEAR-POINTER
IL:|of| CONTEXT))))))
(IL:PUTPROPS SUBNODE IL:MACRO (X (IF (EQ (CAR X)
(IL:PUTPROPS SUBNODE IL:MACRO (X (IF (EQ (CAR X)
1)
(LIST 'CADR (LIST 'IL:FETCH 'SUB-NODES (CADR X)))
(LIST 'CADR (LIST 'IL:NTH (LIST 'IL:FETCH 'SUB-NODES
(CADR X))
(CAR X))))))
(IL:PUTPROPS UNDO-BY IL:MACRO (INFO (LIST 'IL:PUSH '(IL:|fetch| UNDO-LIST IL:|of| CONTEXT)
(IL:PUTPROPS UNDO-BY IL:MACRO (INFO (LIST 'IL:PUSH '(IL:|fetch| UNDO-LIST IL:|of| CONTEXT)
(LIST* 'LIST (IL:KWOTE (CAR INFO))
(CDR INFO)))))
(IL:PUTPROPS ZAP-CLISP-TRANSLATION IL:MACRO ((X)
(IL:PUTPROPS ZAP-CLISP-TRANSLATION IL:MACRO ((X)
(AND IL:CLISPARRAY (IL:PUTHASH X NIL IL:CLISPARRAY))))
(IL:PUTPROPS SMASH-USING IL:MACRO (X (IL:|bind| (SRC IL:_ (IF (IL:ATOM (CADDR X))
(CADDR X)
'$$SOURCE))
(IL:PUTPROPS SMASH-USING IL:MACRO (X (IL:|bind| (SRC IL:_ (IF (IL:ATOM (CADDR X))
(CADDR X)
'$$SOURCE))
DEST
(DESCR IL:_ (IL:GETDESCRIPTORS (CAR X)))
IL:|first| (IL:SETQ DEST
(LIST 'IL:REPLACEFIELDVAL (LIST 'QUOTE
(CAR DESCR))
(CADR X)
(LIST 'IL:FETCHFIELD
(LIST 'QUOTE (CAR DESCR))
SRC)))
IL:|first| (IL:SETQ DEST (LIST 'IL:REPLACEFIELDVAL
(LIST 'QUOTE (CAR DESCR))
(CADR X)
(LIST 'IL:FETCHFIELD
(LIST 'QUOTE
(CAR DESCR))
SRC)))
(IL:SETQ DESCR (CDR DESCR)) IL:|while| DESCR
IL:|do| (IL:SETQ DEST (LIST 'IL:FREPLACEFIELDVAL
(LIST 'QUOTE (CAR DESCR))
DEST
(LIST 'IL:FETCHFIELD
(LIST 'QUOTE
(CAR DESCR))
SRC)))
(LIST 'QUOTE (CAR DESCR))
DEST
(LIST 'IL:FETCHFIELD
(LIST 'QUOTE (CAR DESCR))
SRC)))
(IL:SETQ DESCR (CDR DESCR))
IL:|finally| (WHEN (NOT (IL:ATOM (CADDR X)))
(IL:SETQ DEST
(LIST 'LET (LIST (LIST '$$SOURCE
(CADDR X)))
DEST)))
(IL:SETQ DEST
(LIST 'LET (LIST (LIST '$$SOURCE
(CADDR X)))
DEST)))
(RETURN DEST))))
(IL:PUTPROPS IL:HALF IL:MACRO ((IL:X)
(IL:PUTPROPS IL:HALF IL:MACRO ((IL:X)
(IL:LRSH IL:X 1)))
)
@@ -775,10 +748,10 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
(DEFPARAMETER *IL-CL-CONFLICTS*
'(IL:*PRINT-STRUCTURE* IL:* IL:APPEND IL:APPLY IL:ASSOC IL:ATOM IL:BLOCK IL:CHARACTER 
 IL:EQUAL IL:ERROR IL:FLOATP IL:FORMAT IL:FUNCTION IL:GETHASH IL:IF IL:LAMBDA IL:LENGTH
IL:LISTP IL:MAPCAR IL:NTH IL:NUMBER IL:NUMBERP IL:PRIN1 IL:READ IL:REVERSE IL:SETQ
IL:SPACE IL:STRINGP IL:TERPRI))
'(IL:*PRINT-STRUCTURE* IL:* IL:APPEND IL:APPLY IL:ASSOC IL:ATOM IL:BLOCK IL:CHARACTER IL:EQUAL
IL:ERROR IL:FLOATP IL:FORMAT IL:FUNCTION IL:GETHASH IL:IF IL:LAMBDA IL:LENGTH IL:LISTP
IL:MAPCAR IL:NTH IL:NUMBER IL:NUMBERP IL:PRIN1 IL:READ IL:REVERSE IL:SETQ IL:SPACE
IL:STRINGP IL:TERPRI))
(DEFPARAMETER *IL-IMPORTS*
'(IL:\" IL:$$ITERATE IL:$$LST1 IL:$$OUT IL:\( IL:*DISPLAY-EDITOR* IL:\, IL:\. IL:.P2
@@ -804,12 +777,12 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
IL:EXPR IL:EXTENT IL:FCHARACTER IL:FETCHFIELD IL:FILECREATED IL:FILEMAP IL:FILEPKGFLG
IL:FILES IL:FILESLOAD IL:FILETYPE IL:FIND.PROCESS IL:FIXEDITDATE IL:FIXP IL:FIXR IL:FLAG
IL:FLAGBITS IL:FLASHWINDOW IL:FLENGTH IL:FM.CHANGELABEL IL:FM.CHANGESTATE
IL:FM.DONTRESHAPE IL:FM.EDITITEM IL:FM.GETITEM IL:FM.ITEMPROP IL:FM.RESETMENU IL:FMEMB
IL:FM.DONTRESHAPE IL:FM.EDITITEM IL:FM.GETITEM IL:FM.ITEMPROP IL:FM.RESETMENU IL:FMEMB
IL:FN IL:FNS IL:FONT IL:FONTCREATE IL:FONTPROP IL:FORM IL:FORWORD IL:FREEMENU
IL:FREPLACEFIELDVAL IL:FULLXPOINTER IL:FUNCTIONS IL:GACHA IL:GETD IL:GETDEF
IL:GETDESCRIPTORS IL:GETPROMPTWINDOW IL:GETPROP IL:GETPROPLIST IL:GETREGION IL:GETSYNTAX
IL:GLOBALVARS IL:GROUP IL:HALF IL:HEIGHT IL:HEIGHTIFWINDOW IL:HELVETICA IL:ICON
IL:ICONWINDOW IL:ID IL:IDIFFERENCE IL:IFWORD IL:IGEQ IL:IGREATERP IL:ILEQ IL:ILESSP
IL:ICONWINDOW IL:ID IL:IDIFFERENCE IL:IFWORD IL:IGEQ IL:IGREATERP IL:ILEQ IL:ILESSP
IL:IMAX IL:IMIN IL:IMINUS IL:IN/SCROLL/BAR? IL:INNERESCQUOTE IL:INFOHOOK IL:INITRECORDS
IL:INITVARS IL:INPUT IL:INSIDEP IL:INTERPRESS IL:INVERT IL:IPLUS IL:IQUOTIENT
IL:ITALICFONT IL:ITEM IL:ITEMS IL:ITEMWIDTH IL:ITIMES IL:KEYACTION IL:KEYACTIONTABLE
@@ -817,10 +790,10 @@ IL:|{DSK}<python>lde>lispcore>sources>SEDIT-DECLS.;2|)
IL:LASTMOUSEX IL:LASTMOUSEY IL:LCONC IL:LEFT IL:LEFTBRACKET IL:LEFTPAREN IL:LEQ
IL:LINEDELETE IL:LINKS IL:LISTGET IL:LISTPUT IL:LITATOM IL:LOCALCLOSE IL:LOCALVARS IL:LRSH
IL:MACRO IL:MACROS IL:MAINWINDOW IL:MAKEFILE-ENVIRONMENT IL:MARKASCHANGED
IL:MARKASCHANGEDFNS IL:MASK IL:MAXWIDTH IL:MEMB IL:MENU IL:MENUFONT IL:MENUOFFSET
IL:MESS IL:MICASPERPT IL:MIDDLE IL:MKSTRING IL:MOUSE IL:MOUSECONFIRM IL:MOUSESTATE IL:MOVE
IL:MOVETO IL:MULTESCAPECHAR IL:MULTIPLE-ESCAPE IL:NAME IL:NCHARS IL:NCONC1 IL:NEQ
IL:NILL IL:NLAMBDA IL:NLISTP IL:NLSETQ IL:NOBIND IL:NONE IL:NOTIFY.EVENT IL:NTHCHARCODE
IL:MARKASCHANGEDFNS IL:MASK IL:MAXWIDTH IL:MEMB IL:MENU IL:MENUFONT IL:MENUOFFSET IL:MESS
IL:MICASPERPT IL:MIDDLE IL:MKSTRING IL:MOUSE IL:MOUSECONFIRM IL:MOUSESTATE IL:MOVE
IL:MOVETO IL:MULTESCAPECHAR IL:MULTIPLE-ESCAPE IL:NAME IL:NCHARS IL:NCONC1 IL:NEQ IL:NILL
IL:NLAMBDA IL:NLISTP IL:NLSETQ IL:NOBIND IL:NONE IL:NOTIFY.EVENT IL:NTHCHARCODE
IL:OBTAIN.MONITORLOCK IL:OFFST IL:OPENLAMBDA IL:OPENSTRINGSTREAM IL:OPENWP IL:P
IL:PACKAGEDELIM IL:PAINT IL:POINTER IL:PRETTYCOMPRINT IL:PRIN2 IL:PROCESS IL:PROCESS.APPLY
IL:PROCESS.EVAL IL:PROCESS.EVALV IL:PROCESSP IL:PROCESSPROP IL:PROCTYPEAHEAD

File diff suppressed because one or more lines are too long

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE (DEFPACKAGE SEDIT (USE LISP XCL)) READTABLE "XCL" BASE 10)
(IL:FILECREATED " 1-Dec-2021 17:38:50" 
IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>SEDIT-EXPORTS.;2| 2883
(IL:FILECREATED " 1-Dec-2021 20:41:41" 
IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>SEDIT-EXPORTS.;3| 2921
IL:|changes| IL:|to:| (IL:VARS IL:SEDIT-EXPORTSCOMS)
IL:|previous| IL:|date:| "17-May-90 11:01:36"
IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>SEDIT-EXPORTS.;1|)
IL:|previous| IL:|date:| " 1-Dec-2021 17:38:50"
IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>SEDIT-EXPORTS.;2|)
; Copyright (c) 1987-1988, 1990 by Venue & Xerox Corporation.
@@ -20,7 +20,7 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>SEDIT-EXPORTS.;1|)
(IL:* IL:|;;| "REGION MANAGER")
(IL:P (EXPORT '(GET-WINDOW-REGION SAVE-WINDOW-REGION GET-WINDOW))
(IL:P (EXPORT '(GET-WINDOW-REGION SAVE-WINDOW-REGION GET-WINDOW GET-PROP PUT-PROP))
(EXPORT '(KEEP-WINDOW-REGION)))
(IL:* IL:|;;| "PROGRAMMERS INTERFACE")
@@ -55,7 +55,7 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>SEDIT-EXPORTS.;1|)
(IL:* IL:|;;| "REGION MANAGER")
(EXPORT '(GET-WINDOW-REGION SAVE-WINDOW-REGION GET-WINDOW))
(EXPORT '(GET-WINDOW-REGION SAVE-WINDOW-REGION GET-WINDOW GET-PROP PUT-PROP))
(EXPORT '(KEEP-WINDOW-REGION))

Binary file not shown.

View File

@@ -1,11 +1,12 @@
(DEFINE-FILE-INFO PACKAGE (DEFPACKAGE "SEDIT" (USE "LISP" "XCL")) READTABLE "XCL" BASE 10)
(IL:FILECREATED " 8-Dec-2021 11:15:19" IL:|{DSK}<home>medley>medley>sources>SEDIT-TOPLEVEL.;2| 36871
(IL:FILECREATED " 8-Dec-2021 14:01:58" 
IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>SEDIT-TOPLEVEL.;19| 37986
IL:|changes| IL:|to:| (IL:FNS MARKASCHANGEDFN)
:CHANGES-TO (IL:FNS GET-WINDOW-REGION)
IL:|previous| IL:|date:| " 2-Dec-2021 23:05:22"
IL:|{DSK}<home>medley>medley>sources>SEDIT-TOPLEVEL.;1|)
:PREVIOUS-DATE " 8-Dec-2021 11:50:57"
IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>SEDIT-TOPLEVEL.;18|)
; Copyright (c) 1986-1988, 1990-1991 by Venue & Xerox Corporation.
@@ -19,14 +20,14 @@ IL:|{DSK}<home>medley>medley>sources>SEDIT-TOPLEVEL.;1|)
(IL:DECLARE\: IL:DONTCOPY IL:DOEVAL@COMPILE (IL:FILES IL:SEDIT-DECLS))
(IL:INITVARS CONTEXTS REGIONS)
(IL:VARS (IL:*DISPLAY-EDITOR* 'SEDIT))
(IL:FNS SEDIT RESET GET-WINDOW-REGION SAVE-WINDOW-REGION GET-WINDOW)
(IL:FNS SEDIT RESET GET-WINDOW-REGION SAVE-WINDOW-REGION GET-WINDOW GET-PROP PUT-PROP)
(IL:FNS GET-CONTEXT DISINTEGRATE-CONTEXT AWAKE-COMMAND-PROCESS AWAKE-ME MARKASCHANGEDFN
NEW-FUNCTION-BODY)
(IL:FUNCTIONS QUERY-THROW-AWAY-CHANGES SET-OPTIONS SET-PROPS START-PROCESS)
(IL:COMS
(IL:* IL:|;;|
 "THESE CAN ALL BE NUKED WITH THE NEW EDIT INTERFACE AND A DETACHED TTY/EDITOR (WOZ 1/25/91)")
 "THESE CAN ALL BE NUKED WITH THE NEW EDIT INTERFACE AND A DETACHED TTY/EDITOR (WOZ 1/25/91)")
(IL:PROP (IL:|Definition-for-EDITL| IL:|Definition-for-EDITE|
IL:|Definition-for-EDITDATE|)
@@ -52,8 +53,8 @@ IL:|{DSK}<home>medley>medley>sources>SEDIT-TOPLEVEL.;1|)
(IL:PUTPROPS IL:SEDIT-TOPLEVEL IL:FILETYPE :COMPILE-FILE)
(IL:PUTPROPS IL:SEDIT-TOPLEVEL IL:MAKEFILE-ENVIRONMENT (:READTABLE "XCL" :PACKAGE
(DEFPACKAGE "SEDIT"
(:USE "LISP" "XCL"))))
(DEFPACKAGE "SEDIT" (:USE "LISP" "XCL")
)))
(IL:DECLARE\: IL:DOEVAL@COMPILE IL:DONTCOPY
(IL:LOCALVARS . T)
@@ -120,20 +121,35 @@ IL:|{DSK}<home>medley>medley>sources>SEDIT-TOPLEVEL.;1|)
(il:lambda nil (il:* il:\; "Edited 10-Jul-87 08:35 by DCB") (cond (contexts (il:error "Can't reset SEdit while there are open SEdit windows")) (t (create-environments) (reset-formats) t)))
)
(get-window-region
(il:lambda (context reason name type) (il:* il:\; "Edited 19-Nov-87 10:18 by DCB") (il:* il:|;;;| "called to get a region for this sedit window. should return the region for the sedit including the prompt window. context is being built and needs a window. the context will have at least the name (IconTitle) and type (EditType) of the object being edited, and can be used as desired to map between contexts and windows. If reason is :CREATE, then this function must return a region. If :EXPAND, then this algorithm returns a region from the stack only if SEDIT.KEEP.WINDOW.REGION is nil, otherwise it returns NIL, telling the window system not to reshape on expansion.") (when (or (eq reason :create) (not keep-window-region)) (or (il:pop regions) (progn (il:|printout| il:promptwindow t "Select region for SEdit window.") (il:getregion 30 20)))))
)
(GET-WINDOW-REGION
(IL:LAMBDA (CONTEXT REASON NAME TYPE)
(IL:* IL:|;;|
 "Edited 8-Dec-2021 14:01 by rmk: The :REGION property gives the user directe control")
 (IL:* IL:\; "Edited 1-Dec-2021 22:51 by rmk:")
(IL:* IL:\; "Edited 19-Nov-87 10:18 by DCB")
(IL:* IL:|;;;| "called to get a region for this sedit window. should return the region for the sedit including the prompt window. context is being built and needs a window. the context will have at least the name (IconTitle) and type (EditType) of the object being edited, and can be used as desired to map between contexts and windows. If reason is :CREATE, then this function must return a region. If :EXPAND, then this algorithm returns a region from the stack only if SEDIT.KEEP.WINDOW.REGION is nil, otherwise it returns NIL, telling the window system not to reshape on expansion.")
(OR (GET-PROP CONTEXT :REGION)
(WHEN (OR (EQ REASON :CREATE)
(NOT KEEP-WINDOW-REGION))
(OR (IL:POP REGIONS)
(PROGN (IL:|printout| IL:PROMPTWINDOW T "Select region for SEdit window.")
(IL:GETREGION 30 20)))))))
(SAVE-WINDOW-REGION
(IL:LAMBDA (CONTEXT REASON NAME TYPE REGION) (IL:* IL:\; "Edited 23-Nov-87 17:46 by DCB")
(IL:LAMBDA (CONTEXT REASON NAME TYPE REGION) (IL:* IL:\; "Edited 1-Dec-2021 21:13 by rmk:")
(IL:* IL:\; "Edited 23-Nov-87 17:46 by DCB")
(IL:* IL:|;;;| "Release this sedit windows region to be used again. If we're shrinking, KEEP-WINDOW-REGION determines whether to release the region or not. If an icon is being closed, don't release the region because it was handled appropriately when the window as shrunk. remember, we're maintaining regions including the prompt window height, so use WINDOWREGION to get the whole region.")
(WHEN (OR (EQ REASON :CLOSE)
(AND (EQ REASON :SHRINK)
(NOT KEEP-WINDOW-REGION)))
(IL:|push| REGIONS (OR REGION (IL:WINDOWREGION (IL:|fetch| DISPLAY-WINDOW
IL:|of| CONTEXT)))))))
(UNLESS (GET-PROP CONTEXT :DONT-KEEP-WINDOW-REGION)
(IL:|push| REGIONS (OR REGION (IL:WINDOWREGION (IL:|fetch| DISPLAY-WINDOW IL:|of| CONTEXT
))))))))
(GET-WINDOW
(IL:LAMBDA (CONTEXT) (IL:* IL:\; "Edited 25-Nov-2021 23:13 by rmk:")
@@ -142,6 +158,23 @@ IL:|{DSK}<home>medley>medley>sources>SEDIT-TOPLEVEL.;1|)
 "Returns the current window of CONTEXT, for clients that don't have SEDIT declarations")
(IL:|fetch| DISPLAY-WINDOW IL:|of| CONTEXT)))
(GET-PROP
(IL:LAMBDA (CONTEXT PROP) (IL:* IL:\; "Edited 1-Dec-2021 21:40 by rmk:")
(WHEN (IL:WINDOWP CONTEXT)
(SETQ CONTEXT (IL:WINDOWPROP CONTEXT 'EDIT-CONTEXT)))
(IL:LISTGET (IL:FETCH (EDIT-CONTEXT PROPS) IL:OF CONTEXT)
PROP)))
(PUT-PROP
(IL:LAMBDA (CONTEXT PROP VALUE) (IL:* IL:\; "Edited 1-Dec-2021 21:44 by rmk:")
(WHEN (IL:WINDOWP CONTEXT)
(SETQ CONTEXT (IL:WINDOWPROP CONTEXT 'EDIT-CONTEXT)))
(LET ((PROPS (IL:FETCH (EDIT-CONTEXT PROPS) IL:OF CONTEXT)))
(IF PROPS
(IL:LISTPUT PROPS PROP VALUE)
(IL:REPLACE (EDIT-CONTEXT PROPS) IL:OF CONTEXT IL:WITH (LIST PROP VALUE)))
VALUE)))
)
(IL:DEFINEQ
@@ -207,12 +240,9 @@ IL:|{DSK}<home>medley>medley>sources>SEDIT-TOPLEVEL.;1|)
)
(MARKASCHANGEDFN
(IL:LAMBDA (NAME TYPE REASON) (IL:* IL:\;
 "Edited 8-Dec-2021 11:08 by medley")
(IL:* IL:\;
 "Edited 2-Dec-2021 22:57 by larry")
(IL:* IL:\;
 "Edited 3-Apr-91 15:42 by jds")
(IL:LAMBDA (NAME TYPE REASON) (IL:* IL:\; "Edited 8-Dec-2021 11:49 by rmk")
(IL:* IL:\; "Edited 2-Dec-2021 22:57 by larry")
(IL:* IL:\; "Edited 3-Apr-91 15:42 by jds")
(IL:* IL:|;;;| "When a managed object is changed, we must check if we have an open edit on it. If so, calling SEdit again, with the fresh definition, will force the update. This is fairly tricky, though. Markaschanged is called as a result of editing a managed definition, so this markaschangedfn could be running in the sedit process under the completion-fn half way through completion. IDEALLY in this case we could say \"i know it changed, i just changed it!\" and ignore this call. BUT FOR NOW (1/14/91) since the manager can change the definition on completion (editdates, for one), we have to notify SEdit. Since calling editdef will restart the sedit process, the completion-fn will not finish, so do the verify-structure here.")
@@ -261,46 +291,41 @@ IL:|{DSK}<home>medley>medley>sources>SEDIT-TOPLEVEL.;1|)
(IL:* IL:|;;;| "set up the OPTIONS provided in the call to SEDIT for this context. Most of these options do not require immediate action. Rather, they control how some command or interaction will work later, so we just store the option list in the context. Most of these options are really edit-interface options, not sedit options. We stash them so that when the *edit-fn* is called under M-O, it will be handed the same options that this edit was started with")
(IL:REPLACE (EDIT-CONTEXT EDIT-OPTIONS) IL:OF CONTEXT IL:WITH (IF (LISTP OPTIONS)
OPTIONS
(LIST OPTIONS))))
OPTIONS
(LIST OPTIONS))))
(DEFUN SET-PROPS (CONTEXT PROPS)
(DEFUN SET-PROPS (CONTEXT PROPS) (IL:* IL:\; "Edited 1-Dec-2021 20:10 by rmk:")
(IL:* IL:|;;;| "go through the PROPS list supplied in the call to SEDIT and store the info in the context. The :NAME and :TYPE props are already handled, because get-context uses this information to find an appropriate context. Grab the current values of the variables that determine reading and printing, and save them in a profile in the context, so that later changes to the globals don't affect existing contexts. ")
(IL:* IL:|;;;| "RMK: Added ability to store arbitrary properties, in a new PROPS field. Perhaps should filter out the ones that are built-in and interpreted separately, but presumably doesn't matter. The point of this is to allow clients to provide additional information in the call to SEDIT that can be retrieved later (SEDITPROP, like STREAMPROP, WINDOWPROP, etc.) ")
(IL:REPLACE (EDIT-CONTEXT COMPLETION-FN) IL:OF CONTEXT IL:WITH (OR (IL:LISTGET PROPS
:COMPLETION-FN
)
#'NULL))
(IL:REPLACE (EDIT-CONTEXT ROOT-CHANGED-FN) IL:OF CONTEXT IL:WITH (OR (IL:LISTGET
PROPS
:ROOT-CHANGED-FN
)
#'NULL))
(IL:REPLACE (EDIT-CONTEXT ENVIRONMENT) IL:OF CONTEXT IL:WITH (OR (IL:LISTGET PROPS
:ENVIRONMENT)
LISP-EDIT-ENVIRONMENT
))
(IL:REPLACE (EDIT-CONTEXT PROFILE) IL:OF CONTEXT IL:WITH (OR (IL:LISTGET PROPS
:PROFILE)
(SAVE-PROFILE
(COPY-PROFILE
"READ-PRINT"))))
(IL:REPLACE (EDIT-CONTEXT EVAL-IN-PROCESS) IL:OF CONTEXT IL:WITH (OR (IL:LISTGET
PROPS
:EVAL-IN-PROCESS
)
(EVAL-IN-PROCESS)
))
(IL:REPLACE (EDIT-CONTEXT EVAL-FN) IL:OF CONTEXT IL:WITH (OR (IL:LISTGET PROPS
:EVAL-FN)
(XCL::PROFILE-ENTRY-VALUE
'*EVAL-FUNCTION*)))
:COMPLETION-FN)
#'NULL))
(IL:REPLACE (EDIT-CONTEXT ROOT-CHANGED-FN) IL:OF CONTEXT IL:WITH (OR (IL:LISTGET PROPS
:ROOT-CHANGED-FN)
#'NULL))
(IL:REPLACE (EDIT-CONTEXT ENVIRONMENT) IL:OF CONTEXT IL:WITH (OR (IL:LISTGET PROPS :ENVIRONMENT)
LISP-EDIT-ENVIRONMENT))
(IL:REPLACE (EDIT-CONTEXT PROFILE) IL:OF CONTEXT IL:WITH (OR (IL:LISTGET PROPS :PROFILE)
(SAVE-PROFILE (COPY-PROFILE
"READ-PRINT"))))
(IL:REPLACE (EDIT-CONTEXT EVAL-IN-PROCESS) IL:OF CONTEXT IL:WITH (OR (IL:LISTGET PROPS
:EVAL-IN-PROCESS)
(EVAL-IN-PROCESS)))
(IL:REPLACE (EDIT-CONTEXT EVAL-FN) IL:OF CONTEXT IL:WITH (OR (IL:LISTGET PROPS :EVAL-FN)
(XCL::PROFILE-ENTRY-VALUE
'*EVAL-FUNCTION*)))
(WHEN (IL:LISTGET PROPS :SELECT-STRUCTURE)
(IL:REPLACE (EDIT-CONTEXT FIND-CANDIDATE) IL:OF CONTEXT
IL:WITH (CONS (IL:LISTGET PROPS :SELECT-STRUCTURE)
(OR (IL:LISTGET PROPS :SELECT-INSTANCE)
1)))))
(IL:REPLACE (EDIT-CONTEXT FIND-CANDIDATE) IL:OF CONTEXT IL:WITH (CONS (IL:LISTGET PROPS
:SELECT-STRUCTURE
)
(OR (IL:LISTGET PROPS
:SELECT-INSTANCE
)
1))))
(IL:REPLACE (EDIT-CONTEXT PROPS) IL:OF CONTEXT IL:WITH PROPS))
(DEFUN START-PROCESS (CONTEXT)
@@ -549,16 +574,17 @@ IL:|{DSK}<home>medley>medley>sources>SEDIT-TOPLEVEL.;1|)
(IL:DEFPRINT 'GAP 'PRINT-GAP)
(IL:PUTPROPS IL:SEDIT-TOPLEVEL IL:COPYRIGHT ("Venue & Xerox Corporation" 1986 1987 1988 1990 1991))
(IL:DECLARE\: IL:DONTCOPY
(IL:FILEMAP (NIL (3145 7363 (SEDIT 3158 . 5144) (RESET 5146 . 5347) (GET-WINDOW-REGION 5349 . 6226) (
SAVE-WINDOW-REGION 6228 . 7055) (GET-WINDOW 7057 . 7361)) (7364 14508 (GET-CONTEXT 7377 . 9397) (
DISINTEGRATE-CONTEXT 9399 . 10125) (AWAKE-COMMAND-PROCESS 10127 . 11720) (AWAKE-ME 11722 . 12105) (
MARKASCHANGEDFN 12107 . 14304) (NEW-FUNCTION-BODY 14306 . 14506)) (14510 15493 (
QUERY-THROW-AWAY-CHANGES 14510 . 15493)) (15495 16294 (SET-OPTIONS 15495 . 16294)) (16296 19714 (
SET-PROPS 16296 . 19714)) (19716 20387 (START-PROCESS 19716 . 20387)) (20703 33680 (SEDITE 20716 .
26483) (SEDITL 26485 . 27630) (FN-CHANGED 27632 . 27927) (PROP-CHANGED 27929 . 28066) (PROPLST-CHANGED
28068 . 28196) (VAR-CHANGED 28198 . 28310) (ALIST-COMPLETION 28312 . 29123) (COMPLETION 29125 . 30505
) (PROPS-COMPLETION 30507 . 31332) (TTYFN 31334 . 33172) (LOCATE-NODE-FROM-EDITCHAIN 33174 . 33678)) (
33826 34195 (SMART-TTYFN 33826 . 34195)) (34318 36003 (PRETTY-PRINT 34331 . 35374) (MAP-FONT 35376 .
36001)) (36185 36288 (MAKE-BROKEN-ATOM 36185 . 36288)) (36290 36448 (PRINT-BROKEN-ATOM 36290 . 36448))
(36450 36534 (MAKE-GAP 36450 . 36534)) (36536 36664 (PRINT-GAP 36536 . 36664)))))
(IL:FILEMAP (NIL (3174 8776 (SEDIT 3187 . 5173) (RESET 5175 . 5376) (GET-WINDOW-REGION 5378 . 6676) (
SAVE-WINDOW-REGION 6678 . 7692) (GET-WINDOW 7694 . 7998) (GET-PROP 8000 . 8304) (PUT-PROP 8306 . 8774)
) (8777 15717 (GET-CONTEXT 8790 . 10810) (DISINTEGRATE-CONTEXT 10812 . 11538) (AWAKE-COMMAND-PROCESS
11540 . 13133) (AWAKE-ME 13135 . 13518) (MARKASCHANGEDFN 13520 . 15513) (NEW-FUNCTION-BODY 15515 .
15715)) (15719 16702 (QUERY-THROW-AWAY-CHANGES 15719 . 16702)) (16704 17479 (SET-OPTIONS 16704 . 17479
)) (17481 20829 (SET-PROPS 17481 . 20829)) (20831 21502 (START-PROCESS 20831 . 21502)) (21818 34795 (
SEDITE 21831 . 27598) (SEDITL 27600 . 28745) (FN-CHANGED 28747 . 29042) (PROP-CHANGED 29044 . 29181) (
PROPLST-CHANGED 29183 . 29311) (VAR-CHANGED 29313 . 29425) (ALIST-COMPLETION 29427 . 30238) (
COMPLETION 30240 . 31620) (PROPS-COMPLETION 31622 . 32447) (TTYFN 32449 . 34287) (
LOCATE-NODE-FROM-EDITCHAIN 34289 . 34793)) (34941 35310 (SMART-TTYFN 34941 . 35310)) (35433 37118 (
PRETTY-PRINT 35446 . 36489) (MAP-FONT 36491 . 37116)) (37300 37403 (MAKE-BROKEN-ATOM 37300 . 37403)) (
37405 37563 (PRINT-BROKEN-ATOM 37405 . 37563)) (37565 37649 (MAKE-GAP 37565 . 37649)) (37651 37779 (
PRINT-GAP 37651 . 37779)))))
IL:STOP

Binary file not shown.