summaryrefslogtreecommitdiffstats
path: root/extras
diff options
context:
space:
mode:
authorOlaf Alders <olaf@wundersolutions.com>2022-04-18 06:03:02 -0400
committerGitHub <noreply@github.com>2022-04-18 12:03:02 +0200
commit0e1b19120995c5ba488cbe16a5281a1bf4af3aab (patch)
tree52c471e65dc2b2c6af560814f183efaaeec611c4 /extras
parent83422e0a1fcfc88f3475104b0e0674e8dbe3130e (diff)
downloadvim-polyglot-0e1b19120995c5ba488cbe16a5281a1bf4af3aab.tar.gz
vim-polyglot-0e1b19120995c5ba488cbe16a5281a1bf4af3aab.zip
Check if TestFiletypeFuncs exists before defining it (#788)
Fixes #783
Diffstat (limited to 'extras')
-rw-r--r--extras/filetype.vim25
1 files changed, 14 insertions, 11 deletions
diff --git a/extras/filetype.vim b/extras/filetype.vim
index f6cb13a1..391c2d49 100644
--- a/extras/filetype.vim
+++ b/extras/filetype.vim
@@ -2506,17 +2506,20 @@ endif
" Function called for testing all functions defined here. These are
" script-local, thus need to be executed here.
" Returns a string with error messages (hopefully empty).
-func! TestFiletypeFuncs(testlist)
- let output = ''
- for f in a:testlist
- try
- exe f
- catch
- let output = output . "\n" . f . ": " . v:exception
- endtry
- endfor
- return output
-endfunc
+" Check if function exists first. See https://github.com/vim/vim/issues/9890
+if !exists("*TestFiletypeFuncs")
+ func! TestFiletypeFuncs(testlist)
+ let output = ''
+ for f in a:testlist
+ try
+ exe f
+ catch
+ let output = output . "\n" . f . ": " . v:exception
+ endtry
+ endfor
+ return output
+ endfunc
+endif
" Restore 'cpoptions'
let &cpo = s:cpo_save