- patchlevel 535
This commit is contained in:
parent
0d5e2a68ee
commit
e85e0e74a0
469
7.4.535
Normal file
469
7.4.535
Normal file
@ -0,0 +1,469 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.4.535
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@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@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 ///
|
Loading…
Reference in New Issue
Block a user