runtime(vim): Update base-syntax, match tuples

Tuples were introduced in commit 9cb865e.  See PR #16776.

fixes: #16965
closes: #16935

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/syntax/testdir/input/vim9_tuple.vim b/runtime/syntax/testdir/input/vim9_tuple.vim
new file mode 100644
index 0000000..99370a5
--- /dev/null
+++ b/runtime/syntax/testdir/input/vim9_tuple.vim
@@ -0,0 +1,26 @@
+vim9script
+
+# Vim9 tuples
+
+
+# https://github.com/vim/vim/pull/16935#issuecomment-2738310273
+
+function LegacyMakeEntry(key, value) abort
+    return (a:key, a:value)
+endfunction
+
+def MakeEntry(key: string, value: any): tuple<string, any>
+    return (key, value)
+enddef
+
+function LegacyMakeLazyList(e1, e2) abort
+    return ({e1_, e2_ -> {-> [e1_, e2_]}}(a:e1, a:e2))
+endfunction
+
+def MakeLazyList(e1: any, e2: any): func(): list<any>
+    return (((e1_: any, e2_: any) => () => [e1_, e2_])(e1, e2))
+enddef
+
+echo MakeEntry('key', 'value') == list2tuple(MakeLazyList('key', 'value')())
+echo LegacyMakeEntry('key', 'value') == list2tuple(LegacyMakeLazyList('key', 'value')())
+