patch 9.1.0989: Vim9: Whitespace after the final enum value causes a syntax 
error

Commit: 
https://github.com/vim/vim/commit/dbe39edb29cf5f899d475ee783a059cb6f678286
Author: Doug Kearns <dougkea...@gmail.com>
Date:   Sat Jan 4 17:12:24 2025 +0100

    patch 9.1.0989: Vim9: Whitespace after the final enum value causes a syntax 
error
    
    Problem:  Vim9: Whitespace after the final enum value causes a syntax
              error
    Solution: Fix parsing to allow whitespace after the final enum value.
              (Doug Kearns)
    
    closes: #16383
    
    Signed-off-by: Doug Kearns <dougkea...@gmail.com>
    Signed-off-by: Yegappan Lakshmanan <yegap...@yahoo.com>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/testdir/test_codestyle.vim b/src/testdir/test_codestyle.vim
index 83f52ef34..51c1209d4 100644
--- a/src/testdir/test_codestyle.vim
+++ b/src/testdir/test_codestyle.vim
@@ -85,6 +85,7 @@ def Test_test_files()
             && fname !~ 'test_let.vim'
             && fname !~ 'test_tagjump.vim'
             && fname !~ 'test_vim9_cmd.vim'
+            && fname !~ 'test_vim9_enum.vim'
       cursor(1, 1)
       var lnum = search(
           fname =~ 'test_vim9_assign.vim' ? '[^=]\s$'
diff --git a/src/testdir/test_vim9_enum.vim b/src/testdir/test_vim9_enum.vim
index a5fb26fcf..74eb46880 100644
--- a/src/testdir/test_vim9_enum.vim
+++ b/src/testdir/test_vim9_enum.vim
@@ -908,6 +908,18 @@ def Test_enum_comments()
   END
   v9.CheckSourceSuccess(lines)
 
+  lines =<< trim END
+    vim9script
+    enum Car   # cars
+      # before enum
+      Honda(), # honda
+      # before enum
+      Ford()   # ford
+    endenum
+    assert_equal(1, Car.Ford.ordinal)
+  END
+  v9.CheckSourceSuccess(lines)
+
   # Test for using an unsupported comment
   lines =<< trim END
     vim9script
@@ -921,6 +933,29 @@ def Test_enum_comments()
   v9.CheckSourceFailure(lines, 'E1170: Cannot use #{ to start a comment', 4)
 enddef
 
+" Test trailing whitespace after enum values
+def Test_enum_whitespace()
+  var lines =<< trim END
+    vim9script
+    enum Car
+      Honda, 
+      Ford   
+    endenum
+    defcompile
+  END
+  v9.CheckSourceSuccess(lines)
+
+  lines =<< trim END
+    vim9script
+    enum Car
+      Honda(), 
+      Ford()   
+    endenum
+    defcompile
+  END
+  v9.CheckSourceSuccess(lines)
+enddef
+
 " Test string() with enums
 def Test_enum_string()
   var lines =<< trim END
diff --git a/src/version.c b/src/version.c
index 987aa9b3f..99f41030f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    989,
 /**/
     988,
 /**/
diff --git a/src/vim9class.c b/src/vim9class.c
index 22db751e5..7c7700ba1 100644
--- a/src/vim9class.c
+++ b/src/vim9class.c
@@ -1623,6 +1623,8 @@ enum_parse_values(
        }
     }
 
+    p = skipwhite(p);
+
     if (*p != NUL && *p != '#')
     {
        if (did_emsg == did_emsg_before)

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1tU6ns-007NB8-CO%40256bit.org.

Raspunde prin e-mail lui