patch 8.2.2005: redoing a mapping with <Cmd> doesn't work properly

Problem:    Redoing a mapping with <Cmd> doesn't work properly.
Solution:   Fill the redo buffer.  Use "<SNR>" instead of a key code.
            (closes #7282)
diff --git a/src/getchar.c b/src/getchar.c
index 165a6a3..ad21cba 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -3691,11 +3691,7 @@
 	else if (IS_SPECIAL(c1))
 	{
 	    if (c1 == K_SNR)
-	    {
-		ga_append(&line_ga, (char)K_SPECIAL);
-		ga_append(&line_ga, (char)KS_EXTRA);
-		ga_append(&line_ga, (char)KE_SNR);
-	    }
+		ga_concat(&line_ga, (char_u *)"<SNR>");
 	    else
 	    {
 		semsg(e_cmd_maping_must_not_include_str_key,