summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2009-03-04 03:13:35 +0000
committerBram Moolenaar <Bram@vim.org>2009-03-04 03:13:35 +0000
commitfab0623bcf60333f047f27b03ca05311eeb4485f (patch)
treeb49302d40403526de47266201efddb184846dc9b
parent76243bd847e0dad0d07ac1ad9f29f29343d990a0 (diff)
updated for version 7.2-131v7.2.131
-rw-r--r--src/option.c30
-rw-r--r--src/version.c2
2 files changed, 24 insertions, 8 deletions
diff --git a/src/option.c b/src/option.c
index 87497ea6a4..d3912f83b3 100644
--- a/src/option.c
+++ b/src/option.c
@@ -5797,14 +5797,28 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
/* load or unload key mapping tables */
errmsg = keymap_init();
- /* When successfully installed a new keymap switch on using it. */
- if (*curbuf->b_p_keymap != NUL && errmsg == NULL)
- {
- curbuf->b_p_iminsert = B_IMODE_LMAP;
- if (curbuf->b_p_imsearch != B_IMODE_USE_INSERT)
- curbuf->b_p_imsearch = B_IMODE_LMAP;
- set_iminsert_global();
- set_imsearch_global();
+ if (errmsg == NULL)
+ {
+ if (*curbuf->b_p_keymap != NUL)
+ {
+ /* Installed a new keymap, switch on using it. */
+ curbuf->b_p_iminsert = B_IMODE_LMAP;
+ if (curbuf->b_p_imsearch != B_IMODE_USE_INSERT)
+ curbuf->b_p_imsearch = B_IMODE_LMAP;
+ }
+ else
+ {
+ /* Cleared the keymap, may reset 'iminsert' and 'imsearch'. */
+ if (curbuf->b_p_iminsert == B_IMODE_LMAP)
+ curbuf->b_p_iminsert = B_IMODE_NONE;
+ if (curbuf->b_p_imsearch == B_IMODE_LMAP)
+ curbuf->b_p_imsearch = B_IMODE_USE_INSERT;
+ }
+ if ((opt_flags & OPT_LOCAL) == 0)
+ {
+ set_iminsert_global();
+ set_imsearch_global();
+ }
# ifdef FEAT_WINDOWS
status_redraw_curbuf();
# endif
diff --git a/src/version.c b/src/version.c
index b002278187..a8783b9cee 100644
--- a/src/version.c
+++ b/src/version.c
@@ -677,6 +677,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 131,
+/**/
130,
/**/
129,