patch 8.2.2652: Vim9: can use command modifier without an effect
Problem: Vim9: can use command modifier without an effect.
Solution: Give an error for a misplaced command modifier. Fix error message
number.
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index c276a7e..bc4cfa6 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -797,6 +797,55 @@
bwipe!
enddef
+def Test_useless_command_modifier()
+ g:maybe = true
+ var lines =<< trim END
+ if g:maybe
+ silent endif
+ END
+ CheckDefAndScriptFailure(lines, 'E1176:', 2)
+
+ lines =<< trim END
+ for i in [0]
+ silent endfor
+ END
+ CheckDefAndScriptFailure(lines, 'E1176:', 2)
+
+ lines =<< trim END
+ while g:maybe
+ silent endwhile
+ END
+ CheckDefAndScriptFailure(lines, 'E1176:', 2)
+
+ lines =<< trim END
+ silent try
+ finally
+ endtry
+ END
+ CheckDefAndScriptFailure(lines, 'E1176:', 1)
+
+ lines =<< trim END
+ try
+ silent catch
+ endtry
+ END
+ CheckDefAndScriptFailure(lines, 'E1176:', 2)
+
+ lines =<< trim END
+ try
+ silent finally
+ endtry
+ END
+ CheckDefAndScriptFailure(lines, 'E1176:', 2)
+
+ lines =<< trim END
+ try
+ finally
+ silent endtry
+ END
+ CheckDefAndScriptFailure(lines, 'E1176:', 3)
+enddef
+
def Test_eval_command()
var from = 3
var to = 5