[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Infinite mutual recursion in multi-tty "menu-bar-open"

From: sand
Subject: Infinite mutual recursion in multi-tty "menu-bar-open"
Date: Wed, 27 Jun 2007 10:11:18 -0700

Revision 1.302.4.1 of menu-bar.el (on the multi-tty branch) includes the 
following delta:

1772             (defun menu-bar-open (&optional frame)
1773               "Start key navigation of the menu bar in FRAME.
1775             This function decides which method to use to access the menu
1776             depending on FRAME's terminal device.  On X displays, it calls
1777             `x-menu-bar-open'; otherwise it calls `tmm-menubar'.
1779             If FRAME is nil or not given, use the selected frame."
1780               (interactive)
1781               (if (eq window-system 'x)
1782                   (x-menu-bar-open frame)
1783                 (with-selected-frame (or frame (selected-frame))
1784                   (tmm-menubar))))

Note how "menu-bar-open" calls "x-menu-bar-open".  Since revision 1.193, 
term/x-win.el has had the following definition for "x-menu-bar-open":

2411 :  jhd     1.193   (defun x-menu-bar-open (&optional frame)
2412 :                    "Open the menu bar if `menu-bar-mode' is on. 
otherwise call `tmm-menubar'."
2413 :                    (interactive "i")
2414 :                    (if menu-bar-mode (menu-bar-open frame)
2415 :                      (tmm-menubar)))

Note how "x-menu-bar-open" calls "menu-bar-open".

So when running in X with a menu bar, hitting <f10> calls menu-bar-open, which 
calls x-menu-bar-open, which calls menu-bar-open, which ... generates an error 
message about exceeding lisp-max-eval-depth.

Can we get a fix?  It's not a dire problem, but I doubt that the current 
behavior matches anyones expectations.



Derek L. Upham

reply via email to

[Prev in Thread] Current Thread [Next in Thread]