patch 9.0.0397: :defer not tested with exceptions and ":qa!"

Problem:    :defer not tested with exceptions and ":qa!".
Solution:   Test :defer works when exceptions are thrown and when ":qa!" is
            used.  Invoke the deferred calls on exit.
diff --git a/src/eval.c b/src/eval.c
index 6b2d86b..5ec5b8a 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -263,8 +263,9 @@
 	if (partial->pt_func != NULL
 			  && partial->pt_func->uf_def_status != UF_NOT_COMPILED)
 	{
+	    // FIXME: should create a funccal and link it in current_funccal.
 	    if (call_def_function(partial->pt_func, argc, argv,
-						       partial, rettv) == FAIL)
+						 partial, NULL, rettv) == FAIL)
 		return FAIL;
 	}
 	else