patch 8.2.4754: using cached values after unsetting some environment variables

Problem:    Still using cached values after unsetting some known environment
            variables.
Solution:   Take care of the side effects. (closes #10194)
diff --git a/src/optionstr.c b/src/optionstr.c
index 698a3f3..26dd551 100644
--- a/src/optionstr.c
+++ b/src/optionstr.c
@@ -644,7 +644,7 @@
 
 /*
  * Handle string options that need some action to perform when changed.
- * Returns NULL for success, or an error message for an error.
+ * Returns NULL for success, or an unstranslated error message for an error.
  */
     char *
 did_set_string_option(
@@ -787,15 +787,9 @@
     {
 	// May compute new values for $VIM and $VIMRUNTIME
 	if (didset_vim)
-	{
-	    vim_setenv((char_u *)"VIM", (char_u *)"");
-	    didset_vim = FALSE;
-	}
+	    vim_unsetenv_ext((char_u *)"VIM");
 	if (didset_vimruntime)
-	{
-	    vim_setenv((char_u *)"VIMRUNTIME", (char_u *)"");
-	    didset_vimruntime = FALSE;
-	}
+	    vim_unsetenv_ext((char_u *)"VIMRUNTIME");
     }
 
 #ifdef FEAT_SYN_HL