summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-04-08 16:25:07 +0200
committerBram Moolenaar <Bram@vim.org>2019-04-08 16:25:07 +0200
commit62e1bb4a111e7ce570c30965f40a68a07a9da5b0 (patch)
tree74aff99ea74462b68d02fb23c7c153318a216e59 /runtime
parent049736fa8af211886848d4a847b45d5d991c9687 (diff)
Update runtime files.
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/eval.txt15
-rw-r--r--runtime/doc/index.txt5
-rw-r--r--runtime/doc/insert.txt2
-rw-r--r--runtime/doc/message.txt8
-rw-r--r--runtime/doc/repeat.txt7
-rw-r--r--runtime/doc/tags15
-rw-r--r--runtime/doc/todo.txt75
-rw-r--r--runtime/doc/usr_41.txt3
-rw-r--r--runtime/gvim.desktop2
-rw-r--r--runtime/indent/sh.vim50
-rw-r--r--runtime/syntax/html.vim82
11 files changed, 148 insertions, 116 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 67f548d269..8a4a54c55b 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 8.1. Last change: 2019 Apr 04
+*eval.txt* For Vim version 8.1. Last change: 2019 Apr 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1044,7 +1044,7 @@ expr7 * expr7 Number multiplication *expr-star*
expr7 / expr7 Number division *expr-/*
expr7 % expr7 Number modulo *expr-%*
-For all, except ".", Strings are converted to Numbers.
+For all, except "." and "..", Strings are converted to Numbers.
For bitwise operators see |and()|, |or()| and |xor()|.
Note the difference between "+" and ".":
@@ -2508,9 +2508,7 @@ py3eval({expr}) any evaluate |python3| expression
pyxeval({expr}) any evaluate |python_x| expression
range({expr} [, {max} [, {stride}]])
List items from {expr} to {max}
-readdir({directory} [, {expr}])
- List file names on {dir} with evalating
- {expr}
+readdir({dir} [, {expr}]) List file names in {dir} selected by {expr}
readfile({fname} [, {type} [, {max}]])
List get list of lines from file {fname}
reg_executing() String get the executing register name
@@ -5398,6 +5396,9 @@ glob({expr} [, {nosuf} [, {list} [, {alllinks}]]]) *glob()*
If the expansion fails, the result is an empty String or List.
+ You can also use |readdir()| if you need to do complicated
+ things, such as limiting the number of matches.
+
A name for a non-existing file is not included. A symbolic
link is only included if it points to an existing file.
However, when the {alllinks} argument is present and it is
@@ -7279,6 +7280,8 @@ range({expr} [, {max} [, {stride}]]) *range()*
*readdir()*
readdir({directory} [, {expr}])
Return a list with file and directory names in {directory}.
+ You can also use |glob()| if you don't need to do complicated
+ things, such as limiting the number of matches.
When {expr} is omitted all entries are included.
When {expr} is given, it is evaluated to check what to do:
@@ -7344,7 +7347,7 @@ reg_executing() *reg_executing()*
reg_recording() *reg_recording()*
Returns the single letter name of the register being recorded.
- Returns an empty string string when not recording. See |q|.
+ Returns an empty string when not recording. See |q|.
reltime([{start} [, {end}]]) *reltime()*
Return an item that represents a time value. The format of
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index ca52a34542..577510b609 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt* For Vim version 8.1. Last change: 2019 Mar 21
+*index.txt* For Vim version 8.1. Last change: 2019 Apr 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1547,7 +1547,8 @@ tag command action ~
|:sbrewind| :sbr[ewind] split window and go to first file in the
buffer list
|:scriptnames| :scr[iptnames] list names of all sourced Vim scripts
-|:scriptencoding| :scripte[ncoding] encoding used in sourced Vim script
+|:scriptencoding| :scripte[ncoding] encoding used in sourced Vim script
+|:scriptversion| :scriptv[ersion] version of Vim script used
|:scscope| :scs[cope] split window and execute cscope command
|:set| :se[t] show or set options
|:setfiletype| :setf[iletype] set 'filetype', unless it was set already
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index cf02e91b78..9d7e4ced45 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt* For Vim version 8.1. Last change: 2019 Mar 30
+*insert.txt* For Vim version 8.1. Last change: 2019 Apr 06
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt
index 638d7c7c49..65cd8df08a 100644
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt* For Vim version 8.1. Last change: 2018 Dec 30
+*message.txt* For Vim version 8.1. Last change: 2019 Apr 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -703,11 +703,13 @@ Or use ":set nocp".
This happens when an Ex command with mandatory argument(s) was executed, but
no argument has been specified.
- *E474* *E475* >
+ *E474* *E475* *E983* >
Invalid argument
Invalid argument: {arg}
+ Duplicate argument: {arg}
-An Ex command has been executed, but an invalid argument has been specified.
+An Ex command or function has been executed, but an invalid argument has been
+specified.
*E488* >
Trailing characters
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index dc441d37ed..27afb94ad5 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt* For Vim version 8.1. Last change: 2019 Apr 04
+*repeat.txt* For Vim version 8.1. Last change: 2019 Apr 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -327,8 +327,9 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
:scriptv[ersion] {version} *:scriptv* *:scriptversion*
*E999* *E984*
- Specify the version of Vim for the lines that follow.
- Does not apply to sourced scripts.
+ Specify the version of Vim for the lines that follow
+ in the same file. Only applies at the toplevel of
+ sourced scripts, not inside functions.
If {version} is higher than what the current Vim
version supports E999 will be given. You either need
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 4b5a1ef269..1dd10b79d8 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2531,6 +2531,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:let-option eval.txt /*:let-option*
:let-register eval.txt /*:let-register*
:let-unpack eval.txt /*:let-unpack*
+:let..= eval.txt /*:let..=*
:let.= eval.txt /*:let.=*
:let/= eval.txt /*:let\/=*
:letstar= eval.txt /*:letstar=*
@@ -2936,6 +2937,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:scripte repeat.txt /*:scripte*
:scriptencoding repeat.txt /*:scriptencoding*
:scriptnames repeat.txt /*:scriptnames*
+:scriptv repeat.txt /*:scriptv*
+:scriptversion repeat.txt /*:scriptversion*
:scs if_cscop.txt /*:scs*
:scscope if_cscop.txt /*:scscope*
:se options.txt /*:se*
@@ -4692,7 +4695,11 @@ E98 diff.txt /*E98*
E980 eval.txt /*E980*
E981 starting.txt /*E981*
E982 terminal.txt /*E982*
+E983 message.txt /*E983*
+E984 repeat.txt /*E984*
+E985 eval.txt /*E985*
E99 diff.txt /*E99*
+E999 repeat.txt /*E999*
EX intro.txt /*EX*
EXINIT starting.txt /*EXINIT*
Elvis intro.txt /*Elvis*
@@ -5242,6 +5249,7 @@ autocmd-groups autocmd.txt /*autocmd-groups*
autocmd-intro autocmd.txt /*autocmd-intro*
autocmd-list autocmd.txt /*autocmd-list*
autocmd-nested autocmd.txt /*autocmd-nested*
+autocmd-once autocmd.txt /*autocmd-once*
autocmd-osfiletypes filetype.txt /*autocmd-osfiletypes*
autocmd-patterns autocmd.txt /*autocmd-patterns*
autocmd-remove autocmd.txt /*autocmd-remove*
@@ -6071,6 +6079,7 @@ expr-' eval.txt /*expr-'*
expr-+ eval.txt /*expr-+*
expr-- eval.txt /*expr--*
expr-. eval.txt /*expr-.*
+expr-.. eval.txt /*expr-..*
expr-/ eval.txt /*expr-\/*
expr-< eval.txt /*expr-<*
expr-<# eval.txt /*expr-<#*
@@ -7240,6 +7249,7 @@ ip motion.txt /*ip*
iquote motion.txt /*iquote*
is motion.txt /*is*
isdirectory() eval.txt /*isdirectory()*
+isinf() eval.txt /*isinf()*
islocked() eval.txt /*islocked()*
isnan() eval.txt /*isnan()*
it motion.txt /*it*
@@ -7367,6 +7377,7 @@ list-identity eval.txt /*list-identity*
list-index eval.txt /*list-index*
list-modification eval.txt /*list-modification*
list-repeat windows.txt /*list-repeat*
+list2str() eval.txt /*list2str()*
lite.vim syntax.txt /*lite.vim*
literal-string eval.txt /*literal-string*
lnum-variable eval.txt /*lnum-variable*
@@ -8316,6 +8327,7 @@ read-in-close-cb channel.txt /*read-in-close-cb*
read-messages insert.txt /*read-messages*
read-only-share editing.txt /*read-only-share*
read-stdin version5.txt /*read-stdin*
+readdir() eval.txt /*readdir()*
readfile() eval.txt /*readfile()*
readline.vim syntax.txt /*readline.vim*
recording repeat.txt /*recording*
@@ -8734,6 +8746,7 @@ static-tag tagsrch.txt /*static-tag*
status-line windows.txt /*status-line*
statusmsg-variable eval.txt /*statusmsg-variable*
str2float() eval.txt /*str2float()*
+str2list() eval.txt /*str2list()*
str2nr() eval.txt /*str2nr()*
strcasestr() eval.txt /*strcasestr()*
strcharpart() eval.txt /*strcharpart()*
@@ -9679,6 +9692,8 @@ vimrc-filetype usr_05.txt /*vimrc-filetype*
vimrc-intro usr_05.txt /*vimrc-intro*
vimrc-option-example starting.txt /*vimrc-option-example*
vimrc_example.vim usr_05.txt /*vimrc_example.vim*
+vimscript-version eval.txt /*vimscript-version*
+vimscript-versions eval.txt /*vimscript-versions*
vimtutor usr_01.txt /*vimtutor*
virtcol() eval.txt /*virtcol()*
visual-block visual.txt /*visual-block*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 5f3b383906..f11a9444c9 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 8.1. Last change: 2019 Apr 04
+*todo.txt* For Vim version 8.1. Last change: 2019 Apr 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -156,13 +156,6 @@ When using a timer callback vgetc_busy is reset, allowing for using input().
But in a channel callback this does not happen. We need to do something
similar to check_due_timer(). Also see #3809.
-Using "5gj" starting inside a closed fold does not work on screen lines but on
-text lines. (Julius Hulsmann, #4095)
-
-Add "-once" to ":autocmd". Also add "-nested" as an alias for "nested".
-(Justin M. Keyes, #4100) Syntax of -once may be strange. ++once and ++nested
-is better?
-
C syntax: {} inside () causes following {} to be highlighted as error.
(Michalis Giannakidis, 2006 Jun 1)
@@ -175,8 +168,6 @@ added?
This modeline throws unexpected errors: (#4165)
vim: syn=nosyntax
-Patch for listchars with multi-byte chars. #4197, discussion on #4046.
-
Make balloon_show() work outside of 'balloonexpr'? Users expect it to work:
#2948. (related to #1512?)
On Win32 it stops showing, because showState is already ShS_SHOWING.
@@ -200,10 +191,6 @@ Motif: Build on Ubuntu can't enter any text in dialog text fields.
nvo-mode mapping works on Windows, not on Linux. (#3678)
-Patch to add isinf(). (Ozaki Kiichi, #3787)
-
-Patch to de-duplicate code and add error message. (Yegappan, #4207)
-
No test for NULL after allocating memory: #4174
src/crypt.c line 256;
src/crypt_zip.c line 93;
@@ -218,60 +205,31 @@ No test for NULL after allocating memory: #4174
src/option.c line 12980;
src/popupmnu.c line 1090;
+Missing tests for:
+- add_termcap_entry()
+
When using exclusive selection and vi" that fails, cursor moves to the left.
Cursor should not move. (#4024)
-Patch to be able to separately map CTRL-H and BS on Windows.
-(Linwei, 2017 Jul 11, #1833)
-
-Patch to fix encoding of messages on MS-Windows. (Yasuhiro Matsumoto, 2019 Feb
-13, #3914)
-
-Patch to fix encoding conversion in messages. (#3969)
-Check that this is fixed: (ichizok)
-vim --clean -X -V1 -es -c 'echo "hello"' -c quit
-
Incsearch test fails when locale is "C". (Dominique Pelle, #3986)
Also run all tests with C locale?
-Patch to improve readability of complicated if(). (ichizok, 2019 Jan 29,
-#3879)
-
"vat" doesn't work well on XML when the closing > is on another line.
#3927
-Patch to include ARM64 support. (Leendert van Doorn, 2019 Feb 9)
-
Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
Related to bracketed paste. I cannot reproduce it.
-Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
-New update 2017 Apr 10, #1628
-https://github.com/chrisbra/vim-mq-patches/blob/master/tagfunc
-Updated by Andy Massimino, 2018 Feb 7:
-https://github.com/andymass/vim/commit/4e3aa0a5dab96d2799567622f3f537e357aa479e
-Or should we make it asynchronous?
-Patch by Andy Massimino: #4010 - needs a bit more work
-
When 'confirm' is set a "silent q" doesn't show the prompt. It should in this
case. (Nate Peterson, 2019 Jan 31, #3892)
For "silent! q" it should not prompt and just fail.
-Patch to add readdir(). (Yasuhiro Matsumoto, #2439)
-
-Patch to add list2str() and str2list(). #4190. Can be done with split/join
-and map(), but not for composing characters.
-
-Patch to add equal field to complete items. (#3887)
-Needs to sync to latest version, merge conflicts.
-Summary: no way to avoid filtering for autocomlete function
-Problem: No way to avoid filtering for autocomlete function, causing
- flickering of the popup menu.
-Solution: Add the "equal" field to complete items. (closes #3887)
-
Patch to add CompleteChanged event: triggered when the complete popup menu
changes. #4176
+Patch to add tab-local directories. (Yegappan, #4212)
+Wait a bit for comments.
+
Problem with Visual yank when 'linebreak' and 'showbreak' are set.
Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
Nov 17) Asked about this, Dec 22. Christian will have a look.
@@ -281,6 +239,19 @@ Needs modification.
Patch for larger icons in installer. (#978) Still not good.
+Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
+New update 2017 Apr 10, #1628
+https://github.com/chrisbra/vim-mq-patches/blob/master/tagfunc
+Updated by Andy Massimino, 2018 Feb 7:
+https://github.com/andymass/vim/commit/4e3aa0a5dab96d2799567622f3f537e357aa479e
+Or should we make it asynchronous?
+Patch by Andy Massimino: #4010 - needs more work, tests are missing, docs need
+updating, should probably return a string with extra info instad of dict
+entries.
+
+Patch to fix that using "5gj" starting inside a closed fold does not work on
+screen lines but on text lines. (Julius Hulsmann, #4095) Lacks a test.
+
Some xterm responses are not properly handled: (Markus Gömmel, 2019 Apr 1)
DCS 0 $ r Pt ST should be ignored.
DCS 0 + r/Pt/ ST already ignored?
@@ -386,6 +357,10 @@ Does #2405 do this?
Patch to add an interrupt() function: sets got_int. Useful in an autocommand
such as BufWritePre that checks the file name or contents.
+More patches to check:
+- #3797 add test for #3789
+- #4098 improve Travis config
+
Should make 'listchars' global-local. Local to window or to buffer?
Probably window.
Add something like 'fillchars' local to window, but allow for specifying a
@@ -3947,8 +3922,6 @@ Tab pages:
8 Add local options for each tab page? E.g., 'diffopt' could differ between
tab pages.
7 Add local highlighting for each tab page?
-7 Add local directory for tab pages? How would this interfere with
- window-local directories?
Spell checking:
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index e8fab8847b..429e242c87 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt* For Vim version 8.1. Last change: 2019 Mar 29
+*usr_41.txt* For Vim version 8.1. Last change: 2019 Apr 06
VIM USER MANUAL - by Bram Moolenaar
@@ -775,6 +775,7 @@ System functions and manipulation of files:
systemlist() get the result of a shell command as a list
hostname() name of the system
readfile() read a file into a List of lines
+ readdir() get a List of file names in a directory
writefile() write a List of lines or Blob into a file
Date and Time: *date-functions* *time-functions*
diff --git a/runtime/gvim.desktop b/runtime/gvim.desktop
index 945bfb9bcf..095ddb5644 100644
--- a/runtime/gvim.desktop
+++ b/runtime/gvim.desktop
@@ -6,7 +6,7 @@ GenericName[de]=Texteditor
GenericName[eo]=Tekstoredaktilo
GenericName[fr]=Éditeur de texte
GenericName[pl]=Edytor tekstu
-GenericName[is}=Ritvinnsluforrit
+GenericName[is]=Ritvinnsluforrit
Comment=Edit text files
Comment[af]=Redigeer tekslêers
Comment[am]=የጽሑፍ ፋይሎች ያስተካክሉ
diff --git a/runtime/indent/sh.vim b/runtime/indent/sh.vim
index 32bc9f35bb..520d3eece1 100644
--- a/runtime/indent/sh.vim
+++ b/runtime/indent/sh.vim
@@ -3,10 +3,17 @@
" Maintainer: Christian Brabandt <cb@256bit.org>
" Original Author: Nikolai Weibull <now@bitwi.se>
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
-" Latest Revision: 2018-03-26
+" Latest Revision: 2019-03-25
" License: Vim (see :h license)
" Repository: https://github.com/chrisbra/vim-sh-indent
" Changelog:
+" 20190325 - Indent fi; correctly
+" https://github.com/chrisbra/vim-sh-indent/issues/14
+" 20190319 - Indent arrays (only zsh and bash)
+" https://github.com/chrisbra/vim-sh-indent/issues/13
+" 20190316 - Make use of searchpairpos for nested if sections
+" fixes https://github.com/chrisbra/vim-sh-indent/issues/11
+" 20190201 - Better check for closing if sections
" 20180724 - make check for zsh syntax more rigid (needs word-boundaries)
" 20180326 - better support for line continuation
" 20180325 - better detection of function definitions
@@ -59,6 +66,7 @@ function! s:indent_value(option)
endfunction
function! GetShIndent()
+ let curline = getline(v:lnum)
let lnum = prevnonblank(v:lnum - 1)
if lnum == 0
return 0
@@ -72,7 +80,7 @@ function! GetShIndent()
" Check contents of previous lines
if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>' ||
\ (&ft is# 'zsh' && line =~ '\<\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>')
- if line !~ '\<\%(fi\|esac\|done\|end\)\>\s*\%(#.*\)\=$'
+ if !s:is_end_expression(line)
let ind += s:indent_value('default')
endif
elseif s:is_case_label(line, pnum)
@@ -84,13 +92,22 @@ function! GetShIndent()
if line !~ '}\s*\%(#.*\)\=$'
let ind += s:indent_value('default')
endif
+ " array (only works for zsh or bash)
+ elseif s:is_array(line) && line !~ ')\s*$' && (&ft is# 'zsh' || s:is_bash())
+ let ind += s:indent_value('continuation-line')
+ " end of array
+ elseif curline =~ '^\s*)$'
+ let ind -= s:indent_value('continuation-line')
elseif s:is_continuation_line(line)
if pnum == 0 || !s:is_continuation_line(pline)
let ind += s:indent_value('continuation-line')
endif
elseif s:end_block(line) && !s:start_block(line)
let ind -= s:indent_value('default')
- elseif pnum != 0 && s:is_continuation_line(pline) && !s:end_block(getline(v:lnum))
+ elseif pnum != 0 &&
+ \ s:is_continuation_line(pline) &&
+ \ !s:end_block(curline) &&
+ \ !s:is_end_expression(curline)
" only add indent, if line and pline is in the same block
let i = v:lnum
let ind2 = indent(s:find_continued_lnum(pnum))
@@ -106,8 +123,15 @@ function! GetShIndent()
let pine = line
" Check content of current line
- let line = getline(v:lnum)
- if line =~ '^\s*\%(then\|do\|else\|elif\|fi\|done\|end\)\>' || s:end_block(line)
+ let line = curline
+ " Current line is a endif line, so get indent from start of "if condition" line
+ " TODO: should we do the same for other "end" lines?
+ if curline =~ '^\s*\%(fi\);\?\s*\%(#.*\)\=$'
+ let previous_line = searchpair('\<if\>', '', '\<fi\>', 'bnW')
+ if previous_line > 0
+ let ind = indent(previous_line)
+ endif
+ elseif line =~ '^\s*\%(then\|do\|else\|elif\|done\|end\)\>' || s:end_block(line)
let ind -= s:indent_value('default')
elseif line =~ '^\s*esac\>' && s:is_case_empty(getline(v:lnum - 1))
let ind -= s:indent_value('default')
@@ -167,6 +191,10 @@ function! s:is_function_definition(line)
\ a:line =~ '^\s*function\s*\w\S\+\s*\%(()\)\?\s*{'
endfunction
+function! s:is_array(line)
+ return a:line =~ '^\s*\<\k\+\>=('
+endfunction
+
function! s:is_case_label(line, pnum)
if a:line !~ '^\s*(\=.*)'
return 0
@@ -210,8 +238,8 @@ endfunction
function! s:is_here_doc(line)
if a:line =~ '^\w\+$'
- let here_pat = '<<-\?'. s:escape(a:line). '\$'
- return search(here_pat, 'bnW') > 0
+ let here_pat = '<<-\?'. s:escape(a:line). '\$'
+ return search(here_pat, 'bnW') > 0
endif
return 0
endfunction
@@ -256,5 +284,13 @@ function! s:is_comment(line)
return a:line =~ '^\s*#'
endfunction
+function! s:is_end_expression(line)
+ return a:line =~ '\<\%(fi\|esac\|done\|end\)\>\s*\%(#.*\)\=$'
+endfunction
+
+function! s:is_bash()
+ return get(g:, 'is_bash', 0) || get(b:, 'is_bash', 0)
+endfunction
+
let &cpo = s:cpo_save
unlet s:cpo_save
diff --git a/runtime/syntax/html.vim b/runtime/syntax/html.vim
index cde5269d02..d16ee1817f 100644
--- a/runtime/syntax/html.vim
+++ b/runtime/syntax/html.vim
@@ -3,8 +3,8 @@
" Maintainer: Jorge Maldonado Ventura <jorgesumle@freakspot.net>
" Previous Maintainer: Claudio Fleiner <claudio@fleiner.com>
" Repository: https://notabug.org/jorgesumle/vim-html-syntax
-" Last Change: 2018 May 31
-" Included patch from Jay Sitter to add WAI-ARIA htmlArg keywords
+" Last Change: 2018 Apr 7
+" Included patch from Jorge Maldonado Ventura to fix rendering
"
" Please check :help html.vim for some comments and a description of the options
@@ -159,47 +159,47 @@ if !exists("html_no_rendering")
" rendering
syn cluster htmlTop contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,@htmlPreproc
- syn region htmlStrike start="<del\>" end="</del>"me=e-6 contains=@htmlTop
- syn region htmlStrike start="<strike\>" end="</strike>"me=e-9 contains=@htmlTop
-
- syn region htmlBold start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
- syn region htmlBold start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
- syn region htmlBoldUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlBoldUnderlineItalic
- syn region htmlBoldItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop,htmlBoldItalicUnderline
- syn region htmlBoldItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop,htmlBoldItalicUnderline
- syn region htmlBoldUnderlineItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop
- syn region htmlBoldUnderlineItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop
- syn region htmlBoldItalicUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlBoldUnderlineItalic
-
- syn region htmlUnderline start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlUnderlineBold,htmlUnderlineItalic
- syn region htmlUnderlineBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlUnderlineBoldItalic
- syn region htmlUnderlineBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlUnderlineBoldItalic
- syn region htmlUnderlineItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop,htmlUnderlineItalicBold
- syn region htmlUnderlineItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop,htmlUnderlineItalicBold
- syn region htmlUnderlineItalicBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop
- syn region htmlUnderlineItalicBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop
- syn region htmlUnderlineBoldItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop
- syn region htmlUnderlineBoldItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop
-
- syn region htmlItalic start="<i\>" end="</i>"me=e-4 contains=@htmlTop,htmlItalicBold,htmlItalicUnderline
- syn region htmlItalic start="<em\>" end="</em>"me=e-5 contains=@htmlTop
- syn region htmlItalicBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlItalicBoldUnderline
- syn region htmlItalicBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlItalicBoldUnderline
- syn region htmlItalicBoldUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop
- syn region htmlItalicUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlItalicUnderlineBold
- syn region htmlItalicUnderlineBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop
- syn region htmlItalicUnderlineBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop
+ syn region htmlStrike start="<del\>" end="</del\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlStrike start="<strike\>" end="</strike\_s*>"me=s-1 contains=@htmlTop
+
+ syn region htmlBold start="<b\>" end="</b\_s*>"me=s-1 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
+ syn region htmlBold start="<strong\>" end="</strong\_s*>"me=s-1 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
+ syn region htmlBoldUnderline contained start="<u\>" end="</u\_s*>"me=s-1 contains=@htmlTop,htmlBoldUnderlineItalic
+ syn region htmlBoldItalic contained start="<i\>" end="</i\_s*>"me=s-1 contains=@htmlTop,htmlBoldItalicUnderline
+ syn region htmlBoldItalic contained start="<em\>" end="</em\_s*>"me=s-1 contains=@htmlTop,htmlBoldItalicUnderline
+ syn region htmlBoldUnderlineItalic contained start="<i\>" end="</i\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlBoldUnderlineItalic contained start="<em\>" end="</em\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlBoldItalicUnderline contained start="<u\>" end="</u\_s*>"me=s-1 contains=@htmlTop,htmlBoldUnderlineItalic
+
+ syn region htmlUnderline start="<u\>" end="</u\_s*>"me=s-1 contains=@htmlTop,htmlUnderlineBold,htmlUnderlineItalic
+ syn region htmlUnderlineBold contained start="<b\>" end="</b\_s*>"me=s-1 contains=@htmlTop,htmlUnderlineBoldItalic
+ syn region htmlUnderlineBold contained start="<strong\>" end="</strong\_s*>"me=s-1 contains=@htmlTop,htmlUnderlineBoldItalic
+ syn region htmlUnderlineItalic contained start="<i\>" end="</i\_s*>"me=s-1 contains=@htmlTop,htmlUnderlineItalicBold
+ syn region htmlUnderlineItalic contained start="<em\>" end="</em\_s*>"me=s-1 contains=@htmlTop,htmlUnderlineItalicBold
+ syn region htmlUnderlineItalicBold contained start="<b\>" end="</b\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlUnderlineItalicBold contained start="<strong\>" end="</strong\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlUnderlineBoldItalic contained start="<i\>" end="</i\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlUnderlineBoldItalic contained start="<em\>" end="</em\_s*>"me=s-1 contains=@htmlTop
+
+ syn region htmlItalic start="<i\>" end="</i\_s*>"me=s-1 contains=@htmlTop,htmlItalicBold,htmlItalicUnderline
+ syn region htmlItalic start="<em\>" end="</em\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlItalicBold contained start="<b\>" end="</b\_s*>"me=s-1 contains=@htmlTop,htmlItalicBoldUnderline
+ syn region htmlItalicBold contained start="<strong\>" end="</strong\_s*>"me=s-1 contains=@htmlTop,htmlItalicBoldUnderline
+ syn region htmlItalicBoldUnderline contained start="<u\>" end="</u\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlItalicUnderline contained start="<u\>" end="</u\_s*>"me=s-1 contains=@htmlTop,htmlItalicUnderlineBold
+ syn region htmlItalicUnderlineBold contained start="<b\>" end="</b\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlItalicUnderlineBold contained start="<strong\>" end="</strong\_s*>"me=s-1 contains=@htmlTop
syn match htmlLeadingSpace "^\s\+" contained
- syn region htmlLink start="<a\>\_[^>]*\<href\>" end="</a>"me=e-4 contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLeadingSpace,javaScript,@htmlPreproc
- syn region htmlH1 start="<h1\>" end="</h1>"me=e-5 contains=@htmlTop
- syn region htmlH2 start="<h2\>" end="</h2>"me=e-5 contains=@htmlTop
- syn region htmlH3 start="<h3\>" end="</h3>"me=e-5 contains=@htmlTop
- syn region htmlH4 start="<h4\>" end="</h4>"me=e-5 contains=@htmlTop
- syn region htmlH5 start="<h5\>" end="</h5>"me=e-5 contains=@htmlTop
- syn region htmlH6 start="<h6\>" end="</h6>"me=e-5 contains=@htmlTop
- syn region htmlHead start="<head\>" end="</head>"me=e-7 end="<body\>"me=e-5 end="<h[1-6]\>"me=e-3 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,htmlTitle,javaScript,cssStyle,@htmlPreproc
- syn region htmlTitle start="<title\>" end="</title>"me=e-8 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc
+ syn region htmlLink start="<a\>\_[^>]*\<href\>" end="</a\_s*>"me=s-1 contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLeadingSpace,javaScript,@htmlPreproc
+ syn region htmlH1 start="<h1\>" end="</h1\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlH2 start="<h2\>" end="</h2\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlH3 start="<h3\>" end="</h3\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlH4 start="<h4\>" end="</h4\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlH5 start="<h5\>" end="</h5\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlH6 start="<h6\>" end="</h6\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlHead start="<head\>" end="</head\_s*>"me=s-1 end="<body\>"me=s-1 end="<h[1-6]\>"me=s-1 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,htmlTitle,javaScript,cssStyle,@htmlPreproc
+ syn region htmlTitle start="<title\>" end="</title\_s*>"me=s-1 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc
endif
syn keyword htmlTagName contained noscript