40788 | 
 TakeOver
 | 
(  →  ) 
Override the default menu key executer.  If
this is the first entry in a program, the
program can be used in edit mode.  When the
first in a program in the label slot of a
menu key, the program is evaluated to get the
label object (most likely a grob).
 | 
3EC71 | 
 NullMenuKey
 | 
(  →  ) 
A placeholder for an empty menu key when
defining menu lists.
 | 
4085A | 
 Modifier
 | 
(  →  ) 
:: TakeOver ;
 | 
407FB | 
 MenuMaker
 | 
(  → ob ) 
Quotes next object, and also provides
TakeOver.  The disassembly is 
:: TakeOver 'R ; 
Normally this is used like this: 
:: MenuMaker menu InitMenu ;
 | 
40F86 | 
 InitMenu
 | 
( menu →  ) 
menu is {} or :: settings {} ;
Settings override the default settings
installed by InitMenu.
 | 
40DC0 | 
 DoMenuKey
 | 
( menu →  ) 
:: SetDA12NoCh InitMenu ;
 | 
41679 | 
 InitMenu%
 | 
( %mnu.pg →  ) 
(      %0 →  )
 | 
415C9 | 
 GetMenu%
 | 
(  → % )
 | 
41008 | 
 StartMenu
 | 
( menu #n →  ) 
#n is the index of the first menu key on the
page, use 1 for the first page, 7 for the
second etc.  StartMenu does ExitAction
(Previous menu!), sets the default menu
properties and page.  Then it evaluates menu,
stores result to MenuKeys and executes
SetThisRow.
 | 
410C6 | 
 SetThisRow
 | 
(  →  ) 
Builds a new TOUCHTAB, SetBadMenu.
 | 
41175 | 
 LoadTouchTbl
 | 
( MenuKey1 .. MenuKeyN #n →  ) 
Builds new TOUCHTAB from menukeys.
 |