# HG changeset patch # User Christian Brabandt # Date 1440516025 -7200 # Node ID e668b160ac68f94dd52331c97aeb2316e550a660 # Parent 999d9509e6af80efb36353123d76d934f3a809fc commit https://github.com/vim/vim/commit/b341dda575899458f7075614dcedf0a80ee9d080 Author: Bram Moolenaar Date: Tue Aug 25 12:56:31 2015 +0200 patch 7.4.830 Problem: Resetting 'encoding' when doing ":set all&" causes problems. (Bjorn Linse) Display is not updated. Solution: Do not reset 'encoding'. Do a full redraw. diff --git a/src/option.c b/src/option.c --- a/src/option.c +++ b/src/option.c @@ -3656,6 +3656,7 @@ set_option_default(opt_idx, opt_flags, c /* * Set all options (except terminal options) to their default value. + * When "opt_flags" is non-zero skip 'encoding'. */ static void set_options_default(opt_flags) @@ -3668,7 +3669,8 @@ set_options_default(opt_flags) #endif for (i = 0; !istermoption(&options[i]); i++) - if (!(options[i].flags & P_NODEFAULT)) + if (!(options[i].flags & P_NODEFAULT) + && (opt_flags == 0 || options[i].var != (char_u *)&p_enc)) set_option_default(i, opt_flags, p_cp); #ifdef FEAT_WINDOWS @@ -4204,6 +4206,7 @@ do_set(arg, opt_flags) ++arg; /* Only for :set command set global value of local options. */ set_options_default(OPT_FREE | opt_flags); + redraw_all_later(CLEAR); } else { diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 830, +/**/ 829, /**/ 828,