Mercurial > vim
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 |