aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-10-15 19:25:51 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-10-15 19:42:03 +0800
commiteaac0958256f2fb3b0fa9d20790bc38ed9eb3005 (patch)
treea256dd3a340bbd6ec30ac50d1255bd21d8e154c3
parent433818351bc82550a1cb658f5d2ff060b9014d3c (diff)
downloadrneovim-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.c2
-rw-r--r--src/nvim/testdir/test_alot.vim1
-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