Mercurial > vim
changeset 29265:9bc63b4f9c33 v8.2.5151
patch 8.2.5151: reading beyond the end of the line with lisp indenting
Commit: https://github.com/vim/vim/commit/8eba2bd291b347e3008aa9e565652d51ad638cfa
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jun 22 19:59:28 2022 +0100
patch 8.2.5151: reading beyond the end of the line with lisp indenting
Problem: Reading beyond the end of the line with lisp indenting.
Solution: Avoid going over the NUL at the end of the line.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 22 Jun 2022 21:00:03 +0200 |
parents | 6b6b004c3db4 |
children | 4a30a1116b92 |
files | src/indent.c src/testdir/test_lispwords.vim src/version.c |
diffstat | 3 files changed, 18 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/indent.c +++ b/src/indent.c @@ -2076,8 +2076,11 @@ get_lisp_indent(void) amount += 2; else { - that++; - amount++; + if (*that != NUL) + { + that++; + amount++; + } firsttry = amount; while (VIM_ISWHITE(*that))
--- a/src/testdir/test_lispwords.vim +++ b/src/testdir/test_lispwords.vim @@ -1,4 +1,5 @@ -" Tests for 'lispwords' settings being global-local +" Tests for 'lispwords' settings being global-local. +" And other lisp indent stuff. set nocompatible viminfo+=nviminfo @@ -85,4 +86,13 @@ func Test_lisp_indent() set nolisp endfunc +func Test_lisp_indent_works() + " This was reading beyond the end of the line + new + exe "norm a\tü(\<CR>=" + set lisp + norm == + bwipe! +endfunc + " vim: shiftwidth=2 sts=2 expandtab