Skip to content

Commit 14b102f

Browse files
authored
TEDIT-MENU: Eliminate illegal arg and caret location errors (#1670)
* TEDIT-MENU: Eliminate illegal arg and caret location errors @nbriggs got an error when (as I remember) parsing the OTHER font in the charlooks menu. This was because of a missing BOUNDP check when trying to decide if the other font is a fontclass. Separately, the caret appeared in the wrong place if a field insert was the first interaction with a menu. * Remove redundant binding
1 parent 88d10ee commit 14b102f

File tree

2 files changed

+61
-55
lines changed

2 files changed

+61
-55
lines changed

library/tedit/TEDIT-MENU

+61-55
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
22

3-
(FILECREATED "27-Mar-2024 15:21:00" {WMEDLEY}<library>tedit>TEDIT-MENU.;167 268556
3+
(FILECREATED "19-Apr-2024 10:53:42" {WMEDLEY}<library>tedit>TEDIT-MENU.;171 269091
44

55
:EDIT-BY rmk
66

7-
:CHANGES-TO (FNS \TEDIT.SHOW.PAGEFORMATTING \TEDIT.APPLY.PAGEFORMATTING \TEDIT.APPLY.CHARLOOKS
8-
\TEDIT.SHOW.CHARLOOKS MB.SELFN \TEDIT.SHOW.PARALOOKS MB.WHENOPERATEDFN
9-
MB.SHOWSELFN)
7+
:CHANGES-TO (FNS \TEDIT.MENU.START)
108

11-
:PREVIOUS-DATE "20-Mar-2024 11:06:06" {WMEDLEY}<library>TEDIT>TEDIT-MENU.;163)
9+
:PREVIOUS-DATE "10-Apr-2024 23:06:52" {WMEDLEY}<library>tedit>TEDIT-MENU.;170)
1210

1311

1412
(PRETTYCOMPRINT TEDIT-MENUCOMS)
@@ -2003,7 +2001,9 @@
20032001
(DEFINEQ
20042002

20052003
(\TEDIT.MENU.START
2006-
[LAMBDA (MENUSTREAM MAINWINDOW TITLE HEIGHT TYPE) (* ; "Edited 27-Feb-2024 08:12 by rmk")
2004+
[LAMBDA (MENUSTREAM MAINWINDOW TITLE HEIGHT TYPE) (* ; "Edited 19-Apr-2024 10:53 by rmk")
2005+
(* ; "Edited 10-Apr-2024 23:04 by rmk")
2006+
(* ; "Edited 27-Feb-2024 08:12 by rmk")
20072007
(* ; "Edited 3-Nov-2023 22:23 by rmk")
20082008
(* ; "Edited 31-Oct-2023 08:59 by rmk")
20092009
(* ; "Edited 10-Apr-2023 09:46 by rmk")
@@ -2030,6 +2030,7 @@
20302030
(LET ((WREG (CL:IF MAINWINDOW
20312031
(WINDOWPROP MAINWINDOW 'REGION)
20322032
(GETREGION)))
2033+
(MENUTEXTOBJ (fetch (TEXTSTREAM TEXTOBJ) of MENUSTREAM))
20332034
MENUW)
20342035
(SETQ MENUW (CREATEW (SETQ WREG (COND
20352036
(MAINWINDOW (create REGION
@@ -2049,8 +2050,7 @@
20492050
[SETQ HEIGHT (FETCH (REGION HEIGHT) OF (WINDOWPROP MENUW 'REGION]
20502051
(WINDOWPROP MENUW 'MAXSIZE (CONS 64000 HEIGHT))
20512052
(WINDOWPROP MENUW 'MINSIZE (CONS 0 HEIGHT))
2052-
(SETTOBJ (fetch (TEXTSTREAM TEXTOBJ) of MENUSTREAM)
2053-
MENUFLG T)
2053+
(SETTOBJ MENUTEXTOBJ MENUFLG T)
20542054

20552055
(* ;; "The mainwindow's PROMPTWINDOW is also the menus prompt window")
20562056

@@ -2071,12 +2071,13 @@
20712071

20722072
(* ;; "No caret now, let the buttonevent fn bring it up")
20732073

2074-
(\TEDIT.UPCARET (CAR (GETTOBJ (fetch (TEXTWINDOW PTEXTOBJ) of MENUW)
2075-
CARET))
2074+
(\TEDIT.UPCARET (CAR (GETTOBJ MENUTEXTOBJ CARET))
20762075
-10 -10)
2077-
(TEXTPROP (fetch (TEXTWINDOW PTEXTOBJ) of MENUW)
2078-
'NOTSPLITTABLE T)
2076+
(TEXTPROP MENUTEXTOBJ 'NOTSPLITTABLE T)
20792077
(WINDOWPROP MENUW 'BUTTONEVENTFN (FUNCTION \TEDIT.MENU.BUTTONEVENTFN))
2078+
(SETSEL (GETTOBJ MENUTEXTOBJ SEL)
2079+
SET NIL) (* ;
2080+
 "Have to click to get the selection going")
20802081
MENUW))])
20812082

20822083
(\TEDIT.MENU.BUTTONEVENTFN
@@ -2806,7 +2807,8 @@
28062807
NIL])
28072808

28082809
(\TEDIT.PARSE.CHARLOOKS.MENU
2809-
[LAMBDA (TEXTOBJ CH#) (* ; "Edited 25-Feb-2024 22:26 by rmk")
2810+
[LAMBDA (TEXTOBJ CH#) (* ; "Edited 10-Apr-2024 10:18 by rmk")
2811+
(* ; "Edited 25-Feb-2024 22:26 by rmk")
28102812
(* ; "Edited 24-Jul-2023 17:10 by rmk")
28112813
(* ; "Edited 30-May-91 22:18 by jds")
28122814

@@ -2860,10 +2862,13 @@
28602862
(* ;
28612863
 "Delete the new font's name from the fill-in field.")
28622864
(TEDIT.OBJECT.CHANGED TEXTOBJ BUTTON)
2863-
(if (type? FONTCLASS (SETQ FONTCLASS (GETATOMVAL UTEXT)))
2864-
then (push NEWLOOKS 'FONT FONTCLASS)
2865+
(if [AND (BOUNDP UTEXT)
2866+
(type? FONTCLASS (SETQ FONTCLASS (GETATOMVAL UTEXT]
2867+
then (* ; "Fontclasses are global")
2868+
(push NEWLOOKS 'FONT FONTCLASS)
28652869
else (push NEWLOOKS 'FAMILY UTEXT))
2866-
elseif (OR (type? FONTCLASS (SETQ FONTCLASS (GETATOMVAL UTEXT)))
2870+
elseif (OR [AND (BOUNDP UTEXT)
2871+
(type? FONTCLASS (SETQ FONTCLASS (GETATOMVAL UTEXT]
28672872
(FONTSAVAILABLE UTEXT '* '* 0 'DISPLAY T))
28682873
then
28692874
(* ;;
@@ -2879,8 +2884,9 @@
28792884
else
28802885
(* ;; "Tell him that the font doesn't exist, but don't update the menu")
28812886

2882-
(TEDIT.PROMPTPRINT TEXTOBJ
2883-
"Can't find 'Other' font, font-family not changed" T)))
2887+
(TEDIT.PROMPTPRINT TEXTOBJ (CONCAT "Can't find Other font " TEXT
2888+
", font-family not changed")
2889+
T)))
28842890
(PROGN (MBUTTON.FIND.NEXT.FIELD TEXTOBJ CH#) (* ;
28852891
 "Not OTHER, skip over other-font fill-in")
28862892

@@ -4313,41 +4319,41 @@ Tab Type: "
43134319
(ADDTOVAR LAMA )
43144320
)
43154321
(DECLARE%: DONTCOPY
4316-
(FILEMAP (NIL (10613 35178 (MB.BUTTONEVENTINFN 10623 . 11845) (MB.DISPLAY 11847 . 13804) (MB.SETIMAGE
4317-
13806 . 14760) (MB.SELFN 14762 . 16505) (MB.SIZEFN 16507 . 17485) (MB.WHENOPERATEDFN 17487 . 17921) (
4318-
MB.COPYFN 17923 . 18381) (MB.GETFN 18383 . 19121) (MB.PUTFN 19123 . 20000) (MB.SHOWSELFN 20002 . 21035
4319-
) (MBUTTON.CREATE 21037 . 22269) (MBUTTON.CHANGENAME 22271 . 22650) (MBUTTON.FIND.BUTTON 22652 . 23675
4320-
) (MBUTTON.FIND.NEXT.BUTTON 23677 . 25020) (MBUTTON.FIND.NEXT.FIELD 25022 . 27556) (MBUTTON.INIT 27558
4321-
. 28474) (MBUTTON.NEXT.FIELD.AS.NUMBER 28476 . 29408) (MBUTTON.NEXT.FIELD.AS.TEXT 29410 . 29836) (
4322-
MBUTTON.NEXT.FIELD.AS.ATOM 29838 . 30639) (MBUTTON.SET.FIELD 30641 . 32847) (MBUTTON.SET.NEXT.FIELD
4323-
32849 . 34240) (MBUTTON.SET.NEXT.BUTTON.STATE 34242 . 34722) (TEDITMENU.STREAM 34724 . 35176)) (35482
4324-
46018 (MB.CREATE.THREESTATEBUTTON 35492 . 36659) (MB.THREESTATE.DISPLAY 36661 . 39367) (
4325-
MB.THREESTATE.SHOWSELFN 39369 . 42292) (MB.THREESTATE.WHENOPERATEDFN 42294 . 43635) (
4326-
MB.THREESTATEBUTTON.FN 43637 . 44956) (THREESTATE.INIT 44958 . 46016)) (46119 65901 (
4327-
MB.CREATE.NWAYBUTTON 46129 . 50198) (MB.NB.DISPLAYFN 50200 . 52468) (MB.NB.WHENOPERATEDFN 52470 .
4328-
53618) (MB.NB.SIZEFN 53620 . 57248) (MB.NWAYBUTTON.SELFN 57250 . 59358) (MB.NWAYMENU.NEWBUTTON 59360
4329-
. 59947) (NWAYBUTTON.INIT 59949 . 60798) (MB.NB.PACKITEMS 60800 . 62779) (MB.NWAYBUTTON.ADDITEM 62781
4330-
. 65899)) (66155 75073 (\TEXTMENU.TOGGLE.CREATE 66165 . 67655) (\TEXTMENU.TOGGLE.DISPLAY 67657 .
4331-
70090) (\TEXTMENU.TOGGLE.SHOWSELFN 70092 . 70692) (\TEXTMENU.TOGGLE.WHENOPERATEDFN 70694 . 72044) (
4332-
\TEXTMENU.TOGGLEFN 72046 . 73245) (\TEXTMENU.TOGGLE.INIT 73247 . 74078) (\TEXTMENU.SET.TOGGLE 74080 .
4333-
75071)) (75325 111634 (DRAWMARGINSCALE 75335 . 78794) (MARGINBAR 78796 . 85657) (MARGINBAR.CREATE
4334-
85659 . 88531) (MB.MARGINBAR.SELFN 88533 . 100549) (MB.MARGINBAR.SIZEFN 100551 . 100909) (
4335-
MB.MARGINBAR.DISPLAYFN 100911 . 103713) (MDESCALE 103715 . 104255) (MSCALE 104257 . 104587) (
4336-
MB.MARGINBAR.SHOWTAB 104589 . 106912) (MB.MARGINBAR.TABTRACK 106914 . 108299) (\TEDIT.TABTYPE.SET
4337-
108301 . 110747) (MARGINBAR.INIT 110749 . 111632)) (112651 127762 (\TEDIT.MENU.START 112661 . 117781)
4338-
(\TEDIT.MENU.BUTTONEVENTFN 117783 . 118267) (\TEXTMENU.DOC.CREATE 118269 . 127760)) (128072 148897 (
4339-
\TEDITMENU.CREATE 128082 . 128378) (\TEDIT.EXPANDED.MENU 128380 . 129461) (MB.DEFAULTBUTTON.FN 129463
4340-
. 132929) (\TEDITMENU.RECORD.UNFORMATTED 132931 . 133264) (MB.DEFAULTBUTTON.ACTIONFN 133266 . 148895)
4341-
) (148898 178297 (\TEDIT.CHARLOOKSMENU.CREATE 148908 . 151122) (\TEDIT.EXPANDEDCHARLOOKS.MENU 151124
4342-
. 151834) (\TEDIT.APPLY.BOLDNESS 151836 . 152117) (\TEDIT.APPLY.CHARLOOKS 152119 . 154225) (
4343-
\TEDIT.APPLY.OLINE 154227 . 154504) (\TEDIT.APPLY.UNBREAKABLE 154506 . 154904) (\TEDIT.SHOW.CHARLOOKS
4344-
154906 . 157690) (\TEDIT.NEUTRALIZE.CHARLOOKS 157692 . 158956) (\TEDIT.FILL.IN.CHARLOOKS.MENU 158958
4345-
. 166579) (\TEDIT.NEUTRALIZE.CHARLOOKS.MENU 166581 . 169154) (\TEDIT.PARSE.CHARLOOKS.MENU 169156 .
4346-
177448) (\TEDIT.APPLY.SLOPE 177450 . 177729) (\TEDIT.APPLY.STRIKEOUT 177731 . 178014) (
4347-
\TEDIT.APPLY.ULINE 178016 . 178295)) (178298 204777 (\TEDITPARAMENU.CREATE 178308 . 178684) (
4348-
\TEDIT.EXPANDEDPARA.MENU 178686 . 179248) (\TEDIT.APPLY.PARALOOKS 179250 . 189966) (
4349-
\TEDIT.SHOW.PARALOOKS 189968 . 197816) (\TEDIT.NEUTRALIZE.PARALOOKS.MENU 197818 . 203464) (
4350-
\TEDIT.RECORD.TABLEADERS 203466 . 204775)) (204778 240124 (\TEDIT.SHOW.PAGEFORMATTING 204788 . 218403)
4351-
(\TEDITPAGEMENU.CREATE 218405 . 219444) (\TEDIT.APPLY.PAGEFORMATTING 219446 . 231529) (
4352-
TEDIT.UNPARSE.PAGEFORMAT 231531 . 240122)) (240429 268223 (\TEDIT.MENU.INIT 240439 . 268221)))))
4322+
(FILEMAP (NIL (10422 34987 (MB.BUTTONEVENTINFN 10432 . 11654) (MB.DISPLAY 11656 . 13613) (MB.SETIMAGE
4323+
13615 . 14569) (MB.SELFN 14571 . 16314) (MB.SIZEFN 16316 . 17294) (MB.WHENOPERATEDFN 17296 . 17730) (
4324+
MB.COPYFN 17732 . 18190) (MB.GETFN 18192 . 18930) (MB.PUTFN 18932 . 19809) (MB.SHOWSELFN 19811 . 20844
4325+
) (MBUTTON.CREATE 20846 . 22078) (MBUTTON.CHANGENAME 22080 . 22459) (MBUTTON.FIND.BUTTON 22461 . 23484
4326+
) (MBUTTON.FIND.NEXT.BUTTON 23486 . 24829) (MBUTTON.FIND.NEXT.FIELD 24831 . 27365) (MBUTTON.INIT 27367
4327+
. 28283) (MBUTTON.NEXT.FIELD.AS.NUMBER 28285 . 29217) (MBUTTON.NEXT.FIELD.AS.TEXT 29219 . 29645) (
4328+
MBUTTON.NEXT.FIELD.AS.ATOM 29647 . 30448) (MBUTTON.SET.FIELD 30450 . 32656) (MBUTTON.SET.NEXT.FIELD
4329+
32658 . 34049) (MBUTTON.SET.NEXT.BUTTON.STATE 34051 . 34531) (TEDITMENU.STREAM 34533 . 34985)) (35291
4330+
45827 (MB.CREATE.THREESTATEBUTTON 35301 . 36468) (MB.THREESTATE.DISPLAY 36470 . 39176) (
4331+
MB.THREESTATE.SHOWSELFN 39178 . 42101) (MB.THREESTATE.WHENOPERATEDFN 42103 . 43444) (
4332+
MB.THREESTATEBUTTON.FN 43446 . 44765) (THREESTATE.INIT 44767 . 45825)) (45928 65710 (
4333+
MB.CREATE.NWAYBUTTON 45938 . 50007) (MB.NB.DISPLAYFN 50009 . 52277) (MB.NB.WHENOPERATEDFN 52279 .
4334+
53427) (MB.NB.SIZEFN 53429 . 57057) (MB.NWAYBUTTON.SELFN 57059 . 59167) (MB.NWAYMENU.NEWBUTTON 59169
4335+
. 59756) (NWAYBUTTON.INIT 59758 . 60607) (MB.NB.PACKITEMS 60609 . 62588) (MB.NWAYBUTTON.ADDITEM 62590
4336+
. 65708)) (65964 74882 (\TEXTMENU.TOGGLE.CREATE 65974 . 67464) (\TEXTMENU.TOGGLE.DISPLAY 67466 .
4337+
69899) (\TEXTMENU.TOGGLE.SHOWSELFN 69901 . 70501) (\TEXTMENU.TOGGLE.WHENOPERATEDFN 70503 . 71853) (
4338+
\TEXTMENU.TOGGLEFN 71855 . 73054) (\TEXTMENU.TOGGLE.INIT 73056 . 73887) (\TEXTMENU.SET.TOGGLE 73889 .
4339+
74880)) (75134 111443 (DRAWMARGINSCALE 75144 . 78603) (MARGINBAR 78605 . 85466) (MARGINBAR.CREATE
4340+
85468 . 88340) (MB.MARGINBAR.SELFN 88342 . 100358) (MB.MARGINBAR.SIZEFN 100360 . 100718) (
4341+
MB.MARGINBAR.DISPLAYFN 100720 . 103522) (MDESCALE 103524 . 104064) (MSCALE 104066 . 104396) (
4342+
MB.MARGINBAR.SHOWTAB 104398 . 106721) (MB.MARGINBAR.TABTRACK 106723 . 108108) (\TEDIT.TABTYPE.SET
4343+
108110 . 110556) (MARGINBAR.INIT 110558 . 111441)) (112460 127903 (\TEDIT.MENU.START 112470 . 117922)
4344+
(\TEDIT.MENU.BUTTONEVENTFN 117924 . 118408) (\TEXTMENU.DOC.CREATE 118410 . 127901)) (128213 149038 (
4345+
\TEDITMENU.CREATE 128223 . 128519) (\TEDIT.EXPANDED.MENU 128521 . 129602) (MB.DEFAULTBUTTON.FN 129604
4346+
. 133070) (\TEDITMENU.RECORD.UNFORMATTED 133072 . 133405) (MB.DEFAULTBUTTON.ACTIONFN 133407 . 149036)
4347+
) (149039 178832 (\TEDIT.CHARLOOKSMENU.CREATE 149049 . 151263) (\TEDIT.EXPANDEDCHARLOOKS.MENU 151265
4348+
. 151975) (\TEDIT.APPLY.BOLDNESS 151977 . 152258) (\TEDIT.APPLY.CHARLOOKS 152260 . 154366) (
4349+
\TEDIT.APPLY.OLINE 154368 . 154645) (\TEDIT.APPLY.UNBREAKABLE 154647 . 155045) (\TEDIT.SHOW.CHARLOOKS
4350+
155047 . 157831) (\TEDIT.NEUTRALIZE.CHARLOOKS 157833 . 159097) (\TEDIT.FILL.IN.CHARLOOKS.MENU 159099
4351+
. 166720) (\TEDIT.NEUTRALIZE.CHARLOOKS.MENU 166722 . 169295) (\TEDIT.PARSE.CHARLOOKS.MENU 169297 .
4352+
177983) (\TEDIT.APPLY.SLOPE 177985 . 178264) (\TEDIT.APPLY.STRIKEOUT 178266 . 178549) (
4353+
\TEDIT.APPLY.ULINE 178551 . 178830)) (178833 205312 (\TEDITPARAMENU.CREATE 178843 . 179219) (
4354+
\TEDIT.EXPANDEDPARA.MENU 179221 . 179783) (\TEDIT.APPLY.PARALOOKS 179785 . 190501) (
4355+
\TEDIT.SHOW.PARALOOKS 190503 . 198351) (\TEDIT.NEUTRALIZE.PARALOOKS.MENU 198353 . 203999) (
4356+
\TEDIT.RECORD.TABLEADERS 204001 . 205310)) (205313 240659 (\TEDIT.SHOW.PAGEFORMATTING 205323 . 218938)
4357+
(\TEDITPAGEMENU.CREATE 218940 . 219979) (\TEDIT.APPLY.PAGEFORMATTING 219981 . 232064) (
4358+
TEDIT.UNPARSE.PAGEFORMAT 232066 . 240657)) (240964 268758 (\TEDIT.MENU.INIT 240974 . 268756)))))
43534359
STOP

library/tedit/TEDIT-MENU.LCOM

-170 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)