In performKeyEquivalent: do not pass the key equivalent to defaultMainMenu since this breaks the menus on OS X 10.4. Also, this hack is not strictly needed now that window cycling is hardcoded (and a "New Window" menu is always available on the dock menu) so it is just as well that it is removed.
Keep waiting for dialog reply until it is received. Any input received during this wait is discarded unless it is a 'set text dimensions' message (or keyboard/mouse input). Also, make setDialogReturn: a synchronous call so that it is less likely to get dropped.
The previous commit did not ensure the output queue was flushed before "browse" dialogs were shown.
Window cycling is hardcoded to happen when the Cmd key is pressed with the key whose keycode = 50. Having window cycling in the "Window" menu means that window cycling stops working when the keyboard layout is changed. Thus revert back to the old way of dealing with this since it seems to work better.
This fixes a bug where the window dimensions were not restored after leaving full-screen (with 'maxvert' fu-option set).
This should stop MacVim from beeping when Cmd-q is pressed.
MMVimController uses a copy of the "MacVim" menu that is defined inside MainMenu.nib instead of getting it from the default main menu. This ensures that the "Services" menu is initially empty for each new MMVimController. Without this the setKeyEquivalent: call would fail if the key equivalent already was in a "Services" menu item (e.g. <D-F> and <D-L> would fail).
It can happen that MMTextStorage is asked to draw characters from the "Control Characters" set (e.g. when :shell is invoked). This would cause internal errors in MMTextStorage so when control chars are detected, simply draw blanks instead.
Failing to validate would cause the "Close" menu item to be disabled in full-screen.
This ensures that Cmd-` works for all windows. Also changed its alternate to read "Cycle Backwards Through Windows". Note that the default "Windows" menu does not contain the alternate since Interface Builder turned Cmd-Shift-` into Cmd-~ which is no longer a valid alternate.
This is so that the key equivalents set up in the default main menu will work even when the system gvimrc files hasn't been sourced. This is useful e.g. when "-u NONE -U NONE" is passed as arguments resulting in the default Vim menus being used.