Mercurial > vim
comparison src/indent.c @ 26775:2df40c348c70 v8.2.3916
patch 8.2.3916: no error for passing an invalid line number to append()
Commit: https://github.com/vim/vim/commit/8dac2acd6a79d571ff5409d9c90b4c9e73237eb4
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Dec 27 20:57:06 2021 +0000
patch 8.2.3916: no error for passing an invalid line number to append()
Problem: No error for passing an invalid line number to append().
Solution: In Vim9 script check for a non-negative number. (closes https://github.com/vim/vim/issues/9417)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 27 Dec 2021 22:00:04 +0100 |
parents | 07e23f808680 |
children | bce848ec8b1b |
comparison
equal
deleted
inserted
replaced
26774:73cedd119ce2 | 26775:2df40c348c70 |
---|---|
2128 | 2128 |
2129 lnum = tv_get_lnum(argvars); | 2129 lnum = tv_get_lnum(argvars); |
2130 if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count) | 2130 if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count) |
2131 rettv->vval.v_number = get_indent_lnum(lnum); | 2131 rettv->vval.v_number = get_indent_lnum(lnum); |
2132 else | 2132 else |
2133 { | |
2134 if (in_vim9script()) | |
2135 semsg(_(e_invalid_line_number_nr), lnum); | |
2133 rettv->vval.v_number = -1; | 2136 rettv->vval.v_number = -1; |
2137 } | |
2134 } | 2138 } |
2135 | 2139 |
2136 /* | 2140 /* |
2137 * "lispindent(lnum)" function | 2141 * "lispindent(lnum)" function |
2138 */ | 2142 */ |
2152 { | 2156 { |
2153 curwin->w_cursor.lnum = lnum; | 2157 curwin->w_cursor.lnum = lnum; |
2154 rettv->vval.v_number = get_lisp_indent(); | 2158 rettv->vval.v_number = get_lisp_indent(); |
2155 curwin->w_cursor = pos; | 2159 curwin->w_cursor = pos; |
2156 } | 2160 } |
2161 else if (in_vim9script()) | |
2162 semsg(_(e_invalid_line_number_nr), lnum); | |
2157 else | 2163 else |
2158 #endif | 2164 #endif |
2159 rettv->vval.v_number = -1; | 2165 rettv->vval.v_number = -1; |
2160 } | 2166 } |
2161 #endif | 2167 #endif |