Patch 8.0.0260
Problem: Build fails with tiny features.
Solution: Move get_tabpage_arg() inside #ifdef.
Files: src/ex_docmd.c
*** ../vim-8.0.0259/src/ex_docmd.c 2017-01-29 14:48:06.288454957 +0100
--- src/ex_docmd.c 2017-01-29 15:13:08.498451464 +0100
***************
*** 5485,5588 ****
}
/*
- * Handle the argument for a tabpage related ex command.
- * Returns a tabpage number.
- * When an error is encountered then eap->errmsg is set.
- */
- static int
- get_tabpage_arg(exarg_T *eap)
- {
- int tab_number;
- int unaccept_arg0 = (eap->cmdidx == CMD_tabmove) ? 0 : 1;
-
- if (eap->arg && *eap->arg != NUL)
- {
- char_u *p = eap->arg;
- char_u *p_save;
- int relative = 0; /* argument +N/-N means: go to N places to the
- * right/left relative to the current position. */
-
- if (*p == '-')
- {
- relative = -1;
- p++;
- }
- else if (*p == '+')
- {
- relative = 1;
- p++;
- }
-
- p_save = p;
- tab_number = getdigits(&p);
-
- if (relative == 0)
- {
- if (STRCMP(p, "$") == 0)
- tab_number = LAST_TAB_NR;
- else if (p == p_save || *p_save == '-' || *p != NUL
- || tab_number > LAST_TAB_NR)
- {
- /* No numbers as argument. */
- eap->errmsg = e_invarg;
- goto theend;
- }
- }
- else
- {
- if (*p_save == NUL)
- tab_number = 1;
- else if (p == p_save || *p_save == '-' || *p != NUL
- || tab_number == 0)
- {
- /* No numbers as argument. */
- eap->errmsg = e_invarg;
- goto theend;
- }
- tab_number = tab_number * relative + tabpage_index(curtab);
- if (!unaccept_arg0 && relative == -1)
- --tab_number;
- }
- if (tab_number < unaccept_arg0 || tab_number > LAST_TAB_NR)
- eap->errmsg = e_invarg;
- }
- else if (eap->addr_count > 0)
- {
- if (unaccept_arg0 && eap->line2 == 0)
- eap->errmsg = e_invrange;
- else
- {
- tab_number = eap->line2;
- if (!unaccept_arg0 && **eap->cmdlinep == '-')
- {
- --tab_number;
- if (tab_number < unaccept_arg0)
- eap->errmsg = e_invarg;
- }
- }
- }
- else
- {
- switch (eap->cmdidx)
- {
- case CMD_tabnext:
- tab_number = tabpage_index(curtab) + 1;
- if (tab_number > LAST_TAB_NR)
- tab_number = 1;
- break;
- case CMD_tabmove:
- tab_number = LAST_TAB_NR;
- break;
- default:
- tab_number = tabpage_index(curtab);
- }
- }
-
- theend:
- return tab_number;
- }
-
- /*
* ":abbreviate" and friends.
*/
static void
--- 5485,5490 ----
***************
*** 7567,7572 ****
--- 7469,7572 ----
}
/*
+ * Handle the argument for a tabpage related ex command.
+ * Returns a tabpage number.
+ * When an error is encountered then eap->errmsg is set.
+ */
+ static int
+ get_tabpage_arg(exarg_T *eap)
+ {
+ int tab_number;
+ int unaccept_arg0 = (eap->cmdidx == CMD_tabmove) ? 0 : 1;
+
+ if (eap->arg && *eap->arg != NUL)
+ {
+ char_u *p = eap->arg;
+ char_u *p_save;
+ int relative = 0; /* argument +N/-N means: go to N places to the
+ * right/left relative to the current position. */
+
+ if (*p == '-')
+ {
+ relative = -1;
+ p++;
+ }
+ else if (*p == '+')
+ {
+ relative = 1;
+ p++;
+ }
+
+ p_save = p;
+ tab_number = getdigits(&p);
+
+ if (relative == 0)
+ {
+ if (STRCMP(p, "$") == 0)
+ tab_number = LAST_TAB_NR;
+ else if (p == p_save || *p_save == '-' || *p != NUL
+ || tab_number > LAST_TAB_NR)
+ {
+ /* No numbers as argument. */
+ eap->errmsg = e_invarg;
+ goto theend;
+ }
+ }
+ else
+ {
+ if (*p_save == NUL)
+ tab_number = 1;
+ else if (p == p_save || *p_save == '-' || *p != NUL
+ || tab_number == 0)
+ {
+ /* No numbers as argument. */
+ eap->errmsg = e_invarg;
+ goto theend;
+ }
+ tab_number = tab_number * relative + tabpage_index(curtab);
+ if (!unaccept_arg0 && relative == -1)
+ --tab_number;
+ }
+ if (tab_number < unaccept_arg0 || tab_number > LAST_TAB_NR)
+ eap->errmsg = e_invarg;
+ }
+ else if (eap->addr_count > 0)
+ {
+ if (unaccept_arg0 && eap->line2 == 0)
+ eap->errmsg = e_invrange;
+ else
+ {
+ tab_number = eap->line2;
+ if (!unaccept_arg0 && **eap->cmdlinep == '-')
+ {
+ --tab_number;
+ if (tab_number < unaccept_arg0)
+ eap->errmsg = e_invarg;
+ }
+ }
+ }
+ else
+ {
+ switch (eap->cmdidx)
+ {
+ case CMD_tabnext:
+ tab_number = tabpage_index(curtab) + 1;
+ if (tab_number > LAST_TAB_NR)
+ tab_number = 1;
+ break;
+ case CMD_tabmove:
+ tab_number = LAST_TAB_NR;
+ break;
+ default:
+ tab_number = tabpage_index(curtab);
+ }
+ }
+
+ theend:
+ return tab_number;
+ }
+
+ /*
* ":tabclose": close current tab page, unless it is the last one.
* ":tabclose N": close tab page N.
*/
*** ../vim-8.0.0259/src/version.c 2017-01-29 14:48:06.288454957 +0100
--- src/version.c 2017-01-29 15:17:59.796512728 +0100
***************
*** 766,767 ****
--- 766,769 ----
{ /* Add new patch number below this line */
+ /**/
+ 260,
/**/
--
Mental Floss prevents moral decay!
/// Bram Moolenaar -- [email protected] -- 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 ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.