]> granicus.if.org Git - vim/commitdiff
patch 8.2.1746: Vim9: cannot use "fina" for "finally" v8.2.1746
authorBram Moolenaar <Bram@vim.org>
Sat, 26 Sep 2020 15:20:53 +0000 (17:20 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 26 Sep 2020 15:20:53 +0000 (17:20 +0200)
Problem:    Vim9: Cannot use "fina" for "finally". (Naruhiko Nishino)
Solution:   Specifically check for "fina". (closes #7020)

src/ex_docmd.c
src/testdir/test_trycatch.vim
src/testdir/test_vim9_script.vim
src/version.c

index a7542f35b4eba320ecad9a758fddbc1b8cbbe31f..bb504ffd6a8a6e8d75137f9897f9c8cfd255ab86 100644 (file)
@@ -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;
 }
 
index 1f1681f2d9df984b371929b6c0f9efc97db569d3..9f670f7aedba39566f371692a9ee169f64af373f 100644 (file)
@@ -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
index 2f82b8dd379e1d9108f42e0f70a752fcc5c568b5..0feb9fad411789af98fc6ef7fe63bfaa4f3335e1 100644 (file)
@@ -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'
index bd5d60745eebe9952b6c831a98e9df853dd48865..49ce61cab7a8df52c347e25674f34fc349d4d9fc 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1746,
 /**/
     1745,
 /**/