patch 8.2.5004: right shift on negative number does not work as documented

Problem:    Right shift on negative number does not work as documented.
Solution:   Use a uvarnumber_T type cast.
diff --git a/src/charset.c b/src/charset.c
index 34751e1..203a8fe 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -2002,6 +2002,7 @@
 	}
 	else
 	{
+	    // prevent a larg unsigned number to become negative
 	    if (un > VARNUM_MAX)
 		un = VARNUM_MAX;
 	    *nptr = (varnumber_T)un;