changeset 15878:314694a2e74a

Update runtime files. commit https://github.com/vim/vim/commit/4c92e75dd4ddb68dd92a86dd02d53c70dd4af33a Author: Bram Moolenaar <Bram@vim.org> Date: Sun Feb 17 21:18:32 2019 +0100 Update runtime files.
author Bram Moolenaar <Bram@vim.org>
date Sun, 17 Feb 2019 21:30:08 +0100
parents 904e9bd83419
children ab5ee4f15e8e
files nsis/lang/danish.nsi runtime/doc/change.txt runtime/doc/develop.txt runtime/doc/digraph.txt runtime/doc/eval.txt runtime/doc/filetype.txt runtime/doc/mbyte.txt runtime/doc/options.txt runtime/doc/pattern.txt runtime/doc/print.txt runtime/doc/quickref.txt runtime/doc/repeat.txt runtime/doc/russian.txt runtime/doc/starting.txt runtime/doc/tags runtime/doc/tagsrch.txt runtime/doc/terminal.txt runtime/doc/todo.txt runtime/doc/usr_11.txt runtime/doc/usr_45.txt runtime/doc/various.txt runtime/filetype.vim runtime/ftplugin/8th.vim runtime/ftplugin/rst.vim runtime/lang/menu_da.latin1.vim runtime/lang/menu_da.utf-8.vim runtime/syntax/8th.vim runtime/syntax/c.vim runtime/syntax/make.vim runtime/syntax/spec.vim runtime/tutor/tutor runtime/tutor/tutor.da runtime/tutor/tutor.da.utf-8 runtime/tutor/tutor.nl runtime/tutor/tutor.nl.utf-8 runtime/tutor/tutor.utf-8 src/po/da.po src/po/fr.po src/testdir/Makefile
diffstat 39 files changed, 996 insertions(+), 373 deletions(-) [+]
line wrap: on
line diff
--- a/nsis/lang/danish.nsi
+++ b/nsis/lang/danish.nsi
@@ -74,7 +74,7 @@ LangString str_group_plugin         ${LA
 LangString str_desc_plugin          ${LANG_DANISH}     "Opret plugin-mapper. Plugin-mapper giver mulighed for at udvide Vim ved at slippe en fil i en mappen."
 
 LangString str_section_plugin_home  ${LANG_DANISH}     "Private"
-LangString str_desc_plugin_home     ${LANG_DANISH}     "Opret plugin-mapper i HOME-mappen."
+LangString str_desc_plugin_home     ${LANG_DANISH}     "Opret plugin-mapper i HOME (hvis du har defineret et) eller Vim-installationsmappe."
 
 LangString str_section_plugin_vim   ${LANG_DANISH}     "Delte"
 LangString str_desc_plugin_vim      ${LANG_DANISH}     "Opret plugin-mapper i Vim-installationsmappe, det bruges af alle på systemet."
@@ -92,9 +92,9 @@ LangString str_unsection_exe        ${LA
 LangString str_desc_rm_exe          ${LANG_DANISH}     "Fjern alle Vim-eksekverbare- og afviklingsfiler."
 
 LangString str_ungroup_plugin       ${LANG_DANISH}     "Fjern plugin-mapper"
-LangString str_desc_rm_plugin       ${LANG_DANISH}     "Fjern plugin-mapperne hvis de er tomme."
+LangString str_desc_rm_plugin       ${LANG_DANISH}     "Fjern plugin-mapperne, hvis de er tomme."
 
-LangString str_unsection_plugin_home ${LANG_DANISH}    "Privat"
+LangString str_unsection_plugin_home ${LANG_DANISH}     "Private"
 LangString str_desc_rm_plugin_home  ${LANG_DANISH}     "Fjern plugin-mapperne fra HOME-mappen."
 
 LangString str_unsection_plugin_vim ${LANG_DANISH}     "Delte"
@@ -164,9 +164,9 @@ LangString str_msg_compat_defaults ${LANG_DANISH}     "Vim med nogle forbedringer (indlæs defaults.vim)"
 LangString str_msg_compat_all      ${LANG_DANISH}     "Vim med alle forbedringer (indlæs vimrc_example.vim) (standard)"
 
 LangString str_msg_keymap_title   ${LANG_DANISH}     " Tilknytninger "
-LangString str_msg_keymap_desc    ${LANG_DANISH}     "&Gentilknyt nogle få taster (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F osv.)"
+LangString str_msg_keymap_desc    ${LANG_DANISH}     "&Gentilknyt nogle få taster for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F osv.)"
 LangString str_msg_keymap_default ${LANG_DANISH}     "Gentilknyt ikke taster (standard)"
-LangString str_msg_keymap_windows ${LANG_DANISH}     "Gentilknyt nogle få taster til Windows"
+LangString str_msg_keymap_windows ${LANG_DANISH}     "Gentilknyt nogle få taster"
 
 LangString str_msg_mouse_title   ${LANG_DANISH}     " Mus "
 LangString str_msg_mouse_desc    ${LANG_DANISH}     "&Opførsel af højre og venstre knapper"
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 8.1.  Last change: 2018 Dec 14
+*change.txt*    For Vim version 8.1.  Last change: 2019 Feb 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -640,11 +640,11 @@ 4.2 Substitute						*:substitute*
 			For the {pattern} see |pattern|.
 			{string} can be a literal string, or something
 			special; see |sub-replace-special|.
-							*E939*
 			When [range] and [count] are omitted, replace in the
 			current line only.  When [count] is given, replace in
 			[count] lines, starting with the last line in [range].
 			When [range] is omitted start in the current line.
+							*E939*
 			[count] must be a positive number.  Also see
 			|cmdline-ranges|.
 
--- a/runtime/doc/develop.txt
+++ b/runtime/doc/develop.txt
@@ -1,4 +1,4 @@
-*develop.txt*   For Vim version 8.1.  Last change: 2018 May 02
+*develop.txt*   For Vim version 8.1.  Last change: 2019 Feb 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -355,6 +355,24 @@ OK:	    if (cond)
                cmd;
 	    }
 
+When a block has one line the braces can be left out.  When an if/else has
+braces on one block, it usually looks better when the other block also has
+braces:
+OK:	    if (cond)
+	       cmd;
+	    else
+               cmd;
+
+OK:	    if (cond)
+	    {
+	       cmd;
+	    }
+	    else
+	    {
+               cmd;
+               cmd;
+	    }
+
 Use ANSI (new style) function declarations with the return type on a separate
 indented line.
 
@@ -367,10 +385,10 @@ OK:	/*
 	 */
 	    int
 	function_name(
-	    int		arg1,		/* short comment about arg1 */
-	    int		arg2)		/* short comment about arg2 */
+	    int		arg1,		// short comment about arg1
+	    int		arg2)		// short comment about arg2
 	{
-	    int		local;		/* comment about local */
+	    int		local;		// comment about local
 
 	    local = arg1 * arg2;
 
--- a/runtime/doc/digraph.txt
+++ b/runtime/doc/digraph.txt
@@ -1,4 +1,4 @@
-*digraph.txt*   For Vim version 8.1.  Last change: 2018 Dec 14
+*digraph.txt*   For Vim version 8.1.  Last change: 2019 Feb 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -59,18 +59,9 @@ conversion to be available, it might fai
 "10".  That's because NUL characters are internally represented with a NL
 character.  When you write the file it will become a NUL character.
 
-When Vim was compiled without the |+multi_byte| feature, you need to specify
-the character in the encoding given with 'encoding'.  You might want to use
-something like this: >
-
-	if has("multi_byte")
-		digraph oe 339
-	elseif &encoding == "iso-8859-15"
-		digraph oe 189
-	endif
-
-This defines the "oe" digraph for a character that is number 339 in Unicode
-and 189 in latin9 (iso-8859-15).
+Example: >
+	digraph oe 339
+This defines the "oe" digraph for a character that is number 339 in Unicode.
 
 ==============================================================================
 2. Using digraphs					*digraphs-use*
@@ -164,8 +155,7 @@ a standard meaning:
 Example: a: is ä  and o: is ö
 
 These are the RFC1345 digraphs for the one-byte characters.  See the output of
-":digraphs" for the others.  The characters above 255 are only available when
-Vim was compiled with the |+multi_byte| feature.
+":digraphs" for the others.
 
 EURO
 
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.1.  Last change: 2019 Feb 03
+*eval.txt*	For Vim version 8.1.  Last change: 2019 Feb 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5538,7 +5538,6 @@ iconv({expr}, {from}, {to})				*iconv()*
 <		Note that Vim uses UTF-8 for all Unicode encodings, conversion
 		from/to UCS-2 is automatically changed to use UTF-8.  You
 		cannot use UCS-2 in a string anyway, because of the NUL bytes.
-		{only available when compiled with the |+multi_byte| feature}
 
 							*indent()*
 indent({lnum})	The result is a Number, which is indent of line {lnum} in the
@@ -6816,8 +6815,7 @@ printf({fmt}, {expr1} ...)				*printf()*
 							*printf-S*
 		S	The text of the String argument is used.  If a
 			precision is specified, no more display cells than the
-			number specified are used.  Without the |+multi_byte|
-			feature works just like 's'.
+			number specified are used.
 
 							*printf-f* *E807*
 		f F	The Float argument is converted into a string of the
@@ -8611,10 +8609,10 @@ strcharpart({src}, {start} [, {len}])			
 
 strdisplaywidth({expr} [, {col}])			*strdisplaywidth()*
 		The result is a Number, which is the number of display cells
-		String {expr} occupies on the screen when it starts at {col}.
-		When {col} is omitted zero is used.  Otherwise it is the
-		screen column where to start.  This matters for Tab
-		characters.
+		String {expr} occupies on the screen when it starts at {col}
+		(first column is zero).  When {col} is omitted zero is used.
+		Otherwise it is the screen column where to start.  This
+		matters for Tab characters.
 		The option settings of the current window are used.  This
 		matters for anything that's displayed differently, such as
 		'tabstop' and 'display'.
@@ -10272,7 +10270,7 @@ mouse_sgr		Compiled with support for sgr
 mouse_urxvt		Compiled with support for urxvt mouse.
 mouse_xterm		Compiled with support for xterm mouse.
 mouseshape		Compiled with support for 'mouseshape'.
-multi_byte		Compiled with support for 'encoding'
+multi_byte		Compiled with support for 'encoding' (always true)
 multi_byte_encoding	'encoding' is set to a multi-byte encoding.
 multi_byte_ime		Compiled with support for IME input method.
 multi_lang		Compiled with support for multiple languages.
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -663,6 +663,15 @@ your |vimrc|: >
 	let rrst_dynamic_comments = 0
 
 
+RESTRUCTUREDTEXT					*ft-rst-plugin*
+
+The following formatting setting are optionally available: >
+	setlocal expandtab shiftwidth=3 softtabstop=3 tabstop=8
+
+To enable this behavior, set the following variable in your vimrc: >
+	let g:rst_style = 1
+
+
 RPM SPEC						*ft-spec-plugin*
 
 Since the text for this plugin is rather long it has been put in a separate
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -14,9 +14,6 @@ For an introduction to the most common f
 manual.
 For changing the language of messages and menus see |mlang.txt|.
 
-{not available when compiled without the |+multi_byte| feature}
-
-
 1.  Getting started			|mbyte-first|
 2.  Locale				|mbyte-locale|
 3.  Encoding				|mbyte-encoding|
@@ -44,16 +41,6 @@ features.  Unfortunately, every system h
 languages and it is quite complicated.
 
 
-COMPILING
-
-If you already have a compiled Vim program, check if the |+multi_byte| feature
-is included.  The |:version| command can be used for this.
-
-If +multi_byte is not included, you should compile Vim with "normal", "big" or
-"huge" features.  You can further tune what features are included.  See the
-INSTALL files in the source directory.
-
-
 LOCALE
 
 First of all, you must make sure your current locale is set correctly.  If
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.1.  Last change: 2019 Feb 03
+*options.txt*	For Vim version 8.1.  Last change: 2019 Feb 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -695,8 +695,6 @@ A jump table for the options with a shor
 'ambiwidth' 'ambw'	string (default: "single")
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	Only effective when 'encoding' is "utf-8" or another Unicode encoding.
 	Tells Vim what to do with characters with East Asian Width Class
 	Ambiguous (such as Euro, Registered Sign, Copyright Sign, Greek
@@ -1277,8 +1275,6 @@ A jump table for the options with a shor
 'bomb'			boolean	(default off)
 			local to buffer
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	When writing a file and the following conditions are met, a BOM (Byte
 	Order Mark) is prepended to the file:
 	- this option is on
@@ -1440,8 +1436,6 @@ A jump table for the options with a shor
 'casemap' 'cmp'		string	(default: "internal,keepascii")
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	Specifies details about changing the case of letters.  It may contain
 	these words, separated by a comma:
 	internal	Use internal case mapping functions, the current
@@ -1497,8 +1491,7 @@ A jump table for the options with a shor
 				*'charconvert'* *'ccv'* *E202* *E214* *E513*
 'charconvert' 'ccv'	string (default "")
 			global
-			{only available when compiled with the |+multi_byte|
-			and |+eval| features}
+			{only available when compiled with the |+eval| feature}
 			{not in Vi}
 	An expression that is used for character encoding conversion.  It is
 	evaluated when a file that is to be read or has been written has a
@@ -1657,7 +1650,6 @@ A jump table for the options with a shor
 			You probably want to add this only temporarily,
 			possibly use BufEnter autocommands.
 			Only supported for GTK version 2 and later.
-			Only available with the |+multi_byte| feature.
 
 						*clipboard-exclude*
 	exclude:{pattern}
@@ -2552,8 +2544,6 @@ A jump table for the options with a shor
 'delcombine' 'deco'	boolean (default off)
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	If editing Unicode and this option is set, backspace and Normal mode
 	"x" delete each combining character on its own.  When it is off (the
 	default) the character along with its combining characters are
@@ -2804,16 +2794,12 @@ A jump table for the options with a shor
 'emoji' 'emo'	boolean (default: on)
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	When on all Unicode emoji characters are considered to be full width.
 
 
 					*'encoding'* *'enc'* *E543*
 'encoding' 'enc'	string (default: "latin1" or value from $LANG)
 			global
-			{only available when compiled with the |+multi_byte|
-			feature}
 			{not in Vi}
 	Sets the character encoding used inside Vim.  It applies to text in
 	the buffers, registers, Strings in expressions, text stored in the
@@ -3016,8 +3002,6 @@ A jump table for the options with a shor
 				*'fileencoding'* *'fenc'* *E213*
 'fileencoding' 'fenc'	string (default: "")
 			local to buffer
-			{only available when compiled with the |+multi_byte|
-			feature}
 			{not in Vi}
 	Sets the character encoding for the file of this buffer.
 
@@ -3073,8 +3057,6 @@ A jump table for the options with a shor
 				    "ucs-bom,utf-8,default,latin1" when
 				    'encoding' is set to a Unicode value)
 			global
-			{only available when compiled with the |+multi_byte|
-			feature}
 			{not in Vi}
 	This is a list of character encodings considered when starting to edit
 	an existing file.  When a file is read, Vim tries to use the first
@@ -4318,8 +4300,6 @@ A jump table for the options with a shor
 'imactivatefunc' 'imaf'	string (default "")
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	This option specifies a function that will be called to
 	activate or deactivate the Input Method.
 	It is not used in the GUI.
@@ -4371,8 +4351,6 @@ A jump table for the options with a shor
 'imcmdline' 'imc'	boolean (default off)
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	When set the Input Method is always on when starting to edit a command
 	line, unless entering a search pattern (see 'imsearch' for that).
 	Setting this option is useful when your input method allows entering
@@ -4383,8 +4361,6 @@ A jump table for the options with a shor
 'imdisable' 'imd'	boolean (default off, on for some systems (SGI))
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	When set the Input Method is never used.  This is useful to disable
 	the IM when it doesn't work properly.
 	Currently this option is on by default for SGI/IRIX machines.  This
@@ -4437,8 +4413,6 @@ A jump table for the options with a shor
 'imstatusfunc' 'imsf'	string (default "")
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	This option specifies a function that is called to obtain the status
 	of Input Method.  It must return a positive number when IME is active.
 	It is not used in the GUI.
@@ -5183,8 +5157,6 @@ A jump table for the options with a shor
 					*'makeencoding'* *'menc'*
 'makeencoding' 'menc'	string	(default "")
 			global or local to buffer |global-local|
-			{only available when compiled with the |+multi_byte|
-			feature}
 			{not in Vi}
 	Encoding used for reading the output of external commands.  When empty,
 	encoding is not converted.
@@ -5251,8 +5223,6 @@ A jump table for the options with a shor
 'maxcombine' 'mco'	number (default 2)
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	The maximum number of combining characters supported for displaying.
 	Only used when 'encoding' is "utf-8".
 	The default is OK for most languages.  Hebrew may require 4.
@@ -6020,8 +5990,8 @@ A jump table for the options with a shor
 'printmbcharset' 'pmbcs'  string (default "")
 			global
 			{not in Vi}
-			{only available when compiled with the |+printer|,
-			|+postscript| and |+multi_byte| features}
+			{only available when compiled with the |+printer|
+			and |+postscript| features}
 	The CJK character set to be used for CJK output from |:hardcopy|.
 	See |pmbcs-option|.
 
@@ -6029,8 +5999,8 @@ A jump table for the options with a shor
 'printmbfont' 'pmbfn'	string (default "")
 			global
 			{not in Vi}
-			{only available when compiled with the |+printer|,
-			|+postscript| and |+multi_byte| features}
+			{only available when compiled with the |+printer|
+			and |+postscript| features}
 	List of font names to be used for CJK output from |:hardcopy|.
 	See |pmbfn-option|.
 
@@ -7997,8 +7967,6 @@ A jump table for the options with a shor
 'termencoding' 'tenc'	string	(default ""; with GTK+ GUI: "utf-8"; with
 						    Macintosh GUI: "macroman")
 			global
-			{only available when compiled with the |+multi_byte|
-			feature}
 			{not in Vi}
 	Encoding used for the terminal.  This specifies what character
 	encoding the keyboard produces and the display will understand.  For
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1135,7 +1135,7 @@ x	A single character, with no special me
 	  The "Func" column shows what library function is used.  The
 	  implementation depends on the system.  Otherwise:
 	  (1) Uses islower() for ASCII and Vim builtin rules for other
-	  characters when built with the |+multi_byte| feature.
+	  characters.
 	  (2) Uses Vim builtin rules
 	  (3) As with (1) but using isupper()
 							*/[[=* *[==]*
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -111,10 +111,9 @@ not recognized by Vim will just be conve
 replaced with '-' signs.
 
 If 'printencoding' is empty or Vim cannot find the file then it will use
-'encoding' (if Vim is compiled with |+multi_byte| and it is set an 8-bit
-encoding) to find the print character encoding file.  If Vim is unable to find
-a character encoding file then it will use the "latin1" print character
-encoding file.
+'encoding' (if it is set an 8-bit encoding) to find the print character
+encoding file.  If Vim is unable to find a character encoding file then it
+will use the "latin1" print character encoding file.
 
 When 'encoding' is set to a multi-byte encoding, Vim will try to convert
 characters to the printing encoding for printing (if 'printencoding' is empty
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 8.1.  Last change: 2019 Feb 08
+*quickref.txt*  For Vim version 8.1.  Last change: 2019 Feb 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -323,8 +323,6 @@ For writing a Vim script, see chapter 41
 				set encoding=utf-8
 				scriptencoding utf-8
 <
-			When compiled without the |+multi_byte| feature this
-			command is ignored.
 			{not in Vi}
 
 						*:scr* *:scriptnames*
--- a/runtime/doc/russian.txt
+++ b/runtime/doc/russian.txt
@@ -55,8 +55,7 @@ automatic installs.  Vim also needs to b
 user interface items translations to work.
 
 After downloading an archive from RuVim project, unpack it into your
-$VIMRUNTIME directory.  We recommend using UTF-8 archive, if your version of
-Vim is compiled with |+multi_byte| feature enabled.
+$VIMRUNTIME directory.  We recommend using UTF-8 archive.
 
 In order to use the Russian documentation, make sure you have set the
 'helplang' option to "ru".
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 8.1.  Last change: 2018 May 05
+*starting.txt*  For Vim version 8.1.  Last change: 2019 Feb 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1092,10 +1092,10 @@
 'termbidi'	options.txt	/*'termbidi'*
 'termencoding'	options.txt	/*'termencoding'*
 'termguicolors'	options.txt	/*'termguicolors'*
-'termmode'	options.txt	/*'termmode'*
 'termwinkey'	options.txt	/*'termwinkey'*
 'termwinscroll'	options.txt	/*'termwinscroll'*
 'termwinsize'	options.txt	/*'termwinsize'*
+'termwintype'	options.txt	/*'termwintype'*
 'terse'	options.txt	/*'terse'*
 'textauto'	options.txt	/*'textauto'*
 'textmode'	options.txt	/*'textmode'*
@@ -1113,7 +1113,6 @@
 'titlestring'	options.txt	/*'titlestring'*
 'tl'	options.txt	/*'tl'*
 'tm'	options.txt	/*'tm'*
-'tmod'	options.txt	/*'tmod'*
 'to'	options.txt	/*'to'*
 'toolbar'	options.txt	/*'toolbar'*
 'toolbariconsize'	options.txt	/*'toolbariconsize'*
@@ -1137,6 +1136,7 @@
 'twk'	options.txt	/*'twk'*
 'tws'	options.txt	/*'tws'*
 'twsl'	options.txt	/*'twsl'*
+'twt'	options.txt	/*'twt'*
 'tx'	options.txt	/*'tx'*
 'uc'	options.txt	/*'uc'*
 'udf'	options.txt	/*'udf'*
@@ -2521,6 +2521,7 @@ 90.5	usr_90.txt	/*90.5*
 :lefta	windows.txt	/*:lefta*
 :leftabove	windows.txt	/*:leftabove*
 :let	eval.txt	/*:let*
+:let%=	eval.txt	/*:let%=*
 :let+=	eval.txt	/*:let+=*
 :let-$	eval.txt	/*:let-$*
 :let-&	eval.txt	/*:let-&*
@@ -2531,6 +2532,8 @@ 90.5	usr_90.txt	/*90.5*
 :let-register	eval.txt	/*:let-register*
 :let-unpack	eval.txt	/*:let-unpack*
 :let.=	eval.txt	/*:let.=*
+:let/=	eval.txt	/*:let\/=*
+:letstar=	eval.txt	/*:letstar=*
 :lex	quickfix.txt	/*:lex*
 :lexpr	quickfix.txt	/*:lexpr*
 :lf	quickfix.txt	/*:lf*
@@ -4688,6 +4691,8 @@ E978	eval.txt	/*E978*
 E979	eval.txt	/*E979*
 E98	diff.txt	/*E98*
 E980	eval.txt	/*E980*
+E981	starting.txt	/*E981*
+E982	terminal.txt	/*E982*
 E99	diff.txt	/*E99*
 EX	intro.txt	/*EX*
 EXINIT	starting.txt	/*EXINIT*
@@ -6128,7 +6133,6 @@ f	motion.txt	/*f*
 false-variable	eval.txt	/*false-variable*
 faq	intro.txt	/*faq*
 farsi	farsi.txt	/*farsi*
-farsi-fonts	farsi.txt	/*farsi-fonts*
 farsi.txt	farsi.txt	/*farsi.txt*
 fasm.vim	syntax.txt	/*fasm.vim*
 fcs_choice-variable	eval.txt	/*fcs_choice-variable*
@@ -6354,6 +6358,7 @@ ft-rmd-plugin	filetype.txt	/*ft-rmd-plug
 ft-rmd-syntax	syntax.txt	/*ft-rmd-syntax*
 ft-rrst-plugin	filetype.txt	/*ft-rrst-plugin*
 ft-rrst-syntax	syntax.txt	/*ft-rrst-syntax*
+ft-rst-plugin	filetype.txt	/*ft-rst-plugin*
 ft-rst-syntax	syntax.txt	/*ft-rst-syntax*
 ft-ruby-omni	insert.txt	/*ft-ruby-omni*
 ft-ruby-syntax	syntax.txt	/*ft-ruby-syntax*
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -1,4 +1,4 @@
-*tagsrch.txt*   For Vim version 8.1.  Last change: 2018 May 04
+*tagsrch.txt*   For Vim version 8.1.  Last change: 2019 Feb 13
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -613,8 +613,7 @@ ignored.  (Case is ignored when 'ignorec
 The value '2' should be used then:
 	!_TAG_FILE_SORTED<Tab>2<Tab>{anything} ~
 
-The other tag that Vim recognizes, but only when compiled with the
-|+multi_byte| feature, is the encoding of the tags file:
+The other tag that Vim recognizes is the encoding of the tags file:
 	!_TAG_FILE_ENCODING<Tab>utf-8<Tab>{anything} ~
 Here "utf-8" is the encoding used for the tags.  Vim will then convert the tag
 being searched for from 'encoding' to the encoding of the tags file.  And when
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -1,4 +1,4 @@
-*terminal.txt*	For Vim version 8.1.  Last change: 2019 Feb 03
+*terminal.txt*	For Vim version 8.1.  Last change: 2019 Feb 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -44,7 +44,7 @@ 5. Debugging			|terminal-debug|
 
 {Vi does not have any of these commands}
 {only available when compiled with the |+terminal| feature}
-The terminal feature requires the |+multi_byte|, |+job| and |+channel| features.
+The terminal feature requires the |+job| and |+channel| features.
 
 ==============================================================================
 1. Basic use						*terminal-use*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.1.  Last change: 2019 Feb 02
+*todo.txt*      For Vim version 8.1.  Last change: 2019 Feb 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,6 +38,11 @@ browser use: https://github.com/vim/vim/
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
+Added test, updates, June 23.
+Updated for 7.4: http://litcave.rudi.ir/farsi_vim.diff
+Remark from Ameretat Reith (2014 Oct 13) with patch on top.
+
 Timer test doesn't work on MS-Windows console, any way to make it work?
 
 'incsearch' with :s: (#3321)
@@ -74,15 +79,15 @@ Terminal debugger:
   with another Vim instance.
 
 Terminal emulator window:
+- When the job in the terminal doesn't use mouse events, let the scroll wheel
+  scroll the scrollback, like a terminal does at the shell prompt. #2490
+  And use modeless selection.  #2962
 - When Vim runs in the terminal and changes the title, the statusline needs to
   be redrawn.
 - GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
   (#3327)
 - Terminal API: Add more functionality? (Ozaki Kiichi 2018 May 13, #2907)
 - GUI: hang until key typed. (#3530)
-- When the job in the terminal doesn't use mouse events, let the scroll wheel
-  scroll the scrollback, like a terminal does at the shell prompt. #2490
-  And use modeless selection.  #2962
 - Allow for specifying the directory, with ++cwd={dir}.
 - With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
   #2977)
@@ -117,18 +122,17 @@ Does not build with MinGW out of the box
 Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
 13, #2910)  Can't reproduce?
 
-Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
-
 Errors found with random data:
     heap-buffer-overflow in alist_add (#2472)
 
-Win32 key codes are messy.  Mike Williams tried to fix that, but now old
-mappings no longer work.  Create a new terminal for the better solution?
-
 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?
 
+Improvement for :terminal winpty/conpty option.  Ozaki Kiichi, #3905
+
+Patch to change WIN32 macro names. (Hirohito Higashi, #3932)
+
 When a terminal exit_cb closes the window, a following typed key is lost, if
 it's in a mapping. (2018 Oct 6, #2302, #3522)
 
@@ -143,6 +147,9 @@ Williams, 2018 Oct 30)
 
 Problem with :tlmenu: Detach item added with all modes?  Issue #3563.
 
+Patch to reduce amount of memory used by functions that keep reference.
+(ichizok, #3961)
+
 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.
@@ -167,17 +174,43 @@ Another request: #3811.
 More warnings from static analysis:
 https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
 
+When using 'k' in 'guioptions' gvim may open with a tiny window. (#3808)
+Suggested patch on the issue.
+
 nvo-mode mapping works on Windows, not on Linux. (#3678)
 
 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)
+
+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)
+
+Patch to fix hang when opening file where an intermediate directory is not
+readable on MS-Windows. (link on #3923)
+
 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?
+
 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.
@@ -187,16 +220,13 @@ character in the file. (Smylers, 2018 No
 Suggested patch by Hirohito Higashi, 2018 Nov 18.
 
 Using CTRL-L to add a character to the search string that contains \v,
-punctiuation is repeated. (Smylers, 2018 Nov 17, #3621)
+punctuation is repeated. (Smylers, 2018 Nov 17, #3621)
 
 Using CTRL-L during search only picks up the base character, not a combining
 character. (Rick, 2018 Dec 11, #3682)
 
 ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550).
 
-Patch to convert temp file name. (Yasuhiro Matsumoto, #3520)
-Not ready to include yet.
-
 Problem with two buffers with the same name a/b, if it didn't exist before and
 is created outside of Vim. (dskloetg, 2018 Jul 16, #3219)
 
@@ -211,12 +241,22 @@ Invalid memory access with old regexp en
 Patch to add complete_mode().  Shougo - #3866.  Alternate patch by Hirohito
 Higashi, 2019 Jan 27, included now?
 
+Patch to make winnr() return the window above/below/beside a window.
+(Yegappan Lakshmanan, #3993)
+
 Patch for ConPTY support, new one: #3794 Does this work now?  It should.
 (Nobuhiro Takasaki)
 
 Add function to make use of internal diff, working on two lists and returning
 unified diff (list of lines).
 
+When splitting a window with few text lines, the relative cursor position is
+kept, which means part of the text isn't displayed.  Better show all the text
+when possible. (Dylan Lloyd, #3973)
+
+Tag stack is incorrect after CTRL-T and then :tag. (Andy Massimino, 2019 Feb
+12, #3944)  With Patch for a solution.  Needs a test.
+
 Patch to implement 'diffref' option. (#3535)
   Easier to use a 'diffmaster' option, is the extra complexity needed?
 
@@ -231,6 +271,15 @@ Patch by Christian, Oct 30.
 
 Patch to clean up CI configs. (Ozaki Kiichi, 2019 Feb 1, #3890)
 
+Patch to filter marks. (Marcin Szamotulski, 2019 Feb 7, #3895)
+
+Patch to add environ(), gets a dict with all environment vars, and getenv(),
+useful for environment vars that are not made of keyword chars.
+(Yasuhiro Matsumoto, #2875)
+
+Patch to add optional arguments with default values.
+(Andy Massimino, #3952)  under development
+
 Memory leaks in test_channel? (or is it because of fork())
 Using uninitialized value in test_crypt.
 Memory leak in test_terminal:
@@ -243,6 +292,7 @@ Memory leak in test_terminal:
 ==23530==    by 0x35C923: term_start (terminal.c:421)
 ==23530==    by 0x2AFF30: mch_call_shell_terminal (os_unix.c:4377)
 ==23530==    by 0x2B16BE: mch_call_shell (os_unix.c:5383)
+Memory leak in test_alot with pyeval() (allocating partial)
 
 gethostbyname() is old, use getaddrinfo() if available. (#3227)
 
@@ -252,6 +302,12 @@ Patch to add match count and current ind
 matchaddpos() gets slow with many matches.  Proposal by Rick Howe, 2018 Jul
 19.
 
+Patch to specify color for cterm=underline and cterm=undercurl, like "guisp".
+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.
+
 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
@@ -318,6 +374,11 @@ Better name?
 MS-Windows: .lnk file not resolved properly when 'encoding' is set.
 (lkintact, 2018 Sep 22, #3473)
 
+Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
+
+Win32 key codes are messy.  Mike Williams tried to fix that, but now old
+mappings no longer work.  Create a new terminal for the better solution?
+
 Script generated by :mksession does not work well if there are windows with
 modified buffers
   change "silent only" into "silent only!"
@@ -350,6 +411,9 @@ 2018 Aug 24, #2998)
 Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24,
 #2999)
 
+Add more testing of the GTK GUI.
+- gtk_test_widget_click() can be used to simulate a click in a widget.
+
 Tests failing for "make testgui" with GTK:
 - Test_setbufvar_options()
 - Test_exit_callback_interval()
@@ -822,10 +886,6 @@ Implement optional arguments for functio
     call Foo(12, all = 0)
     call Foo(12, 15, 0)
 
-Change the Farsi code to work with UTF-8.  Possibly combined with the Arabic
-support, or similar.
-Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
-
 Add a command to take a range of lines, filter them and put the output
 somewhere else.  :{range}copy {dest} !cmd
 
@@ -1005,9 +1065,6 @@ Add an argument to choose binary or non-
 use the current behavior.
 Include the test.
 
-Patch to add tagfunc().  Cleaned up by Christian Brabandt, 2013 Jun 22.
-New update 2017 Apr 10, #1628
-
 When 'keywordprg' starts with ":" the argument is still escaped as a shell
 command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
 
@@ -2079,12 +2136,6 @@ to avoid changing 'eventignore'?
 Patch for displaying 0x200c and 0x200d. (Ali Gholami Rudi, 2009 May 6)
 Probably needs a bit of work.
 
-Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
-Added test, updates, June 23.
-Updated for 7.4: http://litcave.rudi.ir/farsi_vim.diff
-With modification for Tatweel character: https://dpaste.de/VmFw
-Remark from Ameretat Reith (2014 Oct 13)
-
 List of encoding aliases. (Takao Fujiwara, 2009 Jul 18)
 Are they all OK?  Update Jul 22.
 
@@ -3091,8 +3142,6 @@ Win32 GUI known bugs:
 8   The -P argument doesn't work very well with many MDI applications.
     The last argument of CreateWindowEx() should be used, see MSDN docs.
     Tutorial: http://win32assembly.online.fr/tut32.html
-8   In eval.c, io.h is included when MSWIN32 is defined.  Shouldn't this be
-    WIN32?  Or can including io.h be moved to vim.h? (Dan Sharp)
 6   Win32 GUI: With "-u NONE -U NONE" and doing "CTRL-W v" "CTRL-W o", the ":"
     of ":only" is highlighted like the cursor.  (Lipelis)
 8   When 'encoding' is "utf-8", should use 'guifont' for both normal and wide
--- a/runtime/doc/usr_11.txt
+++ b/runtime/doc/usr_11.txt
@@ -1,4 +1,4 @@
-*usr_11.txt*	For Vim version 8.1.  Last change: 2019 Jan 30
+*usr_11.txt*	For Vim version 8.1.  Last change: 2019 Feb 04
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -284,6 +284,7 @@ If you really don't want to see this mes
 'shortmess' option.  But it's very unusual that you need this.
 
 For remarks about encryption and the swap file, see |:recover-crypt|.
+For programatic access to the swap file, see |swapinfo()|.
 
 ==============================================================================
 *11.4*	Further reading
--- a/runtime/doc/usr_45.txt
+++ b/runtime/doc/usr_45.txt
@@ -153,12 +153,6 @@ language than the text.
 language, the default should work fine and you don't need to do anything.  The
 following is only relevant when you want to edit different languages.
 
-	Note:
-	Using different encodings only works when Vim was compiled to handle
-	it.  To find out if it works, use the ":version" command and check the
-	output for "+multi_byte".  If it's there, you are OK.  If you see
-	"-multi_byte" you will have to find another Vim.
-
 
 USING UNICODE IN THE GUI
 
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -82,8 +82,7 @@ g8			Print the hex values of the bytes u
 			value of 'maxcombine' doesn't matter.
 			Example of a character with two composing characters:
 				e0 b8 81 + e0 b8 b9 + e0 b9 89 ~
-			{not in Vi} {only when compiled with the |+multi_byte|
-			feature}
+			{not in Vi}
 
 							*8g8*
 8g8			Find an illegal UTF-8 byte sequence at or after the
@@ -98,8 +97,7 @@ 8g8			Find an illegal UTF-8 byte sequenc
 			Note that when the cursor is on an illegal byte or the
 			cursor is halfway a multi-byte character the command
 			won't move the cursor.
-			{not in Vi} {only when compiled with the |+multi_byte|
-			feature}
+			{not in Vi}
 
 						*:p* *:pr* *:print* *E749*
 :[range]p[rint] [flags]
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2019 Jan 28
+" Last Change:	2019 Feb 07
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -54,6 +54,9 @@ au BufNewFile,BufRead $VIMRUNTIME/doc/*.
 " Abaqus or Trasys
 au BufNewFile,BufRead *.inp			call dist#ft#Check_inp()
 
+" 8th (Firth-derivative)
+au BufNewFile,BufRead *.8th			setf 8th
+
 " A-A-P recipe
 au BufNewFile,BufRead *.aap			setf aap
 
new file mode 100644
--- /dev/null
+++ b/runtime/ftplugin/8th.vim
@@ -0,0 +1,25 @@
+" Vim ftplugin file
+" Language:	8th
+" Version:	any
+" Last Change:	2015/11/08
+" Maintainer:	Ron Aaron <ron@aaron-tech.com>
+" URL:          https://8th-dev.com/
+" Filetypes:	*.8th
+" NOTE: 	8th allows any non-whitespace in a name, so you need to do:
+" 		setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
+" 		This goes with the syntax/8th.vim file.
+
+" Only do this when not done yet for this buffer
+if exists("b:did_8thplugin")
+ finish
+endif
+
+" Don't load another plugin for this buffer
+let b:did_8thplugin = 1
+
+setlocal ts=2 sts=2 sw=2 et
+setlocal com=s1:/*,mb:*,ex:*/,:\|,:\\
+setlocal fo=tcrqol
+setlocal matchpairs+=\::;
+setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
+setlocal suffixesadd=.8th
--- a/runtime/ftplugin/rst.vim
+++ b/runtime/ftplugin/rst.vim
@@ -30,7 +30,7 @@ setlocal formatoptions+=tcroql
 "
 " More sophisticated indentation rules should be revisted in the future.
 
-if !exists("g:rst_style") || g:rst_style != 0
+if exists("g:rst_style") && g:rst_style != 0
     setlocal expandtab shiftwidth=3 softtabstop=3 tabstop=8
 endif
 
--- a/runtime/lang/menu_da.latin1.vim
+++ b/runtime/lang/menu_da.latin1.vim
@@ -1,3 +1,3 @@
 " Menu Translations:	Danish for iso-8859-1 encoding
 
-source <sfile>:p:h/menu_da.utf-8.vim
+source <sfile>:p:h/menu_da.utf-8.vim
\ No newline at end of file
--- a/runtime/lang/menu_da.utf-8.vim
+++ b/runtime/lang/menu_da.utf-8.vim
@@ -368,6 +368,95 @@ let g:menutrans_spell_change_ARG_to = 'Ændr\ "%s"\ til'
 let g:menutrans_spell_add_ARG_to_word_list = 'Tilføj\ "%s"\ til\ ordliste'
 let g:menutrans_spell_ignore_ARG = 'Ignorer "%s"'
 
+
+
+" Forsøg på at oversætte netrw-menuen
+menut Help<tab><F1>					Hjælp<tab><F1>
+" -Sep1-
+menut Go\ Up\ Directory<tab>-					GÃ¥\ mappe\ op<tab>-
+menut Apply\ Special\ Viewer<tab>x					Anvend\ speciel\ fremviser<tab>x
+
+menut Bookmarks\ and\ History					Bogmærker\ og\ historik<tab>:echo "(disabled)"
+menut Bookmark\ Current\ Directory<tab>mb					Sæt\ bogmærke\ for\ nuværende\ mappe<tab>mb
+menut Goto\ Prev\ Dir\ (History)<tab>u					GÃ¥\ til\ forrige\ mappe\ (historik)<tab>u
+menut Goto\ Next\ Dir\ (History)<tab>U					Gå\ til\ næste\ mappe\ (historik)<tab>U
+menut List<tab>qb					Oplist<tab>qb
+
+menut Browsing\ Control					Gennemgangskontol
+menut Horizontal\ Split<tab>o					Vandret\ opdeling<tab>o
+menut Vertical\ Split<tab>v					Lodret\ opdeling<tab>v
+menut New\ Tab<tab>t					Nyt\ faneblad<tab>t
+menut Preview<tab>p					Forhåndsvis<tab>p
+menut Edit\ File\ Hiding\ List<tab><ctrl-h>               Rediger\ liste\ til\ filskjulning
+menut Edit\ Sorting\ Sequence<tab>S					Rediger\ sorteringssekvens<tab>S
+menut Quick\ Hide/Unhide\ Dot\ Files<tab>gh					Hurtig\ skjul/vis\ punktum-filer<tab>gh
+menut Refresh\ Listing<tab><ctrl-l>							Genopfrisk\ oplistning<tab>\<c-l> ikke sikker det med \ er korrekt
+menut Settings/Options<tab>:NetrwSettings					Indstillinger/valgmuligheder<tab>
+
+menut Delete\ File/Directory<tab>D	Slet\ fil/mappe<tab>D
+
+menut Edit\ File/Dir					Rediger\ fil/mappe
+menut Create\ New\ File<tab>%					Opret\ ny\ fil<tab>%
+menut In\ Current\ Window<tab><cr>					I\ nuværende\ vindue<tab>
+menut Preview\ File/Directory<tab>p					Forhåndsvis\ fil/mappe<tab>p
+menut In\ Previous\ Window<tab>P					I\ forrige\ vindue<tab>P
+menut In\ New\ Window<tab>o					I\ nyt\ vindue<tab>o
+menut In\ New\ Tab<tab>t					I\ nyt\ faneblad<tab>t
+menut In\ New\ Vertical\ Window<tab>v					I\ nyt\ lodret\ vindue<tab>v
+
+menut Explore					Gennemse
+menut Directory\ Name					Mappenavn<tab>:Explore
+menut Filenames\ Matching\ Pattern\ (curdir\ only)<tab>:Explore\ */					test29<tab>:Explore */
+menut Filenames\ Matching\ Pattern\ (+subdirs)<tab>:Explore\ **/					test30<tab>:Explore **/
+menut Files\ Containing\ String\ Pattern\ (curdir\ only)<tab>:Explore\ *//					test31<tab>:Explore *//
+menut Files\ Containing\ String\ Pattern\ (+subdirs)<tab>:Explore\ **//					test32<tab>:Explore **//
+menut Next\ Match<tab>:Nexplore					Næste\ match<tab>:Nexplore<cr>
+menut Prev\ Match<tab>:Pexplore					Forrige\ match<tab>:Pexplore<cr>
+
+menut Make\ Subdirectory<tab>d					Opret\ undermappe<tab>d
+
+menut Marked\ Files					Mærkede\ filer
+menut Mark\ File<tab>mf					Mærk\ fil<tab>mf
+menut Mark\ Files\ by\ Regexp<tab>mr					Mærk\ filer\ efter\ regulært\ udtrk<tab>mr
+menut Hide-Show-List\ Control<tab>a					test38<tab>a
+menut Copy\ To\ Target<tab>mc					Kopiér\ til\ mål<tab>mc
+menut Delete<tab>D					Slet<tab>D
+menut Diff<tab>md					Diff<tab>md
+menut Edit<tab>me					Rediger<tab>me
+menut Exe\ Cmd<tab>mx					test43<tab>mx
+menut Move\ To\ Target<tab>mm					Flyt\ til\ mål<tab>mm
+menut Obtain<tab>O					Indhent<tab>O
+menut Print<tab>mp					Udskriv<tab>mp
+menut Replace<tab>R					Erstat<tab>R
+menut Set\ Target<tab>mt					Sæt\ mål<tab>mt
+menut Tag<tab>mT					test49<tab>mT
+menut Zip/Unzip/Compress/Uncompress<tab>mz					Zip/unzip/komprimér/udpak<tab>mz
+
+menut Obtain\ File<tab>O					Indhent\ fil<tab>O
+
+menut Style					Stile
+menut Listing				Oplisting
+menut thin<tab>i	tynd
+menut long<tab>i	lang
+menut wide<tab>i	bred
+menut tree<tab>i	træ
+menut Normal-Hide-Show					Normal-skjul-vis
+menut Show\ All<tab>a					Vis\ alle<tab>
+menut Normal<tab>a					Normal<tab>
+menut Hidden\ Only<tab>a					Kun\ skulte<tab>
+menut Reverse\ Sorting\ Order<tab>         Omvendt\ sorteringsrækkefølge
+menut Sorting\ Method					Sorteringsmetode
+menut Name<tab>s       Navn
+menut Time<tab>s       Tidspunkt
+menut Size<tab>s       Størrelse
+menut Exten<tab>s      Endelse
+menut Rename\ File/Directory<tab>R	Omdøb\ fil/mappe<tab>R
+menut Set\ Current\ Directory<tab>c	Sæt\ nuværende\ mappe<tab>c
+
+menut History					Historik
+
+menut Targets					MÃ¥l
+
 let &cpo = s:keepcpo
 unlet s:keepcpo
 
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/8th.vim
@@ -0,0 +1,335 @@
+" Vim syntax file
+" Language:     8th
+" Version:      19.01d
+" Maintainer:   Ron Aaron <ron@aaron-tech.com>
+" URL:          https://8th-dev.com/
+" Filetypes:    *.8th
+" NOTE:         You should also have the ftplugin/8th.vim file to set 'isk'
+
+if version < 600
+  syntax clear
+  finish
+elseif exists("b:current_syntax")
+   finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+syn clear
+" Synchronization method
+syn sync ccomment 
+syn sync maxlines=100
+syn case match
+syn match eighthColonName "\S\+" contained
+syn match eighthColonDef ":\s\+\S\+" contains=eighthColonName
+
+" new words
+syn match eighthClasses "\<\S\+:" contained
+syn match eighthClassWord "\<\S\+:.\+" contains=eighthClasses
+
+syn keyword eighthEndOfColonDef ; i;
+syn keyword eighthDefine var var,
+
+" Built in words
+com! -nargs=+ Builtin syn keyword eighthBuiltin <args>
+"Builtin ^ < <# <#> = > - -- ,# ; ;; !  ???  / .  .# ' () @ * */ \ 
+
+Builtin  ! G:! #! G:#! ## G:## #> G:#> #if G:#if ' G:' ( G:( (* G:(* (:) G:(:) (code) G:(code) (getc) G:(getc)
+Builtin  (gets) G:(gets) (interp) G:(interp) (needs) G:(needs) (putc) G:(putc) (puts) G:(puts) (putslim) G:(putslim)
+Builtin  (say) G:(say) (stat) G:(stat) ) G:) +listener G:+listener +ref G:+ref ,# G:,# -- G:-- -----BEGIN G:-----BEGIN
+Builtin  -Inf G:-Inf -Inf? G:-Inf? -listener G:-listener -ref G:-ref -rot G:-rot . G:. .# G:.# .needs G:.needs
+Builtin  .r G:.r .s G:.s .stats G:.stats .ver G:.ver .with G:.with 0; G:0; 2dip G:2dip 2drop G:2drop
+Builtin  2dup G:2dup 2over G:2over 2swap G:2swap 3drop G:3drop 4drop G:4drop 8thdt? G:8thdt? 8thver? G:8thver?
+Builtin  : G:: ; G:; ;; G:;; ;;; G:;;; ;then G:;then ;with G:;with <# G:<# <#> G:<#> >clip G:>clip >json G:>json
+Builtin  >kind G:>kind >n G:>n >r G:>r >s G:>s ?: G:?: ??? G:??? @ G:@ Inf G:Inf Inf? G:Inf? NaN G:NaN
+Builtin  NaN? G:NaN? SED-CHECK G:SED-CHECK SED: G:SED: SED: G:SED: \ G:\ ` G:` `` G:`` actor: G:actor:
+Builtin  again G:again ahead G:ahead and G:and appname G:appname apropos G:apropos argc G:argc args G:args
+Builtin  array? G:array? assert G:assert base G:base bi G:bi bits G:bits break G:break break? G:break?
+Builtin  build? G:build? buildver? G:buildver? bye G:bye c# G:c# c/does G:c/does case G:case caseof G:caseof
+Builtin  chdir G:chdir clip> G:clip> clone G:clone clone-shallow G:clone-shallow cold G:cold compat-level G:compat-level
+Builtin  compile G:compile compile? G:compile? conflict G:conflict const G:const container? G:container?
+Builtin  cr G:cr curlang G:curlang curry G:curry curry: G:curry: decimal G:decimal defer: G:defer: deg>rad G:deg>rad
+Builtin  depth G:depth die G:die dip G:dip drop G:drop dstack G:dstack dump G:dump dup G:dup dup? G:dup?
+Builtin  else G:else enum: G:enum: eval G:eval eval! G:eval! eval0 G:eval0 execnull G:execnull expect G:expect
+Builtin  extra! G:extra! extra@ G:extra@ false G:false fnv G:fnv fourth G:fourth free G:free func: G:func:
+Builtin  getc G:getc getcwd G:getcwd getenv G:getenv gets G:gets handler G:handler header G:header help G:help
+Builtin  hex G:hex i: G:i: i; G:i; if G:if if; G:if; isa? G:isa? items-used G:items-used jcall G:jcall
+Builtin  jclass G:jclass jmethod G:jmethod json-nesting G:json-nesting json-pretty G:json-pretty json-throw G:json-throw
+Builtin  json> G:json> k32 G:k32 keep G:keep l: G:l: last G:last lib G:lib libbin G:libbin libc G:libc
+Builtin  listener@ G:listener@ literal G:literal locals: G:locals: lock G:lock lock-to G:lock-to locked? G:locked?
+Builtin  log G:log log-async G:log-async log-task G:log-task log-time G:log-time log-time-local G:log-time-local
+Builtin  long-days G:long-days long-months G:long-months loop G:loop loop- G:loop- map? G:map? mark G:mark
+Builtin  mark? G:mark? memfree G:memfree mobile? G:mobile? n# G:n# name>os G:name>os name>sem G:name>sem
+Builtin  ndrop G:ndrop needs G:needs new G:new next-arg G:next-arg nip G:nip noop G:noop not G:not ns G:ns
+Builtin  ns: G:ns: ns>ls G:ns>ls ns>s G:ns>s ns? G:ns? null G:null null; G:null; null? G:null? number? G:number?
+Builtin  off G:off on G:on onexit G:onexit only G:only op! G:op! or G:or os G:os os-names G:os-names
+Builtin  os>long-name G:os>long-name os>name G:os>name over G:over p: G:p: pack G:pack parse G:parse
+Builtin  parsech G:parsech parseln G:parseln parsews G:parsews pick G:pick poke G:poke pool-clear G:pool-clear
+Builtin  prior G:prior private G:private process-args G:process-args prompt G:prompt public G:public
+Builtin  putc G:putc puts G:puts putslim G:putslim quote G:quote r! G:r! r> G:r> r@ G:r@ rad>deg G:rad>deg
+Builtin  rand G:rand rand-pcg G:rand-pcg rand-pcg-seed G:rand-pcg-seed randbuf G:randbuf randbuf-pcg G:randbuf-pcg
+Builtin  rdrop G:rdrop recurse G:recurse recurse-stack G:recurse-stack ref@ G:ref@ reg! G:reg! reg@ G:reg@
+Builtin  regbin@ G:regbin@ remaining-args G:remaining-args repeat G:repeat reset G:reset roll G:roll
+Builtin  rop! G:rop! rot G:rot rpick G:rpick rroll G:rroll rstack G:rstack rswap G:rswap rusage G:rusage
+Builtin  s>ns G:s>ns same? G:same? scriptdir G:scriptdir scriptfile G:scriptfile sem G:sem sem-post G:sem-post
+Builtin  sem-rm G:sem-rm sem-wait G:sem-wait sem-wait? G:sem-wait? sem>name G:sem>name semi-throw G:semi-throw
+Builtin  set-wipe G:set-wipe setenv G:setenv settings! G:settings! settings![] G:settings![] settings@ G:settings@
+Builtin  settings@? G:settings@? settings@[] G:settings@[] sh G:sh sh$ G:sh$ short-days G:short-days
+Builtin  short-months G:short-months sleep G:sleep space G:space stack-check G:stack-check stack-size G:stack-size
+Builtin  step G:step string? G:string? struct: G:struct: swap G:swap syslang G:syslang sysregion G:sysregion
+Builtin  tab-hook G:tab-hook tell-conflict G:tell-conflict tempdir G:tempdir tempfilename G:tempfilename
+Builtin  then G:then third G:third throw G:throw thrownull G:thrownull times G:times tlog G:tlog tri G:tri
+Builtin  true G:true tuck G:tuck type-check G:type-check typeassert G:typeassert unlock G:unlock unpack G:unpack
+Builtin  until G:until until! G:until! var G:var var, G:var, while G:while while! G:while! with: G:with:
+Builtin  words G:words words-like G:words-like words/ G:words/ xchg G:xchg xor G:xor >auth HTTP:>auth
+Builtin  sh I:sh tpush I:tpush trace-word I:trace-word call JSONRPC:call auth-string OAuth:auth-string
+Builtin  gen-nonce OAuth:gen-nonce params OAuth:params call SOAP:call ! a:! + a:+ - a:- 2each a:2each
+Builtin  2map a:2map 2map+ a:2map+ 2map= a:2map= = a:= >map a:>map @ a:@ @@ a:@@ bsearch a:bsearch clear a:clear
+Builtin  close a:close diff a:diff dot a:dot each a:each each-slice a:each-slice exists? a:exists? filter a:filter
+Builtin  generate a:generate group a:group indexof a:indexof insert a:insert intersect a:intersect join a:join
+Builtin  len a:len map a:map map+ a:map+ map= a:map= mean a:mean mean&variance a:mean&variance new a:new
+Builtin  op a:op op! a:op! op= a:op= open a:open pop a:pop push a:push qsort a:qsort randeach a:randeach
+Builtin  reduce a:reduce reduce+ a:reduce+ rev a:rev shift a:shift shuffle a:shuffle slice a:slice slice+ a:slice+
+Builtin  slide a:slide sort a:sort union a:union when a:when when! a:when! x a:x x-each a:x-each xchg a:xchg
+Builtin  y a:y zip a:zip 8thdir app:8thdir asset app:asset atrun app:atrun atrun app:atrun atrun app:atrun
+Builtin  basedir app:basedir current app:current datadir app:datadir exename app:exename isgui app:isgui
+Builtin  main app:main oncrash app:oncrash orientation app:orientation pid app:pid restart app:restart
+Builtin  resumed app:resumed shared? app:shared? standalone app:standalone subdir app:subdir suspended app:suspended
+Builtin  sysquit app:sysquit (here) asm:(here) >n asm:>n avail asm:avail c, asm:c, here! asm:here! n> asm:n>
+Builtin  used asm:used w, asm:w, ! b:! + b:+ / b:/ = b:= >base64 b:>base64 >hex b:>hex >mpack b:>mpack
+Builtin  @ b:@ append b:append base64> b:base64> bit! b:bit! bit@ b:bit@ clear b:clear compress b:compress
+Builtin  conv b:conv each b:each each-slice b:each-slice expand b:expand fill b:fill getb b:getb hex> b:hex>
+Builtin  len b:len mem> b:mem> move b:move mpack-date b:mpack-date mpack-ignore b:mpack-ignore mpack> b:mpack>
+Builtin  new b:new op b:op rev b:rev search b:search shmem b:shmem slice b:slice splice b:splice ungetb b:ungetb
+Builtin  writable b:writable xor b:xor +block bc:+block .blocks bc:.blocks add-block bc:add-block block-hash bc:block-hash
+Builtin  block@ bc:block@ first-block bc:first-block hash bc:hash last-block bc:last-block load bc:load
+Builtin  new bc:new save bc:save set-sql bc:set-sql validate bc:validate validate-block bc:validate-block
+Builtin  add bloom:add filter bloom:filter in? bloom:in? accept bt:accept ch! bt:ch! ch@ bt:ch@ connect bt:connect
+Builtin  disconnect bt:disconnect err? bt:err? leconnect bt:leconnect lescan bt:lescan listen bt:listen
+Builtin  on? bt:on? read bt:read scan bt:scan service? bt:service? services? bt:services? write bt:write
+Builtin  * c:* * c:* + c:+ + c:+ = c:= = c:= >ri c:>ri >ri c:>ri abs c:abs abs c:abs arg c:arg arg c:arg
+Builtin  conj c:conj conj c:conj im c:im n> c:n> new c:new new c:new re c:re >aes128gcm cr:>aes128gcm
+Builtin  >aes256gcm cr:>aes256gcm >cp cr:>cp >cpe cr:>cpe >decrypt cr:>decrypt >edbox cr:>edbox >encrypt cr:>encrypt
+Builtin  >nbuf cr:>nbuf >rsabox cr:>rsabox >uuid cr:>uuid CBC cr:CBC CFB cr:CFB CTR cr:CTR ECB cr:ECB
+Builtin  GCM cr:GCM OFB cr:OFB aad? cr:aad? aes128box-sig cr:aes128box-sig aes128gcm> cr:aes128gcm>
+Builtin  aes256box-sig cr:aes256box-sig aes256gcm> cr:aes256gcm> aesgcm cr:aesgcm blakehash cr:blakehash
+Builtin  chacha20box-sig cr:chacha20box-sig chachapoly cr:chachapoly cipher! cr:cipher! cipher@ cr:cipher@
+Builtin  cp> cr:cp> cpe> cr:cpe> decrypt cr:decrypt decrypt+ cr:decrypt+ decrypt> cr:decrypt> dh-genkey cr:dh-genkey
+Builtin  dh-secret cr:dh-secret dh-sign cr:dh-sign dh-verify cr:dh-verify ebox-sig cr:ebox-sig ecc-genkey cr:ecc-genkey
+Builtin  ecc-secret cr:ecc-secret ecc-sign cr:ecc-sign ecc-verify cr:ecc-verify edbox-sig cr:edbox-sig
+Builtin  edbox> cr:edbox> encrypt cr:encrypt encrypt+ cr:encrypt+ encrypt> cr:encrypt> ensurekey cr:ensurekey
+Builtin  err? cr:err? gcm-tag-size cr:gcm-tag-size genkey cr:genkey hash cr:hash hash! cr:hash! hash+ cr:hash+
+Builtin  hash>b cr:hash>b hash>s cr:hash>s hash@ cr:hash@ hmac cr:hmac hotp cr:hotp iv? cr:iv? mode cr:mode
+Builtin  mode@ cr:mode@ randkey cr:randkey restore cr:restore root-certs cr:root-certs rsa_decrypt cr:rsa_decrypt
+Builtin  rsa_encrypt cr:rsa_encrypt rsa_sign cr:rsa_sign rsa_verify cr:rsa_verify rsabox-sig cr:rsabox-sig
+Builtin  rsabox> cr:rsabox> rsagenkey cr:rsagenkey save cr:save sbox-sig cr:sbox-sig sha1-hmac cr:sha1-hmac
+Builtin  shard cr:shard tag? cr:tag? totp cr:totp totp-epoch cr:totp-epoch totp-time-step cr:totp-time-step
+Builtin  unshard cr:unshard uuid cr:uuid uuid> cr:uuid> validate-pgp-sig cr:validate-pgp-sig (.hebrew) d:(.hebrew)
+Builtin  (.islamic) d:(.islamic) + d:+ +day d:+day +hour d:+hour +min d:+min +msec d:+msec - d:- .hebrew d:.hebrew
+Builtin  .islamic d:.islamic .time d:.time / d:/ = d:= >fixed d:>fixed >hebepoch d:>hebepoch >msec d:>msec
+Builtin  >unix d:>unix >ymd d:>ymd Adar d:Adar Adar2 d:Adar2 Adar2 d:Adar2 Av d:Av Elul d:Elul Fri d:Fri
+Builtin  Heshvan d:Heshvan Iyar d:Iyar Kislev d:Kislev Mon d:Mon Nissan d:Nissan Sat d:Sat Shevat d:Shevat
+Builtin  Sivan d:Sivan Sun d:Sun Tammuz d:Tammuz Tevet d:Tevet Thu d:Thu Tishrei d:Tishrei Tue d:Tue
+Builtin  Wed d:Wed adjust-dst d:adjust-dst between d:between d. d:d. dawn d:dawn days-in-hebrew-year d:days-in-hebrew-year
+Builtin  displaying-hebrew d:displaying-hebrew do-dawn d:do-dawn do-dusk d:do-dusk do-rise d:do-rise
+Builtin  doy d:doy dst? d:dst? dstquery d:dstquery dstzones? d:dstzones? dusk d:dusk elapsed-timer d:elapsed-timer
+Builtin  elapsed-timer-seconds d:elapsed-timer-seconds first-dow d:first-dow fixed> d:fixed> fixed>dow d:fixed>dow
+Builtin  fixed>hebrew d:fixed>hebrew fixed>islamic d:fixed>islamic format d:format hanukkah d:hanukkah
+Builtin  hebrew-epoch d:hebrew-epoch hebrew>fixed d:hebrew>fixed hebrewtoday d:hebrewtoday hmonth-name d:hmonth-name
+Builtin  islamic.epoch d:islamic.epoch islamic>fixed d:islamic>fixed islamictoday d:islamictoday join d:join
+Builtin  last-day-of-hebrew-month d:last-day-of-hebrew-month last-dow d:last-dow last-month d:last-month
+Builtin  last-week d:last-week last-year d:last-year latitude d:latitude longitude d:longitude longitude d:longitude
+Builtin  msec d:msec msec> d:msec> new d:new next-dow d:next-dow next-month d:next-month next-week d:next-week
+Builtin  next-year d:next-year number>hebrew d:number>hebrew omer d:omer parse d:parse pesach d:pesach
+Builtin  prev-dow d:prev-dow purim d:purim rosh-chodesh? d:rosh-chodesh? rosh-hashanah d:rosh-hashanah
+Builtin  shavuot d:shavuot start-timer d:start-timer sunrise d:sunrise taanit-esther d:taanit-esther
+Builtin  ticks d:ticks ticks/sec d:ticks/sec timer d:timer tisha-beav d:tisha-beav tzadjust d:tzadjust
+Builtin  unix> d:unix> updatetz d:updatetz year@ d:year@ ymd d:ymd ymd> d:ymd> yom-haatsmaut d:yom-haatsmaut
+Builtin  yom-kippur d:yom-kippur add-func db:add-func bind db:bind close db:close col db:col col[] db:col[]
+Builtin  col{} db:col{} err? db:err? errmsg db:errmsg exec db:exec exec-cb db:exec-cb key db:key mysql? db:mysql?
+Builtin  odbc? db:odbc? open db:open open? db:open? prepare db:prepare query db:query query-all db:query-all
+Builtin  rekey db:rekey sqlerrmsg db:sqlerrmsg bp dbg:bp except-task@ dbg:except-task@ go dbg:go line-info dbg:line-info
+Builtin  prompt dbg:prompt stop dbg:stop trace dbg:trace trace-enter dbg:trace-enter trace-leave dbg:trace-leave
+Builtin  abspath f:abspath append f:append associate f:associate atime f:atime canwrite? f:canwrite?
+Builtin  chmod f:chmod close f:close copy f:copy copydir f:copydir create f:create ctime f:ctime dir? f:dir?
+Builtin  dname f:dname eachbuf f:eachbuf eachline f:eachline enssep f:enssep eof? f:eof? err? f:err?
+Builtin  exists? f:exists? flush f:flush fname f:fname getb f:getb getc f:getc getline f:getline getmod f:getmod
+Builtin  glob f:glob glob-nocase f:glob-nocase include f:include launch f:launch link f:link link> f:link>
+Builtin  link? f:link? mkdir f:mkdir mmap f:mmap mmap-range f:mmap-range mmap-range? f:mmap-range? mtime f:mtime
+Builtin  mv f:mv open f:open open-ro f:open-ro popen f:popen print f:print read f:read relpath f:relpath
+Builtin  rglob f:rglob rm f:rm rmdir f:rmdir seek f:seek sep f:sep show f:show size f:size slurp f:slurp
+Builtin  stderr f:stderr stdin f:stdin stdout f:stdout tell f:tell times f:times trash f:trash ungetb f:ungetb
+Builtin  ungetc f:ungetc unzip f:unzip unzip-entry f:unzip-entry watch f:watch write f:write writen f:writen
+Builtin  zip+ f:zip+ zip@ f:zip@ zipentry f:zipentry zipnew f:zipnew zipopen f:zipopen zipsave f:zipsave
+Builtin  bold font:bold face? font:face? glyph-path font:glyph-path glyph-pos font:glyph-pos info font:info
+Builtin  italic font:italic ls font:ls measure font:measure new font:new pixels font:pixels pixels? font:pixels?
+Builtin  points font:points points? font:points? styles font:styles styles? font:styles? underline font:underline
+Builtin  +child g:+child +kind g:+kind +path g:+path -child g:-child /path g:/path >img g:>img >progress g:>progress
+Builtin  add-items g:add-items adjustwidth g:adjustwidth allow-orient g:allow-orient arc g:arc arc2 g:arc2
+Builtin  autohide g:autohide back g:back bezier g:bezier bg g:bg bg? g:bg? bounds g:bounds bounds? g:bounds?
+Builtin  box-label g:box-label btn-font g:btn-font bubble g:bubble button-size g:button-size buttons-visible g:buttons-visible
+Builtin  c-text g:c-text callout g:callout center g:center child g:child clear g:clear clearpath g:clearpath
+Builtin  clr>n g:clr>n coleven g:coleven colordlg g:colordlg colwidth g:colwidth connectededges g:connectededges
+Builtin  contrasting g:contrasting cp g:cp curmouse? g:curmouse? default-font g:default-font deselect-row g:deselect-row
+Builtin  dismiss g:dismiss do g:do draw-fitted-text g:draw-fitted-text draw-text g:draw-text draw-text-at g:draw-text-at
+Builtin  each g:each edit-on-double-click g:edit-on-double-click editable g:editable editdlg g:editdlg
+Builtin  empty-text g:empty-text enable g:enable enabled? g:enabled? fade g:fade fb-files g:fb-files
+Builtin  fcolor g:fcolor fg g:fg fg? g:fg? file-filter g:file-filter file-name g:file-name filedlg g:filedlg
+Builtin  fill g:fill fillall g:fillall fit-text g:fit-text flex! g:flex! focus g:focus fontdlg g:fontdlg
+Builtin  forward g:forward fullscreen g:fullscreen get-lasso-items g:get-lasso-items get-tab g:get-tab
+Builtin  getclr g:getclr getfont g:getfont getimage g:getimage getpath g:getpath getroot g:getroot gradient g:gradient
+Builtin  gui? g:gui? handle g:handle headerheight g:headerheight hide g:hide image g:image image-at g:image-at
+Builtin  invalidate g:invalidate ix? g:ix? justify g:justify keyinfo g:keyinfo l-text g:l-text laf g:laf
+Builtin  laf! g:laf! laf? g:laf? len g:len line-width g:line-width lineto g:lineto list+ g:list+ list- g:list-
+Builtin  loadcontent g:loadcontent localize g:localize m! g:m! m@ g:m@ menu-font g:menu-font menu-update g:menu-update
+Builtin  menuenabled g:menuenabled mouse? g:mouse? mousepos? g:mousepos? moveto g:moveto msgdlg g:msgdlg
+Builtin  multi g:multi name g:name named-skin g:named-skin new g:new new-laf g:new-laf next g:next obj g:obj
+Builtin  on g:on on? g:on? ontop g:ontop oshandle g:oshandle outlinethickness g:outlinethickness panel-size g:panel-size
+Builtin  panel-size? g:panel-size? parent g:parent path g:path path>s g:path>s pie g:pie pix! g:pix!
+Builtin  pop g:pop popmenu g:popmenu pos? g:pos? prev g:prev propval! g:propval! propval@ g:propval@
+Builtin  push g:push qbezier g:qbezier quit g:quit r-text g:r-text readonly g:readonly rect g:rect refresh g:refresh
+Builtin  restore g:restore root g:root root-item-visible g:root-item-visible rotate g:rotate rowheight g:rowheight
+Builtin  rrect g:rrect s>path g:s>path save g:save say g:say scale g:scale scolor g:scolor scrollthickness g:scrollthickness
+Builtin  sectionenable g:sectionenable select! g:select! select@ g:select@ selected-rows g:selected-rows
+Builtin  set-lasso g:set-lasso set-long-press g:set-long-press set-popup-font g:set-popup-font set-range g:set-range
+Builtin  set-swipe g:set-swipe set-value g:set-value setcursor g:setcursor setfont g:setfont setheader g:setheader
+Builtin  sethtml g:sethtml setimage g:setimage setname g:setname setroot g:setroot settab g:settab show g:show
+Builtin  show-line-numbers g:show-line-numbers show-pct g:show-pct showmenu g:showmenu showtooltip g:showtooltip
+Builtin  size g:size size? g:size? skin g:skin skin-class g:skin-class stackix g:stackix state g:state
+Builtin  state? g:state? stepsize g:stepsize stroke g:stroke stroke-fill g:stroke-fill style g:style
+Builtin  tabname g:tabname text g:text text-box-style g:text-box-style text? g:text? textcolor g:textcolor
+Builtin  textsize g:textsize timer! g:timer! timer@ g:timer@ toback g:toback tofront g:tofront toggle-row g:toggle-row
+Builtin  tooltip g:tooltip top g:top transition g:transition translate g:translate tree-open g:tree-open
+Builtin  triangle g:triangle update g:update updateitems g:updateitems url g:url user g:user user! g:user!
+Builtin  vertical g:vertical view g:view visible? g:visible? vpos! g:vpos! vpos@ g:vpos@ waitcursor g:waitcursor
+Builtin  winding g:winding xy g:xy xy? g:xy? +edge gr:+edge +edge+w gr:+edge+w +node gr:+node connect gr:connect
+Builtin  edges gr:edges m! gr:m! m@ gr:m@ neighbors gr:neighbors new gr:new node-edges gr:node-edges
+Builtin  nodes gr:nodes traverse gr:traverse + h:+ clear h:clear len h:len new h:new peek h:peek pop h:pop
+Builtin  push h:push unique h:unique arm? hw:arm? camera hw:camera camera-fmt hw:camera-fmt camera-img hw:camera-img
+Builtin  camera? hw:camera? cpu? hw:cpu? device? hw:device? displays? hw:displays? displaysize? hw:displaysize?
+Builtin  err? hw:err? gpio hw:gpio gpio! hw:gpio! gpio-mmap hw:gpio-mmap gpio@ hw:gpio@ i2c hw:i2c i2c! hw:i2c!
+Builtin  i2c!reg hw:i2c!reg i2c@ hw:i2c@ i2c@reg hw:i2c@reg isround? hw:isround? iswatch? hw:iswatch?
+Builtin  mac? hw:mac? mem? hw:mem? poll hw:poll sensor hw:sensor start hw:start stop hw:stop fetch-full imap:fetch-full
+Builtin  fetch-uid-mail imap:fetch-uid-mail login imap:login new imap:new select-inbox imap:select-inbox
+Builtin  >file img:>file copy img:copy crop img:crop data img:data desat img:desat fill img:fill filter img:filter
+Builtin  flip img:flip from-svg img:from-svg new img:new pix! img:pix! pix@ img:pix@ qr-gen img:qr-gen
+Builtin  qr-parse img:qr-parse rotate img:rotate scale img:scale scroll img:scroll size img:size countries iso:countries
+Builtin  find loc:find sort loc:sort ! m:! !? m:!? + m:+ +? m:+? - m:- @ m:@ @? m:@? @@ m:@@ clear m:clear
+Builtin  data m:data each m:each exists? m:exists? iter m:iter iter-all m:iter-all keys m:keys len m:len
+Builtin  map m:map new m:new op! m:op! open m:open vals m:vals xchg m:xchg ! mat:! * mat:* + mat:+ = mat:=
+Builtin  @ mat:@ col mat:col data mat:data det mat:det dim? mat:dim? get-n mat:get-n ident mat:ident
+Builtin  m. mat:m. minor mat:minor n* mat:n* new mat:new row mat:row same-size? mat:same-size? trans mat:trans
+Builtin  ! n:! * n:* */ n:*/ + n:+ +! n:+! - n:- / n:/ /mod n:/mod 1+ n:1+ 1- n:1- < n:< = n:= > n:>
+Builtin  BIGE n:BIGE BIGPI n:BIGPI E n:E PI n:PI ^ n:^ abs n:abs acos n:acos acos n:acos asin n:asin
+Builtin  asin n:asin atan n:atan atan n:atan atan2 n:atan2 band n:band between n:between bfloat n:bfloat
+Builtin  bic n:bic bint n:bint binv n:binv bnot n:bnot bor n:bor bxor n:bxor ceil n:ceil clamp n:clamp
+Builtin  cmp n:cmp comb n:comb cos n:cos cosd n:cosd exp n:exp expmod n:expmod float n:float floor n:floor
+Builtin  fmod n:fmod frac n:frac gcd n:gcd int n:int invmod n:invmod kind? n:kind? lcm n:lcm ln n:ln
+Builtin  max n:max median n:median min n:min mod n:mod neg n:neg odd? n:odd? perm n:perm prime? n:prime?
+Builtin  quantize n:quantize quantize! n:quantize! r+ n:r+ range n:range rot32l n:rot32l rot32r n:rot32r
+Builtin  round n:round round2 n:round2 running-variance n:running-variance running-variance-finalize n:running-variance-finalize
+Builtin  sgn n:sgn shl n:shl shr n:shr sin n:sin sind n:sind sqr n:sqr sqrt n:sqrt tan n:tan tand n:tand
+Builtin  trunc n:trunc ~= n:~= ! net:! >url net:>url @ net:@ DGRAM net:DGRAM INET4 net:INET4 INET6 net:INET6
+Builtin  PROTO_TCP net:PROTO_TCP PROTO_UDP net:PROTO_UDP STREAM net:STREAM accept net:accept addrinfo>o net:addrinfo>o
+Builtin  again? net:again? alloc-and-read net:alloc-and-read alloc-buf net:alloc-buf bind net:bind browse net:browse
+Builtin  close net:close connect net:connect err>s net:err>s err? net:err? get net:get getaddrinfo net:getaddrinfo
+Builtin  getpeername net:getpeername head net:head ifaces? net:ifaces? listen net:listen net-socket net:net-socket
+Builtin  opts net:opts port-is-ssl? net:port-is-ssl? post net:post proxy! net:proxy! read net:read recvfrom net:recvfrom
+Builtin  s>url net:s>url sendto net:sendto server net:server setsockopt net:setsockopt socket net:socket
+Builtin  tlshello net:tlshello url> net:url> user-agent net:user-agent wait net:wait write net:write
+Builtin  MAX ns:MAX cast ptr:cast len ptr:len pack ptr:pack unpack ptr:unpack unpack_orig ptr:unpack_orig
+Builtin  + q:+ clear q:clear len q:len new q:new notify q:notify overwrite q:overwrite peek q:peek pick q:pick
+Builtin  pop q:pop push q:push shift q:shift size q:size slide q:slide throwing q:throwing wait q:wait
+Builtin  ++match r:++match +/ r:+/ +match r:+match / r:/ @ r:@ err? r:err? len r:len match r:match new r:new
+Builtin  rx r:rx str r:str ! s:! * s:* + s:+ - s:- / s:/ /scripts s:/scripts <+ s:<+ = s:= =ic s:=ic
+Builtin  >base64 s:>base64 >ucs2 s:>ucs2 @ s:@ append s:append base64> s:base64> clear s:clear cmp s:cmp
+Builtin  cmpi s:cmpi compress s:compress days! s:days! each s:each eachline s:eachline expand s:expand
+Builtin  fill s:fill fmt s:fmt gershayim s:gershayim globmatch s:globmatch hexupr s:hexupr insert s:insert
+Builtin  intl s:intl intl! s:intl! lang s:lang lc s:lc len s:len lsub s:lsub ltrim s:ltrim map s:map
+Builtin  months! s:months! new s:new replace s:replace replace! s:replace! rev s:rev rsearch s:rsearch
+Builtin  rsub s:rsub rtrim s:rtrim script? s:script? search s:search size s:size slice s:slice strfmap s:strfmap
+Builtin  strfmt s:strfmt trim s:trim tsub s:tsub uc s:uc ucs2> s:ucs2> utf8? s:utf8? zt s:zt close sio:close
+Builtin  enum sio:enum open sio:open opts! sio:opts! opts@ sio:opts@ read sio:read write sio:write new smtp:new
+Builtin  send smtp:send apply-filter snd:apply-filter devices? snd:devices? end-record snd:end-record
+Builtin  filter snd:filter formats? snd:formats? freq snd:freq gain snd:gain gain? snd:gain? len snd:len
+Builtin  loop snd:loop mix snd:mix new snd:new pause snd:pause play snd:play played snd:played rate snd:rate
+Builtin  record snd:record seek snd:seek stop snd:stop stopall snd:stopall unmix snd:unmix volume snd:volume
+Builtin  volume? snd:volume? + st:+ . st:. clear st:clear len st:len ndrop st:ndrop new st:new op! st:op!
+Builtin  peek st:peek pick st:pick pop st:pop push st:push roll st:roll shift st:shift size st:size
+Builtin  slide st:slide swap st:swap throwing st:throwing >buf struct:>buf arr> struct:arr> buf struct:buf
+Builtin  buf> struct:buf> byte struct:byte double struct:double field! struct:field! field@ struct:field@
+Builtin  float struct:float ignore struct:ignore int struct:int long struct:long struct; struct:struct;
+Builtin  word struct:word ! t:! @ t:@ assign t:assign curtask t:curtask def-queue t:def-queue def-stack t:def-stack
+Builtin  done? t:done? err! t:err! err? t:err? getq t:getq guitask t:guitask handler t:handler kill t:kill
+Builtin  list t:list main t:main name! t:name! name@ t:name@ notify t:notify pop t:pop priority t:priority
+Builtin  push t:push push< t:push< q-notify t:q-notify q-wait t:q-wait qlen t:qlen result t:result task t:task
+Builtin  task-n t:task-n task-stop t:task-stop wait t:wait ! w:! @ w:@ alias: w:alias: cb w:cb deprecate w:deprecate
+Builtin  exec w:exec exec? w:exec? ffifail w:ffifail find w:find forget w:forget is w:is undo w:undo
+Builtin  >s xml:>s >txt xml:>txt parse xml:parse parse-html xml:parse-html parse-stream xml:parse-stream
+Builtin  getmsg[] zmq:getmsg[] sendmsg[] zmq:sendmsg[]
+" numbers
+syn keyword eighthMath decimal hex base@ base! 
+syn match eighthInteger '\<-\=[0-9.]*[0-9.]\+\>'
+" recognize hex and binary numbers, the '$' and '%' notation is for eighth
+syn match eighthInteger '\<\$\x*\x\+\>' " *1* --- dont't mess
+syn match eighthInteger '\<\x*\d\x*\>'  " *2* --- this order!
+syn match eighthInteger '\<%[0-1]*[0-1]\+\>'
+syn match eighthInteger "\<'.\>"
+
+" Strings
+syn region eighthString start=+\.\?\"+ skip=+"+ end=+$+
+syn keyword jsonNull null
+syn keyword jsonBool /\(true\|false\)/
+ syn region eighthString start=/\<"/ end=/"\>/ 
+syn match jsonObjEntry /"\"[^"]\+\"\ze\s*:/
+
+"syn region jsonObject start=/{/ end=/}/ contained contains=jsonObjEntry,jsonArray,jsonObject, jsonBool, eighthString
+"syn region jsonArray start=/\[/ end=/\]/ contained contains=jsonArray,jsonObject, jsonBool, eighthString
+
+" Include files
+" syn match eighthInclude '\<\(libinclude\|include\|needs\)\s\+\S\+'
+syn region eighthComment start="\zs\\" end="$" contains=eighthTodo
+
+" Define the default highlighting.
+if !exists("did_eighth_syntax_inits")
+    let did_eighth_syntax_inits=1
+    " The default methods for highlighting. Can be overriden later.
+    hi def link eighthTodo Todo
+    hi def link eighthOperators Operator
+    hi def link eighthMath Number
+    hi def link eighthInteger Number
+    hi def link eighthStack Special
+    hi def link eighthFStack Special
+    hi def link eighthSP Special
+    hi def link eighthColonDef Define
+    hi def link eighthColonName Operator
+    hi def link eighthEndOfColonDef Define
+    hi def link eighthDefine Define
+    hi def link eighthDebug Debug
+    hi def link eighthCharOps Character
+    hi def link eighthConversion String
+    hi def link eighthForth Statement
+    hi def link eighthVocs Statement
+    hi def link eighthString String
+    hi def link eighthComment Comment
+    hi def link eighthClassDef Define
+    hi def link eighthEndOfClassDef Define
+    hi def link eighthObjectDef Define
+    hi def link eighthEndOfObjectDef Define
+    hi def link eighthInclude Include
+    hi def link eighthBuiltin Define
+    hi def link eighthClasses Define
+    hi def link eighthClassWord Keyword
+
+    hi def link jsonObject Delimiter
+    hi def link jsonObjEntry Label
+    hi def link jsonArray Special
+  hi def link jsonNull            Function
+  hi def link jsonBool         Boolean
+endif
+
+let b:current_syntax = "8th"
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: ts=8:sw=4:nocindent:smartindent:
--- a/runtime/syntax/c.vim
+++ b/runtime/syntax/c.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	C
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2018 Sep 21
+" Last Change:	2019 Feb 11
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
@@ -342,7 +342,7 @@ if !exists("c_no_ansi") || exists("c_ans
   syn keyword cConstant EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE
   syn keyword cConstant EMULTIHOP ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODATA
   syn keyword cConstant ENODEV ENOENT ENOEXEC ENOLCK ENOLINK ENOMEM ENOMSG ENOPROTOOPT ENOSPC ENOSR
-  syn keyword cConstant ENOSTR ENOSYS ENOTCONN ENOTDIR ENOTEMPTY ENOTRECOVERABLE ENOTSOCK ENOTSUP
+  syn keyword cConstant ENOSTR ENOSYS ENOTBLK ENOTCONN ENOTDIR ENOTEMPTY ENOTRECOVERABLE ENOTSOCK ENOTSUP
   syn keyword cConstant ENOTTY ENXIO EOPNOTSUPP EOVERFLOW EOWNERDEAD EPERM EPIPE EPROTO
   syn keyword cConstant EPROTONOSUPPORT EPROTOTYPE ERANGE EROFS ESPIPE ESRCH ESTALE ETIME ETIMEDOUT
   syn keyword cConstant ETXTBSY EWOULDBLOCK EXDEV
--- a/runtime/syntax/make.vim
+++ b/runtime/syntax/make.vim
@@ -1,8 +1,9 @@
 " Vim syntax file
 " Language:	Makefile
-" Maintainer:	Claudio Fleiner <claudio@fleiner.com>
-" URL:		http://www.fleiner.com/vim/syntax/make.vim
-" Last Change:	2015 Feb 28
+" Maintainer:	Roland Hieber <rohieb+vim-iR0jGdkV@rohieb.name>
+" Previous Maintainer:	Claudio Fleiner <claudio@fleiner.com>
+" URL:		https://github.com/vim/vim/syntax/make.vim
+" Last Change:	2019 Feb 08
 
 " quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -64,7 +65,7 @@ syn match makeCmdNextLine	"\\\n."he=e-1 
 
 
 " Statements / Functions (GNU make)
-syn match makeStatement contained "(\(subst\|abspath\|addprefix\|addsuffix\|and\|basename\|call\|dir\|error\|eval\|filter-out\|filter\|findstring\|firstword\|flavor\|foreach\|if\|info\|join\|lastword\|notdir\|or\|origin\|patsubst\|realpath\|shell\|sort\|strip\|suffix\|value\|warning\|wildcard\|word\|wordlist\|words\)\>"ms=s+1
+syn match makeStatement contained "(\(abspath\|addprefix\|addsuffix\|and\|basename\|call\|dir\|error\|eval\|file\|filter-out\|filter\|findstring\|firstword\|flavor\|foreach\|guile\|if\|info\|join\|lastword\|notdir\|or\|origin\|patsubst\|realpath\|shell\|sort\|strip\|subst\|suffix\|value\|warning\|wildcard\|word\|wordlist\|words\)\>"ms=s+1
 
 " Comment
 if exists("make_microsoft")
--- a/runtime/syntax/spec.vim
+++ b/runtime/syntax/spec.vim
@@ -3,7 +3,7 @@
 " Language:    SPEC: Build/install scripts for Linux RPM packages
 " Maintainer:  Igor Gnatenko i.gnatenko.brain@gmail.com
 " Former Maintainer:  Donovan Rebbechi elflord@panix.com (until March 2014)
-" Last Change: Sat Apr 9 15:30 2016 Filip Szymański
+" Last Change: 2019 Feb 12
 
 " quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -86,9 +86,9 @@ syn region specSectionMacroBracketArea o
 "%% Files Section %%
 "TODO %config valid parameters: missingok\|noreplace
 "TODO %verify valid parameters: \(not\)\= \(md5\|atime\|...\)
-syn region specFilesArea matchgroup=specSection start='^%[Ff][Ii][Ll][Ee][Ss]\>' skip='%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|verify\|ghost\)\>' end='^%[a-zA-Z]'me=e-2 contains=specFilesOpts,specFilesDirective,@specListedFiles,specComment,specCommandSpecial,specMacroIdentifier
+syn region specFilesArea matchgroup=specSection start='^%[Ff][Ii][Ll][Ee][Ss]\>' skip='%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|license\|verify\|ghost\)\>' end='^%[a-zA-Z]'me=e-2 contains=specFilesOpts,specFilesDirective,@specListedFiles,specComment,specCommandSpecial,specMacroIdentifier
 "tip: remember to include new itens in specFilesArea above
-syn match  specFilesDirective contained '%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|verify\|ghost\)\>'
+syn match  specFilesDirective contained '%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|license\|verify\|ghost\)\>'
 
 "valid options for certain section headers
 syn match specDescriptionOpts contained '\s-[ln]\s*\a'ms=s+1,me=e-1
--- a/runtime/tutor/tutor
+++ b/runtime/tutor/tutor
@@ -99,7 +99,7 @@ NOTE: As you go through this tutor, do n
   1. Move the cursor to the first line below marked --->.
 
   2. To make the first line the same as the second, move the cursor on top
-     of the first character AFTER where the text is to be inserted.
+     of the character BEFORE which the text is to be inserted.
 
   3. Press  i  and type in the necessary additions.
 
--- a/runtime/tutor/tutor.da
+++ b/runtime/tutor/tutor.da
@@ -967,6 +967,6 @@ BEMÆRK: Fuldførelse virker til mange kommandoer. Prøv blot at trykke på
 
   Ændret til Vim af Bram Moolenaar.
 
-  Oversat til dansk af scootergrisen.
+  Oversat af scootergrisen.
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/runtime/tutor/tutor.da.utf-8
+++ b/runtime/tutor/tutor.da.utf-8
@@ -967,6 +967,6 @@ BEMÆRK: Fuldførelse virker til mange kommandoer. Prøv blot at trykke på
 
   Ændret til Vim af Bram Moolenaar.
 
-  Oversat til dansk af scootergrisen.
+  Oversat af scootergrisen.
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/runtime/tutor/tutor.nl
+++ b/runtime/tutor/tutor.nl
@@ -100,7 +100,7 @@
   1. Ga met de cursor naar de eerste regel verderop met --->.
 
   2. Maak de eerste regel gelijk aan de tweede. Zet daarvoor de cursor op
-     de plaats waar tekst moet worden ingevoegd.
+     het karakter waarvoor tekst moet worden ingevoegd.
 
   3. Tik  i  en daarna de nodige aanvullingen.
 
--- a/runtime/tutor/tutor.nl.utf-8
+++ b/runtime/tutor/tutor.nl.utf-8
@@ -100,7 +100,7 @@
   1. Ga met de cursor naar de eerste regel verderop met --->.
 
   2. Maak de eerste regel gelijk aan de tweede. Zet daarvoor de cursor op
-     de plaats waar tekst moet worden ingevoegd.
+     het karakter waarvoor tekst moet worden ingevoegd.
 
   3. Tik  i  en daarna de nodige aanvullingen.
 
--- a/runtime/tutor/tutor.utf-8
+++ b/runtime/tutor/tutor.utf-8
@@ -99,7 +99,7 @@ NOTE: As you go through this tutor, do n
   1. Move the cursor to the first line below marked --->.
 
   2. To make the first line the same as the second, move the cursor on top
-     of the first character AFTER where the text is to be inserted.
+     of the character BEFORE which the text is to be inserted.
 
   3. Press  i  and type in the necessary additions.
 
--- a/src/po/da.po
+++ b/src/po/da.po
@@ -7,7 +7,7 @@ msgstr ""
 "Project-Id-Version: Vim 8.1\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-07-18 21:20+0200\n"
-"PO-Revision-Date: 2018-08-17 00:15+0200\n"
+"PO-Revision-Date: 2019-02-13 00:00+0200\n"
 "Last-Translator: scootergrisen\n"
 "Language-Team: Danish\n"
 "Language: da\n"
@@ -2937,7 +2937,7 @@ msgstr ""
 "\n"
 "Mere info med: \"vim -h\"\n"
 
-msgid "[file ..]  edit specified file(s)"
+msgid "[file ..]       edit specified file(s)"
 msgstr "[fil ..]        rediger angivne fil(er)"
 
 msgid "-               read text from stdin"
@@ -5014,7 +5014,6 @@ msgstr "E389: Kunne ikke finde mønster"
 msgid "Substitute "
 msgstr "Erstatning "
 
-# scootergrisen: find ud af om "Søgemønster" skal være med stort eller lille
 #, c-format
 msgid ""
 "\n"
--- a/src/po/fr.po
+++ b/src/po/fr.po
@@ -12,8 +12,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim 8.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-30 09:47+0100\n"
-"PO-Revision-Date: 2018-10-30 10:09+0100\n"
+"POT-Creation-Date: 2019-02-09 21:16+0100\n"
+"PO-Revision-Date: 2018-02-10 11:40+0100\n"
 "Last-Translator: Dominique Pellé <dominique.pelle@gmail.com>\n"
 "Language-Team: French\n"
 "Language: fr\n"
@@ -22,6 +22,68 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
+msgid "--Deleted--"
+msgstr "--Effacé--"
+
+#, c-format
+msgid "auto-removing autocommand: %s <buffer=%d>"
+msgstr "Autocommandes marquées pour auto-suppression : %s <tampon=%d>"
+
+#, c-format
+msgid "E367: No such group: \"%s\""
+msgstr "E367: Aucun groupe \"%s\""
+
+msgid "E936: Cannot delete the current group"
+msgstr "E936: Impossible de supprimer le groupe courant"
+
+msgid "W19: Deleting augroup that is still in use"
+msgstr "W19: Effacement d'augroup toujours en usage"
+
+#, c-format
+msgid "E215: Illegal character after *: %s"
+msgstr "E215: Caractère non valide après * : %s"
+
+#, c-format
+msgid "E216: No such event: %s"
+msgstr "E216: Aucun événement %s"
+
+#, c-format
+msgid "E216: No such group or event: %s"
+msgstr "E216: Aucun événement ou groupe %s"
+
+msgid ""
+"\n"
+"--- Autocommands ---"
+msgstr ""
+"\n"
+"--- Auto-commandes ---"
+
+#, c-format
+msgid "E680: <buffer=%d>: invalid buffer number "
+msgstr "E680: <buffer=%d> : numéro de tampon invalide"
+
+msgid "E217: Can't execute autocommands for ALL events"
+msgstr ""
+"E217: Impossible d'exécuter les autocommandes pour TOUS les événements (ALL)"
+
+msgid "No matching autocommands"
+msgstr "Aucune autocommande correspondante"
+
+msgid "E218: autocommand nesting too deep"
+msgstr "E218: autocommandes trop imbriquées"
+
+#, c-format
+msgid "%s Autocommands for \"%s\""
+msgstr "Autocommandes %s pour \"%s\""
+
+#, c-format
+msgid "Executing %s"
+msgstr "Exécution de %s"
+
+#, c-format
+msgid "autocommand %s"
+msgstr "autocommande %s"
+
 msgid "E831: bf_key_init() called with empty password"
 msgstr "E831: bf_key_init() appelée avec un mot de passe vide"
 
@@ -110,9 +172,9 @@ msgid "E88: Cannot go before first buffe
 msgstr "E88: Impossible d'aller avant le premier tampon"
 
 #, c-format
-msgid "E89: No write since last change for buffer %ld (add ! to override)"
-msgstr ""
-"E89: Le tampon %ld n'a pas été enregistré (ajoutez ! pour passer outre)"
+msgid "E89: No write since last change for buffer %d (add ! to override)"
+msgstr ""
+"E89: Le tampon %d n'a pas été enregistré (ajoutez ! pour passer outre)"
 
 msgid "E948: Job still running (add ! to end the job)"
 msgstr "E948: Tâche en cours d'exécution (ajouter ! pour terminer la tâche)"
@@ -132,8 +194,8 @@ msgstr "W14: Alerte : La liste des noms de fichier déborde"
 # AB - Vu le code source, la version française est meilleure que la
 #      version anglaise. Ce message est similaire au message E86.
 #, c-format
-msgid "E92: Buffer %ld not found"
-msgstr "E92: Le tampon %ld n'existe pas"
+msgid "E92: Buffer %d not found"
+msgstr "E92: Le tampon %d n'existe pas"
 
 # AB - Il faut respecter l'esprit plus que la lettre.
 #, c-format
@@ -229,21 +291,6 @@ msgstr "[Invite]"
 msgid "[Scratch]"
 msgstr "[Brouillon]"
 
-msgid ""
-"\n"
-"--- Signs ---"
-msgstr ""
-"\n"
-"--- Symboles ---"
-
-#, c-format
-msgid "Signs for %s:"
-msgstr "Symboles dans %s :"
-
-#, c-format
-msgid "    line=%ld  id=%d  name=%s"
-msgstr "    ligne=%ld  id=%d  nom=%s"
-
 msgid "E902: Cannot connect to port"
 msgstr "E902: Impossible de se connecter au port"
 
@@ -339,12 +386,13 @@ msgid "E737: Key already exists: %s"
 msgstr "E737: La clé existe déjà : %s"
 
 #, c-format
-msgid "E96: Cannot diff more than %ld buffers"
-msgstr "E96: Impossible d'utiliser diff sur plus de %ld tampons"
+msgid "E96: Cannot diff more than %d buffers"
+msgstr "E96: Impossible d'utiliser diff sur plus de %d tampons"
 
 #, c-format
 msgid "Not enough memory to use internal diff for buffer \"%s\""
-msgstr "Pas assez de mémoire pour utiliser l'outil diff interne pour le tampon \"%s\""
+msgstr ""
+"Pas assez de mémoire pour utiliser l'outil diff interne pour le tampon \"%s\""
 
 msgid "E810: Cannot read or write temp files"
 msgstr "E810: Impossible de lire ou écrire des fichiers temporaires"
@@ -397,6 +445,81 @@ msgstr "E787: Le tampon a été modifié inopinément"
 msgid "E104: Escape not allowed in digraph"
 msgstr "E104: Un digraphe ne peut contenir le caractère d'échappement"
 
+msgid "Custom"
+msgstr "Personnalisé"
+
+msgid "Latin supplement"
+msgstr "Supplément latin"
+
+msgid "Greek and Coptic"
+msgstr "Grec et copte"
+
+msgid "Cyrillic"
+msgstr "Cyrillique"
+
+msgid "Hebrew"
+msgstr "Hébreu"
+
+msgid "Arabic"
+msgstr "Arabe"
+
+msgid "Latin extended"
+msgstr "Latin étendu"
+
+msgid "Greek extended"
+msgstr "Grec étendu"
+
+msgid "Punctuation"
+msgstr "Ponctuation"
+
+msgid "Super- and subscripts"
+msgstr "Exposants et indices"
+
+msgid "Currency"
+msgstr "Symboles monétaires"
+
+msgid "Other"
+msgstr "Autres"
+
+msgid "Roman numbers"
+msgstr "Nombres romains"
+
+msgid "Arrows"
+msgstr "Flèches"
+
+msgid "Mathematical operators"
+msgstr "Opérateurs mathématiques"
+
+msgid "Technical"
+msgstr "Signes techniques"
+
+msgid "Box drawing"
+msgstr "Filets"
+
+msgid "Block elements"
+msgstr "Pavés"
+
+msgid "Geometric shapes"
+msgstr "Formes géométriques"
+
+msgid "Symbols"
+msgstr "Symboles divers"
+
+msgid "Dingbats"
+msgstr "Symboles iconographiques"
+
+msgid "CJK symbols and punctuation"
+msgstr "Symboles et ponctuation CJC"
+
+msgid "Hiragana"
+msgstr "Hiragana"
+
+msgid "Katakana"
+msgstr "Katakana"
+
+msgid "Bopomofo"
+msgstr "Bopomofo"
+
 # AB - La version française est trop verbeuse.
 msgid "E544: Keymap file not found"
 msgstr "E544: Le fichier descripteur de clavier est introuvable"
@@ -577,14 +700,17 @@ msgstr "Double ; dans une liste de varia
 msgid "E738: Can't list variables for %s"
 msgstr "E738: Impossible de lister les variables de %s"
 
-msgid "E689: Can only index a List or Dictionary"
-msgstr "E689: Seul une Liste ou un Dictionnaire peut être indexé"
+msgid "E689: Can only index a List, Dictionary or Blob"
+msgstr "E689: Seul une Liste, un Dictionnaire ou un Blob peut être indexé"
 
 msgid "E708: [:] must come last"
 msgstr "E708: [:] ne peut être spécifié qu'en dernier"
 
-msgid "E709: [:] requires a List value"
-msgstr "E709: [:] nécessite une Liste"
+msgid "E709: [:] requires a List or Blob value"
+msgstr "E709: [:] nécessite une Liste ou un blob"
+
+msgid "E972: Blob value does not have the right number of bytes"
+msgstr "E972: Le Blob n'a pas le bon nombre d'octets"
 
 msgid "E710: List value has more items than target"
 msgstr "E710: La Liste a plus d'éléments que la destination"
@@ -614,6 +740,9 @@ msgstr "E109: Il manque ':' après '?'"
 msgid "E804: Cannot use '%' with Float"
 msgstr "E804: Impossible d'utiliser '%' avec un Flottant"
 
+msgid "E973: Blob literal should have an even number of hex characters"
+msgstr "E973: Un littéral de Blob doit avoir un nombre pair de caractères hexadécimaux"
+
 msgid "E110: Missing ')'"
 msgstr "E110: ')' manquant"
 
@@ -669,6 +798,9 @@ msgstr "E910: Utilisation d'une Tâche comme un Nombre"
 msgid "E913: Using a Channel as a Number"
 msgstr "E913: Utilisation d'un Canal comme un Nombre"
 
+msgid "E974: Using a Blob as a Number"
+msgstr "E974: Utilisation d'un Blob comme un Nombre"
+
 msgid "E891: Using a Funcref as a Float"
 msgstr "E891: Utilisation d'une Funcref comme un Flottant"
 
@@ -690,6 +822,9 @@ msgstr "E911: Utilisation d'une Tâche comme un Flottant"
 msgid "E914: Using a Channel as a Float"
 msgstr "E914: Utilisation d'un Canal comme un Flottant"
 
+msgid "E975: Using a Blob as a Float"
+msgstr "E975: Utilisation d'un Blob comme un Flottant"
+
 msgid "E729: using Funcref as a String"
 msgstr "E729: Utilisation d'une Funcref comme une Chaîne"
 
@@ -699,10 +834,17 @@ msgstr "E730: Utilisation d'une Liste comme une Chaîne"
 msgid "E731: using Dictionary as a String"
 msgstr "E731: Utilisation d'un Dictionnaire comme une Chaîne"
 
+msgid "E976: using Blob as a String"
+msgstr "E976: Utilisation d'un Blob comme une Chaîne"
+
 msgid "E908: using an invalid value as a String"
 msgstr "E908: Utilisation d'une valeur invalide comme une Chaîne"
 
 #, c-format
+msgid "E963: setting %s to value with wrong type"
+msgstr "E963: type incorrect lors de l'affectation de %s"
+
+#, c-format
 msgid "E795: Cannot delete variable %s"
 msgstr "E795: Impossible de supprimer la variable %s"
 
@@ -748,6 +890,9 @@ msgstr ""
 msgid " line "
 msgstr " ligne "
 
+msgid "E977: Can only compare Blob with Blob"
+msgstr "E977: Un Blob ne peut être comparé qu'avec un Blob"
+
 msgid "E691: Can only compare List with List"
 msgstr "E691: Une Liste ne peut être comparée qu'avec une Liste"
 
@@ -773,6 +918,10 @@ msgstr "argument de filter()"
 msgid "E686: Argument of %s must be a List"
 msgstr "E686: L'argument de %s doit être une Liste"
 
+#, c-format
+msgid "E899: Argument of %s must be a List or Blob"
+msgstr "E899: L'argument de %s doit être une Liste ou un Blob"
+
 msgid "E928: String required"
 msgstr "E928: Chaîne requis"
 
@@ -782,6 +931,12 @@ msgstr "E808: Nombre ou Flottant requis"
 msgid "add() argument"
 msgstr "argument de add()"
 
+# AB - Vu le code source, la version française est meilleure que la
+#      version anglaise. Ce message est similaire au message E102.
+#, c-format
+msgid "E158: Invalid buffer name: %s"
+msgstr "E158: Le tampon %s est introuvable"
+
 msgid "E785: complete() can only be used in Insert mode"
 msgstr "E785: complete() n'est utilisable que dans le mode Insertion"
 
@@ -790,6 +945,9 @@ msgstr "E785: complete() n'est utilisabl
 msgid "&Ok"
 msgstr "&Ok"
 
+msgid "E980: lowlevel input not supported"
+msgstr "E980: entrée de bas niveau non supportée"
+
 #, c-format
 msgid "+-%s%3ld line: "
 msgid_plural "+-%s%3ld lines: "
@@ -835,8 +993,8 @@ msgid "E957: Invalid window number"
 msgstr "E957: numéro de fenêtre invalide"
 
 #, c-format
-msgid "E798: ID is reserved for \":match\": %ld"
-msgstr "E798: ID est réservé pour \":match\": %ld"
+msgid "E798: ID is reserved for \":match\": %d"
+msgstr "E798: ID est réservé pour \":match\": %d"
 
 msgid "E726: Stride is zero"
 msgstr "E726: Le pas est nul"
@@ -881,6 +1039,10 @@ msgstr "E258: La réponse n'a pas pu être envoyée au client"
 msgid "E927: Invalid action: '%s'"
 msgstr "E927: Action invalide : « %s »"
 
+#, c-format
+msgid "E962: Invalid action: '%s'"
+msgstr "E962: Action invalide : « %s »"
+
 msgid "sort() argument"
 msgstr "argument de sort()"
 
@@ -932,7 +1094,7 @@ msgstr "> %d, Hexa %08x, Octal %o"
 
 # AB - La version anglaise est très mauvaise, ce qui m'oblige a inventer une
 #      version française.
-msgid "E134: Move lines into themselves"
+msgid "E134: Cannot move a range of lines into itself"
 msgstr "E134: La destination est dans la plage d'origine"
 
 #, c-format
@@ -1129,11 +1291,8 @@ msgstr "E143: Une autocommande a effacé le nouveau tampon %s"
 msgid "E144: non-numeric argument to :z"
 msgstr "E144: L'argument de :z n'est pas numérique"
 
-# AB - La version française fera peut-être mieux passer l'amère pilule.
-#      La consultation de l'aide donnera l'explication complète à ceux qui
-#      ne comprendraient pas à quoi ce message est dû.
-msgid "E145: Shell commands not allowed in rvim"
-msgstr "E145: Les commandes externes sont indisponibles dans rvim"
+msgid "E145: Shell commands and some functionality not allowed in rvim"
+msgstr "E145: Les commandes shell sont indisponibles dans rvim"
 
 msgid "E146: Regular expressions can't be delimited by letters"
 msgstr ""
@@ -1251,60 +1410,6 @@ msgstr "E154: Marqueur \"%s\" dupliqué dans le fichier %s/%s"
 msgid "E150: Not a directory: %s"
 msgstr "E150: %s n'est pas un répertoire"
 
-# AB - Il faut respecter l'esprit plus que la lettre.
-#, c-format
-msgid "E160: Unknown sign command: %s"
-msgstr "E160: Commande inconnue : :sign %s"
-
-# AB - La version française est meilleure que la version anglaise.
-msgid "E156: Missing sign name"
-msgstr "E156: Il manque le nom du symbole"
-
-msgid "E612: Too many signs defined"
-msgstr "E612: Trop de symboles sont définis"
-
-# AB - Cette traduction ne me satisfait pas.
-# DB - Suggestion.
-#, c-format
-msgid "E239: Invalid sign text: %s"
-msgstr "E239: Le texte du symbole est invalide : %s"
-
-#, c-format
-msgid "E155: Unknown sign: %s"
-msgstr "E155: Symbole inconnu : %s"
-
-# AB - La version française est meilleure que la version anglaise.
-msgid "E159: Missing sign number"
-msgstr "E159: Il manque l'ID du symbole"
-
-# AB - Vu le code source, la version française est meilleure que la
-#      version anglaise. Ce message est similaire au message E102.
-#, c-format
-msgid "E158: Invalid buffer name: %s"
-msgstr "E158: Le tampon %s est introuvable"
-
-msgid "E934: Cannot jump to a buffer that does not have a name"
-msgstr "E934: Impossible de sauter à un tampon sans nom"
-
-# AB - Vu le code source, la version française est meilleure que la
-#      version anglaise.
-#, c-format
-msgid "E157: Invalid sign ID: %ld"
-msgstr "E157: Le symbole %ld est introuvable"
-
-#, c-format
-msgid "E885: Not possible to change sign %s"
-msgstr "E885: Impossible de changer le symbole %s"
-
-msgid " (NOT FOUND)"
-msgstr "  (INTROUVABLE)"
-
-msgid " (not supported)"
-msgstr " (non supporté)"
-
-msgid "[Deleted]"
-msgstr "[Effacé]"
-
 msgid "No old files"
 msgstr "Aucun vieux fichier"
 
@@ -1367,7 +1472,7 @@ msgstr "Enregistrer \"%s\" ?"
 
 #, c-format
 msgid "E947: Job still running in buffer \"%s\""
-msgstr "E947: Tâche en cours d'exécution dans le buffer \"%s\""
+msgstr "E947: Tâche en cours d'exécution dans le tampon \"%s\""
 
 # AB - Il faut respecter l'esprit plus que la lettre.
 # AB - Ce message est similaire au message E89.
@@ -1503,6 +1608,9 @@ msgstr "E464: Utilisation ambiguë d'une commande définie par l'utilisateur"
 msgid "E492: Not an editor command"
 msgstr "E492: Commande inconnue"
 
+msgid "E981: Command not allowed in rvim"
+msgstr "E981: commande indisponibles dans rvim"
+
 msgid "E493: Backwards range given"
 msgstr "E493: La plage spécifiée est inversée"
 
@@ -1526,13 +1634,14 @@ msgstr[0] "Encore %d fichier à éditer. Quitter tout de même ?"
 msgstr[1] "Encore %d fichiers à éditer. Quitter tout de même ?"
 
 #, c-format
-msgid "E173: %ld more file to edit"
-msgid_plural "E173: %ld more files to edit"
-msgstr[0] "E173: encore %ld fichier à éditer"
-msgstr[1] "E173: encore %ld fichiers à éditer"
-
-msgid "E174: Command already exists: add ! to replace it"
-msgstr "E174: La commande existe déjà : ajoutez ! pour la redéfinir"
+msgid "E173: %d more file to edit"
+msgid_plural "E173: %d more files to edit"
+msgstr[0] "E173: encore %d fichier à éditer"
+msgstr[1] "E173: encore %d fichiers à éditer"
+
+#, c-format
+msgid "E174: Command already exists: add ! to replace it: %s"
+msgstr "E174: La commande existe déjà : ajoutez ! pour la redéfinir : %s"
 
 msgid ""
 "\n"
@@ -2199,68 +2308,6 @@ msgstr "E462: Impossible de préparer le rechargement de \"%s\""
 msgid "E321: Could not reload \"%s\""
 msgstr "E321: Impossible de recharger \"%s\""
 
-msgid "--Deleted--"
-msgstr "--Effacé--"
-
-#, c-format
-msgid "auto-removing autocommand: %s <buffer=%d>"
-msgstr "Autocommandes marquées pour auto-suppression : %s <tampon=%d>"
-
-#, c-format
-msgid "E367: No such group: \"%s\""
-msgstr "E367: Aucun groupe \"%s\""
-
-msgid "E936: Cannot delete the current group"
-msgstr "E936: Impossible de supprimer le groupe courant"
-
-msgid "W19: Deleting augroup that is still in use"
-msgstr "W19: Effacement d'augroup toujours en usage"
-
-#, c-format
-msgid "E215: Illegal character after *: %s"
-msgstr "E215: Caractère non valide après * : %s"
-
-#, c-format
-msgid "E216: No such event: %s"
-msgstr "E216: Aucun événement %s"
-
-#, c-format
-msgid "E216: No such group or event: %s"
-msgstr "E216: Aucun événement ou groupe %s"
-
-msgid ""
-"\n"
-"--- Autocommands ---"
-msgstr ""
-"\n"
-"--- Auto-commandes ---"
-
-#, c-format
-msgid "E680: <buffer=%d>: invalid buffer number "
-msgstr "E680: <buffer=%d> : numéro de tampon invalide"
-
-msgid "E217: Can't execute autocommands for ALL events"
-msgstr ""
-"E217: Impossible d'exécuter les autocommandes pour TOUS les événements (ALL)"
-
-msgid "No matching autocommands"
-msgstr "Aucune autocommande correspondante"
-
-msgid "E218: autocommand nesting too deep"
-msgstr "E218: autocommandes trop imbriquées"
-
-#, c-format
-msgid "%s Autocommands for \"%s\""
-msgstr "Autocommandes %s pour \"%s\""
-
-#, c-format
-msgid "Executing %s"
-msgstr "Exécution de %s"
-
-#, c-format
-msgid "autocommand %s"
-msgstr "autocommande %s"
-
 msgid "E219: Missing {."
 msgstr "E219: { manquant."
 
@@ -2560,20 +2607,20 @@ msgid "Font0: %s"
 msgstr "Font0: %s"
 
 #, c-format
-msgid "Font1: %s"
-msgstr "Font1: %s"
-
-#, c-format
-msgid "Font%ld width is not twice that of font0"
-msgstr "La largeur de Font%ld n'est pas le double de celle de Font0"
-
-#, c-format
-msgid "Font0 width: %ld"
-msgstr "Largeur de Font0 : %ld"
-
-#, c-format
-msgid "Font1 width: %ld"
-msgstr "Largeur de Font1 : %ld"
+msgid "Font%d: %s"
+msgstr "Font%d: %s"
+
+#, c-format
+msgid "Font%d width is not twice that of font0"
+msgstr "La largeur de Font%d n'est pas le double de celle de Font0"
+
+#, c-format
+msgid "Font0 width: %d"
+msgstr "Largeur de Font0 : %d"
+
+#, c-format
+msgid "Font%d width: %d"
+msgstr "Largeur de Font%d : %d"
 
 # DB - todo : Pas certain de mon coup, ici...
 msgid "Invalid font specification"
@@ -2754,8 +2801,8 @@ msgid "Added cscope database %s"
 msgstr "Base de données cscope %s ajoutée"
 
 #, c-format
-msgid "E262: error reading cscope connection %ld"
-msgstr "E262: erreur lors de la lecture de la connexion cscope %ld"
+msgid "E262: error reading cscope connection %d"
+msgstr "E262: erreur lors de la lecture de la connexion cscope %d"
 
 msgid "E561: unknown cscope search type"
 msgstr "E561: type de recherche cscope inconnu"
@@ -4083,11 +4130,6 @@ msgstr "E326: Trop de fichiers d'échange trouvés"
 msgid "E327: Part of menu-item path is not sub-menu"
 msgstr "E327: Une partie du chemin de l'élément de menu n'est pas un sous-menu"
 
-# DB - todo : J'hésite avec
-#      msgstr "E328: Le menu n'existe pas dans ce mode"
-msgid "E328: Menu only exists in another mode"
-msgstr "E328: Le menu n'existe que dans un autre mode"
-
 #, c-format
 msgid "E329: No menu \"%s\""
 msgstr "E329: Aucun menu \"%s\""
@@ -4320,8 +4362,8 @@ msgstr ""
 "\""
 
 #, c-format
-msgid "E658: NetBeans connection lost for buffer %ld"
-msgstr "E658: Connexion NetBeans perdue pour le tampon %ld"
+msgid "E658: NetBeans connection lost for buffer %d"
+msgstr "E658: Connexion NetBeans perdue pour le tampon %d"
 
 msgid "E838: netbeans is not supported with this GUI"
 msgstr "E838: netbeans n'est pas supporté avec cette interface graphique"
@@ -5280,6 +5322,73 @@ msgstr ""
 "# Dernier motif de recherche %s :\n"
 "~"
 
+msgid "[Deleted]"
+msgstr "[Effacé]"
+
+msgid ""
+"\n"
+"--- Signs ---"
+msgstr ""
+"\n"
+"--- Symboles ---"
+
+#, c-format
+msgid "Signs for %s:"
+msgstr "Symboles dans %s :"
+
+#, c-format
+msgid "  group=%s"
+msgstr "  groupe=%s"
+
+#, c-format
+msgid "    line=%ld  id=%d%s  name=%s  priority=%d"
+msgstr "    ligne=%ld  id=%d%s  nom=%s  priorité=%d"
+
+msgid "E612: Too many signs defined"
+msgstr "E612: Trop de symboles sont définis"
+
+# AB - Cette traduction ne me satisfait pas.
+# DB - Suggestion.
+#, c-format
+msgid "E239: Invalid sign text: %s"
+msgstr "E239: Le texte du symbole est invalide : %s"
+
+#, c-format
+msgid "E155: Unknown sign: %s"
+msgstr "E155: Symbole inconnu : %s"
+
+#, c-format
+msgid "E885: Not possible to change sign %s"
+msgstr "E885: Impossible de changer le symbole %s"
+
+# AB - La version française est meilleure que la version anglaise.
+msgid "E159: Missing sign number"
+msgstr "E159: Il manque l'ID du symbole"
+
+# AB - Vu le code source, la version française est meilleure que la
+#      version anglaise.
+#, c-format
+msgid "E157: Invalid sign ID: %d"
+msgstr "E157: Le symbole %d est introuvable"
+
+msgid "E934: Cannot jump to a buffer that does not have a name"
+msgstr "E934: Impossible de sauter à un tampon sans nom"
+
+# AB - Il faut respecter l'esprit plus que la lettre.
+#, c-format
+msgid "E160: Unknown sign command: %s"
+msgstr "E160: Commande inconnue : :sign %s"
+
+# AB - La version française est meilleure que la version anglaise.
+msgid "E156: Missing sign name"
+msgstr "E156: Il manque le nom du symbole"
+
+msgid " (NOT FOUND)"
+msgstr "  (INTROUVABLE)"
+
+msgid " (not supported)"
+msgstr " (non supporté)"
+
 msgid "E756: Spell checking is not enabled"
 msgstr "E756: La vérification orthographique n'est pas activée"
 
@@ -5390,10 +5499,6 @@ msgid "Conversion in %s not supported: f
 msgstr "La conversion dans %s non supportée : de %s vers %s"
 
 #, c-format
-msgid "Conversion in %s not supported"
-msgstr "La conversion dans %s non supportée"
-
-#, c-format
 msgid "Invalid value for FLAG in %s line %d: %s"
 msgstr "Valeur de FLAG invalide dans %s ligne %d : %s"
 
@@ -5614,8 +5719,8 @@ msgid "E751: Output file name must not h
 msgstr "E751: Le nom du fichier ne doit pas contenir de nom de région"
 
 #, c-format
-msgid "E754: Only up to %ld regions supported"
-msgstr "E754: %ld régions au maximum supportées"
+msgid "E754: Only up to %d regions supported"
+msgstr "E754: %d régions au maximum supportées"
 
 #, c-format
 msgid "E755: Invalid region in %s"
@@ -5633,8 +5738,8 @@ msgstr "Terminé !"
 
 # DB - todo : perfectible.
 #, c-format
-msgid "E765: 'spellfile' does not have %ld entries"
-msgstr "E765: 'spellfile' n'a pas %ld entrées"
+msgid "E765: 'spellfile' does not have %d entries"
+msgstr "E765: 'spellfile' n'a pas %d entrées"
 
 #, c-format
 msgid "Word '%.*s' removed from %s"
@@ -6043,7 +6148,36 @@ msgid "E953: File exists: %s"
 msgstr "E953: Le fichier existe déjà : %s"
 
 msgid "E955: Not a terminal buffer"
-msgstr "E955: Ce n'est pas un buffer de terminal"
+msgstr "E955: Ce n'est pas un tampon de terminal"
+
+#, c-format
+msgid "E971: Property type %s does not exist"
+msgstr "E971: Le type de propriété %s n'existe pas"
+
+#, c-format
+msgid "E964: Invalid column number: %ld"
+msgstr "E964: Numéro de colonne invalide : %ld"
+
+#, c-format
+msgid "E966: Invalid line number: %ld"
+msgstr "E966: Numéro de ligne invalide : %ld"
+
+msgid "E965: missing property type name"
+msgstr "E965: nom du type de propriété absent"
+
+msgid "E967: text property info corrupted"
+msgstr "E967: information de propriété de texte corrompu"
+
+msgid "E968: Need at least one of 'id' or 'type'"
+msgstr "E968: Au moins « id » ou « type » sont nécessaires"
+
+#, c-format
+msgid "E969: Property type %s already defined"
+msgstr "E969: Type de propriété %s déjà défini"
+
+#, c-format
+msgid "E970: Unknown highlight group name: '%s'"
+msgstr "E970: Nom de groupe de surbrillance inconnu : « %s »"
 
 msgid "new shell started\n"
 msgstr "nouveau shell démarré\n"
@@ -6631,6 +6765,12 @@ msgstr "menu  Aide->Sponsor/Enregistreme
 msgid "Already only one window"
 msgstr "Il n'y a déjà plus qu'une fenêtre"
 
+# AB - Vu le code source, la version française est meilleure que la
+#      version anglaise. Ce message est similaire au message E86.
+#, c-format
+msgid "E92: Buffer %ld not found"
+msgstr "E92: Le tampon %ld n'existe pas"
+
 msgid "E441: There is no preview window"
 msgstr "E441: Il n'y a pas de fenêtre de prévisualisation"
 
@@ -6662,23 +6802,23 @@ msgid "E447: Can't find file \"%s\" in p
 msgstr "E447: Le fichier \"%s\" est introuvable dans 'path'"
 
 #, c-format
-msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)"
-msgstr "E799: ID invalide : %ld (doit être plus grand ou égal à 1)"
-
-#, c-format
-msgid "E801: ID already taken: %ld"
-msgstr "E801: ID déjà pris: %ld"
+msgid "E799: Invalid ID: %d (must be greater than or equal to 1)"
+msgstr "E799: ID invalide : %d (doit être plus grand ou égal à 1)"
+
+#, c-format
+msgid "E801: ID already taken: %d"
+msgstr "E801: ID déjà pris: %d"
 
 msgid "List or number required"
 msgstr "Liste ou nombre requis"
 
 #, c-format
-msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)"
-msgstr "E802: ID invalide : %ld (doit être plus grand ou égal à 1)"
-
-#, c-format
-msgid "E803: ID not found: %ld"
-msgstr "E803: ID introuvable : %ld"
+msgid "E802: Invalid ID: %d (must be greater than or equal to 1)"
+msgstr "E802: ID invalide : %d (doit être plus grand ou égal à 1)"
+
+#, c-format
+msgid "E803: ID not found: %d"
+msgstr "E803: ID introuvable : %d"
 
 #, c-format
 msgid "E370: Could not load library %s"
@@ -6988,7 +7128,14 @@ msgstr "E715: Dictionnaire requis"
 
 #, c-format
 msgid "E684: list index out of range: %ld"
-msgstr "E684: index de Liste hors limites : %ld au-delà de la fin"
+msgstr "E684: index de Liste hors limites : %ld"
+
+#, c-format
+msgid "E979: Blob index out of range: %ld"
+msgstr "E979: index de Blob hors limites : %ld"
+
+msgid "E978: Invalid operation for Blob"
+msgstr "E978: Opération invalide avec un Blob"
 
 # DB : Suggestion
 #, c-format
@@ -7002,10 +7149,17 @@ msgstr "E716: La clé %s n'existe pas dans le Dictionnaire"
 msgid "E714: List required"
 msgstr "E714: Liste requise"
 
+msgid "E897: List or Blob required"
+msgstr "E897: Liste ou Blob requis"
+
 #, c-format
 msgid "E712: Argument of %s must be a List or Dictionary"
 msgstr "E712: L'argument de %s doit être une Liste ou un Dictionnaire"
 
+#, c-format
+msgid "E896: Argument of %s must be a List, Dictionary or Blob"
+msgstr "E896: L'argument de %s doit être une Liste, Dictionnaire ou un Blob"
+
 msgid "E47: Error while reading errorfile"
 msgstr "E47: Erreur lors de la lecture du fichier d'erreurs"
 
@@ -7109,6 +7263,11 @@ msgstr "E919: Répertoire introuvable dans '%s' : \"%s\""
 msgid "E952: Autocommand caused recursive behavior"
 msgstr "E952: Une autocommande a causé une récursivité"
 
+# DB - todo : J'hésite avec
+#      msgstr "E328: Le menu n'existe pas dans ce mode"
+msgid "E328: Menu only exists in another mode"
+msgstr "E328: Le menu n'existe que dans un autre mode"
+
 msgid "search hit TOP, continuing at BOTTOM"
 msgstr "La recherche a atteint le HAUT, et continue en BAS"
 
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -12,13 +12,13 @@ SCRIPTSOURCE = ../../runtime
 # Comment out this line to see the verbose output of tests.
 #
 # Catches SwapExists to avoid hanging at the ATTENTION prompt.
-REDIR_TEST_TO_NULL = --cmd 'au SwapExists * let v:swapchoice = "e"' > /dev/null
+#REDIR_TEST_TO_NULL = --cmd 'au SwapExists * let v:swapchoice = "e"' > /dev/null
 
 # Uncomment this line to use valgrind for memory leaks and extra warnings.
 #   The output goes into a file "valgrind.testN"
 #   Vim should be compiled with EXITFREE to avoid false warnings.
 #   This will make testing about 10 times as slow.
-# VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=25 --log-file=valgrind.$*
+#VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=25 --log-file=valgrind.$*
 
 default: nongui