Mercurial > vim
changeset 6162:e60327caf909 v7.4.417
updated for version 7.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.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Sun, 24 Aug 2014 21:39:49 +0200 |
parents | 81b36b9462f0 |
children | 6ff8e0d745af |
files | src/option.c src/proto/option.pro src/testdir/test_breakindent.in src/version.c |
diffstat | 4 files changed, 18 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/option.c +++ b/src/option.c @@ -3097,6 +3097,9 @@ static void fill_breakat_flags __ARGS((v 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 /* '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, * 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; }
--- a/src/proto/option.pro +++ b/src/proto/option.pro @@ -62,5 +62,4 @@ int check_ff_value __ARGS((char_u *p)); long get_sw_value __ARGS((buf_T *buf)); long get_sts_value __ARGS((void)); void find_mps_values __ARGS((int *initc, int *findc, int *backwards, int switchit)); -int briopt_check __ARGS((void)); /* vim: set ft=c : */