Patch 7.4.1956
Problem: When using CTRL-W f and pressing "q" at the ATTENTION dialog the
newly opened window is not closed.
Solution: Close the window and go back to the original one. (Norio Takagi,
Hirohito Higashi)
Files: src/window.c, src/testdir/test_window_cmd.vim
*** ../vim-7.4.1955/src/window.c 2016-06-04 18:49:15.374070040 +0200
--- src/window.c 2016-06-26 17:06:39.447992143 +0200
***************
*** 475,480 ****
--- 475,482 ----
ptr = grab_file_name(Prenum1, &lnum);
if (ptr != NULL)
{
+ tabpage_T *oldtab = curtab;
+ win_T *oldwin = curwin;
# ifdef FEAT_GUI
need_mouse_correct = TRUE;
# endif
***************
*** 482,490 ****
if (win_split(0, 0) == OK)
{
RESET_BINDING(curwin);
! (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL,
! ECMD_HIDE, NULL);
! if (nchar == 'F' && lnum >= 0)
{
curwin->w_cursor.lnum = lnum;
check_cursor_lnum();
--- 484,498 ----
if (win_split(0, 0) == OK)
{
RESET_BINDING(curwin);
! if (do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL,
! ECMD_HIDE, NULL) == FAIL)
! {
! /* Failed to open the file, close the window
! * opened for it. */
! win_close(curwin, FALSE);
! goto_tabpage_win(oldtab, oldwin);
! }
! else if (nchar == 'F' && lnum >= 0)
{
curwin->w_cursor.lnum = lnum;
check_cursor_lnum();
*** ../vim-7.4.1955/src/testdir/test_window_cmd.vim 2016-05-24
11:31:10.523505120 +0200
--- src/testdir/test_window_cmd.vim 2016-06-26 17:03:42.087114877 +0200
***************
*** 34,37 ****
--- 34,70 ----
set ls&vim
endfunc
+ function Test_window_cmd_wincmd_gf()
+ let fname = 'test_gf.txt'
+ let swp_fname = '.' . fname . '.swp'
+ call writefile([], fname)
+ call writefile([], swp_fname)
+ function s:swap_exists()
+ let v:swapchoice = s:swap_choice
+ endfunc
+ augroup test_window_cmd_wincmd_gf
+ autocmd!
+ exec "autocmd SwapExists " . fname . " call s:swap_exists()"
+ augroup END
+
+ call setline(1, fname)
+ " (E)dit anyway
+ let s:swap_choice = 'e'
+ wincmd gf
+ call assert_equal(2, tabpagenr())
+ call assert_equal(fname, bufname("%"))
+ quit!
+
+ " (Q)uit
+ let s:swap_choice = 'q'
+ wincmd gf
+ call assert_equal(1, tabpagenr())
+ call assert_notequal(fname, bufname("%"))
+ new | only!
+
+ call delete(fname)
+ call delete(swp_fname)
+ augroup! test_window_cmd_wincmd_gf
+ endfunc
+
" vim: sw=2 et
*** ../vim-7.4.1955/src/version.c 2016-06-26 16:44:19.519620863 +0200
--- src/version.c 2016-06-26 17:08:34.057972892 +0200
***************
*** 755,756 ****
--- 755,758 ----
{ /* Add new patch number below this line */
+ /**/
+ 1956,
/**/
--
In a world without fences, who needs Gates and Windows?
/// Bram Moolenaar -- [email protected] -- 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 ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.