comparison src/diff.c @ 2086:c11845a465ae v7.2.370

updated for version 7.2.370 Problem: A redraw may cause folds to be closed. Solution: Revert part of the previous patch. Add a test. (Lech Lorens)
author Bram Moolenaar <bram@zimbu.org>
date Wed, 24 Feb 2010 14:34:19 +0100
parents fe26299d6f70
children 1bac28a53fae
comparison
equal deleted inserted replaced
2085:5a84b6388a55 2086:c11845a465ae
1115 void 1115 void
1116 diff_win_options(wp, addbuf) 1116 diff_win_options(wp, addbuf)
1117 win_T *wp; 1117 win_T *wp;
1118 int addbuf; /* Add buffer to diff. */ 1118 int addbuf; /* Add buffer to diff. */
1119 { 1119 {
1120 # ifdef FEAT_FOLDING
1121 win_T *old_curwin = curwin;
1122
1123 /* close the manually opened folds */
1124 curwin = wp;
1125 newFoldLevel();
1126 curwin = old_curwin;
1127 # endif
1128
1120 wp->w_p_diff = TRUE; 1129 wp->w_p_diff = TRUE;
1121 wp->w_p_scb = TRUE; 1130 wp->w_p_scb = TRUE;
1122 wp->w_p_wrap = FALSE; 1131 wp->w_p_wrap = FALSE;
1123 # ifdef FEAT_FOLDING 1132 # ifdef FEAT_FOLDING
1124 { 1133 curwin = wp;
1125 win_T *old_curwin = curwin; 1134 curbuf = curwin->w_buffer;
1126 1135 set_string_option_direct((char_u *)"fdm", -1, (char_u *)"diff",
1127 curwin = wp;
1128 curbuf = curwin->w_buffer;
1129 set_string_option_direct((char_u *)"fdm", -1, (char_u *)"diff",
1130 OPT_LOCAL|OPT_FREE, 0); 1136 OPT_LOCAL|OPT_FREE, 0);
1131 curwin = old_curwin; 1137 curwin = old_curwin;
1132 curbuf = curwin->w_buffer; 1138 curbuf = curwin->w_buffer;
1133 wp->w_p_fdc = diff_foldcolumn; 1139 wp->w_p_fdc = diff_foldcolumn;
1134 wp->w_p_fen = TRUE; 1140 wp->w_p_fen = TRUE;
1135 wp->w_p_fdl = 0; 1141 wp->w_p_fdl = 0;
1136 foldUpdateAll(wp); 1142 foldUpdateAll(wp);
1137 /* make sure topline is not halfway a fold */ 1143 /* make sure topline is not halfway a fold */
1138 changed_window_setting_win(wp); 1144 changed_window_setting_win(wp);
1139 }
1140 # endif 1145 # endif
1141 #ifdef FEAT_SCROLLBIND 1146 #ifdef FEAT_SCROLLBIND
1142 if (vim_strchr(p_sbo, 'h') == NULL) 1147 if (vim_strchr(p_sbo, 'h') == NULL)
1143 do_cmdline_cmd((char_u *)"set sbo+=hor"); 1148 do_cmdline_cmd((char_u *)"set sbo+=hor");
1144 #endif 1149 #endif