Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix MacVim Ctrl-C handling in Normal and Command-Line modes #856

Merged
merged 1 commit into from
Feb 18, 2019

Commits on Feb 18, 2019

  1. Fix MacVim Ctrl-C handling in Normal and Command-Line modes

    Vim has a "ctrl_c_interrupts" mode that gets turned on in misc modes
    (e.g. Normal / Command-Line mode) when <C-C> is not mapped. In this
    mode, Ctrl-C has special behavior and is hard-coded (i.e. not
    remappable).
    
    There is an old bug in how MacVim handles Ctrl-C under this mode. It's
    trying to be smart and aggressively clears the input queue (even
    non-text-related ones) without adding anything to the input queue.
    Previously it kind of worked due to a coincidence in how Vim's GUI
    handled input logic, but it was fragile. The recent Vim refactor that
    changed Vim GUI's input handling broke this.
    
    Instead, don't do any of these smart input queue clearing and just do
    what Vim GUI code in other platforms does and call `trash_input_buf()`,
    set `set_int`, and then add the Ctrl-C to the input queue. MacVim still
    has `Cmd-.` for an aggressive interrupt in case Vim is hung (which
    shouldn't happen to begin with).
    
    Fix macvim-dev#846
    ychin committed Feb 18, 2019
    Configuration menu
    Copy the full SHA
    066dd1f View commit details
    Browse the repository at this point in the history