Skip to content

Commit

Permalink
TEDIT-MENU: Eliminate illegal arg and caret location errors (#1670)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
rmkaplan committed Apr 21, 2024
1 parent 88d10ee commit 14b102f
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 55 deletions.
116 changes: 61 additions & 55 deletions library/tedit/TEDIT-MENU
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)

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

:EDIT-BY rmk

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

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


(PRETTYCOMPRINT TEDIT-MENUCOMS)
Expand Down Expand Up @@ -2003,7 +2001,9 @@
(DEFINEQ

(\TEDIT.MENU.START
[LAMBDA (MENUSTREAM MAINWINDOW TITLE HEIGHT TYPE) (* ; "Edited 27-Feb-2024 08:12 by rmk")
[LAMBDA (MENUSTREAM MAINWINDOW TITLE HEIGHT TYPE) (* ; "Edited 19-Apr-2024 10:53 by rmk")
(* ; "Edited 10-Apr-2024 23:04 by rmk")
(* ; "Edited 27-Feb-2024 08:12 by rmk")
(* ; "Edited 3-Nov-2023 22:23 by rmk")
(* ; "Edited 31-Oct-2023 08:59 by rmk")
(* ; "Edited 10-Apr-2023 09:46 by rmk")
Expand All @@ -2030,6 +2030,7 @@
(LET ((WREG (CL:IF MAINWINDOW
(WINDOWPROP MAINWINDOW 'REGION)
(GETREGION)))
(MENUTEXTOBJ (fetch (TEXTSTREAM TEXTOBJ) of MENUSTREAM))
MENUW)
(SETQ MENUW (CREATEW (SETQ WREG (COND
(MAINWINDOW (create REGION
Expand All @@ -2049,8 +2050,7 @@
[SETQ HEIGHT (FETCH (REGION HEIGHT) OF (WINDOWPROP MENUW 'REGION]
(WINDOWPROP MENUW 'MAXSIZE (CONS 64000 HEIGHT))
(WINDOWPROP MENUW 'MINSIZE (CONS 0 HEIGHT))
(SETTOBJ (fetch (TEXTSTREAM TEXTOBJ) of MENUSTREAM)
MENUFLG T)
(SETTOBJ MENUTEXTOBJ MENUFLG T)

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

Expand All @@ -2071,12 +2071,13 @@

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

(\TEDIT.UPCARET (CAR (GETTOBJ (fetch (TEXTWINDOW PTEXTOBJ) of MENUW)
CARET))
(\TEDIT.UPCARET (CAR (GETTOBJ MENUTEXTOBJ CARET))
-10 -10)
(TEXTPROP (fetch (TEXTWINDOW PTEXTOBJ) of MENUW)
'NOTSPLITTABLE T)
(TEXTPROP MENUTEXTOBJ 'NOTSPLITTABLE T)
(WINDOWPROP MENUW 'BUTTONEVENTFN (FUNCTION \TEDIT.MENU.BUTTONEVENTFN))
(SETSEL (GETTOBJ MENUTEXTOBJ SEL)
SET NIL) (* ;
 "Have to click to get the selection going")
MENUW))])

(\TEDIT.MENU.BUTTONEVENTFN
Expand Down Expand Up @@ -2806,7 +2807,8 @@
NIL])

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

Expand Down Expand Up @@ -2860,10 +2862,13 @@
(* ;
 "Delete the new font's name from the fill-in field.")
(TEDIT.OBJECT.CHANGED TEXTOBJ BUTTON)
(if (type? FONTCLASS (SETQ FONTCLASS (GETATOMVAL UTEXT)))
then (push NEWLOOKS 'FONT FONTCLASS)
(if [AND (BOUNDP UTEXT)
(type? FONTCLASS (SETQ FONTCLASS (GETATOMVAL UTEXT]
then (* ; "Fontclasses are global")
(push NEWLOOKS 'FONT FONTCLASS)
else (push NEWLOOKS 'FAMILY UTEXT))
elseif (OR (type? FONTCLASS (SETQ FONTCLASS (GETATOMVAL UTEXT)))
elseif (OR [AND (BOUNDP UTEXT)
(type? FONTCLASS (SETQ FONTCLASS (GETATOMVAL UTEXT]
(FONTSAVAILABLE UTEXT '* '* 0 'DISPLAY T))
then
(* ;;
Expand All @@ -2879,8 +2884,9 @@
else
(* ;; "Tell him that the font doesn't exist, but don't update the menu")

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

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

0 comments on commit 14b102f

Please sign in to comment.