diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-10-15 19:25:51 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2022-10-15 19:42:03 +0800 |
commit | eaac0958256f2fb3b0fa9d20790bc38ed9eb3005 (patch) | |
tree | a256dd3a340bbd6ec30ac50d1255bd21d8e154c3 | |
parent | 433818351bc82550a1cb658f5d2ff060b9014d3c (diff) | |
download | rneovim-eaac0958256f2fb3b0fa9d20790bc38ed9eb3005.tar.gz rneovim-eaac0958256f2fb3b0fa9d20790bc38ed9eb3005.tar.bz2 rneovim-eaac0958256f2fb3b0fa9d20790bc38ed9eb3005.zip |
vim-patch:partial:9.0.0737: Lisp word only recognized when a space follows
Problem: Lisp word only recognized when a space follows.
Solution: Also match a word at the end of a line. Rename the test. Use a
compiled function to avoid backslashes.
https://github.com/vim/vim/commit/d26c5805bcbd630dab0478c2d22503a6e32a83c1
Keep the old Test_lisp_indent().
-rw-r--r-- | src/nvim/indent.c | 2 | ||||
-rw-r--r-- | src/nvim/testdir/test_alot.vim | 1 | ||||
-rw-r--r-- | src/nvim/testdir/test_lispindent.vim (renamed from src/nvim/testdir/test_lispwords.vim) | 5 |
3 files changed, 6 insertions, 2 deletions
diff --git a/src/nvim/indent.c b/src/nvim/indent.c index 0f7a5a8e44..74249777d6 100644 --- a/src/nvim/indent.c +++ b/src/nvim/indent.c @@ -1138,7 +1138,7 @@ static int lisp_match(char_u *p) (void)copy_option_part(&word, (char *)buf, LSIZE, ","); len = (int)STRLEN(buf); - if ((STRNCMP(buf, p, len) == 0) && (p[len] == ' ')) { + if ((STRNCMP(buf, p, len) == 0) && ascii_iswhite_or_nul(p[len])) { return true; } } diff --git a/src/nvim/testdir/test_alot.vim b/src/nvim/testdir/test_alot.vim index a83ef50abc..a3d240f27e 100644 --- a/src/nvim/testdir/test_alot.vim +++ b/src/nvim/testdir/test_alot.vim @@ -15,7 +15,6 @@ source test_fnamemodify.vim source test_ga.vim source test_glob2regpat.vim source test_global.vim -source test_lispwords.vim source test_move.vim source test_put.vim source test_reltime.vim diff --git a/src/nvim/testdir/test_lispwords.vim b/src/nvim/testdir/test_lispindent.vim index 4144fb0521..d4cab6d17e 100644 --- a/src/nvim/testdir/test_lispwords.vim +++ b/src/nvim/testdir/test_lispindent.vim @@ -86,6 +86,11 @@ func Test_lisp_indent() set nolisp endfunc +func Test_lispindent_negative() + " in legacy script there is no error + call assert_equal(-1, lispindent(-1)) +endfunc + func Test_lisp_indent_works() " This was reading beyond the end of the line new |