mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
updated for version 7.3.693
Problem: Can't make 'softtabstop' follow 'shiftwidth'. Solution: When 'softtabstop' is negative use the value of 'shiftwidth'. (so8res)
This commit is contained in:
12
src/edit.c
12
src/edit.c
@@ -8885,7 +8885,7 @@ ins_bs(c, mode, inserted_space_p)
|
||||
*/
|
||||
if ( mode == BACKSPACE_CHAR
|
||||
&& ((p_sta && in_indent)
|
||||
|| (curbuf->b_p_sts != 0
|
||||
|| (get_sts_value() != 0
|
||||
&& curwin->w_cursor.col > 0
|
||||
&& (*(ml_get_cursor() - 1) == TAB
|
||||
|| (*(ml_get_cursor() - 1) == ' '
|
||||
@@ -8901,7 +8901,7 @@ ins_bs(c, mode, inserted_space_p)
|
||||
if (p_sta && in_indent)
|
||||
ts = (int)get_sw_value();
|
||||
else
|
||||
ts = (int)curbuf->b_p_sts;
|
||||
ts = (int)get_sts_value();
|
||||
/* Compute the virtual column where we want to be. Since
|
||||
* 'showbreak' may get in the way, need to get the last column of
|
||||
* the previous character. */
|
||||
@@ -9590,7 +9590,7 @@ ins_tab()
|
||||
*/
|
||||
if (!curbuf->b_p_et
|
||||
&& !(p_sta && ind && curbuf->b_p_ts != get_sw_value())
|
||||
&& curbuf->b_p_sts == 0)
|
||||
&& get_sts_value() == 0)
|
||||
return TRUE;
|
||||
|
||||
if (stop_arrow() == FAIL)
|
||||
@@ -9606,8 +9606,8 @@ ins_tab()
|
||||
|
||||
if (p_sta && ind) /* insert tab in indent, use 'shiftwidth' */
|
||||
temp = (int)get_sw_value();
|
||||
else if (curbuf->b_p_sts > 0) /* use 'softtabstop' when set */
|
||||
temp = (int)curbuf->b_p_sts;
|
||||
else if (curbuf->b_p_sts != 0) /* use 'softtabstop' when set */
|
||||
temp = (int)get_sts_value();
|
||||
else /* otherwise use 'tabstop' */
|
||||
temp = (int)curbuf->b_p_ts;
|
||||
temp -= get_nolist_virtcol() % temp;
|
||||
@@ -9635,7 +9635,7 @@ ins_tab()
|
||||
/*
|
||||
* When 'expandtab' not set: Replace spaces by TABs where possible.
|
||||
*/
|
||||
if (!curbuf->b_p_et && (curbuf->b_p_sts || (p_sta && ind)))
|
||||
if (!curbuf->b_p_et && (get_sts_value() || (p_sta && ind)))
|
||||
{
|
||||
char_u *ptr;
|
||||
#ifdef FEAT_VREPLACE
|
||||
|
Reference in New Issue
Block a user