changeset 15131:bc1a8d21c811

Update runtime files. commit https://github.com/vim/vim/commit/d47d52232bf21036c5c89081458be7eaf2630d24 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Dec 9 20:43:55 2018 +0100 Update runtime files.
author Bram Moolenaar <Bram@vim.org>
date Sun, 09 Dec 2018 20:45:05 +0100
parents 4bd9c7284010
children 22e7834d286c
files runtime/autoload/xmlformat.vim runtime/doc/digraph.txt runtime/doc/eval.txt runtime/doc/map.txt runtime/doc/options.txt runtime/doc/terminal.txt runtime/doc/todo.txt runtime/doc/vim-da.1 runtime/doc/vim-da.UTF-8.1 runtime/ftplugin/xml.vim runtime/indent/cs.vim runtime/indent/html.vim runtime/indent/tcl.vim runtime/indent/testdir/html.in runtime/indent/testdir/html.ok runtime/indent/testdir/tcl.in runtime/indent/testdir/tcl.ok runtime/indent/testdir/xml.in runtime/indent/testdir/xml.ok runtime/mswin.vim runtime/syntax/apache.vim runtime/syntax/cs.vim runtime/syntax/tasm.vim runtime/tutor/tutor.eo runtime/tutor/tutor.eo.utf-8 runtime/tutor/tutor.fr runtime/tutor/tutor.fr.utf-8
diffstat 27 files changed, 403 insertions(+), 142 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/autoload/xmlformat.vim
+++ b/runtime/autoload/xmlformat.vim
@@ -1,9 +1,9 @@
 " Vim plugin for formatting XML
-" Last Change: Thu, 22 May 2018 21:26:55 +0100
-" Version: 0.1
-" Author: Christian Brabandt <cb@256bit.org>
-" Repository:   https://github.com/chrisbra/vim-xml-ftplugin
-" License: VIM License
+" Last Change: Thu, 07 Dec 2018
+"     Version: 0.1
+"      Author: Christian Brabandt <cb@256bit.org>
+"  Repository: https://github.com/chrisbra/vim-xml-ftplugin
+"     License: VIM License
 " Documentation: see :h xmlformat.txt (TODO!)
 " ---------------------------------------------------------------------
 " Load Once: {{{1
@@ -85,7 +85,11 @@ func! s:Trim(item)
 endfunc
 " Check if tag is a new opening tag <tag> {{{1
 func! s:StartTag(tag)
-  return a:tag =~? '^\s*<[^/?]'
+  let is_comment = s:IsComment(a:tag)
+  return a:tag =~? '^\s*<[^/?]' && !is_comment
+endfunc
+func! s:IsComment(tag)
+  return a:tag =~? '<!--'
 endfunc
 " Remove one level of indentation {{{1
 func! s:DecreaseIndent()
--- a/runtime/doc/digraph.txt
+++ b/runtime/doc/digraph.txt
@@ -111,11 +111,14 @@ this, you will have to type <BS> e again
 
 You may have problems using Vim with characters which have a value above 128.
 For example: You insert ue (u-umlaut) and the editor echoes \334 in Insert
-mode.  After leaving the Insert mode everything is fine.  Note that fmt
-removes all characters with a value above 128 from the text being formatted.
-On some Unix systems this means you have to define the environment-variable
-LC_CTYPE.  If you are using csh, then put the following line in your .cshrc: >
-	setenv LC_CTYPE iso_8859_1
+mode.  After leaving the Insert mode everything is fine.  On some Unix systems
+this means you have to define the environment-variable LC_CTYPE.  If you are
+using csh, then put the following line in your .cshrc: >
+	setenv LC_CTYPE en_US.utf8
+(or similar for a different language or country). The value must be a valid
+locale on your system, i.e. on Unix-like systems it must be present in the
+output of >
+	locale -a
 
 ==============================================================================
 3. Default digraphs					*digraphs-default*
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.1.  Last change: 2018 May 17
+*eval.txt*	For Vim version 8.1.  Last change: 2018 Dec 09
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -518,7 +518,7 @@ To loop over the values use the |values(
 	:endfor
 
 If you want both the key and the value use the |items()| function.  It returns
-a List in which each item is a	List with two items, the key and the value: >
+a List in which each item is a List with two items, the key and the value: >
 	:for [key, value] in items(mydict)
 	:   echo key . ': ' . value
 	:endfor
@@ -1088,11 +1088,6 @@ These are INVALID:
 	3.		empty {M}
 	1e40		missing .{M}
 
-							*float-pi* *float-e*
-A few useful values to copy&paste: >
-	:let pi = 3.14159265359
-	:let e  = 2.71828182846
-
 Rationale:
 Before floating point was introduced, the text "123.456" was interpreted as
 the two numbers "123" and "456", both converted to a string and concatenated,
@@ -1101,6 +1096,15 @@ could not find it intentionally being us
 incompatibility was accepted in favor of being able to use the normal notation
 for floating point numbers.
 
+							*float-pi* *float-e*
+A few useful values to copy&paste: >
+	:let pi = 3.14159265359
+	:let e  = 2.71828182846
+Or, if you don't want to write them in as floating-point literals, you can
+also use functions, like the following: >
+	:let pi = acos(-1.0)
+	:let e  = exp(1.0)
+
 						*floating-point-precision*
 The precision and range of floating points numbers depends on what "double"
 means in the library Vim was compiled with.  There is no way to change this at
@@ -1438,7 +1442,9 @@ Note that this means that filetype plugi
 variables for each buffer.  Use local buffer variables instead |b:var|.
 
 
-Predefined Vim variables:			*vim-variable* *v:var* *v:*
+PREDEFINED VIM VARIABLES			*vim-variable* *v:var* *v:*
+								*E963*
+Some variables can be set by the user, but the type cannot be changed.
 
 					*v:beval_col* *beval_col-variable*
 v:beval_col	The number of the column, over which the mouse pointer is.
@@ -7845,7 +7851,8 @@ str2float({expr})					*str2float()*
 		as when using a floating point number in an expression, see
 		|floating-point-format|.  But it's a bit more permissive.
 		E.g., "1e40" is accepted, while in an expression you need to
-		write "1.0e40".
+		write "1.0e40".  The hexadecimal form "0x123" is also
+		accepted, but not others, like binary or octal.
 		Text after the number is silently ignored.
 		The decimal point is always '.', no matter what the locale is
 		set to.  A comma ends the number: "12,345.67" is converted to
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 8.1.  Last change: 2018 May 13
+*map.txt*       For Vim version 8.1.  Last change: 2018 Dec 08
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -8126,7 +8126,11 @@ A jump table for the options with a shor
 	separated by non-keyword characters (white space is preferred).
 	Maximum line length is 510 bytes.
 
-	Unfortunately we currently cannot recommend a file to be used here.
+	An English word list was added to this github issue:
+	https://github.com/vim/vim/issues/629#issuecomment-443293282
+	Unpack thesaurus_pkg.zip, put the thesaurus.txt file somewhere, e.g.
+	~/.vim/thesaurus/english.txt, and the 'thesaurus' option to this file
+	name.
 
 	To include a comma in a file name precede it with a backslash.  Spaces
 	after a comma are ignored, otherwise spaces are included in the file
@@ -8432,8 +8436,9 @@ A jump table for the options with a shor
 	|t_RV| is set to the escape sequence to request the xterm version
 	number, more intelligent detection process runs.
 	The "xterm2" value will be set if the xterm version is reported to be
-	from 95 to 276.  The "sgr" value will be set if the xterm version is
-	277 or higher and when Vim detects Mac Terminal.app or iTerm2.
+	from 95 to 276.  The "sgr" value will be set if Vim detects Mac
+	Terminal.app, iTerm2 or mintty, and when the xterm version is 277 or
+	higher.
 	If you do not want 'ttymouse' to be set to "xterm2" or "sgr"
 	automatically, set t_RV to an empty string: >
 		:set t_RV=
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -110,7 +110,7 @@ sent to the job running in the terminal.
 to Terminal-Normal mode: >
    tnoremap <F1> <C-W>N
 You can use Esc, but you need to make sure it won't cause other keys to
-break: >
+break (cursor keys start with an Esc, so they may break): >
    tnoremap <Esc> <C-W>N
    set notimeout ttimeout timeoutlen=100
 
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.1.  Last change: 2018 May 17
+*todo.txt*      For Vim version 8.1.  Last change: 2018 Dec 09
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,15 +38,11 @@ browser use: https://github.com/vim/vim/
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Make ":script 40" edit the script listed with number 40.  Actually use
-":scriptnames".
-
-Download page: "A 64 bit version" link is wrong, use this one instead:
-https://github.com/vim/vim-win32-installer/releases/latest
-
 'incsearch' with :s: (#3321)
 - :s/foo  using CTRL-G moves to another line, should not happen, or use the
   correct line (it uses the last but one line) (Lifepillar, Aug 18, #3345)
+- :s@pat/tern@ doesn't include "/" in the pattern. (Takahiro Yoshihara, #3637)
+   pass delim to do_search() ?
 - Also support range: :/foo/,/bar/delete
 - Also support for user command, e.g. Cfilter
 - :%s/foo should take the first match below the cursor line, unless there
@@ -105,22 +101,19 @@ Terminal emulator window:
 - When 'encoding' is not utf-8, or the job is using another encoding, setup
   conversions.
 
-Users get used to "function!" because they reload a script file.  How about
-recognizing the script is re-sourced and not giving an error for the first
-function that overwrites.  Then one can leave out the exclamation mark and
-catch actual errors, overwriting a function from another script.
+":function" can now silently overwrite the function from the same script.
+Do the same for ":command" ?
 
 Update for German spell files: https://github.com/chrisbra/vim/compare/5e021c990f8817a50d3264782a5...3b27c92f297540761ebbd92d04fb3
 (Christian Brabandt, 2018 Nov 4)
 
-Patch for nsis/README.txt and uninstal.txt (Ken Takata, 2018 Nov 17, #3614)
-
-Patch to add commandline completion tests. (Dominique, #3622)
-
 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)
 
+Patch to add configure flags to skip rtl, farsi and arabic support.
+(Diego Carrión, #1867)
+
 Key mapping times out when using a timer in Gvim. (Michael Henry, 2018 Sep 9,
 #3417)
 
@@ -128,9 +121,6 @@ Does not build with MinGW out of the box
 - _stat64 is not defined, need to use "struct stat" in vim.h
 - WINVER conflict, should use 0x0600 by default?
 
-Adding a fold with a marker in a C file doesn't add the comment /* */ if the
-line contains a * somewhere.  Patch with a fix (Hirohito Higashi, 2018 Nov 22)
-
 Crash in terminal with long multi-byte sequence. (2018 Nov 17, #3619)
 Dominique cannot reproduce. Update Nov 18.
 Suggested solution by Yasuhiro Matsumoto, 2018 Nov 18.
@@ -138,6 +128,14 @@ Suggested solution by Yasuhiro Matsumoto
 Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
 13, #2910)  Can't reproduce?
 
+Patch to simplify nsis installer. (Ken Takata, 2018 Sep 24, was #3479)
+Now included in #3501, using MUI2.  Use the zip file to get the binary files:
+https://github.com/vim/vim/files/2475621/nsis-icons.zip
+Ready to include now.
+
+Patch to add blob type support.  (Yasuhiro Matsumoto, 2018 Nov 26, #3638)
+Not done yet.
+
 Errors found with random data:
     heap-buffer-overflow in alist_add (#2472)
 
@@ -147,6 +145,9 @@ mappings no longer work.  Create a new t
 Patch to fix that appending makes items to be "recognized".
 (Yegappan, 2018 Nov 23). Reported by Daniel Hahler, #3633.
 
+Patch to define and manipulate signs with functions.  Adds sign groups and
+priority.   (Yegappan Lakshmanan, #3652)
+
 Improve fallback for menu translations, to avoid having to create lots of
 files that source the actual file.  E.g. menu_da_de -> menu_da
 Include part of #3242?
@@ -175,9 +176,6 @@ C syntax: {} inside () causes following 
 More warnings from static analysis:
 https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
 
-Quickfix accessing free memory. (Dominique, 2018 Oct 13, #3538)
-Yegappan will look into it.
-
 Patch for this: (Aron Widforss, 2018 Oct 13, #3539)
     missing a test.
 7   Make 'scrolloff' a global-local option, so that it can be different in the
@@ -199,14 +197,12 @@ punctiuation is repeated. (Smylers, 2018
 ":mksession" cannot handle a very long 'runtimepath'. (Timothy Madden, 21 Sep
 2018, #3466)  Patch from Christian, 2018 Oct 30 (with comments).
 
+Patch to add functions for signs. (Yegappan Lakshmanan, 2018 Nov 24)
+obsolete: Patch to add functions for signs. (Christian Brabandt, 2013 Jan 27)
+
 Patch in pull request #2967: Allow white space in sign text. (Ben Jackson)
 Test fails in AppVeyor.
 
-Patch to simplify nsis installer. (Ken Takata, 2018 Sep 24, was #3479)
-Now included in #3501, using MUI2.  Use the zip file to get the binary files:
-https://github.com/vim/vim/files/2475621/nsis-icons.zip
-Still being worked on.
-
 ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550).
 
 Patch to convert temp file name. (Yasuhiro Matsumoto, #3520)
@@ -227,6 +223,9 @@ Patch to implement 'diffref' option. (#3
 
 Patch to fix that bracketed paste remains after Vim exits. (2018 Oct 30, #3579)
 
+Patch for lnext/lprev work in specific cases. (Yegappan Lakshmanan, 2018 Dec
+4, #3633)
+
 cursorline highlighting not removed after yanking in Visual mode.
 (Matéo Zanibelli, 2018 Oct 30, #3578)
 Patch by Christian, Oct 30.
@@ -246,6 +245,9 @@ Memory leak in test_terminal:
 
 gethostbyname() is old, use getaddrinfo() if available. (#3227)
 
+Patch to add match count and current index "3/44" when using "n" command.
+(Christian Brabandt, on issue #453).  Only when search string was typed?
+
 matchaddpos() gets slow with many matches.  Proposal by Rick Howe, 2018 Jul
 19.
 
@@ -288,6 +290,9 @@ Further xdiff changes:
 
 Difference between two regexp engines: #3373
 
+Patch to add ch_listen() (Yasuhiro Matsumoto, 2018 Nov 26, #3639)
+What is the practical use for this?
+
 When the last line wraps, selecting with the mouse below that line only
 includes the first screen line. (2018 Aug 23, #3368)
 
@@ -759,9 +764,6 @@ Is it possible to keep the complete menu
 
 Memory leak in test97?  The string is actually freed.  Weird.
 
-Patch to add configure flags to skip rtl, farsi and arabic support.
-(Diego Carrión, #1867)
-
 assert_fails() can only check for the first error.  Make it possible to have
 it catch multiple errors and check all of them.
 
@@ -1654,8 +1656,6 @@ Or use expand('<sid>')?
 
 Patch to make confirm() display colors. (Christian Brabandt, 2012 Nov 9)
 
-Patch to add functions for signs. (Christian Brabandt, 2013 Jan 27)
-
 Patch to remove flicker from popup menu. (Yasuhiro Matsumoto, 2013 Aug 15)
 
 Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)
--- a/runtime/doc/vim-da.1
+++ b/runtime/doc/vim-da.1
@@ -321,13 +321,13 @@ Nr N udelades, s bnes n fanebladsside pr. fil.
 .TP
 \-R
 Skrivebeskyttet tilstand.
-'readonly'-valgmuligheden sttes.
+\&'readonly'-valgmuligheden sttes.
 Du kan stadig redigere bufferen, men vil vre forhindret i
 fejlagtigt at overskrive en fil.
 Hvis du vil overskrive en fil, s tilfj et
 udrbstegn til Ex-kommandoen, som i ":w!".
 \-R-tilvalget indebrer ogs \-n-tilvalget (se ovenfor).
-'readonly'-valgmuligheden kan sls fra med ":set noro".
+\&'readonly'-valgmuligheden kan sls fra med ":set noro".
 Se ":help 'readonly'".
 .TP
 \-r
--- a/runtime/doc/vim-da.UTF-8.1
+++ b/runtime/doc/vim-da.UTF-8.1
@@ -321,13 +321,13 @@ Når N udelades, så åbnes én fanebladsside pr. fil.
 .TP
 \-R
 Skrivebeskyttet tilstand.
-'readonly'-valgmuligheden sættes.
+\&'readonly'-valgmuligheden sættes.
 Du kan stadig redigere bufferen, men vil være forhindret i
 fejlagtigt at overskrive en fil.
 Hvis du vil overskrive en fil, så tilføj et
 udråbstegn til Ex-kommandoen, som i ":w!".
 \-R-tilvalget indebærer også \-n-tilvalget (se ovenfor).
-'readonly'-valgmuligheden kan slås fra med ":set noro".
+\&'readonly'-valgmuligheden kan slås fra med ":set noro".
 Se ":help 'readonly'".
 .TP
 \-r
--- a/runtime/ftplugin/xml.vim
+++ b/runtime/ftplugin/xml.vim
@@ -1,8 +1,8 @@
 " Vim filetype plugin file
-" Language:	xml
-" Maintainer:	Christian Brabandt <cb@256bit.org>
-" Last Changed: May 08th, 2018
-" Repository: https://github.com/chrisbra/vim-xml-ftplugin
+"     Language:	xml
+"   Maintainer:	Christian Brabandt <cb@256bit.org>
+" Last Changed: Dec 07th, 2018
+"   Repository: https://github.com/chrisbra/vim-xml-ftplugin
 " Previous Maintainer:	Dan Sharp <dwsharp at users dot sourceforge dot net>
 "          URL:		      http://dwsharp.users.sourceforge.net/vim/ftplugin
 
--- a/runtime/indent/cs.vim
+++ b/runtime/indent/cs.vim
@@ -1,15 +1,73 @@
 " Vim indent file
-" Language:	C#
-" Maintainer:	Johannes Zellner <johannes@zellner.org>
-" Last Change:	Fri, 15 Mar 2002 07:53:54 CET
+" Language:            C#
+" Maintainer:          Nick Jensen <nickspoon@gmail.com>
+" Former Maintainers:  Aquila Deus
+"                      Johannes Zellner <johannes@zellner.org>
+" Last Change:         2018-11-21
+" Filenames:           *.cs
+" License:             Vim (see :h license)
+" Repository:          https://github.com/nickspoons/vim-cs
+"
 
 " Only load this indent file when no other was loaded.
-if exists("b:did_indent")
-   finish
+if exists('b:did_indent')
+  finish
 endif
 let b:did_indent = 1
 
-" C# is like indenting C
-setlocal cindent
+let s:save_cpo = &cpoptions
+set cpoptions&vim
+
+
+setlocal indentexpr=GetCSIndent(v:lnum)
+
+function! s:IsCompilerDirective(line)
+  return a:line =~? '^\s*#'
+endf
+
+function! s:IsAttributeLine(line)
+  return a:line =~? '^\s*\[[A-Za-z]' && a:line =~? '\]$'
+endf
+
+function! s:FindPreviousNonCompilerDirectiveLine(start_lnum)
+  for delta in range(0, a:start_lnum)
+    let lnum = a:start_lnum - delta
+    let line = getline(lnum)
+    let is_directive = s:IsCompilerDirective(line)
+    if !is_directive
+      return lnum
+    endif
+  endfor
+  return 0
+endf
 
-let b:undo_indent = "setl cin<"
+function! GetCSIndent(lnum) abort
+  " Hit the start of the file, use zero indent.
+  if a:lnum == 0
+    return 0
+  endif
+
+  let this_line = getline(a:lnum)
+
+  " Compiler directives use zero indent if so configured.
+  let is_first_col_macro = s:IsCompilerDirective(this_line) && stridx(&l:cinkeys, '0#') >= 0
+  if is_first_col_macro
+    return cindent(a:lnum)
+  endif
+
+  let lnum = s:FindPreviousNonCompilerDirectiveLine(a:lnum - 1)
+  let previous_code_line = getline(lnum)
+  if s:IsAttributeLine(previous_code_line)
+    let ind = indent(lnum)
+    return ind
+  else
+    return cindent(a:lnum)
+  endif
+endfunction
+
+let b:undo_indent = 'setlocal indentexpr<'
+
+let &cpoptions = s:save_cpo
+unlet s:save_cpo
+
+" vim:et:sw=2:sts=2
--- a/runtime/indent/html.vim
+++ b/runtime/indent/html.vim
@@ -216,8 +216,9 @@ endfunc "}}}
 " Add known tag pairs.
 " Self-closing tags and tags that are sometimes {{{
 " self-closing (e.g., <p>) are not here (when encountering </p> we can find
-" the matching <p>, but not the other way around).  Known self-closing tags:
-" 'p', 'img', 'source'.
+" the matching <p>, but not the other way around).
+" Known self-closing tags: " 'p', 'img', 'source', 'area', 'keygen', 'track',
+" 'wbr'.
 " Old HTML tags:
 call s:AddITags(s:indent_tags, [
     \ 'a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big',
@@ -232,11 +233,11 @@ call s:AddITags(s:indent_tags, [
 
 " New HTML5 elements:
 call s:AddITags(s:indent_tags, [
-    \ 'area', 'article', 'aside', 'audio', 'bdi', 'canvas',
-    \ 'command', 'data', 'datalist', 'details', 'embed', 'figcaption',
-    \ 'figure', 'footer', 'header', 'keygen', 'main', 'mark', 'meter',
-    \ 'nav', 'output', 'picture', 'progress', 'rp', 'rt', 'ruby', 'section',
-    \ 'summary', 'svg', 'time', 'track', 'video', 'wbr'])
+    \ 'article', 'aside', 'audio', 'bdi', 'canvas', 'command', 'data',
+    \ 'datalist', 'details', 'dialog', 'embed', 'figcaption', 'figure',
+    \ 'footer', 'header', 'hgroup', 'main', 'mark', 'meter', 'nav', 'output',
+    \ 'picture', 'progress', 'rp', 'rt', 'ruby', 'section', 'summary',
+    \ 'svg', 'time', 'video'])
 
 " Tags added for web components:
 call s:AddITags(s:indent_tags, [
@@ -934,7 +935,7 @@ func! s:InsideTag(foundHtmlString)
       let idx = match(text, '<' . s:tagname . '\s\+\zs\w')
     endif
     if idx == -1
-      " after just <tag indent one level more
+      " after just "<tag" indent one level more
       let idx = match(text, '<' . s:tagname . '$')
       if idx >= 0
 	call cursor(lnum, idx)
--- a/runtime/indent/tcl.vim
+++ b/runtime/indent/tcl.vim
@@ -1,7 +1,8 @@
 " Vim indent file
-" Language:	    Tcl
-" Maintainer:	    Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-12-20
+" Language:	    	Tcl
+" Previous Maintainer:	Nikolai Weibull <now@bitwi.se>
+" Latest Update:  	Chris Heithoff <chrisheithoff@gmail.com>
+" Latest Revision:  	2018-12-05
 
 if exists("b:did_indent")
   finish
@@ -28,6 +29,15 @@ function s:prevnonblanknoncomment(lnum)
   return lnum
 endfunction
 
+function s:ends_with_backslash(lnum)
+  let line = getline(a:lnum)
+  if line =~ '\\\s*$'
+    return 1
+  else
+    return 0
+  endif
+endfunction 
+
 function s:count_braces(lnum, count_open)
   let n_open = 0
   let n_close = 0
@@ -53,23 +63,39 @@ endfunction
 
 function GetTclIndent()
   let line = getline(v:lnum)
-  if line =~ '^\s*\*'
-    return cindent(v:lnum)
-  elseif line =~ '^\s*}'
-    return indent(v:lnum) - shiftwidth()
-  endif
 
+  " Get the line number of the previous non-blank or non-comment line.
   let pnum = s:prevnonblanknoncomment(v:lnum - 1)
   if pnum == 0
     return 0
   endif
 
-  let ind = indent(pnum) + s:count_braces(pnum, 1) * shiftwidth()
+  " ..and the previous line before the previous line.
+  let pnum2 = s:prevnonblanknoncomment(pnum-1)
 
-  let pline = getline(pnum)
-  if pline =~ '}\s*$'
-    let ind -= (s:count_braces(pnum, 0) - (pline =~ '^\s*}' ? 1 : 0)) * shiftwidth()
+  " Default indentation is to preserve the previous indentation.
+  let ind = indent(pnum)
+ 
+  " ...but if previous line introduces an open brace, then increase current line's indentation
+  if s:count_braces(pnum, 1) > 0
+    let ind += shiftwidth()
+  else
+    " Look for backslash line continuation on the previous two lines.
+    let slash1 = s:ends_with_backslash(pnum)
+    let slash2 = s:ends_with_backslash(pnum2)
+    if slash1 && !slash2
+      " If the previous line begins a line continuation.
+      let ind += shiftwidth()
+    elseif !slash1 && slash2
+      " If two lines ago was the end of a line continuation group of lines.
+      let ind -= shiftwidth()
+    endif
   endif
 
+  " If the current line begins with a closed brace, then decrease the indentation by one.
+  if line =~ '^\s*}'
+    let ind -= shiftwidth()
+  endif
+  
   return ind
 endfunction
new file mode 100644
--- /dev/null
+++ b/runtime/indent/testdir/html.in
@@ -0,0 +1,26 @@
+" vim: set ft=html sw=4 :
+
+
+" START_INDENT
+<div>
+<div>
+text
+</div>
+</div>
+
+<div
+class="foo bar">
+text
+</div>
+
+<div class="foo bar"
+data="something">
+text
+</div>
+
+<div class="foo
+bar">
+text
+</div>
+
+" END_INDENT
new file mode 100644
--- /dev/null
+++ b/runtime/indent/testdir/html.ok
@@ -0,0 +1,26 @@
+" vim: set ft=html sw=4 :
+
+
+" START_INDENT
+<div>
+    <div>
+	text
+    </div>
+</div>
+
+<div
+    class="foo bar">
+    text
+</div>
+
+<div class="foo bar"
+    data="something">
+    text
+</div>
+
+<div class="foo
+    bar">
+    text
+</div>
+
+" END_INDENT
new file mode 100644
--- /dev/null
+++ b/runtime/indent/testdir/tcl.in
@@ -0,0 +1,19 @@
+# vim: set filetype=tcl shiftwidth=4 tabstop=4:
+
+# START_INDENT
+proc abc {} {
+set a 5
+if {[some_cmd]==1} {
+foreach i [list {1 2 3}] {
+# Does this comment affect anything?
+puts $i
+}
+}
+}
+
+command_with_a_long_time -arg1 "First" \
+-arg2 "Second" \
+-arg3 "Third"
+
+puts "Move indent back after line continuation is complete"
+# END_INDENT
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/runtime/indent/testdir/tcl.ok
@@ -0,0 +1,19 @@
+# vim: set filetype=tcl shiftwidth=4 tabstop=4:
+
+# START_INDENT
+proc abc {} {
+	set a 5
+	if {[some_cmd]==1} {
+		foreach i [list {1 2 3}] {
+			# Does this comment affect anything?
+			puts $i
+		}
+	}
+}
+
+command_with_a_long_time -arg1 "First" \
+	-arg2 "Second" \
+	-arg3 "Third"
+
+puts "Move indent back after line continuation is complete"
+# END_INDENT
new file mode 100644
--- /dev/null
+++ b/runtime/indent/testdir/xml.in
@@ -0,0 +1,32 @@
+<!-- vim: set ft=xml ts=2 sw=0 sts=-1 et : -->
+<!-- START_INDENT -->
+<?xml version="1.0" encoding="utf-8"?>
+<tag0>
+  <tag1>
+<!-- comment -->
+<tag2>
+  <tag3/>
+</tag2>
+<!-- text comment -->
+
+<!--
+text comment
+-->
+</tag1>
+<!--
+text comment
+end coment -->
+</tag0>
+<!-- END_INDENT -->
+
+<!-- START_INDENT -->
+<?xml version="1.0" encoding="utf-8"?>
+<tag0>
+  <tag1>
+<!-- comment -->
+<tag2>
+  <tag3/>
+</tag2>
+</tag1>
+</tag0>
+<!-- END_INDENT -->
new file mode 100644
--- /dev/null
+++ b/runtime/indent/testdir/xml.ok
@@ -0,0 +1,32 @@
+<!-- vim: set ft=xml ts=2 sw=0 sts=-1 et : -->
+<!-- START_INDENT -->
+<?xml version="1.0" encoding="utf-8"?>
+<tag0>
+  <tag1>
+    <!-- comment -->
+    <tag2>
+      <tag3/>
+    </tag2>
+    <!-- text comment -->
+
+    <!--
+    text comment
+    -->
+  </tag1>
+  <!--
+  text comment
+  end coment -->
+</tag0>
+<!-- END_INDENT -->
+
+<!-- START_INDENT -->
+<?xml version="1.0" encoding="utf-8"?>
+<tag0>
+  <tag1>
+    <!-- comment -->
+    <tag2>
+      <tag3/>
+    </tag2>
+  </tag1>
+</tag0>
+<!-- END_INDENT -->
--- a/runtime/mswin.vim
+++ b/runtime/mswin.vim
@@ -1,9 +1,9 @@
 " Set options and add mapping such that Vim behaves a lot like MS-Windows
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last change:	2017 Oct 28
+" Last Change:	2018 Dec 07
 
-" bail out if this isn't wanted (mrsvim.vim uses this).
+" Bail out if this isn't wanted.
 if exists("g:skip_loading_mswin") && g:skip_loading_mswin
   finish
 endif
--- a/runtime/syntax/apache.vim
+++ b/runtime/syntax/apache.vim
@@ -3,7 +3,7 @@
 " Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
 " License: This file can be redistribued and/or modified under the same terms
 "		as Vim itself.
-" Last Change: 2014-03-04
+" Last Change: 2018-12-06
 " Notes: Last synced with apache-2.2.3, version 1.x is no longer supported
 " TODO: see particular FIXME's scattered through the file
 "		make it really linewise?
@@ -159,7 +159,7 @@ syn keyword apacheOption inherit
 syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase
 syn keyword apacheDeclaration LoadFile LoadModule
 syn keyword apacheDeclaration CheckSpelling CheckCaseOnly
-syn keyword apacheDeclaration SSLCACertificateFile SSLCACertificatePath SSLCADNRequestFile SSLCADNRequestPath SSLCARevocationFile SSLCARevocationPath SSLCertificateChainFile SSLCertificateFile SSLCertificateKeyFile SSLCipherSuite SSLCryptoDevice SSLEngine SSLHonorCipherOrder SSLMutex SSLOptions SSLPassPhraseDialog SSLProtocol SSLProxyCACertificateFile SSLProxyCACertificatePath SSLProxyCARevocationFile SSLProxyCARevocationPath SSLProxyCipherSuite SSLProxyEngine SSLProxyMachineCertificateFile SSLProxyMachineCertificatePath SSLProxyProtocol SSLProxyVerify SSLProxyVerifyDepth SSLRandomSeed SSLRequire SSLRequireSSL SSLSessionCache SSLSessionCacheTimeout SSLUserName SSLVerifyClient SSLVerifyDepth
+syn keyword apacheDeclaration SSLCACertificateFile SSLCACertificatePath SSLCADNRequestFile SSLCADNRequestPath SSLCARevocationFile SSLCARevocationPath SSLCertificateChainFile SSLCertificateFile SSLCertificateKeyFile SSLCipherSuite SSLCompression SSLCryptoDevice SSLEngine SSLFIPS SSLHonorCipherOrder SSLInsecureRenegotiation SSLMutex SSLOptions SSLPassPhraseDialog SSLProtocol SSLProxyCACertificateFile SSLProxyCACertificatePath SSLProxyCARevocationFile SSLProxyCARevocationPath SSLProxyCheckPeerCN SSLProxyCheckPeerExpire SSLProxyCipherSuite SSLProxyEngine SSLProxyMachineCertificateChainFile SSLProxyMachineCertificateFile SSLProxyMachineCertificatePath SSLProxyProtocol SSLProxyVerify SSLProxyVerifyDepth SSLRandomSeed SSLRenegBufferSize SSLRequire SSLRequireSSL SSLSessionCache SSLSessionCacheTimeout SSLSessionTicketKeyFile SSLSessionTickets SSLStrictSNIVHostCheck SSLUserName SSLVerifyClient SSLVerifyDepth
 syn match apacheOption "[+-]\?\<\(StdEnvVars\|CompatEnvVars\|ExportCertData\|FakeBasicAuth\|StrictRequire\|OptRenegotiate\)\>"
 syn keyword apacheOption builtin sem
 syn match apacheOption "\(file\|exec\|egd\|dbm\|shm\):"
--- a/runtime/syntax/cs.vim
+++ b/runtime/syntax/cs.vim
@@ -3,7 +3,7 @@
 " Maintainer:          Nick Jensen <nickspoon@gmail.com>
 " Former Maintainers:  Anduin Withers <awithers@anduin.com>
 "                      Johannes Zellner <johannes@zellner.org>
-" Last Change:         2018-06-29
+" Last Change:         2018-11-26
 " Filenames:           *.cs
 " License:             Vim (see :h license)
 " Repository:          https://github.com/nickspoons/vim-cs
@@ -11,12 +11,12 @@
 " REFERENCES:
 " [1] ECMA TC39: C# Language Specification (WD13Oct01.doc)
 
-if exists("b:current_syntax")
-    finish
+if exists('b:current_syntax')
+  finish
 endif
 
-let s:cs_cpo_save = &cpo
-set cpo&vim
+let s:save_cpo = &cpoptions
+set cpoptions&vim
 
 
 syn keyword	csType	bool byte char decimal double float int long object sbyte short string T uint ulong ushort var void dynamic
@@ -34,7 +34,7 @@ syn keyword	csException	try catch finall
 syn keyword	csLinq	ascending by descending equals from group in into join let on orderby select where
 syn keyword	csAsync	async await
 
-syn keyword	csUnspecifiedStatement	as base checked event fixed in is lock nameof operator out params ref sizeof stackalloc this typeof unchecked unsafe using
+syn keyword	csUnspecifiedStatement	as base checked event fixed in is lock nameof operator out params ref sizeof stackalloc this unchecked unsafe using
 syn keyword	csUnsupportedStatement	add remove value
 syn keyword	csUnspecifiedKeyword	explicit implicit
 
@@ -44,10 +44,16 @@ syn match	csContextualStatement	/\<parti
 syn match	csContextualStatement	/\<\(get\|set\)\(;\|[[:space:]\n]*{\)/me=s+3
 syn match	csContextualStatement	/\<where\>[^:]\+:/me=s+5
 
+" Operators
+syn keyword	csTypeOf	typeof contained
+syn region	csTypeOfStatement	start="typeof(" end=")" contains=csType, csTypeOf
+
 " Punctuation
 syn match	csBraces	"[{}\[\]]" display
 syn match	csParens	"[()]" display
-syn match	csOpSymbols	"[+\-><=]\{1,2}" display
+syn match	csOpSymbols	"[+\-=]\{1,2}" display
+syn match	csOpSymbols	"[><]\{2}" display
+syn match	csOpSymbols	"\s\zs[><]\ze\_s" display
 syn match	csOpSymbols	"[!><+\-*/]=" display
 syn match	csOpSymbols	"[!*/^]" display
 syn match	csOpSymbols	"=>" display
@@ -144,17 +150,18 @@ syn cluster	csAll	contains=csCharacter,c
 
 " The default highlighting.
 hi def link	csType	Type
-hi def link	csNewType	Type
 hi def link	csClassType	Type
 hi def link	csIsType	Type
-hi def link	csStorage	StorageClass
-hi def link	csClass	StorageClass
+hi def link	csStorage	Structure
+hi def link	csClass	Structure
 hi def link	csRepeat	Repeat
 hi def link	csConditional	Conditional
 hi def link	csLabel	Label
 hi def link	csModifier	StorageClass
 hi def link	csConstant	Constant
 hi def link	csException	Exception
+hi def link	csTypeOf	Operator
+hi def link	csTypeOfStatement	Typedef
 hi def link	csUnspecifiedStatement	Statement
 hi def link	csUnsupportedStatement	Statement
 hi def link	csUnspecifiedKeyword	Keyword
@@ -164,16 +171,12 @@ hi def link	csIsAs 	Keyword
 hi def link	csAsync	Keyword
 hi def link	csContextualStatement	Statement
 hi def link	csOperatorError	Error
-hi def link	csInterfaceDeclaration	Include
 
 hi def link	csTodo	Todo
 hi def link	csComment	Comment
 
-hi def link	csEndColon	Statement
 hi def link	csOpSymbols	Operator
-hi def link	csLogicSymbols	Boolean
-hi def link	csBraces	Function
-hi def link	csParens	Operator
+hi def link	csLogicSymbols	Operator
 
 hi def link	csSpecialError	Error
 hi def link	csSpecialCharError	Error
@@ -200,9 +203,9 @@ hi def link	csXmlCommentLeader	Comment
 hi def link	csXmlComment	Comment
 hi def link	csXmlTag	Statement
 
-let b:current_syntax = "cs"
+let b:current_syntax = 'cs'
 
-let &cpo = s:cs_cpo_save
-unlet s:cs_cpo_save
+let &cpoptions = s:save_cpo
+unlet s:save_cpo
 
 " vim: vts=16,28
--- a/runtime/syntax/tasm.vim
+++ b/runtime/syntax/tasm.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language: TASM: turbo assembler by Borland
 " Maintaner: FooLman of United Force <foolman@bigfoot.com>
-" Last Change: 2012 Feb 03 by Thilo Six
+" Last Change: 2012 Feb 03 by Thilo Six, and 2018 Nov 27.
 
 " quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -109,7 +109,7 @@ hi def link tasmComment Comment
 hi def link tasmLabel Label
 
 
-let b:curret_syntax = "tasm"
+let b:current_syntax = "tasm"
 
 let &cpo = s:cpo_save
 unlet s:cpo_save
--- a/runtime/tutor/tutor.eo
+++ b/runtime/tutor/tutor.eo
@@ -652,7 +652,7 @@ RIMARKO: Se vi volus eliri el Vim kaj restartigi in denove per  vim TESTO,
          la dosiero estus precize same kiel kopio de la instruilo kiam vi
          konservis in.
 
-  5. Nun forviu la dosieron tajpante (MS-DOS):     :!del TESTO
+  5. Nun forviu la dosieron tajpante (WINDOWS):    :!del TESTO
                                    a (UNIKSO):     :!rm TESTO
 
 
@@ -713,7 +713,7 @@ RIMARKO: Vi nun povas legi la eliron de 
   1.  :!komando  plenumas eksteran komandon.
 
       Iuj utilaj ekzemploj estas:
-        (MS-DOS)           (UNIKSO)
+        (WINDOWS)          (UNIKSO)
          :!dir              :!ls            - listigas dosierujon
          :!del DOSIERNOMO   :!rm DOSIERNOMO - forvias la dosieron DOSIERNOMO
 
@@ -914,7 +914,7 @@ RIMARKO: Se vi deziras ignori usklecon por nur unu sera komando, uzu  \c
 
   1. Ekredaktu la dosieron "vimrc".  Tio dependas de via sistemo:
       :e ~/.vimrc          por Unikso
-      :e $VIM/_vimrc       por MS-Vindozo
+      :e $VIM/_vimrc       por Windows
 
   2. Nun legu la enhavon de la ekzempla "vimrc"
       :r $VIMRUNTIME/vimrc_example.vim
@@ -941,7 +941,7 @@ RIMARKO: Se vi deziras ignori usklecon por nur unu sera komando, uzu  \c
 
   4. Premu  CTRL-D  kaj Vim montros liston de komandoj, kiuj komencas per "e".
 
-  5. Premu <TAB>  kaj Vim kompletigos la nomon de la komando al ":edit".
+  5. Premu d<TAB>  kaj Vim kompletigos la nomon de la komando al ":edit".
 
   6. Nun aldonu spaceton kaj la komencon de ekzistanta nomo:  :edit DOSI
 
@@ -986,6 +986,6 @@ RIMARKO: Kompletigo funkcias por multaj 
 
   Esperantigita fare de Dominique Pell, 2008-04-01
   Retpoto: dominique.pelle@gmail.com
-  Lasta ano: 2016-07-02
+  Lasta ano: 2018-12-02
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/runtime/tutor/tutor.eo.utf-8
+++ b/runtime/tutor/tutor.eo.utf-8
@@ -652,7 +652,7 @@ RIMARKO: Se vi volus eliri el Vim kaj restartigi ĝin denove per  vim TESTO,
          la dosiero estus precize same kiel kopio de la instruilo kiam vi
          konservis ĝin.
 
-  5. Nun forviŝu la dosieron tajpante (MS-DOS):     :!del TESTO
+  5. Nun forviŝu la dosieron tajpante (WINDOWS):    :!del TESTO
                                    aŭ (UNIKSO):     :!rm TESTO
 
 
@@ -713,7 +713,7 @@ RIMARKO: Vi nun povas legi la eliron de 
   1.  :!komando  plenumas eksteran komandon.
 
       Iuj utilaj ekzemploj estas:
-        (MS-DOS)           (UNIKSO)
+        (WINDOWS)          (UNIKSO)
          :!dir              :!ls            - listigas dosierujon
          :!del DOSIERNOMO   :!rm DOSIERNOMO - forviŝas la dosieron DOSIERNOMO
 
@@ -914,7 +914,7 @@ RIMARKO: Se vi deziras ignori usklecon por nur unu serĉa komando, uzu  \c
 
   1. Ekredaktu la dosieron "vimrc".  Tio dependas de via sistemo:
       :e ~/.vimrc          por Unikso
-      :e $VIM/_vimrc       por MS-Vindozo
+      :e $VIM/_vimrc       por Windows
 
   2. Nun legu la enhavon de la ekzempla "vimrc"
       :r $VIMRUNTIME/vimrc_example.vim
@@ -941,7 +941,7 @@ RIMARKO: Se vi deziras ignori usklecon por nur unu serĉa komando, uzu  \c
 
   4. Premu  CTRL-D  kaj Vim montros liston de komandoj, kiuj komencas per "e".
 
-  5. Premu <TAB>  kaj Vim kompletigos la nomon de la komando al ":edit".
+  5. Premu d<TAB>  kaj Vim kompletigos la nomon de la komando al ":edit".
 
   6. Nun aldonu spaceton kaj la komencon de ekzistanta nomo:  :edit DOSI
 
@@ -986,6 +986,6 @@ RIMARKO: Kompletigo funkcias por multaj 
 
   Esperantigita fare de Dominique Pellé, 2008-04-01
   Retpoŝto: dominique.pelle@gmail.com
-  Lasta ŝanĝo: 2016-07-02
+  Lasta ŝanĝo: 2018-12-02
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/runtime/tutor/tutor.fr
+++ b/runtime/tutor/tutor.fr
@@ -685,8 +685,8 @@ NOTE : Si vous quittez Vim et le redmarrez de nouveau avec le fichier TEST,
        celui-ci sera une copie exacte de ce cours au moment o vous l'avez
        enregistr.
 
-  5. Maintenant, effacez le fichier en tapant (MS-DOS) :   :!del TEST
-                                           ou (Unix) :     :!rm TEST
+  5. Maintenant, effacez le fichier en tapant (Windows) :   :!del TEST
+                                           ou (Unix) :      :!rm TEST
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -731,7 +731,7 @@ NOTE :  Aprs avoir excut l'tape 2 vous verrez du texte de la Leon 5.3.
      o TEST est le nom de votre fichier.
      Le fichier que vous rcuprez est plac au-dessous de la ligne du curseur.
 
-  4. Pour vrifier que le fichier a bien t insr, remontez et vrifiez
+  3. Pour vrifier que le fichier a bien t insr, remontez et vrifiez
      qu'il y a maintenant deux copies de la Leon 5.3, l'originale et celle
      contenue dans le fichier.
 
@@ -747,12 +747,12 @@ NOTE :  Vous pouvez aussi lire la sortie
   1. :!commande  excute une commande externe.
 
      Quelques exemples pratiques :
-      (MS-DOS)        (Unix)
+      (Windows)       (Unix)
        :!dir           :!ls          affiche le contenu du rpertoire courant.
        :!del FICHIER   :!rm FICHIER  efface FICHIER.
 
   2. :w FICHIER  enregistre le fichier Vim courant sur le disque avec pour
-                  nom FICHIER.
+     nom FICHIER.
 
   3. v  dplacement  :w FICHIER sauvegarde les lignes de la slection Visuelle
      dans le fichier FICHIER.
@@ -950,7 +950,7 @@ NOTE : Si vous voulez ignorer la casse u
 
   1. Commencez  diter le fichier "vimrc". Ceci dpend de votre systme :
         :edit ~/.vimrc         pour Unix
-        :edit $VIM/_vimrc      pour MS-Windows
+        :edit $VIM/_vimrc      pour Windows
 
   2. Lisez maintenant le fichier d'exemple "vimrc" :
         :r $VIMRUNTIME/vimrc_example.vim
@@ -978,7 +978,7 @@ NOTE : Si vous voulez ignorer la casse u
   4. Appuyez  CTRL-D  et Vim affichera une liste de commandes qui commencent
      par "e".
 
-  5. Appuyez  <TAB>  et Vim compltera le nom de la commande :  ":edit"
+  5. Appuyez  d<TAB>  et Vim compltera le nom de la commande :  ":edit"
 
   6. Ajoutez maintenant un espace et le dbut d'un fichier existant :
      :edit  FIC
@@ -1034,5 +1034,5 @@ NOTE : Le compltement fonctionne pour de nombreuses commandes. Essayez
   Dernires mises  jour par Dominique Pell.
 
   E-mail :      dominique.pelle@gmail.com
-  Last Change : 2017 Jun 30
+  Last Change : 2018 Dec 2
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/runtime/tutor/tutor.fr.utf-8
+++ b/runtime/tutor/tutor.fr.utf-8
@@ -685,8 +685,8 @@ NOTE : Si vous quittez Vim et le redémarrez de nouveau avec le fichier TEST,
        celui-ci sera une copie exacte de ce cours au moment où vous l'avez
        enregistré.
 
-  5. Maintenant, effacez le fichier en tapant (MS-DOS) :   :!del TEST
-                                           ou (Unix) :     :!rm TEST
+  5. Maintenant, effacez le fichier en tapant (Windows) :   :!del TEST
+                                           ou (Unix) :      :!rm TEST
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -731,7 +731,7 @@ NOTE :  Après avoir exécuté l'étape 2 vous verrez du texte de la Leçon 5.3.
      où TEST est le nom de votre fichier.
      Le fichier que vous récupérez est placé au-dessous de la ligne du curseur.
 
-  4. Pour vérifier que le fichier a bien été inséré, remontez et vérifiez
+  3. Pour vérifier que le fichier a bien été inséré, remontez et vérifiez
      qu'il y a maintenant deux copies de la Leçon 5.3, l'originale et celle
      contenue dans le fichier.
 
@@ -747,12 +747,12 @@ NOTE :  Vous pouvez aussi lire la sortie
   1. :!commande  exécute une commande externe.
 
      Quelques exemples pratiques :
-      (MS-DOS)        (Unix)
+      (Windows)       (Unix)
        :!dir           :!ls          affiche le contenu du répertoire courant.
        :!del FICHIER   :!rm FICHIER  efface FICHIER.
 
   2. :w FICHIER  enregistre le fichier Vim courant sur le disque avec pour
-                  nom FICHIER.
+     nom FICHIER.
 
   3. v  déplacement  :w FICHIER sauvegarde les lignes de la sélection Visuelle
      dans le fichier FICHIER.
@@ -950,7 +950,7 @@ NOTE : Si vous voulez ignorer la casse u
 
   1. Commencez à éditer le fichier "vimrc". Ceci dépend de votre système :
         :edit ~/.vimrc         pour Unix
-        :edit $VIM/_vimrc      pour MS-Windows
+        :edit $VIM/_vimrc      pour Windows
 
   2. Lisez maintenant le fichier d'exemple "vimrc" :
         :r $VIMRUNTIME/vimrc_example.vim
@@ -978,7 +978,7 @@ NOTE : Si vous voulez ignorer la casse u
   4. Appuyez  CTRL-D  et Vim affichera une liste de commandes qui commencent
      par "e".
 
-  5. Appuyez  <TAB>  et Vim complétera le nom de la commande :  ":edit"
+  5. Appuyez  d<TAB>  et Vim complétera le nom de la commande :  ":edit"
 
   6. Ajoutez maintenant un espace et le début d'un fichier existant :
      :edit  FIC
@@ -1034,5 +1034,5 @@ NOTE : Le complètement fonctionne pour de nombreuses commandes. Essayez
   Dernières mises à jour par Dominique Pellé.
 
   E-mail :      dominique.pelle@gmail.com
-  Last Change : 2017 Jun 30
+  Last Change : 2018 Dec 2
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~