diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-07-03 18:18:23 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-07-03 18:18:23 +0200 |
commit | 3d1d6475f9665660c80cc53a7da2d5450b8b8d08 (patch) | |
tree | 54e38ec4376fdc2d3e2fc586f6721fef7d51aa2c /runtime/pack | |
parent | e6882bdc44efbcea0af647f5759a8f48cf29e27c (diff) |
patch 8.1.0143: matchit and matchparen don't handle E363v8.1.0143
Problem: Matchit and matchparen don't handle E363.
Solution: Catch the E363 error. (Christian Brabandt)
Diffstat (limited to 'runtime/pack')
-rw-r--r-- | runtime/pack/dist/opt/matchit/plugin/matchit.vim | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/runtime/pack/dist/opt/matchit/plugin/matchit.vim b/runtime/pack/dist/opt/matchit/plugin/matchit.vim index 5e9df89c47..6f3c0f8942 100644 --- a/runtime/pack/dist/opt/matchit/plugin/matchit.vim +++ b/runtime/pack/dist/opt/matchit/plugin/matchit.vim @@ -1,5 +1,5 @@ " matchit.vim: (global plugin) Extended "%" matching -" Last Change: 2017 Sep 15 +" Last Change: 2018 Jul 3 by Christian Brabandt " Maintainer: Benji Fisher PhD <benji@member.AMS.org> " Version: 1.13.3, for Vim 6.3+ " Fix from Fernando Torres included. @@ -272,7 +272,7 @@ function! s:Match_wrapper(word, forward, mode) range " execute "normal!" . curcol . "l" " endif if skip =~ 'synID' && !(has("syntax") && exists("g:syntax_on")) - let skip = "0" + let skip = '0' else execute "if " . skip . "| let skip = '0' | endif" endif @@ -719,10 +719,16 @@ fun! s:MultiMatch(spflag, mode) let openpat = substitute(openpat, ',', '\\|', 'g') let closepat = substitute(close, '\(\\\@<!\(\\\\\)*\)\@<=\\(', '\\%(', 'g') let closepat = substitute(closepat, ',', '\\|', 'g') + if skip =~ 'synID' && !(has("syntax") && exists("g:syntax_on")) let skip = '0' else - execute "if " . skip . "| let skip = '0' | endif" + try + execute "if " . skip . "| let skip = '0' | endif" + catch /^Vim\%((\a\+)\)\=:E363/ + " We won't find anything, so skip searching, should keep Vim responsive. + return + endtry endif mark ' while level |