diff options
Diffstat (limited to 'data/vim/patches/8.1.0410')
-rw-r--r-- | data/vim/patches/8.1.0410 | 307 |
1 files changed, 0 insertions, 307 deletions
diff --git a/data/vim/patches/8.1.0410 b/data/vim/patches/8.1.0410 deleted file mode 100644 index 0a1cac9e0..000000000 --- a/data/vim/patches/8.1.0410 +++ /dev/null @@ -1,307 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 8.1.0410 -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.0410 -Problem: The ex_copen() function is too long. -Solution: Refactor to split off two functions. (Yegappan Lakshmanan) -Files: src/quickfix.c - - -*** ../vim-8.1.0409/src/quickfix.c 2018-09-18 22:50:02.692936259 +0200 ---- src/quickfix.c 2018-09-19 21:54:26.509737127 +0200 -*************** -*** 3807,3812 **** ---- 3807,3918 ---- - } - - /* -+ * Goto a quickfix or location list window (if present). -+ * Returns OK if the window is found, FAIL otherwise. -+ */ -+ static int -+ qf_goto_cwindow(qf_info_T *qi, int resize, int sz, int vertsplit) -+ { -+ win_T *win; -+ -+ win = qf_find_win(qi); -+ if (win == NULL) -+ return FAIL; -+ -+ win_goto(win); -+ if (resize) -+ { -+ if (vertsplit) -+ { -+ if (sz != win->w_width) -+ win_setwidth(sz); -+ } -+ else if (sz != win->w_height) -+ win_setheight(sz); -+ } -+ -+ return OK; -+ } -+ -+ /* -+ * Open a new quickfix or location list window, load the quickfix buffer and -+ * set the appropriate options for the window. -+ * Returns FAIL if the window could not be opened. -+ */ -+ static int -+ qf_open_new_cwindow(qf_info_T *qi, int height) -+ { -+ buf_T *qf_buf; -+ win_T *oldwin = curwin; -+ tabpage_T *prevtab = curtab; -+ int flags = 0; -+ win_T *win; -+ -+ qf_buf = qf_find_buf(qi); -+ -+ // The current window becomes the previous window afterwards. -+ win = curwin; -+ -+ if (IS_QF_STACK(qi) && cmdmod.split == 0) -+ // Create the new quickfix window at the very bottom, except when -+ // :belowright or :aboveleft is used. -+ win_goto(lastwin); -+ // Default is to open the window below the current window -+ if (cmdmod.split == 0) -+ flags = WSP_BELOW; -+ flags |= WSP_NEWLOC; -+ if (win_split(height, flags) == FAIL) -+ return FAIL; // not enough room for window -+ RESET_BINDING(curwin); -+ -+ if (IS_LL_STACK(qi)) -+ { -+ // For the location list window, create a reference to the -+ // location list from the window 'win'. -+ curwin->w_llist_ref = win->w_llist; -+ win->w_llist->qf_refcount++; -+ } -+ -+ if (oldwin != curwin) -+ oldwin = NULL; // don't store info when in another window -+ if (qf_buf != NULL) -+ { -+ // Use the existing quickfix buffer -+ (void)do_ecmd(qf_buf->b_fnum, NULL, NULL, NULL, ECMD_ONE, -+ ECMD_HIDE + ECMD_OLDBUF, oldwin); -+ } -+ else -+ { -+ // Create a new quickfix buffer -+ (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, oldwin); -+ -+ // switch off 'swapfile' -+ set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL); -+ set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix", -+ OPT_LOCAL); -+ set_option_value((char_u *)"bh", 0L, (char_u *)"wipe", OPT_LOCAL); -+ RESET_BINDING(curwin); -+ #ifdef FEAT_DIFF -+ curwin->w_p_diff = FALSE; -+ #endif -+ #ifdef FEAT_FOLDING -+ set_option_value((char_u *)"fdm", 0L, (char_u *)"manual", -+ OPT_LOCAL); -+ #endif -+ } -+ -+ // Only set the height when still in the same tab page and there is no -+ // window to the side. -+ if (curtab == prevtab && curwin->w_width == Columns) -+ win_setheight(height); -+ curwin->w_p_wfh = TRUE; // set 'winfixheight' -+ if (win_valid(win)) -+ prevwin = win; -+ -+ return OK; -+ } -+ -+ /* - * ":copen": open a window that shows the list of errors. - * ":lopen": open a window that shows the location list. - */ -*************** -*** 3815,3824 **** - { - qf_info_T *qi = &ql_info; - int height; -! win_T *win; -! tabpage_T *prevtab = curtab; -! buf_T *qf_buf; -! win_T *oldwin = curwin; - - if (is_loclist_cmd(eap->cmdidx)) - { ---- 3921,3927 ---- - { - qf_info_T *qi = &ql_info; - int height; -! int status = FAIL; - - if (is_loclist_cmd(eap->cmdidx)) - { -*************** -*** 3835,3941 **** - else - height = QF_WINHEIGHT; - -! reset_VIsual_and_resel(); /* stop Visual mode */ - #ifdef FEAT_GUI - need_mouse_correct = TRUE; - #endif - -! /* -! * Find existing quickfix window, or open a new one. -! */ -! win = qf_find_win(qi); -! -! if (win != NULL && cmdmod.tab == 0) -! { -! win_goto(win); -! if (eap->addr_count != 0) -! { -! if (cmdmod.split & WSP_VERT) -! { -! if (height != win->w_width) -! win_setwidth(height); -! } -! else if (height != win->w_height) -! win_setheight(height); -! } -! } -! else -! { -! int flags = 0; -! -! qf_buf = qf_find_buf(qi); -! -! /* The current window becomes the previous window afterwards. */ -! win = curwin; -! -! if ((eap->cmdidx == CMD_copen || eap->cmdidx == CMD_cwindow) -! && cmdmod.split == 0) -! /* Create the new quickfix window at the very bottom, except when -! * :belowright or :aboveleft is used. */ -! win_goto(lastwin); -! /* Default is to open the window below the current window */ -! if (cmdmod.split == 0) -! flags = WSP_BELOW; -! flags |= WSP_NEWLOC; -! if (win_split(height, flags) == FAIL) -! return; /* not enough room for window */ -! RESET_BINDING(curwin); -! -! if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow) -! { -! /* -! * For the location list window, create a reference to the -! * location list from the window 'win'. -! */ -! curwin->w_llist_ref = win->w_llist; -! win->w_llist->qf_refcount++; -! } -! -! if (oldwin != curwin) -! oldwin = NULL; /* don't store info when in another window */ -! if (qf_buf != NULL) -! /* Use the existing quickfix buffer */ -! (void)do_ecmd(qf_buf->b_fnum, NULL, NULL, NULL, ECMD_ONE, -! ECMD_HIDE + ECMD_OLDBUF, oldwin); -! else -! { -! /* Create a new quickfix buffer */ -! (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, oldwin); -! /* switch off 'swapfile' */ -! set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL); -! set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix", -! OPT_LOCAL); -! set_option_value((char_u *)"bh", 0L, (char_u *)"wipe", OPT_LOCAL); -! RESET_BINDING(curwin); -! #ifdef FEAT_DIFF -! curwin->w_p_diff = FALSE; -! #endif -! #ifdef FEAT_FOLDING -! set_option_value((char_u *)"fdm", 0L, (char_u *)"manual", -! OPT_LOCAL); -! #endif -! } -! -! /* Only set the height when still in the same tab page and there is no -! * window to the side. */ -! if (curtab == prevtab && curwin->w_width == Columns) -! win_setheight(height); -! curwin->w_p_wfh = TRUE; /* set 'winfixheight' */ -! if (win_valid(win)) -! prevwin = win; -! } - - qf_set_title_var(&qi->qf_lists[qi->qf_curlist]); - -! /* -! * Fill the buffer with the quickfix list. -! */ - qf_fill_buffer(qi, curbuf, NULL); - - curwin->w_cursor.lnum = qi->qf_lists[qi->qf_curlist].qf_index; - curwin->w_cursor.col = 0; - check_cursor(); -! update_topline(); /* scroll to show the line */ - } - - /* ---- 3938,3965 ---- - else - height = QF_WINHEIGHT; - -! reset_VIsual_and_resel(); // stop Visual mode - #ifdef FEAT_GUI - need_mouse_correct = TRUE; - #endif - -! // Find an existing quickfix window, or open a new one. -! if (cmdmod.tab == 0) -! status = qf_goto_cwindow(qi, eap->addr_count != 0, height, -! cmdmod.split & WSP_VERT); -! if (status == FAIL) -! if (qf_open_new_cwindow(qi, height) == FAIL) -! return; - - qf_set_title_var(&qi->qf_lists[qi->qf_curlist]); - -! // Fill the buffer with the quickfix list. - qf_fill_buffer(qi, curbuf, NULL); - - curwin->w_cursor.lnum = qi->qf_lists[qi->qf_curlist].qf_index; - curwin->w_cursor.col = 0; - check_cursor(); -! update_topline(); // scroll to show the line - } - - /* -*** ../vim-8.1.0409/src/version.c 2018-09-19 21:06:28.344234982 +0200 ---- src/version.c 2018-09-19 21:54:49.149575674 +0200 -*************** -*** 796,797 **** ---- 796,799 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 410, - /**/ - --- -You are only young once, but you can stay immature indefinitely. - - /// 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 /// |