From 0158539c77eec5cba2622bb929e32c84646866dc Mon Sep 17 00:00:00 2001 From: Florian Walch Date: Tue, 23 Dec 2014 12:18:46 +0100 Subject: [PATCH 1/4] vim-patch:7.4.468 Problem: Issue 26: CTRL-C does not interrupt after it was mapped and then unmapped. Solution: Reset mapped_ctrl_c. (Christian Brabandt) https://code.google.com/p/vim/source/detail?r=v7-4-468 --- src/nvim/getchar.c | 8 ++++++-- src/nvim/version.c | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c index 1d648cb9e9..882d30388c 100644 --- a/src/nvim/getchar.c +++ b/src/nvim/getchar.c @@ -2980,8 +2980,12 @@ do_map ( } if (maptype == 1) { /* delete entry */ - if (!did_it) + if (!did_it) { retval = 2; /* no match */ + } else if (*keys == Ctrl_C) { + /* If CTRL-C has been unmapped, reuse it for Interrupting. */ + mapped_ctrl_c = FALSE; + } goto theend; } @@ -3005,7 +3009,7 @@ do_map ( */ mp = xmalloc(sizeof(mapblock_T)); - /* If CTRL-C has been mapped, don't always use it for Interrupting */ + /* If CTRL-C has been mapped, don't always use it for Interrupting. */ if (*keys == Ctrl_C) mapped_ctrl_c = TRUE; diff --git a/src/nvim/version.c b/src/nvim/version.c index cd11dfe1d0..dade047d0a 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -270,7 +270,7 @@ static int included_patches[] = { //471 NA 470, //469 NA - //468, + 468, 467, //465 NA //464 NA From 2fefb5e7d343f21cfc64f299b032a679fbd27ef9 Mon Sep 17 00:00:00 2001 From: Florian Walch Date: Tue, 23 Dec 2014 12:14:01 +0100 Subject: [PATCH 2/4] vim-patch:7.4.458 Problem: Issue 252: Cursor moves in a zero-height window. Solution: Check for zero height. (idea by Christian Brabandt) https://code.google.com/p/vim/source/detail?r=v7-4-458 --- src/nvim/move.c | 9 +++++++++ src/nvim/version.c | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/nvim/move.c b/src/nvim/move.c index 95b961e52c..40f301e595 100644 --- a/src/nvim/move.c +++ b/src/nvim/move.c @@ -146,6 +146,15 @@ void update_topline(void) if (!screen_valid(TRUE)) return; + // If the window height is zero, just use the cursor line. + if (curwin->w_height == 0) { + curwin->w_topline = curwin->w_cursor.lnum; + curwin->w_botline = curwin->w_topline; + curwin->w_valid |= VALID_BOTLINE|VALID_BOTLINE_AP; + curwin->w_scbind_pos = 1; + return; + } + check_cursor_moved(curwin); if (curwin->w_valid & VALID_TOPLINE) return; diff --git a/src/nvim/version.c b/src/nvim/version.c index dade047d0a..030e1ba514 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -279,7 +279,7 @@ static int included_patches[] = { //461 NA //460 NA //459 NA - //458, + 458, 457, 456, 455, From 2b9f11ac64a04aa10b4bd2619dbd4dab8b9abbf9 Mon Sep 17 00:00:00 2001 From: Florian Walch Date: Tue, 23 Dec 2014 11:20:55 +0100 Subject: [PATCH 3/4] vim-patch:7.4.441 Problem: Endless loop and other problems when 'cedit' is set to CTRL-C. Solution: Do not call ex_window() when ex_normal_busy or got_int was set. (Yasuhiro Matsumoto) https://code.google.com/p/vim/source/detail?r=v7-4-441 --- src/nvim/ex_getln.c | 12 +++++++----- src/nvim/version.c | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index a19cb36d12..3ce8263457 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -627,11 +627,13 @@ getcmdline ( } if (c == cedit_key || c == K_CMDWIN) { - /* - * Open a window to edit the command line (and history). - */ - c = ex_window(); - some_key_typed = TRUE; + if (ex_normal_busy == 0 && got_int == FALSE) { + /* + * Open a window to edit the command line (and history). + */ + c = ex_window(); + some_key_typed = TRUE; + } } else c = do_digraph(c); diff --git a/src/nvim/version.c b/src/nvim/version.c index 030e1ba514..e75139eab1 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -296,7 +296,7 @@ static int included_patches[] = { 444, //443, 442, - //441, + 441, 440, 439, //438, From 1f73d7cb85a48a650a00b18a7f987954209a4d52 Mon Sep 17 00:00:00 2001 From: Florian Walch Date: Tue, 23 Dec 2014 11:18:35 +0100 Subject: [PATCH 4/4] vim-patch:7.4.438 Problem: Cached values for 'cino' not reset for ":set all&". Solution: Call parse_cino(). (Yukihiro Nakadaira) https://code.google.com/p/vim/source/detail?r=v7-4-438 --- src/nvim/option.c | 2 ++ src/nvim/version.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/nvim/option.c b/src/nvim/option.c index afe678aae2..1bab0da79a 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -2202,6 +2202,8 @@ set_options_default ( FOR_ALL_TAB_WINDOWS(tp, wp) { win_comp_scroll(wp); } + + parse_cino(curbuf); } /// Set the Vi-default value of a string option. diff --git a/src/nvim/version.c b/src/nvim/version.c index e75139eab1..c3c41673ae 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -299,7 +299,7 @@ static int included_patches[] = { 441, 440, 439, - //438, + 438, 437, 436, 435,