patch 8.2.2388: no easy way to get the maximum or mininum number value

Problem:    No easy way to get the maximum or mininum number value.
Solution:   Add v:numbermax and v:numbermin.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 217e69d..dd5bc93 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.2.  Last change: 2021 Jan 17
+*eval.txt*	For Vim version 8.2.  Last change: 2021 Jan 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2082,6 +2082,12 @@
 		That is so that eval() can parse the string back to the same
 		value.  Read-only.
 
+					*v:numbermax* *numbermax-variable*
+v:numbermax	Maximum value of a number.
+
+					*v:numbermix* *numbermix-variable*
+v:numbermin	Minimum value of a number (negative)
+
 					*v:numbersize* *numbersize-variable*
 v:numbersize	Number of bits in a Number.  This is normally 64, but on some
 		systems it may be 32.
diff --git a/src/evalvars.c b/src/evalvars.c
index 1799531..dfc8e63 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -122,6 +122,8 @@
     {VV_NAME("true",		 VAR_BOOL), VV_RO},
     {VV_NAME("none",		 VAR_SPECIAL), VV_RO},
     {VV_NAME("null",		 VAR_SPECIAL), VV_RO},
+    {VV_NAME("numbermax",	 VAR_NUMBER), VV_RO},
+    {VV_NAME("numbermin",	 VAR_NUMBER), VV_RO},
     {VV_NAME("numbersize",	 VAR_NUMBER), VV_RO},
     {VV_NAME("vim_did_enter",	 VAR_NUMBER), VV_RO},
     {VV_NAME("testing",		 VAR_NUMBER), 0},
@@ -228,6 +230,8 @@
     set_vim_var_nr(VV_TRUE, VVAL_TRUE);
     set_vim_var_nr(VV_NONE, VVAL_NONE);
     set_vim_var_nr(VV_NULL, VVAL_NULL);
+    set_vim_var_nr(VV_NUMBERMAX, VARNUM_MAX);
+    set_vim_var_nr(VV_NUMBERMIN, VARNUM_MIN);
     set_vim_var_nr(VV_NUMBERSIZE, sizeof(varnumber_T) * 8);
 
     set_vim_var_nr(VV_TYPE_NUMBER,  VAR_TYPE_NUMBER);
diff --git a/src/testdir/test_eval_stuff.vim b/src/testdir/test_eval_stuff.vim
index e5f521c..52e8df9 100644
--- a/src/testdir/test_eval_stuff.vim
+++ b/src/testdir/test_eval_stuff.vim
@@ -256,10 +256,13 @@
   endif
 endfunc
 
-func Test_numbersize()
-  " This will fail on systems without 64 bit int support or when not configured
-  " correctly.
+func Test_number_max_min_size()
+  " This will fail on systems without 64 bit number support or when not
+  " configured correctly.
   call assert_equal(64, v:numbersize)
+
+  call assert_true(v:numbermin < -9999999)
+  call assert_true(v:numbermax > 9999999)
 endfunc
 
 func Assert_reg(name, type, value, valuestr, expr, exprstr)
diff --git a/src/version.c b/src/version.c
index c911ed4..6d99990 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2388,
+/**/
     2387,
 /**/
     2386,
diff --git a/src/vim.h b/src/vim.h
index 7ba728a..de2482e 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1975,32 +1975,34 @@
 #define VV_TRUE		69
 #define VV_NONE		70
 #define VV_NULL		71
-#define VV_NUMBERSIZE	72
-#define VV_VIM_DID_ENTER 73
-#define VV_TESTING	74
-#define VV_TYPE_NUMBER	75
-#define VV_TYPE_STRING	76
-#define VV_TYPE_FUNC	77
-#define VV_TYPE_LIST	78
-#define VV_TYPE_DICT	79
-#define VV_TYPE_FLOAT	80
-#define VV_TYPE_BOOL	81
-#define VV_TYPE_NONE	82
-#define VV_TYPE_JOB	83
-#define VV_TYPE_CHANNEL	84
-#define VV_TYPE_BLOB	85
-#define VV_TERMRFGRESP	86
-#define VV_TERMRBGRESP	87
-#define VV_TERMU7RESP	88
-#define VV_TERMSTYLERESP 89
-#define VV_TERMBLINKRESP 90
-#define VV_EVENT	91
-#define VV_VERSIONLONG	92
-#define VV_ECHOSPACE	93
-#define VV_ARGV		94
-#define VV_COLLATE      95
-#define VV_EXITING	96
-#define VV_LEN		97	// number of v: vars
+#define VV_NUMBERMAX	72
+#define VV_NUMBERMIN	73
+#define VV_NUMBERSIZE	74
+#define VV_VIM_DID_ENTER 75
+#define VV_TESTING	76
+#define VV_TYPE_NUMBER	77
+#define VV_TYPE_STRING	78
+#define VV_TYPE_FUNC	79
+#define VV_TYPE_LIST	80
+#define VV_TYPE_DICT	81
+#define VV_TYPE_FLOAT	82
+#define VV_TYPE_BOOL	83
+#define VV_TYPE_NONE	84
+#define VV_TYPE_JOB	85
+#define VV_TYPE_CHANNEL	86
+#define VV_TYPE_BLOB	87
+#define VV_TERMRFGRESP	88
+#define VV_TERMRBGRESP	89
+#define VV_TERMU7RESP	90
+#define VV_TERMSTYLERESP 91
+#define VV_TERMBLINKRESP 92
+#define VV_EVENT	93
+#define VV_VERSIONLONG	94
+#define VV_ECHOSPACE	95
+#define VV_ARGV		96
+#define VV_COLLATE      97
+#define VV_EXITING	98
+#define VV_LEN		99	// number of v: vars
 
 // used for v_number in VAR_BOOL and VAR_SPECIAL
 #define VVAL_FALSE	0L	// VAR_BOOL