patch 8.2.1980: Vim9: some tests are not done at the script level

Problem:    Vim9: some tests are not done at the script level.
Solution:   Use CheckDefAndScriptSuccess() in more places.  Fix uncovered
            problems.
diff --git a/src/scriptfile.c b/src/scriptfile.c
index 68d1023..7e5ea4c 100644
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -1332,7 +1332,10 @@
 	// set again.
 	ht = &SCRIPT_VARS(sid);
 	if (is_vim9)
+	{
 	    hashtab_free_contents(ht);
+	    hash_init(ht);
+	}
 	else
 	{
 	    int		todo = (int)ht->ht_used;