Skip to content

A MENU created with MENUFONT specified as a list of font properties rather than a FONTDESCRIPTOR fails #2225

@pamoroso

Description

@pamoroso

Describe the bug

When left-clicking any right-triangled menu item of Sketch and sliding right to open the corresponding submenu, a break window shows up with a divide by zero error and the screen gets partially corrupted where the submenu should appear.

INTERLISP-ERROR

In ERROR:
DIVIDE BY ZERO
0

To Reproduce

Steps to reproduce the behavior:

  1. launch Medley
  2. open a Sketch window
  3. left-click Grid and, while holding, slide right through the triangle icon to open the submenu

Expected behavior

Sketch displays the submenu with no error or screen corruption.

Screenshots

The break window and the screen corruption:

Image

Context (please complete the following information):

  • Are you using online.interlisp.org? no
  • OS: Linux
  • OS Version: Mint 22.1 Cinnamon
  • Display/window system: X11 (VNC)
  • Host arch: x86_64 (System76 Merkaat)
  • Maiko version: 01d21b0
  • IL:MAKESYSDATE: 18-Jul-2025 02:03:42 (Maiko: nhb-gc-cleanup/01d21b0; Medley: rmk103--Font-and-related-code-updates/e7aa3e7)

Additional context

The backtrace:

MOUSE/6(debug)BTV
   MESS1 "DIVIDE BY ZERO"
   MESS2 0
   NOBREAK NIL
ERROR
IQUOTIENT
GRIDYCOORD
   SI::*CLEANUP-FORMS* SI::RESETUNWIND
   MOUSEDOWN T
   MOVEDLEFT "NESTED"
   LASTBUTTONSTATE 4
   MGRIDSPEC (0 0 125 0)
   HOLDTIMER 1076060672
   HELDFN DEFAULTMENUHELDFN
   NROWS 6
   NCOLUMNS 1
   LOCALMENUHELDWAIT 1200
   ITEM NIL
   SUBITEMS NIL
   SUBMENURESULT NIL
   OLDBOXX NIL
   OLDBOXY NIL
   BOXX NIL
   BOXY NIL
   HELDSTATE NIL
   SUBMENUWINDOW NIL
   SUBMENU NIL
SI::*UNWIND-PROTECT*
   MENU {MENU}#116,157204
   DSP #<Output Display Stream/127,26500>
   KEEPCONTROLIFOUTFLG T
   CHANGEOFFSETFLG T
   NESTEDFLG T
   LISPXHIST NIL
   SI::*RESETFORMS* ((& NIL))
   RESETSTATE NIL
MENU.HANDLER
   SI::*CLEANUP-FORMS* SI::RESETUNWIND
SI::*UNWIND-PROTECT*
   MENU {MENU}#116,157204
   RELEASECONTROLFLG NIL
   NESTEDFLG T
   IMAGE {WINDOW}#116,156264
   DSP #<Output Display Stream/127,26500>
   LISPXHIST NIL
   SI::*RESETFORMS* ((& {WINDOW}#116,156264))
   RESETSTATE NIL
MENU
   SI::*DUMMY-FOR-CATCH* T
   SI::*CATCH-RETURN-FROM* (& &)
MENU.HANDLERA0001A0003
   SI::*CLEANUP-FORMS* SI::RESETUNWIND
   MOUSEDOWN T
   MOVEDLEFT "NESTED"
   LASTBUTTONSTATE 4
   MGRIDSPEC (0 0 74 13)
   HOLDTIMER 1076057003
   HELDFN DEFAULTMENUHELDFN
   NROWS 25
   NCOLUMNS 1
   LOCALMENUHELDWAIT 1200
   ITEM NIL
   SUBITEMS NIL
   SUBMENURESULT NIL
   OLDBOXX 0
   OLDBOXY 4
   BOXX 0
   BOXY 4
   HELDSTATE T
   SUBMENUWINDOW NIL
   SUBMENU {MENU}#116,157204
   SI::NLSETQ-VALUE NIL
   *PROCEED-CASES* (& &)
   SI::*NLSETQFLAG* NIL
SI::*UNWIND-PROTECT*
   MENU {MENU}#116,157334
   DSP #<Output Display Stream/127,26200>
   KEEPCONTROLIFOUTFLG NIL
   CHANGEOFFSETFLG NIL
   NESTEDFLG NIL
   LISPXHIST NIL
   SI::*RESETFORMS* ((& NIL))
   RESETSTATE NIL
MENU.HANDLER
   W {WINDOW}#116,156474
   MENU {MENU}#116,157334
   SELECTION NIL
MODERN-ORIG-MENUBUTTONFN
   WINDOW {WINDOW}#116,156474
   MENU NIL
MENUBUTTONFN
   SI::*DUMMY-FOR-CATCH* T
   SI::*CATCH-RETURN-FROM* (&)
\PROTECTED.APPLYA0001
   FN MENUBUTTONFN
   WINDOW {WINDOW}#116,156474
   SI::NLSETQ-VALUE NIL
   *PROCEED-CASES* (&)
   SI::*NLSETQFLAG* NIL
\PROTECTED.APPLY
   \MHCOM MENUBUTTONFN
   \MHPROCESS NIL
   \MHWINDOW {WINDOW}#116,156474
   \MOUSEBUSY T
WINDOW.MOUSE.HANDLER
   \OLDTTY #<Process WB.EDITOR/174,14000>
   \MOUSEBUSY NIL
\MOUSE.PROCESS
   *FORM* (\MOUSE.PROCESS)
   *ARGVAL* NIL
   *TAIL* NIL
   *FN* \MOUSE.PROCESS
\EVALFORM
   %#FORM# (\MOUSE.PROCESS)
   *CURRENT-PROCESS* #<Process OLDMOUSE/174,14410>
   HELPFLAG BREAK!
   \CURRENTDISPLAYLINE 0
   \#DISPLAYLINES 40
   \LINEBUF.OFD #<IO Stream on T/174,61500>
   *READTABLE* #<ReadTable INTERLISP/174,60714>
   \PRIMTERMTABLE {TERMTABLEP}#174,53740
   \PRIMTERMSA {CHARTABLE}#174,54000
   TtyDisplayStream 
#<Output Display Stream/167,134200>
   SI::*RESETFORMS* NIL
   \INTERRUPTABLE T
   \TTYWINDOW NIL
   READBUF NIL
   \TERM.OFD #<Output Stream on T/167,134300>
   *STANDARD-OUTPUT* #<Output Stream on T/167,134300>
   *STANDARD-INPUT* #<IO Stream on T/174,61500>
\MAKE.PROCESS0
T

The issue does not happen with the same setup and both Maiko and Medley on master, as well as on Medley Online 16-Jul-2025 02:25:40.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions