diff options
author | Bram Moolenaar <bram@vim.org> | 2011-10-12 16:57:13 +0200 |
---|---|---|
committer | Bram Moolenaar <bram@vim.org> | 2011-10-12 16:57:13 +0200 |
commit | 18aa35ff89b1cc338cd55796de8d0205effbee05 (patch) | |
tree | 03c5184e853d3bd21d5b2624e9dffff9b0e4b8b8 | |
parent | 0f79a8366725cd309fcc80a093135d148b920c39 (diff) | |
download | vim-18aa35ff89b1cc338cd55796de8d0205effbee05.tar.gz |
Problem: When 'imdisable' is reset from an autocommand in Insert mode it
doesn't take effect.
Solution: Call im_set_active() in Insert mode. (Taro Muraoka)
-rw-r--r-- | src/option.c | 4 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/option.c b/src/option.c index 977d8380..f76b0f9e 100644 --- a/src/option.c +++ b/src/option.c @@ -7806,6 +7806,10 @@ set_bool_option(opt_idx, varp, value, opt_flags) /* Only de-activate it here, it will be enabled when changing mode. */ if (p_imdisable) im_set_active(FALSE); + else if (State & INSERT) + /* When the option is set from an autocommand, it may need to take + * effect right away. */ + im_set_active(curbuf->b_p_iminsert == B_IMODE_IM); } #endif diff --git a/src/version.c b/src/version.c index f63a9088..15d461f4 100644 --- a/src/version.c +++ b/src/version.c @@ -710,6 +710,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 335, +/**/ 334, /**/ 333, |