mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.2.4436: crash with weird 'vartabstop' value
Problem: Crash with weird 'vartabstop' value. Solution: Check for running into the end of the line.
This commit is contained in:
parent
7842761bba
commit
4e889f98e9
@ -1338,6 +1338,8 @@ change_indent(
|
|||||||
new_cursor_col += (*mb_ptr2len)(ptr + new_cursor_col);
|
new_cursor_col += (*mb_ptr2len)(ptr + new_cursor_col);
|
||||||
else
|
else
|
||||||
++new_cursor_col;
|
++new_cursor_col;
|
||||||
|
if (ptr[new_cursor_col] == NUL)
|
||||||
|
break;
|
||||||
vcol += lbr_chartabsize(ptr, ptr + new_cursor_col, (colnr_T)vcol);
|
vcol += lbr_chartabsize(ptr, ptr + new_cursor_col, (colnr_T)vcol);
|
||||||
}
|
}
|
||||||
vcol = last_vcol;
|
vcol = last_vcol;
|
||||||
|
@ -442,4 +442,16 @@ func Test_shiftwidth_vartabstop()
|
|||||||
setlocal shiftwidth& vartabstop& tabstop&
|
setlocal shiftwidth& vartabstop& tabstop&
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_vartabstop_latin1()
|
||||||
|
let save_encoding = &encoding
|
||||||
|
new
|
||||||
|
set encoding=iso8859
|
||||||
|
silent norm :se
|
||||||
|
set vartabstop=400
|
||||||
|
norm i00
|
||||||
|
bwipe!
|
||||||
|
let &encoding = save_encoding
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@ -750,6 +750,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
4436,
|
||||||
/**/
|
/**/
|
||||||
4435,
|
4435,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user