patch 9.0.1130: unexpected output when autoloading a script

Problem:    Unexpected output when autoloading a script for an interactive
            operation.
Solution:   Reset "KeyTyped" while loading a script and when handling a nested
            function. (closes #11773)
diff --git a/src/scriptfile.c b/src/scriptfile.c
index d348631..4b1fa6b 100644
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -1334,10 +1334,10 @@
  * When "ret_sid" is not NULL and we loaded the script before, don't load it
  * again.
  *
- * The 'eap' argument is used when sourcing lines from a buffer instead of a
+ * The "eap" argument is used when sourcing lines from a buffer instead of a
  * file.
  *
- * If 'clearvars' is TRUE, then for scripts which are loaded more than
+ * If "clearvars" is TRUE, then for scripts which are loaded more than
  * once, clear all the functions and variables previously defined in that
  * script.
  *
@@ -1538,6 +1538,7 @@
 	current_sctx.sc_version = SCRIPT_VERSION_VIM9;
     else
 	current_sctx.sc_version = 1;  // default script version
+    current_sctx.sc_lnum = 0;
 
 #ifdef FEAT_EVAL
 # ifdef FEAT_PROFILE
@@ -1549,7 +1550,10 @@
     // Also starts profiling timer for nested script.
     save_funccal(&funccalp_entry);
 
-    current_sctx.sc_lnum = 0;
+    // Reset "KeyTyped" to avoid some commands thinking they are invoked
+    // interactively.  E.g. defining a function would output indent.
+    int save_KeyTyped = KeyTyped;
+    KeyTyped = FALSE;
 
     // Check if this script was sourced before to find its SID.
     // Always use a new sequence number.
@@ -1765,6 +1769,7 @@
 # endif
 #endif
     current_sctx = save_current_sctx;
+    KeyTyped = save_KeyTyped;
 
     if (cookie.fp != NULL)
 	fclose(cookie.fp);