patch 8.2.2311: Vim9: cannot assign to variable that shadows command modifier

Problem:    Vim9: cannot assign to a variable that shadows a command modifier.
Solution:   Check for assignment after possible command modifier.
            (closes #7632)
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index 2d137a3..55b25ea 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -1464,5 +1464,26 @@
   assert_equal('', $ENVVAR)
 enddef
 
+def Test_assign_command_modifier()
+  var lines =<< trim END
+    var verbose = 0
+    verbose = 1
+    assert_equal(1, verbose)
+    silent verbose = 2
+    assert_equal(2, verbose)
+    silent verbose += 2
+    assert_equal(4, verbose)
+    silent verbose -= 1
+    assert_equal(3, verbose)
+
+    var topleft = {one: 1}
+    sandbox topleft.one = 3
+    assert_equal({one: 3}, topleft)
+    leftabove topleft[' '] = 4
+    assert_equal({one: 3, ' ': 4}, topleft)
+  END
+  CheckDefAndScriptSuccess(lines)
+enddef
+
 
 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker