summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.2.120
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2009-08-26 10:00:38 -0500
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:41:17 +0200
commit5a12e7c134274dba706667107d10d231517d3e05 (patch)
tree55718d5acb710fde798d9f38d0bbaf594ed4b296 /source/ap/vim/patches/7.2.120
downloadcurrent-5a12e7c134274dba706667107d10d231517d3e05.tar.gz
current-5a12e7c134274dba706667107d10d231517d3e05.tar.xz
Slackware 13.0slackware-13.0
Wed Aug 26 10:00:38 CDT 2009 Slackware 13.0 x86_64 is released as stable! Thanks to everyone who helped make this release possible -- see the RELEASE_NOTES for the credits. The ISOs are off to the replicator. This time it will be a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We're taking pre-orders now at store.slackware.com. Please consider picking up a copy to help support the project. Once again, thanks to the entire Slackware community for all the help testing and fixing things and offering suggestions during this development cycle. As always, have fun and enjoy! -P.
Diffstat (limited to 'source/ap/vim/patches/7.2.120')
-rw-r--r--source/ap/vim/patches/7.2.120277
1 files changed, 277 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.2.120 b/source/ap/vim/patches/7.2.120
new file mode 100644
index 000000000..cf687f3ed
--- /dev/null
+++ b/source/ap/vim/patches/7.2.120
@@ -0,0 +1,277 @@
+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 ///