[vim] - patchlevel 535
Karsten Hopp
karsten at fedoraproject.org
Fri Nov 28 16:55:23 UTC 2014
commit e85e0e74a0d7e9f0e5579568d33036fb3945ee36
Author: Karsten Hopp <karsten at redhat.com>
Date: Fri Nov 28 18:00:10 2014 +0100
- patchlevel 535
7.4.535 | 469 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 469 insertions(+), 0 deletions(-)
---
diff --git a/7.4.535 b/7.4.535
new file mode 100644
index 0000000..20c32ed
--- /dev/null
+++ b/7.4.535
@@ -0,0 +1,469 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.4.535
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.535 (after 7.4.530)
+Problem: Can't build with tiny features.
+Solution: Add #ifdefs and skip a test.
+Files: src/ex_docmd.c, src/testdir/test_argument_count.in
+
+
+*** ../vim-7.4.534/src/ex_docmd.c 2014-11-27 16:38:07.648261279 +0100
+--- src/ex_docmd.c 2014-11-27 18:12:30.874072643 +0100
+***************
+*** 1713,1718 ****
+--- 1713,1765 ----
+ return buf->b_fnum;
+ }
+
++ #ifdef FEAT_WINDOWS
++ static int current_win_nr __ARGS((win_T *win));
++ static int current_tab_nr __ARGS((tabpage_T *tab));
++
++ static int
++ current_win_nr(win)
++ win_T *win;
++ {
++ win_T *wp;
++ int nr = 0;
++
++ for (wp = firstwin; wp != NULL; wp = wp->w_next)
++ {
++ ++nr;
++ if (wp == win)
++ break;
++ }
++ return nr;
++ }
++
++ static int
++ current_tab_nr(tab)
++ tabpage_T *tab;
++ {
++ tabpage_T *tp;
++ int nr = 0;
++
++ for (tp = first_tabpage; tp != NULL; tp = tp->tp_next)
++ {
++ ++nr;
++ if (tp == tab)
++ break;
++ }
++ return nr;
++ }
++
++ # define CURRENT_WIN_NR current_win_nr(curwin)
++ # define LAST_WIN_NR current_win_nr(NULL)
++ # define CURRENT_TAB_NR current_tab_nr(curtab)
++ # define LAST_TAB_NR current_tab_nr(NULL)
++ #else
++ # define CURRENT_WIN_NR 1
++ # define LAST_WIN_NR 1
++ # define CURRENT_TAB_NR 1
++ # define LAST_TAB_NR 1
++ #endif
++
+
+ /*
+ * Execute one Ex command.
+***************
+*** 1765,1772 ****
+ #endif
+ cmdmod_T save_cmdmod;
+ int ni; /* set when Not Implemented */
+- win_T *wp;
+- tabpage_T *tp;
+ char_u *cmd;
+
+ vim_memset(&ea, 0, sizeof(ea));
+--- 1812,1817 ----
+***************
+*** 2085,2097 ****
+ ea.line2 = curwin->w_cursor.lnum;
+ break;
+ case ADDR_WINDOWS:
+! lnum = 0;
+! for (wp = firstwin; wp != NULL; wp = wp->w_next)
+! {
+! lnum++;
+! if (wp == curwin)
+! break;
+! }
+ ea.line2 = lnum;
+ break;
+ case ADDR_ARGUMENTS:
+--- 2130,2136 ----
+ ea.line2 = curwin->w_cursor.lnum;
+ break;
+ case ADDR_WINDOWS:
+! lnum = CURRENT_WIN_NR;
+ ea.line2 = lnum;
+ break;
+ case ADDR_ARGUMENTS:
+***************
+*** 2102,2114 ****
+ ea.line2 = curbuf->b_fnum;
+ break;
+ case ADDR_TABS:
+! lnum = 0;
+! for(tp = first_tabpage; tp != NULL; tp = tp->tp_next)
+! {
+! lnum++;
+! if (tp == curtab)
+! break;
+! }
+ ea.line2 = lnum;
+ break;
+ }
+--- 2141,2147 ----
+ ea.line2 = curbuf->b_fnum;
+ break;
+ case ADDR_TABS:
+! lnum = CURRENT_TAB_NR;
+ ea.line2 = lnum;
+ break;
+ }
+***************
+*** 4198,4205 ****
+ pos_T pos;
+ pos_T *fp;
+ linenr_T lnum;
+- win_T *wp;
+- tabpage_T *tp;
+
+ cmd = skipwhite(*ptr);
+ lnum = MAXLNUM;
+--- 4231,4236 ----
+***************
+*** 4215,4227 ****
+ lnum = curwin->w_cursor.lnum;
+ break;
+ case ADDR_WINDOWS:
+! lnum = 0;
+! for (wp = firstwin; wp != NULL; wp = wp->w_next)
+! {
+! lnum++;
+! if (wp == curwin)
+! break;
+! }
+ break;
+ case ADDR_ARGUMENTS:
+ lnum = curwin->w_arg_idx + 1;
+--- 4246,4252 ----
+ lnum = curwin->w_cursor.lnum;
+ break;
+ case ADDR_WINDOWS:
+! lnum = CURRENT_WIN_NR;
+ break;
+ case ADDR_ARGUMENTS:
+ lnum = curwin->w_arg_idx + 1;
+***************
+*** 4231,4243 ****
+ lnum = curbuf->b_fnum;
+ break;
+ case ADDR_TABS:
+! lnum = 0;
+! for(tp = first_tabpage; tp != NULL; tp = tp->tp_next)
+! {
+! lnum++;
+! if (tp == curtab)
+! break;
+! }
+ break;
+ }
+ break;
+--- 4256,4262 ----
+ lnum = curbuf->b_fnum;
+ break;
+ case ADDR_TABS:
+! lnum = CURRENT_TAB_NR;
+ break;
+ }
+ break;
+***************
+*** 4250,4258 ****
+ lnum = curbuf->b_ml.ml_line_count;
+ break;
+ case ADDR_WINDOWS:
+! lnum = 0;
+! for (wp = firstwin; wp != NULL; wp = wp->w_next)
+! lnum++;
+ break;
+ case ADDR_ARGUMENTS:
+ lnum = ARGCOUNT;
+--- 4269,4275 ----
+ lnum = curbuf->b_ml.ml_line_count;
+ break;
+ case ADDR_WINDOWS:
+! lnum = LAST_WIN_NR;
+ break;
+ case ADDR_ARGUMENTS:
+ lnum = ARGCOUNT;
+***************
+*** 4262,4270 ****
+ lnum = lastbuf->b_fnum;
+ break;
+ case ADDR_TABS:
+! lnum = 0;
+! for(tp = first_tabpage; tp != NULL; tp = tp->tp_next)
+! lnum++;
+ break;
+ }
+ break;
+--- 4279,4285 ----
+ lnum = lastbuf->b_fnum;
+ break;
+ case ADDR_TABS:
+! lnum = LAST_TAB_NR;
+ break;
+ }
+ break;
+***************
+*** 4419,4434 ****
+ switch (addr_type)
+ {
+ case ADDR_LINES:
+! lnum = curwin->w_cursor.lnum; /* "+1" is same as ".+1" */
+ break;
+ case ADDR_WINDOWS:
+! lnum = 0;
+! for (wp = firstwin; wp != NULL; wp = wp->w_next)
+! {
+! lnum++;
+! if (wp == curwin)
+! break;
+! }
+ break;
+ case ADDR_ARGUMENTS:
+ lnum = curwin->w_arg_idx + 1;
+--- 4434,4444 ----
+ switch (addr_type)
+ {
+ case ADDR_LINES:
+! /* "+1" is same as ".+1" */
+! lnum = curwin->w_cursor.lnum;
+ break;
+ case ADDR_WINDOWS:
+! lnum = CURRENT_WIN_NR;
+ break;
+ case ADDR_ARGUMENTS:
+ lnum = curwin->w_arg_idx + 1;
+***************
+*** 4438,4450 ****
+ lnum = curbuf->b_fnum;
+ break;
+ case ADDR_TABS:
+! lnum = 0;
+! for(tp = first_tabpage; tp != NULL; tp = tp->tp_next)
+! {
+! lnum++;
+! if (tp == curtab)
+! break;
+! }
+ break;
+ }
+ }
+--- 4448,4454 ----
+ lnum = curbuf->b_fnum;
+ break;
+ case ADDR_TABS:
+! lnum = CURRENT_TAB_NR;
+ break;
+ }
+ }
+***************
+*** 4481,4489 ****
+ lnum = 0;
+ break;
+ }
+! c = 0;
+! for (tp = first_tabpage; tp != NULL; tp = tp->tp_next)
+! c++;
+ if (lnum >= c)
+ lnum = c;
+ break;
+--- 4485,4491 ----
+ lnum = 0;
+ break;
+ }
+! c = LAST_TAB_NR;
+ if (lnum >= c)
+ lnum = c;
+ break;
+***************
+*** 4493,4501 ****
+ lnum = 0;
+ break;
+ }
+! c = 0;
+! for (wp = firstwin; wp != NULL; wp = wp->w_next)
+! c++;
+ if (lnum > c)
+ lnum = c;
+ break;
+--- 4495,4501 ----
+ lnum = 0;
+ break;
+ }
+! c = LAST_WIN_NR;
+ if (lnum > c)
+ lnum = c;
+ break;
+***************
+*** 6805,6819 ****
+ }
+
+ /*
+! * ":quit": quit current window, quit Vim if closed the last window.
+ */
+ static void
+ ex_quit(eap)
+ exarg_T *eap;
+ {
+ win_T *wp;
+! buf_T *buf;
+! int wnr;
+
+ #ifdef FEAT_CMDWIN
+ if (cmdwin_type != 0)
+--- 6805,6819 ----
+ }
+
+ /*
+! * ":quit": quit current window, quit Vim if the last window is closed.
+ */
+ static void
+ ex_quit(eap)
+ exarg_T *eap;
+ {
++ #if defined(FEAT_WINDOWS) || defined(FEAT_AUTOCMD)
+ win_T *wp;
+! #endif
+
+ #ifdef FEAT_CMDWIN
+ if (cmdwin_type != 0)
+***************
+*** 6828,6855 ****
+ text_locked_msg();
+ return;
+ }
+ if (eap->addr_count > 0)
+ {
+! wnr = eap->line2;
+! for (wp = firstwin; --wnr > 0; )
+! {
+! if (wp->w_next == NULL)
+ break;
+- else
+- wp = wp->w_next;
+- }
+- buf = wp->w_buffer;
+ }
+ else
+! {
+ wp = curwin;
+! buf = curbuf;
+! }
+ #ifdef FEAT_AUTOCMD
+ apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
+ /* Refuse to quit when locked or when the buffer in the last window is
+ * being closed (can only happen in autocommands). */
+! if (curbuf_locked() || (buf->b_nwindows == 1 && buf->b_closing))
+ return;
+ #endif
+
+--- 6828,6854 ----
+ text_locked_msg();
+ return;
+ }
++ #ifdef FEAT_WINDOWS
+ if (eap->addr_count > 0)
+ {
+! int wnr = eap->line2;
+!
+! for (wp = firstwin; wp->w_next != NULL; wp = wp->w_next)
+! if (--wnr <= 0)
+ break;
+ }
+ else
+! #endif
+! #if defined(FEAT_WINDOWS) || defined(FEAT_AUTOCMD)
+ wp = curwin;
+! #endif
+!
+ #ifdef FEAT_AUTOCMD
+ apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
+ /* Refuse to quit when locked or when the buffer in the last window is
+ * being closed (can only happen in autocommands). */
+! if (curbuf_locked() || (wp->w_buffer->b_nwindows == 1
+! && wp->w_buffer->b_closing))
+ return;
+ #endif
+
+***************
+*** 7214,7222 ****
+ ex_hide(eap)
+ exarg_T *eap;
+ {
+- win_T *win;
+- int winnr = 0;
+-
+ if (*eap->arg != NUL && check_nextcmd(eap->arg) == NULL)
+ eap->errmsg = e_invarg;
+ else
+--- 7213,7218 ----
+***************
+*** 7231,7237 ****
+ # endif
+ if (eap->addr_count == 0)
+ win_close(curwin, FALSE); /* don't free buffer */
+! else {
+ for (win = firstwin; win != NULL; win = win->w_next)
+ {
+ winnr++;
+--- 7227,7237 ----
+ # endif
+ if (eap->addr_count == 0)
+ win_close(curwin, FALSE); /* don't free buffer */
+! else
+! {
+! int winnr = 0;
+! win_T *win;
+!
+ for (win = firstwin; win != NULL; win = win->w_next)
+ {
+ winnr++;
+*** ../vim-7.4.534/src/testdir/test_argument_count.in 2014-11-27 16:22:42.746412995 +0100
+--- src/testdir/test_argument_count.in 2014-11-27 18:21:05.568408375 +0100
+***************
+*** 1,6 ****
+--- 1,7 ----
+ Tests for :[count]argument! and :[count]argdelete vim: set ft=vim :
+
+ STARTTEST
++ :so small.vim
+ :%argd
+ :argadd a b c d
+ :set hidden
+*** ../vim-7.4.534/src/version.c 2014-11-27 17:44:05.380820867 +0100
+--- src/version.c 2014-11-27 18:30:32.826167330 +0100
+***************
+*** 743,744 ****
+--- 743,746 ----
+ { /* Add new patch number below this line */
++ /**/
++ 535,
+ /**/
+
+--
+Mushrooms always grow in damp places and so they look like umbrellas.
+
+ /// Bram Moolenaar -- Bram at 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 ///
More information about the scm-commits
mailing list