comparison src/typval.c @ 30761:c9b31c8eb3b3 v9.0.0715

patch 9.0.0715: wrong argument for append() gives two error messages Commit: https://github.com/vim/vim/commit/801cd35e7e3b21e519e12a1610ee1d721e40893e Author: Bram Moolenaar <Bram@vim.org> Date: Mon Oct 10 16:08:16 2022 +0100 patch 9.0.0715: wrong argument for append() gives two error messages Problem: Wrong argument for append() gives two error messages. Solution: When getting an error for a number argument don't try using it as a string. (closes #11335)
author Bram Moolenaar <Bram@vim.org>
date Mon, 10 Oct 2022 17:15:07 +0200
parents 029c59bf78f1
children 360f286b5869
comparison
equal deleted inserted replaced
30760:2d5c453965b9 30761:c9b31c8eb3b3
2507 */ 2507 */
2508 linenr_T 2508 linenr_T
2509 tv_get_lnum(typval_T *argvars) 2509 tv_get_lnum(typval_T *argvars)
2510 { 2510 {
2511 linenr_T lnum = -1; 2511 linenr_T lnum = -1;
2512 int did_emsg_before = did_emsg;
2512 2513
2513 if (argvars[0].v_type != VAR_STRING || !in_vim9script()) 2514 if (argvars[0].v_type != VAR_STRING || !in_vim9script())
2514 lnum = (linenr_T)tv_get_number_chk(&argvars[0], NULL); 2515 lnum = (linenr_T)tv_get_number_chk(&argvars[0], NULL);
2515 if (lnum <= 0 && argvars[0].v_type != VAR_NUMBER) 2516 if (lnum <= 0 && did_emsg_before == did_emsg
2517 && argvars[0].v_type != VAR_NUMBER)
2516 { 2518 {
2517 int fnum; 2519 int fnum;
2518 pos_T *fp; 2520 pos_T *fp;
2519 2521
2520 // no valid number, try using arg like line() 2522 // no valid number, try using arg like line()