Update runtime files
diff --git a/runtime/autoload/dist/vimindent.vim b/runtime/autoload/dist/vimindent.vim
index 8d86543..1306d1e 100644
--- a/runtime/autoload/dist/vimindent.vim
+++ b/runtime/autoload/dist/vimindent.vim
@@ -1121,13 +1121,8 @@
 enddef
 
 def InCommentOrString(): bool # {{{3
-    for synID: number in synstack('.', col('.'))
-        if synIDattr(synID, 'name') =~ '\ccomment\|string\|heredoc'
-            return true
-        endif
-    endfor
-
-    return false
+    return synstack('.', col('.'))
+        ->indexof((_, id: number): bool => synIDattr(id, 'name') =~ '\ccomment\|string\|heredoc') >= 0
 enddef
 
 def AlsoClosesBlock(line_B: dict<any>): bool # {{{3
diff --git a/runtime/autoload/python.vim b/runtime/autoload/python.vim
index 1eaad09..d5f4862 100644
--- a/runtime/autoload/python.vim
+++ b/runtime/autoload/python.vim
@@ -22,8 +22,7 @@
 function s:SearchBracket(fromlnum, flags)
   return searchpairpos('[[({]', '', '[])}]', a:flags,
           \ {-> synstack('.', col('.'))
-          \   ->map({_, id -> id->synIDattr('name')})
-          \   ->match('\%(Comment\|Todo\|String\)$') >= 0},
+          \ ->indexof({_, id -> synIDattr(id, 'name') =~ '\%(Comment\|Todo\|String\)$'}) >= 0},
           \ [0, a:fromlnum - s:maxoff]->max(), g:python_indent.searchpair_timeout)
 endfunction
 
@@ -157,15 +156,13 @@
     " the start of the comment.  synID() is slow, a linear search would take
     " too long on a long line.
     if synstack(plnum, pline_len)
-    \ ->map({_, id -> id->synIDattr('name')})
-    \ ->match('\%(Comment\|Todo\)$') >= 0
+    \ ->indexof({_, id -> synIDattr(id, 'name') =~ '\%(Comment\|Todo\)$'}) >= 0
       let min = 1
       let max = pline_len
       while min < max
 	let col = (min + max) / 2
         if synstack(plnum, col)
-        \ ->map({_, id -> id->synIDattr('name')})
-        \ ->match('\%(Comment\|Todo\)$') >= 0
+        \ ->indexof({_, id -> synIDattr(id, 'name') =~ '\%(Comment\|Todo\)$'}) >= 0
 	  let max = col
 	else
 	  let min = col + 1