Skip to content

Commit 9a13095

Browse files
rmkaplanmasinter
authored andcommitted
Patch TEDIT.DEACTIVATE.WINDOW in old Tedit
1 parent bcfeda6 commit 9a13095

File tree

2 files changed

+111
-108
lines changed

2 files changed

+111
-108
lines changed

library/tedit/TEDIT-WINDOW

Lines changed: 111 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
22

3-
(FILECREATED "14-Jul-2022 16:55:53" 
4-
{DSK}<users>kaplan>local>medley3.5>working-medley>library>tedit>TEDIT-WINDOW.;1 180402
3+
(FILECREATED "20-Oct-2023 21:46:58" {MEDLEY}<library>tedit>TEDIT-WINDOW.;7 180689
54

6-
:PREVIOUS-DATE "14-Jul-2022 11:08:01"
7-
{DSK}<users>kaplan>local>medley3.5>working-medley>library>newtedit>TEDIT-WINDOW.;2)
5+
:EDIT-BY rmk
6+
7+
:CHANGES-TO (FNS TEDIT.DEACTIVATE.WINDOW)
8+
9+
:PREVIOUS-DATE "14-Jul-2022 16:55:53" {MEDLEY}<library>tedit>TEDIT-WINDOW.;5)
810

911

1012
(PRETTYCOMPRINT TEDIT-WINDOWCOMS)
@@ -1631,113 +1633,114 @@
16311633
(DEFINEQ
16321634

16331635
(TEDIT.DEACTIVATE.WINDOW
1634-
[LAMBDA (W FORCEFLG DISCONNECTONLYFLG) (* ; "Edited 16-Oct-2021 18:51 by rmk:")
1636+
[LAMBDA (W FORCEFLG DISCONNECTONLYFLG) (* ; "Edited 20-Oct-2023 21:46 by rmk")
1637+
(* ; "Edited 16-Oct-2021 18:51 by rmk:")
16351638

16361639
(* ;; "Deactivate the various button fns for this window")
16371640

16381641
(PROG [(TEXTOBJ (WINDOWPROP W 'TEXTOBJ] (* ;
16391642
 "Can't be a call to TEXTOBJ, since window may NOT have a textobj on it.")
1640-
(replace (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ with T)
1641-
[COND
1642-
((AND TEXTOBJ (fetch (TEXTOBJ EDITOPACTIVE) of TEXTOBJ))
1643+
(CL:WHEN TEXTOBJ
1644+
(replace (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ with T)
1645+
[COND
1646+
((fetch (TEXTOBJ EDITOPACTIVE) of TEXTOBJ)
16431647

1644-
(* ;; "If something is going on, DON'T CLOSE THE WINDOW")
1648+
(* ;; "If something is going on, DON'T CLOSE THE WINDOW")
16451649

1646-
(TEDIT.PROMPTPRINT TEXTOBJ "Not closed; edit operation in progress" T)
1647-
(RETURN 'DON'T))
1648-
((AND TEXTOBJ (PROCESSP (WINDOWPROP W 'PROCESS))
1649-
(NOT (fetch (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ))
1650-
(NOT (fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ))
1651-
(NOT FORCEFLG)) (* ;
1650+
(TEDIT.PROMPTPRINT TEXTOBJ "Not closed; edit operation in progress" T)
1651+
(RETURN 'DON'T))
1652+
((AND (PROCESSP (WINDOWPROP W 'PROCESS))
1653+
(NOT (fetch (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ))
1654+
(NOT (fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ))
1655+
(NOT FORCEFLG)) (* ;
16521656
 "This is an un-quit TEdit window. Try to QUIT out of TEdit.")
1653-
(COND
1654-
((\TEDIT.QUIT W T))
1655-
(T
1656-
(* ;; "Always return DON'T: If we didn't quit, we don't want to close the window; if we did quit, the window is closed already, and will be reopened to reclose it.")
1657+
(COND
1658+
((\TEDIT.QUIT W T))
1659+
(T
1660+
(* ;; "Always return DON'T: If we didn't quit, we don't want to close the window; if we did quit, the window is closed already, and will be reopened to reclose it.")
16571661

1658-
(RETURN 'DON'T]
1659-
(COND
1660-
([AND TEXTOBJ (OR FORCEFLG (fetch (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ)
1661-
(fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ)
1662-
(NOT (PROCESSP (WINDOWPROP W 'PROCESS]
1663-
(* ;
1662+
(RETURN 'DON'T]
1663+
(COND
1664+
([OR FORCEFLG (fetch (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ)
1665+
(fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ)
1666+
(NOT (PROCESSP (WINDOWPROP W 'PROCESS] (* ;
16641667
 "Only do this if it's a TEdit window, and has been QUIT out of.")
1665-
[COND
1666-
((AND (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ)
1667-
(OPENWP (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ)))
1668-
(CLEARW (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ]
1669-
(\SHOWSEL (fetch (TEXTOBJ SEL) of TEXTOBJ)
1670-
NIL NIL) (* ;
1668+
[COND
1669+
((AND (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ)
1670+
(OPENWP (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ)))
1671+
(CLEARW (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ]
1672+
(\SHOWSEL (fetch (TEXTOBJ SEL) of TEXTOBJ)
1673+
NIL NIL) (* ;
16711674
 "Before the window is closed, make SURE that the caret is down, or the window will reappear.")
1672-
(COND
1673-
((AND (\TEDIT.WINDOW.TITLE TEXTOBJ)
1674-
(OPENWP (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ))
1675-
(OPENWP W)
1676-
(EQ W (CAR (fetch (TEXTOBJ \WINDOW) of TEXTOBJ)))
1677-
(NOT DISCONNECTONLYFLG))
1678-
(\TEDIT.WINDOW.TITLE TEXTOBJ "Edit Window [Inactive]")
1675+
(COND
1676+
((AND (\TEDIT.WINDOW.TITLE TEXTOBJ)
1677+
(OPENWP (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ))
1678+
(OPENWP W)
1679+
(EQ W (CAR (fetch (TEXTOBJ \WINDOW) of TEXTOBJ)))
1680+
(NOT DISCONNECTONLYFLG))
1681+
(\TEDIT.WINDOW.TITLE TEXTOBJ "Edit Window [Inactive]")
16791682
(* ;
16801683
 "Reset the window's title to a known 'inactive' value")
1681-
))
1682-
[COND
1683-
((NOT DISCONNECTONLYFLG)
1684-
(for PANE in (REVERSE (CDR (fetch (TEXTOBJ \WINDOW) of TEXTOBJ)))
1685-
do
1686-
(* ;; "Run thru any split-off sub-panes, and reattach them, so we get a whole window back before the end of the world.")
1687-
1688-
(\TEDIT.UNSPLITW PANE))
1689-
(replace (TEXTOBJ \WINDOW) of TEXTOBJ with NIL)
1690-
(COND
1691-
((type? STREAM (fetch (TEXTOBJ TXTFILE) of TEXTOBJ))
1684+
))
1685+
[COND
1686+
((NOT DISCONNECTONLYFLG)
1687+
(for PANE in (REVERSE (CDR (fetch (TEXTOBJ \WINDOW) of TEXTOBJ)))
1688+
do
1689+
(* ;; "Run thru any split-off sub-panes, and reattach them, so we get a whole window back before the end of the world.")
1690+
1691+
(\TEDIT.UNSPLITW PANE))
1692+
(replace (TEXTOBJ \WINDOW) of TEXTOBJ with NIL)
1693+
(COND
1694+
((type? STREAM (fetch (TEXTOBJ TXTFILE) of TEXTOBJ))
16921695
(* ;
16931696
 "Close the file that this window was open on.")
1694-
(COND
1695-
((NOT (WINDOWPROP W 'TEDIT-CLOSING-FILE T))
1696-
(CLOSEF? (fetch (TEXTOBJ TXTFILE) of TEXTOBJ))
1697-
(WINDOWPROP W 'TEDIT-CLOSING-FILE NIL]
1698-
(WINDOWPROP W 'TEXTOBJ NIL) (* ;
1697+
(COND
1698+
((NOT (WINDOWPROP W 'TEDIT-CLOSING-FILE T))
1699+
(CLOSEF? (fetch (TEXTOBJ TXTFILE) of TEXTOBJ))
1700+
(WINDOWPROP W 'TEDIT-CLOSING-FILE NIL]
1701+
(WINDOWPROP W 'TEXTOBJ NIL) (* ;
16991702
 "Detach the edit data structures from the window")
1700-
(WINDOWPROP W 'TEXTSTREAM NIL)
1701-
(WINDOWPROP W 'LINES NIL)
1702-
(WINDOWPROP W 'THISLINE NIL)
1703-
(WINDOWPROP W 'PROCESS.EXITFN NIL)
1704-
(WINDOWPROP W 'PROCESS.IDLEFN NIL)
1705-
(WINDOWPROP W 'CURSOROUTFN NIL)
1706-
(WINDOWPROP W 'CURSORMOVEDFN NIL)
1707-
(WINDOWPROP W 'BUTTONEVENTFN 'TOTOPW) (* ; "And the button functions")
1708-
(WINDOWPROP W 'RIGHTBUTTONFN 'DOWINDOWCOM)
1709-
(WINDOWDELPROP W 'CLOSEFN 'TEDIT.DEACTIVATE.WINDOW)
1710-
(WINDOWPROP W 'SCROLLFN NIL)
1711-
(WINDOWDELPROP W 'RESHAPEFN '\EDITRESHAPEFN)
1712-
(AND (NOT DISCONNECTONLYFLG)
1713-
(WINDOWPROP W 'PROCESS)
1714-
(\TEDIT.INTERRUPT.SETUP (WINDOWPROP W 'PROCESS)
1715-
T)) (* ;
1703+
(WINDOWPROP W 'TEXTSTREAM NIL)
1704+
(WINDOWPROP W 'LINES NIL)
1705+
(WINDOWPROP W 'THISLINE NIL)
1706+
(WINDOWPROP W 'PROCESS.EXITFN NIL)
1707+
(WINDOWPROP W 'PROCESS.IDLEFN NIL)
1708+
(WINDOWPROP W 'CURSOROUTFN NIL)
1709+
(WINDOWPROP W 'CURSORMOVEDFN NIL)
1710+
(WINDOWPROP W 'BUTTONEVENTFN 'TOTOPW) (* ; "And the button functions")
1711+
(WINDOWPROP W 'RIGHTBUTTONFN 'DOWINDOWCOM)
1712+
(WINDOWDELPROP W 'CLOSEFN 'TEDIT.DEACTIVATE.WINDOW)
1713+
(WINDOWPROP W 'SCROLLFN NIL)
1714+
(WINDOWDELPROP W 'RESHAPEFN '\EDITRESHAPEFN)
1715+
(AND (NOT DISCONNECTONLYFLG)
1716+
(WINDOWPROP W 'PROCESS)
1717+
(\TEDIT.INTERRUPT.SETUP (WINDOWPROP W 'PROCESS)
1718+
T)) (* ;
17161719
 "Make sure any disarmed interrupts are restored.")
1717-
(for MENUW in (ATTACHEDWINDOWS W) when (AND (WINDOWPROP MENUW 'TEDITMENU)
1718-
(WINDOWPROP MENUW 'TEXTOBJ))
1719-
do (* ;
1720+
(for MENUW in (ATTACHEDWINDOWS W) when (AND (WINDOWPROP MENUW 'TEDITMENU)
1721+
(WINDOWPROP MENUW 'TEXTOBJ))
1722+
do (* ;
17201723
 "Detach all the TEDITMENU windows that belong to this window.")
1721-
(replace (TEXTOBJ EDITFINISHEDFLG) of (TEXTOBJ MENUW) with T)
1724+
(replace (TEXTOBJ EDITFINISHEDFLG) of (TEXTOBJ MENUW) with T)
17221725
(* ; "Mark it finished")
1723-
(WINDOWPROP MENUW 'TEDITMENU NIL) (* ;
1726+
(WINDOWPROP MENUW 'TEDITMENU NIL) (* ;
17241727
 "And mark it no longer a menu window")
1725-
(GIVE.TTY.PROCESS MENUW) (* ;
1728+
(GIVE.TTY.PROCESS MENUW) (* ;
17261729
 "Then give it a chance to kill itself off")
1727-
(DISMISS 300))
1728-
(COND
1729-
((NOT DISCONNECTONLYFLG)
1730-
(GIVE.TTY.PROCESS W)
1731-
(DISMISS 300)))
1732-
[replace (TEXTOBJ \WINDOW) of TEXTOBJ with (COND
1733-
((LISTP (fetch (TEXTOBJ \WINDOW)
1734-
of TEXTOBJ))
1730+
(DISMISS 300))
1731+
(COND
1732+
((NOT DISCONNECTONLYFLG)
1733+
(GIVE.TTY.PROCESS W)
1734+
(DISMISS 300)))
1735+
[replace (TEXTOBJ \WINDOW) of TEXTOBJ with (COND
1736+
((LISTP (fetch (TEXTOBJ \WINDOW)
1737+
of TEXTOBJ))
17351738
(* ; "It's a list; remove this window")
1736-
(DREMOVE W (fetch (TEXTOBJ \WINDOW)
1737-
of TEXTOBJ]
1739+
(DREMOVE W (fetch (TEXTOBJ \WINDOW)
1740+
of TEXTOBJ]
17381741
(* ;
17391742
 "Disconnect the window from the edit data structures as well.")
1740-
])
1743+
)))])
17411744

17421745
(\TEDIT.REPAINTFN
17431746
[LAMBDA (W) (* ; "Edited 30-May-91 23:34 by jds")
@@ -2726,25 +2729,25 @@
27262729
(RPAQ? TEDIT.TITLED.ICON.TEMPLATE (CONS TEDITICON (CONS TEDITMASK (CONS TEDIT.ICON.TITLE.REGION NIL))
27272730
))
27282731
(DECLARE%: DONTCOPY
2729-
(FILEMAP (NIL (7116 90052 (TEDIT.CREATEW 7126 . 9899) (\TEDIT.CREATEW.FROM.REGION 9901 . 10881) (
2730-
TEDIT.CURSORMOVEDFN 10883 . 20782) (TEDIT.CURSOROUTFN 20784 . 21327) (TEDIT.WINDOW.SETUP 21329 . 23154
2731-
) (TEDIT.MINIMAL.WINDOW.SETUP 23156 . 30934) (\TEDIT.ACTIVE.WINDOWP 30936 . 31929) (
2732-
\TEDIT.BUTTONEVENTFN 31931 . 55639) (\TEDIT.WINDOW.OPS 55641 . 58853) (\TEDIT.EXPANDFN 58855 . 59418)
2733-
(\TEDIT.MAINW 59420 . 60717) (\TEDIT.PRIMARYW 60719 . 61880) (\TEDIT.COPYINSERTFN 61882 . 62678) (
2734-
\TEDIT.NEWREGIONFN 62680 . 65196) (\TEDIT.SET.WINDOW.EXTENT 65198 . 70741) (\TEDIT.SHRINK.ICONCREATE
2735-
70743 . 72944) (\TEDIT.SHRINKFN 72946 . 73505) (\TEDIT.SPLITW 73507 . 78972) (\TEDIT.UNSPLITW 78974 .
2736-
83830) (\TEDIT.WINDOW.SETUP 83832 . 89655) (\SAFE.FIRST 89657 . 90050)) (91382 92293 (TEDITWINDOWP
2737-
91392 . 92291)) (92330 95120 (TEDIT.GETINPUT 92340 . 94400) (\TEDIT.MAKEFILENAME 94402 . 95118)) (
2738-
95169 101597 (TEDIT.PROMPTPRINT 95179 . 98114) (TEDIT.PROMPTFLASH 98116 . 100025) (
2739-
\TEDIT.PROMPT.PAGEFULLFN 100027 . 101595)) (101832 105804 (TEXTSTREAM.TITLE 101842 . 102467) (
2740-
\TEDIT.ORIGINAL.WINDOW.TITLE 102469 . 104391) (\TEDIT.WINDOW.TITLE 104393 . 105047) (
2741-
\TEXTSTREAM.FILENAME 105049 . 105802)) (105847 147324 (TEDIT.DEACTIVATE.WINDOW 105857 . 112821) (
2742-
\TEDIT.REPAINTFN 112823 . 115671) (\TEDIT.RESHAPEFN 115673 . 120517) (\TEDIT.SCROLLFN 120519 . 147322)
2743-
) (147366 149497 (\TEDIT.PROCIDLEFN 147376 . 148671) (\TEDIT.PROCENTRYFN 148673 . 149118) (
2744-
\TEDIT.PROCEXITFN 149120 . 149495)) (149576 160542 (\EDIT.DOWNCARET 149586 . 150255) (\EDIT.FLIPCARET
2745-
150257 . 151776) (TEDIT.FLASHCARET 151778 . 153059) (\EDIT.UPCARET 153061 . 153486) (
2746-
TEDIT.NORMALIZECARET 153488 . 159185) (\SETCARET 159187 . 160115) (\TEDIT.CARET 160117 . 160540)) (
2747-
160576 174370 (TEDIT.ADD.MENUITEM 160586 . 162877) (TEDIT.DEFAULT.MENUFN 162879 . 171849) (
2748-
TEDIT.REMOVE.MENUITEM 171851 . 172848) (\TEDIT.CREATEMENU 172850 . 173287) (\TEDIT.MENU.WHENHELDFN
2749-
173289 . 174055) (\TEDIT.MENU.WHENSELECTEDFN 174057 . 174368)))))
2732+
(FILEMAP (NIL (7098 90034 (TEDIT.CREATEW 7108 . 9881) (\TEDIT.CREATEW.FROM.REGION 9883 . 10863) (
2733+
TEDIT.CURSORMOVEDFN 10865 . 20764) (TEDIT.CURSOROUTFN 20766 . 21309) (TEDIT.WINDOW.SETUP 21311 . 23136
2734+
) (TEDIT.MINIMAL.WINDOW.SETUP 23138 . 30916) (\TEDIT.ACTIVE.WINDOWP 30918 . 31911) (
2735+
\TEDIT.BUTTONEVENTFN 31913 . 55621) (\TEDIT.WINDOW.OPS 55623 . 58835) (\TEDIT.EXPANDFN 58837 . 59400)
2736+
(\TEDIT.MAINW 59402 . 60699) (\TEDIT.PRIMARYW 60701 . 61862) (\TEDIT.COPYINSERTFN 61864 . 62660) (
2737+
\TEDIT.NEWREGIONFN 62662 . 65178) (\TEDIT.SET.WINDOW.EXTENT 65180 . 70723) (\TEDIT.SHRINK.ICONCREATE
2738+
70725 . 72926) (\TEDIT.SHRINKFN 72928 . 73487) (\TEDIT.SPLITW 73489 . 78954) (\TEDIT.UNSPLITW 78956 .
2739+
83812) (\TEDIT.WINDOW.SETUP 83814 . 89637) (\SAFE.FIRST 89639 . 90032)) (91364 92275 (TEDITWINDOWP
2740+
91374 . 92273)) (92312 95102 (TEDIT.GETINPUT 92322 . 94382) (\TEDIT.MAKEFILENAME 94384 . 95100)) (
2741+
95151 101579 (TEDIT.PROMPTPRINT 95161 . 98096) (TEDIT.PROMPTFLASH 98098 . 100007) (
2742+
\TEDIT.PROMPT.PAGEFULLFN 100009 . 101577)) (101814 105786 (TEXTSTREAM.TITLE 101824 . 102449) (
2743+
\TEDIT.ORIGINAL.WINDOW.TITLE 102451 . 104373) (\TEDIT.WINDOW.TITLE 104375 . 105029) (
2744+
\TEXTSTREAM.FILENAME 105031 . 105784)) (105829 147611 (TEDIT.DEACTIVATE.WINDOW 105839 . 113108) (
2745+
\TEDIT.REPAINTFN 113110 . 115958) (\TEDIT.RESHAPEFN 115960 . 120804) (\TEDIT.SCROLLFN 120806 . 147609)
2746+
) (147653 149784 (\TEDIT.PROCIDLEFN 147663 . 148958) (\TEDIT.PROCENTRYFN 148960 . 149405) (
2747+
\TEDIT.PROCEXITFN 149407 . 149782)) (149863 160829 (\EDIT.DOWNCARET 149873 . 150542) (\EDIT.FLIPCARET
2748+
150544 . 152063) (TEDIT.FLASHCARET 152065 . 153346) (\EDIT.UPCARET 153348 . 153773) (
2749+
TEDIT.NORMALIZECARET 153775 . 159472) (\SETCARET 159474 . 160402) (\TEDIT.CARET 160404 . 160827)) (
2750+
160863 174657 (TEDIT.ADD.MENUITEM 160873 . 163164) (TEDIT.DEFAULT.MENUFN 163166 . 172136) (
2751+
TEDIT.REMOVE.MENUITEM 172138 . 173135) (\TEDIT.CREATEMENU 173137 . 173574) (\TEDIT.MENU.WHENHELDFN
2752+
173576 . 174342) (\TEDIT.MENU.WHENSELECTEDFN 174344 . 174655)))))
27502753
STOP

library/tedit/TEDIT-WINDOW.LCOM

-69 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)