Patch 8.1.0114
Problem: Confusing variable name.
Solution: Rename new_ts to new_vts_array. Change zero to NULL.
Files: src/ex_cmds.c, src/option.c
*** ../vim-8.1.0113/src/ex_cmds.c 2018-06-24 16:53:31.649909925 +0200
--- src/ex_cmds.c 2018-06-24 22:04:12.929793169 +0200
***************
*** 678,684 ****
char_u *new_line = (char_u *)1; /* init to non-NULL */
int did_undo; /* called u_save for current
line */
#ifdef FEAT_VARTABS
! int *new_ts = 0;
char_u *new_ts_str; /* string value of tab argument */
#else
int temp;
--- 678,684 ----
char_u *new_line = (char_u *)1; /* init to non-NULL */
int did_undo; /* called u_save for current
line */
#ifdef FEAT_VARTABS
! int *new_vts_array = NULL;
char_u *new_ts_str; /* string value of tab argument */
#else
int temp;
***************
*** 693,708 ****
#ifdef FEAT_VARTABS
new_ts_str = eap->arg;
! if (!tabstop_set(eap->arg, &new_ts))
return;
while (vim_isdigit(*(eap->arg)) || *(eap->arg) == ',')
++(eap->arg);
! // This ensures that either new_ts and new_ts_str are freshly allocated,
! // or new_ts points to an existing array and new_ts_str is null.
! if (new_ts == 0)
{
! new_ts = curbuf->b_p_vts_array;
new_ts_str = NULL;
}
else
--- 693,709 ----
#ifdef FEAT_VARTABS
new_ts_str = eap->arg;
! if (!tabstop_set(eap->arg, &new_vts_array))
return;
while (vim_isdigit(*(eap->arg)) || *(eap->arg) == ',')
++(eap->arg);
! // This ensures that either new_vts_array and new_ts_str are freshly
! // allocated, or new_vts_array points to an existing array and new_ts_str
! // is null.
! if (new_vts_array == NULL)
{
! new_vts_array = curbuf->b_p_vts_array;
new_ts_str = NULL;
}
else
***************
*** 753,761 ****
int t, s;
tabstop_fromto(start_vcol, vcol,
! tabstop_count(new_ts)? 0: curbuf->b_p_ts,
! new_ts,
! &t, &s);
num_tabs = t;
num_spaces = s;
#else
--- 754,760 ----
int t, s;
tabstop_fromto(start_vcol, vcol,
! curbuf->b_p_ts, new_vts_array, &t, &s);
num_tabs = t;
num_spaces = s;
#else
***************
*** 829,839 ****
// If a single value was given then it can be considered equal to
// either the value of 'tabstop' or the value of 'vartabstop'.
if (tabstop_count(curbuf->b_p_vts_array) == 0
! && tabstop_count(new_ts) == 1
! && curbuf->b_p_ts == tabstop_first(new_ts))
; /* not changed */
else if (tabstop_count(curbuf->b_p_vts_array) > 0
! && tabstop_eq(curbuf->b_p_vts_array, new_ts))
; /* not changed */
else
redraw_curbuf_later(NOT_VALID);
--- 828,838 ----
// If a single value was given then it can be considered equal to
// either the value of 'tabstop' or the value of 'vartabstop'.
if (tabstop_count(curbuf->b_p_vts_array) == 0
! && tabstop_count(new_vts_array) == 1
! && curbuf->b_p_ts == tabstop_first(new_vts_array))
; /* not changed */
else if (tabstop_count(curbuf->b_p_vts_array) > 0
! && tabstop_eq(curbuf->b_p_vts_array, new_vts_array))
; /* not changed */
else
redraw_curbuf_later(NOT_VALID);
***************
*** 853,872 ****
// than one tabstop then update 'vartabstop'.
int *old_vts_ary = curbuf->b_p_vts_array;
! if (tabstop_count(old_vts_ary) > 0 || tabstop_count(new_ts) > 1)
{
set_string_option_direct((char_u *)"vts", -1, new_ts_str,
OPT_FREE|OPT_LOCAL, 0);
vim_free(new_ts_str);
! curbuf->b_p_vts_array = new_ts;
vim_free(old_vts_ary);
}
else
{
// 'vartabstop' wasn't in use and a single value was given to
// retab then update 'tabstop'.
! curbuf->b_p_ts = tabstop_first(new_ts);
! vim_free(new_ts);
}
}
#else
--- 852,871 ----
// than one tabstop then update 'vartabstop'.
int *old_vts_ary = curbuf->b_p_vts_array;
! if (tabstop_count(old_vts_ary) > 0 || tabstop_count(new_vts_array) > 1)
{
set_string_option_direct((char_u *)"vts", -1, new_ts_str,
OPT_FREE|OPT_LOCAL, 0);
vim_free(new_ts_str);
! curbuf->b_p_vts_array = new_vts_array;
vim_free(old_vts_ary);
}
else
{
// 'vartabstop' wasn't in use and a single value was given to
// retab then update 'tabstop'.
! curbuf->b_p_ts = tabstop_first(new_vts_array);
! vim_free(new_vts_array);
}
}
#else
*** ../vim-8.1.0113/src/option.c 2018-06-24 15:14:02.224061917 +0200
--- src/option.c 2018-06-24 22:03:45.413912296 +0200
***************
*** 12844,12850 ****
int t;
int excess;
! if (vts == 0 || vts[0] == 0)
return (col / ts) * ts;
tabcount = vts[0];
--- 12844,12850 ----
int t;
int excess;
! if (vts == NULL || vts[0] == 0)
return (col / ts) * ts;
tabcount = vts[0];
***************
*** 12878,12887 ****
int tabcount;
int t;
! if (vts == 0 || vts[0] == 0)
{
int tabs = 0;
int initspc = ts - (start_col % ts);
if (spaces >= initspc)
{
spaces -= initspc;
--- 12878,12888 ----
int tabcount;
int t;
! if (vts == NULL || vts[0] == 0)
{
int tabs = 0;
int initspc = ts - (start_col % ts);
+
if (spaces >= initspc)
{
spaces -= initspc;
*** ../vim-8.1.0113/src/version.c 2018-06-24 19:23:59.989047923 +0200
--- src/version.c 2018-06-24 22:05:27.937462580 +0200
***************
*** 791,792 ****
--- 791,794 ----
{ /* Add new patch number below this line */
+ /**/
+ 114,
/**/
--
hundred-and-one symptoms of being an internet addict:
109. You actually read -- and enjoy -- lists like this.
/// 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.