diff options
Diffstat (limited to 'source/ap/vim/patches/7.2.120')
-rw-r--r-- | source/ap/vim/patches/7.2.120 | 277 |
1 files changed, 0 insertions, 277 deletions
diff --git a/source/ap/vim/patches/7.2.120 b/source/ap/vim/patches/7.2.120 deleted file mode 100644 index cf687f3e..00000000 --- a/source/ap/vim/patches/7.2.120 +++ /dev/null @@ -1,277 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.120 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.120 -Problem: When opening the quickfix window or splitting the window and - setting the location list, the location list is copied and then - deleted, which is inefficient. -Solution: Don't copy the location list when not needed. (Lech Lorens) -Files: src/quickfix.c, src/vim.h, src/window.c - - -*** ../vim-7.2.119/src/quickfix.c Sun Feb 22 00:01:42 2009 ---- src/quickfix.c Sat Feb 21 22:54:25 2009 -*************** -*** 1419,1424 **** ---- 1419,1425 ---- - int opened_window = FALSE; - win_T *win; - win_T *altwin; -+ int flags; - #endif - win_T *oldwin = curwin; - int print_message = TRUE; -*************** -*** 1531,1537 **** - if (qf_ptr->qf_type == 1 && (!curwin->w_buffer->b_help || cmdmod.tab != 0)) - { - win_T *wp; -- int n; - - if (cmdmod.tab != 0) - wp = NULL; ---- 1532,1537 ---- -*************** -*** 1547,1559 **** - * Split off help window; put it at far top if no position - * specified, the current window is vertically split and narrow. - */ -! n = WSP_HELP; - # ifdef FEAT_VERTSPLIT - if (cmdmod.split == 0 && curwin->w_width != Columns - && curwin->w_width < 80) -! n |= WSP_TOP; - # endif -! if (win_split(0, n) == FAIL) - goto theend; - opened_window = TRUE; /* close it when fail */ - ---- 1547,1562 ---- - * Split off help window; put it at far top if no position - * specified, the current window is vertically split and narrow. - */ -! flags = WSP_HELP; - # ifdef FEAT_VERTSPLIT - if (cmdmod.split == 0 && curwin->w_width != Columns - && curwin->w_width < 80) -! flags |= WSP_TOP; - # endif -! if (qi != &ql_info) -! flags |= WSP_NEWLOC; /* don't copy the location list */ -! -! if (win_split(0, flags) == FAIL) - goto theend; - opened_window = TRUE; /* close it when fail */ - -*************** -*** 1563,1569 **** - if (qi != &ql_info) /* not a quickfix list */ - { - /* The new window should use the supplied location list */ -- qf_free_all(curwin); - curwin->w_llist = qi; - qi->qf_refcount++; - } ---- 1566,1571 ---- -*************** -*** 1624,1630 **** - { - ll_ref = curwin->w_llist_ref; - -! if (win_split(0, WSP_ABOVE) == FAIL) - goto failed; /* not enough room for window */ - opened_window = TRUE; /* close it when fail */ - p_swb = empty_option; /* don't split again */ ---- 1626,1635 ---- - { - ll_ref = curwin->w_llist_ref; - -! flags = WSP_ABOVE; -! if (ll_ref != NULL) -! flags |= WSP_NEWLOC; -! if (win_split(0, flags) == FAIL) - goto failed; /* not enough room for window */ - opened_window = TRUE; /* close it when fail */ - p_swb = empty_option; /* don't split again */ -*************** -*** 1636,1642 **** - { - /* The new window should use the location list from the - * location list window */ -- qf_free_all(curwin); - curwin->w_llist = ll_ref; - ll_ref->qf_refcount++; - } ---- 1641,1646 ---- -*************** -*** 2311,2325 **** - if (eap->cmdidx == CMD_copen || eap->cmdidx == CMD_cwindow) - /* Create the new window at the very bottom. */ - win_goto(lastwin); -! if (win_split(height, WSP_BELOW) == FAIL) - return; /* not enough room for window */ - #ifdef FEAT_SCROLLBIND - curwin->w_p_scb = FALSE; - #endif - -- /* Remove the location list for the quickfix window */ -- qf_free_all(curwin); -- - if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow) - { - /* ---- 2315,2326 ---- - if (eap->cmdidx == CMD_copen || eap->cmdidx == CMD_cwindow) - /* Create the new window at the very bottom. */ - win_goto(lastwin); -! if (win_split(height, WSP_BELOW | WSP_NEWLOC) == FAIL) - return; /* not enough room for window */ - #ifdef FEAT_SCROLLBIND - curwin->w_p_scb = FALSE; - #endif - - if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow) - { - /* -*** ../vim-7.2.119/src/vim.h Thu Nov 20 14:11:47 2008 ---- src/vim.h Sat Feb 21 22:53:03 2009 -*************** -*** 1057,1062 **** ---- 1057,1063 ---- - #define WSP_HELP 16 /* creating the help window */ - #define WSP_BELOW 32 /* put new window below/right */ - #define WSP_ABOVE 64 /* put new window above/left */ -+ #define WSP_NEWLOC 128 /* don't copy location list */ - - /* - * arguments for gui_set_shellsize() -*** ../vim-7.2.119/src/window.c Sat Feb 21 20:27:00 2009 ---- src/window.c Sat Feb 21 23:56:41 2009 -*************** -*** 12,18 **** - static int path_is_url __ARGS((char_u *p)); - #if defined(FEAT_WINDOWS) || defined(PROTO) - static int win_split_ins __ARGS((int size, int flags, win_T *newwin, int dir)); -! static void win_init __ARGS((win_T *newp, win_T *oldp)); - static void frame_comp_pos __ARGS((frame_T *topfrp, int *row, int *col)); - static void frame_setheight __ARGS((frame_T *curfrp, int height)); - #ifdef FEAT_VERTSPLIT ---- 12,18 ---- - static int path_is_url __ARGS((char_u *p)); - #if defined(FEAT_WINDOWS) || defined(PROTO) - static int win_split_ins __ARGS((int size, int flags, win_T *newwin, int dir)); -! static void win_init __ARGS((win_T *newp, win_T *oldp, int flags)); - static void frame_comp_pos __ARGS((frame_T *topfrp, int *row, int *col)); - static void frame_setheight __ARGS((frame_T *curfrp, int height)); - #ifdef FEAT_VERTSPLIT -*************** -*** 911,917 **** - return FAIL; - - /* make the contents of the new window the same as the current one */ -! win_init(wp, curwin); - } - - /* ---- 911,917 ---- - return FAIL; - - /* make the contents of the new window the same as the current one */ -! win_init(wp, curwin, flags); - } - - /* -*************** -*** 1160,1170 **** - * Initialize window "newp" from window "oldp". - * Used when splitting a window and when creating a new tab page. - * The windows will both edit the same buffer. - */ - static void -! win_init(newp, oldp) - win_T *newp; - win_T *oldp; - { - int i; - ---- 1160,1174 ---- - * Initialize window "newp" from window "oldp". - * Used when splitting a window and when creating a new tab page. - * The windows will both edit the same buffer. -+ * WSP_NEWLOC may be specified in flags to prevent the location list from -+ * being copied. - */ -+ /*ARGSUSED*/ - static void -! win_init(newp, oldp, flags) - win_T *newp; - win_T *oldp; -+ int flags; - { - int i; - -*************** -*** 1189,1195 **** - copy_jumplist(oldp, newp); - #endif - #ifdef FEAT_QUICKFIX -! copy_loclist(oldp, newp); - #endif - if (oldp->w_localdir != NULL) - newp->w_localdir = vim_strsave(oldp->w_localdir); ---- 1193,1206 ---- - copy_jumplist(oldp, newp); - #endif - #ifdef FEAT_QUICKFIX -! if (flags & WSP_NEWLOC) -! { -! /* Don't copy the location list. */ -! newp->w_llist = NULL; -! newp->w_llist_ref = NULL; -! } -! else -! copy_loclist(oldp, newp); - #endif - if (oldp->w_localdir != NULL) - newp->w_localdir = vim_strsave(oldp->w_localdir); -*************** -*** 3219,3225 **** - else - { - /* First window in new tab page, initialize it from "oldwin". */ -! win_init(curwin, oldwin); - - # ifdef FEAT_SCROLLBIND - /* We don't want scroll-binding in the first window. */ ---- 3230,3236 ---- - else - { - /* First window in new tab page, initialize it from "oldwin". */ -! win_init(curwin, oldwin, 0); - - # ifdef FEAT_SCROLLBIND - /* We don't want scroll-binding in the first window. */ -*** ../vim-7.2.119/src/version.c Sun Feb 22 01:13:45 2009 ---- src/version.c Sun Feb 22 02:32:14 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 120, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -110. You actually volunteer to become your employer's webmaster. - - /// 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 /// |