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/eval.c b/src/eval.c
index 0ac2dfb..7f90954 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -3091,12 +3091,8 @@
 		rettv->vval.v_number =
 				    rettv->vval.v_number << var2.vval.v_number;
 	    else
-	    {
 		rettv->vval.v_number =
-				    rettv->vval.v_number >> var2.vval.v_number;
-		// clear the topmost sign bit
-		rettv->vval.v_number &= ~((uvarnumber_T)1 << MAX_LSHIFT_BITS);
-	    }
+		      (uvarnumber_T)rettv->vval.v_number >> var2.vval.v_number;
 	}
 
 	clear_tv(&var2);