summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0630
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0630')
-rw-r--r--data/vim/patches/8.1.0630124
1 files changed, 124 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0630 b/data/vim/patches/8.1.0630
new file mode 100644
index 000000000..8cc1e92e9
--- /dev/null
+++ b/data/vim/patches/8.1.0630
@@ -0,0 +1,124 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0630
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.1.0630
+Problem: "wincmd p" does not work after using an autocmd window.
+Solution: Store "prevwin" in aco_save_T. (Christian Brabandt, closes #3690)
+Files: src/fileio.c, src/structs.h, src/testdir/test_window_cmd.vim
+
+
+*** ../vim-8.1.0629/src/fileio.c 2018-11-16 16:21:01.629310081 +0100
+--- src/fileio.c 2018-12-23 23:53:39.133259452 +0100
+***************
+*** 9017,9022 ****
+--- 9017,9023 ----
+
+ aco->save_curwin = curwin;
+ aco->save_curbuf = curbuf;
++ aco->save_prevwin = prevwin;
+ if (win != NULL)
+ {
+ /* There is a window for "buf" in the current tab page, make it the
+***************
+*** 9127,9132 ****
+--- 9128,9135 ----
+ else
+ /* Hmm, original window disappeared. Just use the first one. */
+ curwin = firstwin;
++ if (win_valid(aco->save_prevwin))
++ prevwin = aco->save_prevwin;
+ #ifdef FEAT_EVAL
+ vars_clear(&aucmd_win->w_vars->dv_hashtab); /* free all w: variables */
+ hash_init(&aucmd_win->w_vars->dv_hashtab); /* re-use the hashtab */
+***************
+*** 9177,9182 ****
+--- 9180,9187 ----
+
+ curwin = aco->save_curwin;
+ curbuf = curwin->w_buffer;
++ if (win_valid(aco->save_prevwin))
++ prevwin = aco->save_prevwin;
+ /* In case the autocommand move the cursor to a position that that
+ * not exist in curbuf. */
+ check_cursor();
+*** ../vim-8.1.0629/src/structs.h 2018-12-21 15:16:57.483579762 +0100
+--- src/structs.h 2018-12-23 23:54:09.861011969 +0100
+***************
+*** 3252,3257 ****
+--- 3252,3258 ----
+ int use_aucmd_win; /* using aucmd_win */
+ win_T *save_curwin; /* saved curwin */
+ win_T *new_curwin; /* new curwin */
++ win_T *save_prevwin; /* saved prevwin */
+ bufref_T new_curbuf; /* new curbuf */
+ char_u *globaldir; /* saved value of globaldir */
+ } aco_save_T;
+*** ../vim-8.1.0629/src/testdir/test_window_cmd.vim 2018-11-10 20:47:43.394262832 +0100
+--- src/testdir/test_window_cmd.vim 2018-12-23 23:51:10.570457916 +0100
+***************
+*** 578,581 ****
+--- 578,618 ----
+ only
+ endfunc
+
++ function! Fun_RenewFile()
++ sleep 2
++ silent execute '!echo "1" > tmp.txt'
++ sp
++ wincmd p
++ edit! tmp.txt
++ endfunction
++
++ func Test_window_prevwin()
++ " Can we make this work on MS-Windows?
++ if !has('unix')
++ return
++ endif
++
++ set hidden autoread
++ call writefile(['2'], 'tmp.txt')
++ new tmp.txt
++ q
++ " Need to wait a bit for the timestamp to be older.
++ call Fun_RenewFile()
++ call assert_equal(2, winnr())
++ wincmd p
++ call assert_equal(1, winnr())
++ wincmd p
++ q
++ call Fun_RenewFile()
++ call assert_equal(2, winnr())
++ wincmd p
++ call assert_equal(1, winnr())
++ wincmd p
++ " reset
++ q
++ call delete('tmp.txt')
++ set hidden&vim autoread&vim
++ delfunc Fun_RenewFile
++ endfunc
++
+ " vim: shiftwidth=2 sts=2 expandtab
+*** ../vim-8.1.0629/src/version.c 2018-12-23 19:10:05.014359877 +0100
+--- src/version.c 2018-12-23 19:59:59.298394002 +0100
+***************
+*** 801,802 ****
+--- 801,804 ----
+ { /* Add new patch number below this line */
++ /**/
++ 630,
+ /**/
+
+--
+Never overestimate a man's ability to underestimate a woman.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///