changeset 16267:b471858040bc

Update runtime files. commit https://github.com/vim/vim/commit/62e1bb4a111e7ce570c30965f40a68a07a9da5b0 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Apr 8 16:25:07 2019 +0200 Update runtime files.
author Bram Moolenaar <Bram@vim.org>
date Mon, 08 Apr 2019 16:30:06 +0200
parents a904f7ffa001
children 0f65f2808470
files runtime/doc/eval.txt runtime/doc/index.txt runtime/doc/insert.txt runtime/doc/message.txt runtime/doc/repeat.txt runtime/doc/tags runtime/doc/todo.txt runtime/doc/usr_41.txt runtime/gvim.desktop runtime/indent/sh.vim runtime/syntax/html.vim
diffstat 11 files changed, 145 insertions(+), 113 deletions(-) [+]
line wrap: on
line diff
--- 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				
 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|
 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} [, {all
 
 		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}]])				
 							*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
--- 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
--- 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
--- 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
--- 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
 
 :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
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2531,6 +2531,7 @@ 90.5	usr_90.txt	/*90.5*
 :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 @@ 90.5	usr_90.txt	/*90.5*
 :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-gro
 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-c
 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-filety
 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*
--- 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 i
 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 t
 
 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
     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 @@ 7   Option to put tab line at the left o
 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:
--- 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 fil
 	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*
--- 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]=የጽሑፍ ፋይሎች ያስተካክሉ
--- 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
--- 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 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>"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 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>"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 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>"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 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