|
1 | 1 | (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) |
2 | 2 |
|
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 |
5 | 4 |
|
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) |
8 | 10 |
|
9 | 11 |
|
10 | 12 | (PRETTYCOMPRINT TEDIT-WINDOWCOMS) |
@@ -1631,113 +1633,114 @@ |
1631 | 1633 | (DEFINEQ |
1632 | 1634 |
|
1633 | 1635 | (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:") |
1635 | 1638 |
|
1636 | 1639 | (* ;; "Deactivate the various button fns for this window") |
1637 | 1640 |
|
1638 | 1641 | (PROG [(TEXTOBJ (WINDOWPROP W 'TEXTOBJ] (* ; |
1639 | 1642 | "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) |
1643 | 1647 |
|
1644 | | - (* ;; "If something is going on, DON'T CLOSE THE WINDOW") |
| 1648 | + (* ;; "If something is going on, DON'T CLOSE THE WINDOW") |
1645 | 1649 |
|
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)) (* ; |
1652 | 1656 | "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.") |
1657 | 1661 |
|
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] (* ; |
1664 | 1667 | "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) (* ; |
1671 | 1674 | "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]") |
1679 | 1682 | (* ; |
1680 | 1683 | "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)) |
1692 | 1695 | (* ; |
1693 | 1696 | "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) (* ; |
1699 | 1702 | "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)) (* ; |
1716 | 1719 | "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 (* ; |
1720 | 1723 | "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) |
1722 | 1725 | (* ; "Mark it finished") |
1723 | | - (WINDOWPROP MENUW 'TEDITMENU NIL) (* ; |
| 1726 | + (WINDOWPROP MENUW 'TEDITMENU NIL) (* ; |
1724 | 1727 | "And mark it no longer a menu window") |
1725 | | - (GIVE.TTY.PROCESS MENUW) (* ; |
| 1728 | + (GIVE.TTY.PROCESS MENUW) (* ; |
1726 | 1729 | "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)) |
1735 | 1738 | (* ; "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] |
1738 | 1741 | (* ; |
1739 | 1742 | "Disconnect the window from the edit data structures as well.") |
1740 | | - ]) |
| 1743 | + )))]) |
1741 | 1744 |
|
1742 | 1745 | (\TEDIT.REPAINTFN |
1743 | 1746 | [LAMBDA (W) (* ; "Edited 30-May-91 23:34 by jds") |
|
2726 | 2729 | (RPAQ? TEDIT.TITLED.ICON.TEMPLATE (CONS TEDITICON (CONS TEDITMASK (CONS TEDIT.ICON.TITLE.REGION NIL)) |
2727 | 2730 | )) |
2728 | 2731 | (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))))) |
2750 | 2753 | STOP |
0 commit comments