summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0523
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0523')
-rw-r--r--data/vim/patches/8.1.0523403
1 files changed, 0 insertions, 403 deletions
diff --git a/data/vim/patches/8.1.0523 b/data/vim/patches/8.1.0523
deleted file mode 100644
index 2c5ffa648..000000000
--- a/data/vim/patches/8.1.0523
+++ /dev/null
@@ -1,403 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.0523
-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.0523
-Problem: Opening window from quickfix leaves empty buffer behind.
-Solution: Add qf_jump_newwin(). (Yegappan Lakshmanan, closes #2574)
-Files: src/proto/quickfix.pro, src/quickfix.c,
- src/testdir/test_quickfix.vim
-
-
-*** ../vim-8.1.0522/src/proto/quickfix.pro 2018-10-20 20:53:58.143284832 +0200
---- src/proto/quickfix.pro 2018-11-11 22:45:31.145846186 +0100
-***************
-*** 4,9 ****
---- 4,10 ----
- void check_quickfix_busy(void);
- void copy_loclist_stack(win_T *from, win_T *to);
- void qf_jump(qf_info_T *qi, int dir, int errornr, int forceit);
-+ void qf_jump_newwin(qf_info_T *qi, int dir, int errornr, int forceit, int newwin);
- void qf_list(exarg_T *eap);
- void qf_age(exarg_T *eap);
- void qf_history(exarg_T *eap);
-*** ../vim-8.1.0522/src/quickfix.c 2018-10-28 14:36:04.222247691 +0100
---- src/quickfix.c 2018-11-11 22:46:08.525548009 +0100
-***************
-*** 2699,2713 ****
- }
-
- /*
-! * Find a help window or open one.
- */
- static int
-! jump_to_help_window(qf_info_T *qi, int *opened_window)
- {
- win_T *wp;
- int flags;
-
-! if (cmdmod.tab != 0)
- wp = NULL;
- else
- wp = qf_find_help_win();
---- 2699,2714 ----
- }
-
- /*
-! * Find a help window or open one. If 'newwin' is TRUE, then open a new help
-! * window.
- */
- static int
-! jump_to_help_window(qf_info_T *qi, int newwin, int *opened_window)
- {
- win_T *wp;
- int flags;
-
-! if (cmdmod.tab != 0 || newwin)
- wp = NULL;
- else
- wp = qf_find_help_win();
-***************
-*** 2721,2728 ****
- if (cmdmod.split == 0 && curwin->w_width != Columns
- && curwin->w_width < 80)
- flags |= WSP_TOP;
-! if (IS_LL_STACK(qi))
-! flags |= WSP_NEWLOC; // don't copy the location list
-
- if (win_split(0, flags) == FAIL)
- return FAIL;
---- 2722,2731 ----
- if (cmdmod.split == 0 && curwin->w_width != Columns
- && curwin->w_width < 80)
- flags |= WSP_TOP;
-! // If the user asks to open a new window, then copy the location list.
-! // Otherwise, don't copy the location list.
-! if (IS_LL_STACK(qi) && !newwin)
-! flags |= WSP_NEWLOC;
-
- if (win_split(0, flags) == FAIL)
- return FAIL;
-***************
-*** 2732,2740 ****
- if (curwin->w_height < p_hh)
- win_setheight((int)p_hh);
-
-! if (IS_LL_STACK(qi)) // not a quickfix list
- {
-- // The new window should use the supplied location list
- curwin->w_llist = qi;
- qi->qf_refcount++;
- }
---- 2735,2745 ----
- if (curwin->w_height < p_hh)
- win_setheight((int)p_hh);
-
-! // When using location list, the new window should use the supplied
-! // location list. If the user asks to open a new window, then the new
-! // window will get a copy of the location list.
-! if (IS_LL_STACK(qi) && !newwin)
- {
- curwin->w_llist = qi;
- qi->qf_refcount++;
- }
-***************
-*** 2915,2934 ****
- /*
- * Find a suitable window for opening a file (qf_fnum) from the
- * quickfix/location list and jump to it. If the file is already opened in a
-! * window, jump to it. Otherwise open a new window to display the file. This is
-! * called from either a quickfix or a location list window.
- */
- static int
-! qf_jump_to_usable_window(int qf_fnum, int *opened_window)
- {
- win_T *usable_win_ptr = NULL;
- int usable_win;
-! qf_info_T *ll_ref;
- win_T *win;
-
- usable_win = 0;
-
-! ll_ref = curwin->w_llist_ref;
- if (ll_ref != NULL)
- {
- // Find a non-quickfix window with this location list
---- 2920,2945 ----
- /*
- * Find a suitable window for opening a file (qf_fnum) from the
- * quickfix/location list and jump to it. If the file is already opened in a
-! * window, jump to it. Otherwise open a new window to display the file. If
-! * 'newwin' is TRUE, then always open a new window. This is called from either
-! * a quickfix or a location list window.
- */
- static int
-! qf_jump_to_usable_window(int qf_fnum, int newwin, int *opened_window)
- {
- win_T *usable_win_ptr = NULL;
- int usable_win;
-! qf_info_T *ll_ref = NULL;
- win_T *win;
-
- usable_win = 0;
-
-! // If opening a new window, then don't use the location list referred by
-! // the current window. Otherwise two windows will refer to the same
-! // location list.
-! if (!newwin)
-! ll_ref = curwin->w_llist_ref;
-!
- if (ll_ref != NULL)
- {
- // Find a non-quickfix window with this location list
-***************
-*** 2952,2958 ****
-
- // If there is only one window and it is the quickfix window, create a
- // new one above the quickfix window.
-! if ((ONE_WINDOW && bt_quickfix(curbuf)) || !usable_win)
- {
- if (qf_open_new_file_win(ll_ref) != OK)
- return FAIL;
---- 2963,2969 ----
-
- // If there is only one window and it is the quickfix window, create a
- // new one above the quickfix window.
-! if ((ONE_WINDOW && bt_quickfix(curbuf)) || !usable_win || newwin)
- {
- if (qf_open_new_file_win(ll_ref) != OK)
- return FAIL;
-***************
-*** 3146,3162 ****
-
- /*
- * Find a usable window for opening a file from the quickfix/location list. If
-! * a window is not found then open a new window.
- * Returns OK if successfully jumped or opened a window. Returns FAIL if not
- * able to jump/open a window. Returns NOTDONE if a file is not associated
- * with the entry.
- */
- static int
-! qf_jump_open_window(qf_info_T *qi, qfline_T *qf_ptr, int *opened_window)
- {
- // For ":helpgrep" find a help window or open one.
- if (qf_ptr->qf_type == 1 && (!bt_help(curwin->w_buffer) || cmdmod.tab != 0))
-! if (jump_to_help_window(qi, opened_window) == FAIL)
- return FAIL;
-
- // If currently in the quickfix window, find another window to show the
---- 3157,3178 ----
-
- /*
- * Find a usable window for opening a file from the quickfix/location list. If
-! * a window is not found then open a new window. If 'newwin' is TRUE, then open
-! * a new window.
- * Returns OK if successfully jumped or opened a window. Returns FAIL if not
- * able to jump/open a window. Returns NOTDONE if a file is not associated
- * with the entry.
- */
- static int
-! qf_jump_open_window(
-! qf_info_T *qi,
-! qfline_T *qf_ptr,
-! int newwin,
-! int *opened_window)
- {
- // For ":helpgrep" find a help window or open one.
- if (qf_ptr->qf_type == 1 && (!bt_help(curwin->w_buffer) || cmdmod.tab != 0))
-! if (jump_to_help_window(qi, newwin, opened_window) == FAIL)
- return FAIL;
-
- // If currently in the quickfix window, find another window to show the
-***************
-*** 3168,3174 ****
- if (qf_ptr->qf_fnum == 0)
- return NOTDONE;
-
-! if (qf_jump_to_usable_window(qf_ptr->qf_fnum, opened_window) == FAIL)
- return FAIL;
- }
-
---- 3184,3191 ----
- if (qf_ptr->qf_fnum == 0)
- return NOTDONE;
-
-! if (qf_jump_to_usable_window(qf_ptr->qf_fnum, newwin,
-! opened_window) == FAIL)
- return FAIL;
- }
-
-***************
-*** 3229,3241 ****
- }
-
- /*
-! * jump to a quickfix line
-! * if dir == FORWARD go "errornr" valid entries forward
-! * if dir == BACKWARD go "errornr" valid entries backward
-! * if dir == FORWARD_FILE go "errornr" valid entries files backward
-! * if dir == BACKWARD_FILE go "errornr" valid entries files backward
- * else if "errornr" is zero, redisplay the same line
-! * else go to entry "errornr"
- */
- void
- qf_jump(qf_info_T *qi,
---- 3246,3258 ----
- }
-
- /*
-! * Jump to a quickfix line.
-! * If dir == FORWARD go "errornr" valid entries forward.
-! * If dir == BACKWARD go "errornr" valid entries backward.
-! * If dir == FORWARD_FILE go "errornr" valid entries files backward.
-! * If dir == BACKWARD_FILE go "errornr" valid entries files backward
- * else if "errornr" is zero, redisplay the same line
-! * else go to entry "errornr".
- */
- void
- qf_jump(qf_info_T *qi,
-***************
-*** 3243,3248 ****
---- 3260,3279 ----
- int errornr,
- int forceit)
- {
-+ qf_jump_newwin(qi, dir, errornr, forceit, FALSE);
-+ }
-+
-+ /*
-+ * As qf_info().
-+ * If 'newwin' is TRUE, then open the file in a new window.
-+ */
-+ void
-+ qf_jump_newwin(qf_info_T *qi,
-+ int dir,
-+ int errornr,
-+ int forceit,
-+ int newwin)
-+ {
- qf_list_T *qfl;
- qfline_T *qf_ptr;
- qfline_T *old_qf_ptr;
-***************
-*** 3288,3294 ****
- // window
- print_message = FALSE;
-
-! retval = qf_jump_open_window(qi, qf_ptr, &opened_window);
- if (retval == FAIL)
- goto failed;
- if (retval == NOTDONE)
---- 3319,3325 ----
- // window
- print_message = FALSE;
-
-! retval = qf_jump_open_window(qi, qf_ptr, newwin, &opened_window);
- if (retval == FAIL)
- goto failed;
- if (retval == NOTDONE)
-***************
-*** 3824,3836 ****
-
- if (split)
- {
-! char_u cmd[32];
-!
-! vim_snprintf((char *)cmd, sizeof(cmd), "split +%ld%s",
-! (long)curwin->w_cursor.lnum,
-! IS_LL_WINDOW(curwin) ? "ll" : "cc");
-! if (do_cmdline_cmd(cmd) == OK)
-! do_cmdline_cmd((char_u *) "clearjumps");
- return;
- }
-
---- 3855,3863 ----
-
- if (split)
- {
-! // Open the selected entry in a new window
-! qf_jump_newwin(qi, 0, (long)curwin->w_cursor.lnum, FALSE, TRUE);
-! do_cmdline_cmd((char_u *) "clearjumps");
- return;
- }
-
-*** ../vim-8.1.0522/src/testdir/test_quickfix.vim 2018-10-28 14:36:04.222247691 +0100
---- src/testdir/test_quickfix.vim 2018-11-11 22:46:08.525548009 +0100
-***************
-*** 3718,3720 ****
---- 3718,3766 ----
- call assert_equal(getcurpos()[4], virtcol('.'))
- cclose | helpclose
- endfunc
-+
-+ " Test for opening a file from the quickfix window using CTRL-W <Enter>
-+ " doesn't leave an empty buffer around.
-+ func Test_splitview()
-+ call s:create_test_file('Xtestfile1')
-+ call s:create_test_file('Xtestfile2')
-+ new | only
-+ let last_bufnr = bufnr('Test_sv_1', 1)
-+ let l = ['Xtestfile1:2:Line2', 'Xtestfile2:4:Line4']
-+ cgetexpr l
-+ copen
-+ let numbufs = len(getbufinfo())
-+ exe "normal \<C-W>\<CR>"
-+ copen
-+ exe "normal j\<C-W>\<CR>"
-+ " Make sure new empty buffers are not created
-+ call assert_equal(numbufs, len(getbufinfo()))
-+ " Creating a new buffer should use the next available buffer number
-+ call assert_equal(last_bufnr + 4, bufnr("Test_sv_2", 1))
-+ bwipe Test_sv_1
-+ bwipe Test_sv_2
-+ new | only
-+
-+ " When split opening files from location list window, make sure that two
-+ " windows doesn't refer to the same location list
-+ lgetexpr l
-+ let locid = getloclist(0, {'id' : 0}).id
-+ lopen
-+ exe "normal \<C-W>\<CR>"
-+ call assert_notequal(locid, getloclist(0, {'id' : 0}).id)
-+ call assert_equal(0, getloclist(0, {'winid' : 0}).winid)
-+ new | only
-+
-+ " When split opening files from a helpgrep location list window, a new help
-+ " window should be opend with a copy of the location list.
-+ lhelpgrep window
-+ let locid = getloclist(0, {'id' : 0}).id
-+ lwindow
-+ exe "normal j\<C-W>\<CR>"
-+ call assert_notequal(locid, getloclist(0, {'id' : 0}).id)
-+ call assert_equal(0, getloclist(0, {'winid' : 0}).winid)
-+ new | only
-+
-+ call delete('Xtestfile1')
-+ call delete('Xtestfile2')
-+ endfunc
-*** ../vim-8.1.0522/src/version.c 2018-11-11 22:18:17.214948188 +0100
---- src/version.c 2018-11-11 22:49:25.382976159 +0100
-***************
-*** 794,795 ****
---- 794,797 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 523,
- /**/
-
---
-ARTHUR: Bloody peasant!
-DENNIS: Oh, what a give away. Did you hear that, did you hear that, eh?
- That's what I'm on about -- did you see him repressing me, you saw it
- didn't you?
- The Quest for the Holy Grail (Monty Python)
-
- /// 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 ///