# HG changeset patch # User Bram Moolenaar # Date 1601134205 -7200 # Node ID 03249b8976a9b52e3b443373ed69b76a3ae18b67 # Parent e86d16efd79a7adf4ccf36912d873ee06c32a53f patch 8.2.1746: Vim9: cannot use "fina" for "finally" Commit: https://github.com/vim/vim/commit/373863ed48c02b5df52574aa7d50aeecb1037d40 Author: Bram Moolenaar Date: Sat Sep 26 17:20:53 2020 +0200 patch 8.2.1746: Vim9: cannot use "fina" for "finally" Problem: Vim9: Cannot use "fina" for "finally". (Naruhiko Nishino) Solution: Specifically check for "fina". (closes https://github.com/vim/vim/issues/7020) diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -3420,6 +3420,10 @@ find_ex_command( eap->cmdidx = CMD_SIZE; } + // ":fina" means ":finally" for backwards compatibility. + if (eap->cmdidx == CMD_final && p - eap->cmd == 4) + eap->cmdidx = CMD_finally; + return p; } diff --git a/src/testdir/test_trycatch.vim b/src/testdir/test_trycatch.vim --- a/src/testdir/test_trycatch.vim +++ b/src/testdir/test_trycatch.vim @@ -37,7 +37,7 @@ func T25_F() if loops == 2 try Xpath 'f' . loops - finally + final Xpath 'g' . loops endtry endif @@ -49,19 +49,20 @@ func T25_F() Xpath 'i' endfunc +" Also try using "fina" and "final" and "finall" as abbraviations. func T25_G() if 1 try Xpath 'A' call T25_F() Xpath 'B' - finally + fina Xpath 'C' endtry else try Xpath 'D' - finally + finall Xpath 'E' endtry endif diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -316,7 +316,7 @@ def Test_try_catch() endtry catch /wrong/ add(l, 'caught') - finally + fina add(l, 'finally') endtry assert_equal(['1', 'caught', 'finally'], l) @@ -526,7 +526,7 @@ enddef def ReturnFinally(): string try return 'intry' - finally + finall g:in_finally = 'finally' endtry return 'end' diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1746, +/**/ 1745, /**/ 1744,