patch 8.1.0011: maparg() and mapcheck() confuse empty and non-existing

Problem:    maparg() and mapcheck() confuse empty and non-existing.
Solution:   Return <Nop> for an existing non-empty mapping. (closes #2940)
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 5cee976..46e55b3 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -7383,7 +7383,12 @@
     {
 	/* Return a string. */
 	if (rhs != NULL)
-	    rettv->vval.v_string = str2special_save(rhs, FALSE);
+	{
+	    if (*rhs == NUL)
+		rettv->vval.v_string = vim_strsave((char_u *)"<Nop>");
+	    else
+		rettv->vval.v_string = str2special_save(rhs, FALSE);
+	}
 
     }
     else if (rettv_dict_alloc(rettv) != FAIL && rhs != NULL)