Merge branch 'js/maint-apply-tab-in-indent-fix' into HEAD
* js/maint-apply-tab-in-indent-fix: apply --whitespace=fix: fix tab-in-indent
This commit is contained in:
@ -121,6 +121,34 @@ test_expect_success 'whitespace=error-all, no rule (attribute)' '
|
|||||||
|
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'spaces inserted by tab-in-indent' '
|
||||||
|
|
||||||
|
git config core.whitespace -trailing,-space,-indent,tab &&
|
||||||
|
rm -f .gitattributes &&
|
||||||
|
test_fix % &&
|
||||||
|
sed -e "s/_/ /g" -e "s/>/ /" <<-\EOF >expect &&
|
||||||
|
An_SP in an ordinary line>and a HT.
|
||||||
|
________A HT (%).
|
||||||
|
________A SP and a HT (@%).
|
||||||
|
_________A SP, a HT and a SP (@%).
|
||||||
|
_______Seven SP.
|
||||||
|
________Eight SP (#).
|
||||||
|
________Seven SP and a HT (@%).
|
||||||
|
________________Eight SP and a HT (@#%).
|
||||||
|
_________Seven SP, a HT and a SP (@%).
|
||||||
|
_________________Eight SP, a HT and a SP (@#%).
|
||||||
|
_______________Fifteen SP (#).
|
||||||
|
________________Fifteen SP and a HT (@#%).
|
||||||
|
________________Sixteen SP (#).
|
||||||
|
________________________Sixteen SP and a HT (@#%).
|
||||||
|
_____a__Five SP, a non WS, two SP.
|
||||||
|
A line with a (!) trailing SP_
|
||||||
|
A line with a (!) trailing HT>
|
||||||
|
EOF
|
||||||
|
test_cmp expect target
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
for t in - ''
|
for t in - ''
|
||||||
do
|
do
|
||||||
case "$t" in '') tt='!' ;; *) tt= ;; esac
|
case "$t" in '') tt='!' ;; *) tt= ;; esac
|
||||||
|
3
ws.c
3
ws.c
@ -363,12 +363,13 @@ void ws_fix_copy(struct strbuf *dst, const char *src, int len, unsigned ws_rule,
|
|||||||
fixed = 1;
|
fixed = 1;
|
||||||
} else if ((ws_rule & WS_TAB_IN_INDENT) && last_tab_in_indent >= 0) {
|
} else if ((ws_rule & WS_TAB_IN_INDENT) && last_tab_in_indent >= 0) {
|
||||||
/* Expand tabs into spaces */
|
/* Expand tabs into spaces */
|
||||||
|
int start = dst->len;
|
||||||
int last = last_tab_in_indent + 1;
|
int last = last_tab_in_indent + 1;
|
||||||
for (i = 0; i < last; i++) {
|
for (i = 0; i < last; i++) {
|
||||||
if (src[i] == '\t')
|
if (src[i] == '\t')
|
||||||
do {
|
do {
|
||||||
strbuf_addch(dst, ' ');
|
strbuf_addch(dst, ' ');
|
||||||
} while (dst->len % 8);
|
} while ((dst->len - start) % 8);
|
||||||
else
|
else
|
||||||
strbuf_addch(dst, src[i]);
|
strbuf_addch(dst, src[i]);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user