diff options
author | Bram Moolenaar <Bram@vim.org> | 2014-08-24 21:39:49 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2014-08-24 21:39:49 +0200 |
commit | 285ed7e049dc50c61672fb835752643bd01ed1ca (patch) | |
tree | 8bde91ff61712a04fcef9c3766f192206c2cdac2 /src/option.c | |
parent | 95765089755c57d0d73252d4673c9d2deee337ff (diff) | |
download | vim-git-285ed7e049dc50c61672fb835752643bd01ed1ca.tar.gz |
updated for version 7.4.417v7.4.417
Problem: After splitting a window and setting 'breakindent' the default
minimum with is not respected.
Solution: Call briopt_check() when copying options to a new window.
Diffstat (limited to 'src/option.c')
-rw-r--r-- | src/option.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/option.c b/src/option.c index f928b3ba9..855539b58 100644 --- a/src/option.c +++ b/src/option.c @@ -3097,6 +3097,9 @@ static void fill_breakat_flags __ARGS((void)); static int opt_strings_flags __ARGS((char_u *val, char **values, unsigned *flagp, int list)); static int check_opt_strings __ARGS((char_u *val, char **values, int)); static int check_opt_wim __ARGS((void)); +#ifdef FEAT_LINEBREAK +static int briopt_check __ARGS((win_T *wp)); +#endif /* * Initialize the options, first part. @@ -5289,7 +5292,7 @@ didset_options() (void)check_cedit(); #endif #ifdef FEAT_LINEBREAK - briopt_check(); + briopt_check(curwin); #endif } @@ -5748,7 +5751,7 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf, /* 'breakindentopt' */ else if (varp == &curwin->w_p_briopt) { - if (briopt_check() == FAIL) + if (briopt_check(curwin) == FAIL) errmsg = e_invarg; } #endif @@ -10232,6 +10235,9 @@ win_copy_options(wp_from, wp_to) wp_to->w_farsi = wp_from->w_farsi; # endif # endif +#if defined(FEAT_LINEBREAK) + briopt_check(wp_to); +#endif } #endif @@ -12002,15 +12008,16 @@ find_mps_values(initc, findc, backwards, switchit) * This is called when 'breakindentopt' is changed and when a window is * initialized. */ - int -briopt_check() + static int +briopt_check(wp) + win_T *wp; { char_u *p; int bri_shift = 0; long bri_min = 20; int bri_sbr = FALSE; - p = curwin->w_p_briopt; + p = wp->w_p_briopt; while (*p != NUL) { if (STRNCMP(p, "shift:", 6) == 0 @@ -12035,9 +12042,9 @@ briopt_check() ++p; } - curwin->w_p_brishift = bri_shift; - curwin->w_p_brimin = bri_min; - curwin->w_p_brisbr = bri_sbr; + wp->w_p_brishift = bri_shift; + wp->w_p_brimin = bri_min; + wp->w_p_brisbr = bri_sbr; return OK; } |