summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.2.370
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.2.370')
-rw-r--r--source/ap/vim/patches/7.2.370156
1 files changed, 156 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.2.370 b/source/ap/vim/patches/7.2.370
new file mode 100644
index 000000000..3e8457e0c
--- /dev/null
+++ b/source/ap/vim/patches/7.2.370
@@ -0,0 +1,156 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.370
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.370 (after 7.2.356)
+Problem: A redraw may cause folds to be closed.
+Solution: Revert part of the previous patch. Add a test. (Lech Lorens)
+Files: src/diff.c, src/fold.c, src/option.c, src/testdir/test45.in,
+ src/testdir/test45.ok
+
+
+*** ../vim-7.2.369/src/diff.c 2009-07-22 16:22:33.000000000 +0200
+--- src/diff.c 2010-02-24 14:31:12.000000000 +0100
+***************
+*** 1117,1142 ****
+ win_T *wp;
+ int addbuf; /* Add buffer to diff. */
+ {
+ wp->w_p_diff = TRUE;
+ wp->w_p_scb = TRUE;
+ wp->w_p_wrap = FALSE;
+ # ifdef FEAT_FOLDING
+! {
+! win_T *old_curwin = curwin;
+!
+! curwin = wp;
+! curbuf = curwin->w_buffer;
+! set_string_option_direct((char_u *)"fdm", -1, (char_u *)"diff",
+ OPT_LOCAL|OPT_FREE, 0);
+! curwin = old_curwin;
+! curbuf = curwin->w_buffer;
+! wp->w_p_fdc = diff_foldcolumn;
+! wp->w_p_fen = TRUE;
+! wp->w_p_fdl = 0;
+! foldUpdateAll(wp);
+! /* make sure topline is not halfway a fold */
+! changed_window_setting_win(wp);
+! }
+ # endif
+ #ifdef FEAT_SCROLLBIND
+ if (vim_strchr(p_sbo, 'h') == NULL)
+--- 1117,1147 ----
+ win_T *wp;
+ int addbuf; /* Add buffer to diff. */
+ {
++ # ifdef FEAT_FOLDING
++ win_T *old_curwin = curwin;
++
++ /* close the manually opened folds */
++ curwin = wp;
++ newFoldLevel();
++ curwin = old_curwin;
++ # endif
++
+ wp->w_p_diff = TRUE;
+ wp->w_p_scb = TRUE;
+ wp->w_p_wrap = FALSE;
+ # ifdef FEAT_FOLDING
+! curwin = wp;
+! curbuf = curwin->w_buffer;
+! set_string_option_direct((char_u *)"fdm", -1, (char_u *)"diff",
+ OPT_LOCAL|OPT_FREE, 0);
+! curwin = old_curwin;
+! curbuf = curwin->w_buffer;
+! wp->w_p_fdc = diff_foldcolumn;
+! wp->w_p_fen = TRUE;
+! wp->w_p_fdl = 0;
+! foldUpdateAll(wp);
+! /* make sure topline is not halfway a fold */
+! changed_window_setting_win(wp);
+ # endif
+ #ifdef FEAT_SCROLLBIND
+ if (vim_strchr(p_sbo, 'h') == NULL)
+*** ../vim-7.2.369/src/fold.c 2010-02-03 18:14:41.000000000 +0100
+--- src/fold.c 2010-02-24 13:09:04.000000000 +0100
+***************
+*** 854,865 ****
+ && fp->fd_top < bot)
+ {
+ fp->fd_small = MAYBE;
+-
+- /* Not sure if this is the right place to reset fd_flags (suggested by
+- * Lech Lorens). */
+- if (wp->w_foldinvalid)
+- fp->fd_flags = FD_LEVEL;
+-
+ ++fp;
+ }
+
+--- 854,859 ----
+*** ../vim-7.2.369/src/option.c 2010-02-11 17:02:04.000000000 +0100
+--- src/option.c 2010-02-24 13:09:44.000000000 +0100
+***************
+*** 6586,6592 ****
+--- 6586,6596 ----
+ || *curwin->w_p_fdm == NUL)
+ errmsg = e_invarg;
+ else
++ {
+ foldUpdateAll(curwin);
++ if (foldmethodIsDiff(curwin))
++ newFoldLevel();
++ }
+ }
+ # ifdef FEAT_EVAL
+ /* 'foldexpr' */
+*** ../vim-7.2.369/src/testdir/test45.in 2009-11-03 14:46:35.000000000 +0100
+--- src/testdir/test45.in 2010-02-24 13:02:39.000000000 +0100
+***************
+*** 36,41 ****
+--- 36,43 ----
+ k:call append("$", getline("."))
+ jAcommentstart Acommentend:set fdl=1
+ 3j:call append("$", getline("."))
++ :set fdl=0
++ zO j:call append("$", getline("."))
+ :" test expression folding
+ :fun Flvl()
+ let l = getline(v:lnum)
+*** ../vim-7.2.369/src/testdir/test45.ok 2009-11-03 14:46:35.000000000 +0100
+--- src/testdir/test45.ok 2010-02-24 12:58:55.000000000 +0100
+***************
+*** 11,16 ****
+--- 11,17 ----
+ folding 9 ii
+ 3 cc
+ 7 gg
++ 8 hh
+ expr 2
+ 1
+ 2
+*** ../vim-7.2.369/src/version.c 2010-02-24 13:59:09.000000000 +0100
+--- src/version.c 2010-02-24 14:28:20.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+ { /* Add new patch number below this line */
++ /**/
++ 370,
+ /**/
+
+--
+MAN: Fetchez la vache!
+GUARD: Quoi?
+MAN: Fetchez la vache!
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///