diff src/sign.c @ 17805:313f498c646e v8.1.1899

patch 8.1.1899: sign_place() does not work as documented Commit: https://github.com/vim/vim/commit/42aff46d9783d6c80519a35350065c34372fbf70 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Aug 21 13:20:29 2019 +0200 patch 8.1.1899: sign_place() does not work as documented Problem: sign_place() does not work as documented. Solution: Make accept line numbers like line(). (Yegappan Lakshmanan, closes #4848)
author Bram Moolenaar <Bram@vim.org>
date Wed, 21 Aug 2019 13:30:03 +0200
parents 04245f071792
children 1848b3e07266
line wrap: on
line diff
--- a/src/sign.c
+++ b/src/sign.c
@@ -2430,9 +2430,12 @@ sign_place_from_dict(
     di = dict_find(dict, (char_u *)"lnum", -1);
     if (di != NULL)
     {
-	lnum = (int)tv_get_number_chk(&di->di_tv, &notanum);
-	if (notanum)
+	lnum = tv_get_lnum(&di->di_tv);
+	if (lnum <= 0)
+	{
+	    emsg(_(e_invarg));
 	    goto cleanup;
+	}
     }
 
     // sign priority