diff options
-rw-r--r-- | src/nvim/indent_c.c | 3 | ||||
-rw-r--r-- | test/old/testdir/test_indent.vim | 13 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/nvim/indent_c.c b/src/nvim/indent_c.c index c9b7a1ba3f..307e800be7 100644 --- a/src/nvim/indent_c.c +++ b/src/nvim/indent_c.c @@ -15,6 +15,7 @@ #include "nvim/macros_defs.h" #include "nvim/mark_defs.h" #include "nvim/math.h" +#include "nvim/mbyte.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/option.h" @@ -334,7 +335,7 @@ static bool cin_islabel_skip(const char **s) } while (vim_isIDc((uint8_t)(**s))) { - (*s)++; + (*s) += utfc_ptr2len(*s); } *s = cin_skipcomment(*s); diff --git a/test/old/testdir/test_indent.vim b/test/old/testdir/test_indent.vim index 630beed810..5767890b08 100644 --- a/test/old/testdir/test_indent.vim +++ b/test/old/testdir/test_indent.vim @@ -109,6 +109,19 @@ func Test_preproc_indent() close! endfunc +func Test_userlabel_indent() + new + call setline(1, ['{', 'label:']) + normal GV= + call assert_equal('label:', getline(2)) + + call setline(2, 'läbél:') + normal GV= + call assert_equal('läbél:', getline(2)) + + close! +endfunc + " Test for 'copyindent' func Test_copyindent() new |