patch 8.2.0732: Vim9: storing value in dict messes up stack

Problem:    Vim9: storing value in dict messes up stack.
Solution:   Correct item count of stack.
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index 12260c3..55d756a 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -54,6 +54,12 @@
   assert_equal('asdf', l[1])
   assert_equal('asdf', l[-1])
   assert_equal('value', l[-2])
+
+  let nrl: list<number> = []
+  for i in range(5)
+    nrl[i] = i
+  endfor
+  assert_equal([0, 1, 2, 3, 4], nrl)
 enddef
 
 def Test_assign_dict()
@@ -64,6 +70,12 @@
   d[123] = 'qwerty'
   assert_equal('qwerty', d[123])
   assert_equal('qwerty', d['123'])
+
+  let nrd: dict<number> = {}
+  for i in range(3)
+    nrd[i] = i
+  endfor
+  assert_equal({'0': 0, '1': 1, '2': 2}, nrd)
 enddef
 
 
diff --git a/src/version.c b/src/version.c
index efb3c31..6a29592 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    732,
+/**/
     731,
 /**/
     730,
diff --git a/src/vim9execute.c b/src/vim9execute.c
index ba4ae478..4356e2a 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -1286,6 +1286,7 @@
 		    }
 		    clear_tv(tv_idx);
 		    clear_tv(tv_list);
+		    ectx.ec_stack.ga_len -= 3;
 		}
 		break;
 
@@ -1319,6 +1320,7 @@
 		    }
 		    clear_tv(tv_key);
 		    clear_tv(tv_dict);
+		    ectx.ec_stack.ga_len -= 3;
 		}
 		break;