changeset 14999:2b30a2b4bde2

Update runtime files commit https://github.com/vim/vim/commit/ba3ff539303c7bb6e46a6802dce3c7b2e55284e0 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Nov 4 14:45:49 2018 +0100 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Sun, 04 Nov 2018 15:00:08 +0100
parents 921dcc025fc7
children 32787e326de2
files runtime/autoload/dist/ft.vim runtime/doc/change.txt runtime/doc/cmdline.txt runtime/doc/eval.txt runtime/doc/indent.txt runtime/doc/options.txt runtime/doc/quickfix.txt runtime/doc/syntax.txt runtime/doc/tags runtime/doc/todo.txt runtime/doc/usr_23.txt runtime/doc/windows.txt runtime/doc/xxd-fr.1 runtime/doc/xxd-fr.UTF-8.1 runtime/doc/xxd-it.1 runtime/doc/xxd-it.UTF-8.1 runtime/indent/html.vim runtime/indent/raml.vim runtime/indent/testdir/README.txt runtime/indent/xml.vim runtime/macros/life/life.vim runtime/syntax/debchangelog.vim runtime/syntax/debsources.vim runtime/syntax/raml.vim runtime/tools/ccfilter.1 src/po/de.po src/po/eo.po src/po/fr.po
diffstat 28 files changed, 458 insertions(+), 244 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/autoload/dist/ft.vim
+++ b/runtime/autoload/dist/ft.vim
@@ -126,7 +126,7 @@ endfunc
 " This function checks if one of the first ten lines start with a '@'.  In
 " that case it is probably a change file.
 " If the first line starts with # or ! it's probably a ch file.
-" If a line has "main", "include", "//" ir "/*" it's probably ch.
+" If a line has "main", "include", "//" or "/*" it's probably ch.
 " Otherwise CHILL is assumed.
 func dist#ft#FTchange()
   let lnum = 1
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -850,7 +850,7 @@ the |substitute()| function with the fol
   - magic is always set without regard to 'magic'.
   - A ~ inserts a tilde literally.
   - <CR> and \r inserts a carriage-return (CTRL-M).
-  - \<CR> does not have a special meaning. it's just one of \x.
+  - \<CR> does not have a special meaning. It's just one of \x.
 
 Examples: >
   :s/a\|b/xxx\0xxx/g		 modifies "a b"	     to "xxxaxxx xxxbxxx"
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -541,7 +541,6 @@ that see the '"' as part of their argume
     :autocmd
     :bufdo
     :cexpr (and the like)
-    :call
     :cdo (and the like)
     :command
     :cscope (and the like)
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -180,10 +180,10 @@ function() or funcref().  When calling t
 arguments will be passed to the function.  Example: >
 
 	let Cb = function('Callback', ['foo'], myDict)
-	call Cb()
+	call Cb('bar')
 
 This will invoke the function as if using: >
-	call myDict.Callback('foo')
+	call myDict.Callback('foo', 'bar')
 
 This is very useful when passing a function around, e.g. in the arguments of
 |ch_open()|.
@@ -4614,7 +4614,6 @@ getcurpos()	Get the position of the curs
 getcwd([{winnr} [, {tabnr}]])
 		The result is a String, which is the name of the current
 		working directory.
-		Without arguments, for the current window.
 
 		With {winnr} return the local current directory of this window
 		in the current tab page.  {winnr} can be the window number or
@@ -9128,7 +9127,7 @@ win_getid([{win} [, {tab}]])				*win_get
 		Get the |window-ID| for the specified window.
 		When {win} is missing use the current window.
 		With {win} this is the window number.  The top window has
-		number 1.  Use `win_getid(winnr())` for the current window.
+		number 1.
 		Without {tab} use the current tab, otherwise the tab with
 		number {tab}.  The first tab has number one.
 		Return zero if the window cannot be found.
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -588,8 +588,9 @@ The basics for using flexible indenting 
 user manual.
 
 If you want to write your own indent file, it must set the 'indentexpr'
-option.  Setting the 'indentkeys' option is often useful.  See the
-$VIMRUNTIME/indent directory for examples.
+option.  Setting the 'indentkeys' option is often useful.
+See the $VIMRUNTIME/indent/README.txt file for hints.
+See the $VIMRUNTIME/indent directory for examples.
 
 
 REMARKS ABOUT SPECIFIC INDENT FILES ~
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1638,10 +1638,10 @@ A jump table for the options with a shor
 			area extended, Vim tries to become the owner of the
 			windowing system's global selection or put the
 			selected text on the clipboard used by the selection
-			register "*.  See |guioptions_a| and |quotestar| for
-			details.  When the GUI is active, the 'a' flag in
-			'guioptions' is used, when the GUI is not active, this
-			"autoselect" flag is used.
+			register "*.  See |'go-a'| and |quotestar| for details.
+			When the GUI is active, the 'a' flag in 'guioptions'
+			is used, when the GUI is not active, this "autoselect"
+			flag is used.
 			Also applies to the modeless selection.
 
 						*clipboard-autoselectplus*
@@ -3916,7 +3916,7 @@ A jump table for the options with a shor
 		terminal to list the command output.
 		The terminal window will be positioned at the bottom, and grow
 		upwards as needed.
-							*guioptions_a* *'go-a'*
+								*'go-a'*
 	  'a'	Autoselect:  If present, then whenever VISUAL mode is started,
 		or the Visual area extended, Vim tries to become the owner of
 		the windowing system's global selection.  This means that the
@@ -8125,8 +8125,8 @@ A jump table for the options with a shor
 	non-keyword characters (white space is preferred).  Maximum line
 	length is 510 bytes.
 	To obtain a file to be used here, check out this ftp site:
-	[Sorry this link doesn't work anymore, do you know the right one?]
-	ftp://ftp.ox.ac.uk/pub/wordlists/  First get the README file.
+	ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/  First get the README
+	file.
 	To include a comma in a file name precede it with a backslash.  Spaces
 	after a comma are ignored, otherwise spaces are included in the file
 	name.  See |option-backslash| about using backslashes.
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -898,7 +898,7 @@ 5.1 using Vim's internal grep
 			'smartcase' is not used.
 			If {pattern} is empty (e.g. // is specified), the last
 			used search pattern is used. |last-pattern|
-
+:{count}vim[grep] ...
 			When a number is put before the command this is used
 			as the maximum number of matches to find.  Use
 			":1vimgrep pattern file" to find only the first.
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -939,6 +939,9 @@ to the respective variable.  Example: >
 To disable them use ":unlet".  Example: >
 	:unlet c_comment_strings
 
+An alternative is to switch to the C++ highlighting: >
+	:set filetype=cpp
+
 Variable		Highlight ~
 *c_gnu*			GNU gcc specific items
 *c_comment_strings*	strings and numbers inside a comment
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6811,7 +6811,6 @@ gui_w32.txt	gui_w32.txt	/*gui_w32.txt*
 gui_x11.txt	gui_x11.txt	/*gui_x11.txt*
 guifontwide_gtk	options.txt	/*guifontwide_gtk*
 guifontwide_win_mbyte	options.txt	/*guifontwide_win_mbyte*
-guioptions_a	options.txt	/*guioptions_a*
 guu	change.txt	/*guu*
 gv	visual.txt	/*gv*
 gview	starting.txt	/*gview*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -38,9 +38,6 @@ browser use: https://github.com/vim/vim/
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Using freed memory in quickfix. (Dominique Pelle, Yegappan is looking into a
-fix).
-
 'incsearch' with :s: (#3321)
 - :s/foo  using CTRL-G moves to another line, should not happen, or use the
   correct line (it uses the last but one line) (Lifepillar, Aug 18, #3345)
@@ -56,10 +53,13 @@ Prompt buffer:
 
 Terminal debugger:
 - Make prompt-buffer variant work better.
+- Add option to not open the program window.  It's not used when attaching to
+  an already running program. (M. Kelly)
 - When only gdb window exists, on "quit" edit another buffer.
 - Termdebug does not work when Vim was build with mzscheme: gdb hangs just
   after "run".  Everything else works, including communication channel.  Not
   initializing mzscheme avoid the problem, thus it's not some #ifdef.
+- Add support for lldb?  #3565
 
 Terminal emulator window:
 - GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
@@ -121,6 +121,11 @@ terminal.c and then CTRL-N twice.
 Should do current file first and not split it up when more results are found.
 (Also #1890)
 
+Internal diff doesn't handle binary file like external diff does. (Mike
+Williams, 2018 Oct 30)
+
+Problem with :tlmenu: Detach item added with all modes?  Issue #3563.
+
 C syntax: {} inside () causes following {} to be highlighted as error.
 (Michalis Giannakidis, 2006 Jun 1)
 
@@ -140,7 +145,7 @@ Pasting foo} causes Vim to behave weird.
 Related to bracketed paste.  I cannot reproduce it.
 
 ":mksession" cannot handle a very long 'runtimepath'. (Timothy Madden, 21 Sep
-2018, #3466)  Christian is working on a patch.
+2018, #3466)  Patch from Christian, 2018 Oct 30 (with comments).
 
 Patch in pull request #2967: Allow white space in sign text. (Ben Jackson)
 Test fails in AppVeyor.
@@ -155,9 +160,6 @@ ml_get error: (Israel Chauca Fuentes, 20
 Patch to convert temp file name. (Yasuhiro Matsumoto, #3520)
 Not ready to include yet.
 
-Removing flags from 'cpoptions' breaks the Winbar buttons in termdebug.
-(Dominique Pelle, 2018 Jul 16)
-
 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)
 
@@ -171,6 +173,12 @@ unified diff (list of lines).
 Patch to implement 'diffref' option. (#3535)
   Easier to use a 'diffmaster' option, is the extra complexity needed?
 
+Patch to fix that bracketed paste remains after Vim exits. (2018 Oct 30, #3579)
+
+cursorline highlighting not removed after yanking in Visual mode.
+(Matéo Zanibelli, 2018 Oct 30, #3578)
+Patch by Christian, Oct 30.
+
 Memory leaks in test_channel? (or is it because of fork())
 Using uninitialized value in test_crypt.
 Memory leak in test_terminal:
@@ -189,6 +197,9 @@ gethostbyname() is old, use getaddrinfo(
 matchaddpos() gets slow with many matches.  Proposal by Rick Howe, 2018 Jul
 19.
 
+Sourceforge Vim pages still have content, redirect from empty page.
+Check for PHP errors. (Wayne Davison, 2018 Oct 26)
+
 Patch to support ":tag <tagkind> <tagname>". (emmrk, 2018 May 7, #2871)
 Use something like ":tag {kind}/{tagname}".
 Not ready to include.
@@ -213,7 +224,7 @@ Only output t_Cs when t_Ce is also set. 
 Add t_cS and t_cR for cursor color select and reset.  Use Cs and Cr terminfo
 values.
 
-Furthere xdiff changes:
+Further xdiff changes:
 - More options, e.g. different kind of whitespace diff.
 - when editing text, update the surrounding diff blocks.
 - omit diff.exe from distribution
@@ -222,19 +233,11 @@ Furthere xdiff changes:
 
 Difference between two regexp engines: #3373
 
-Patch to handle missin glibwinpthread-1.dll. (Ken Takata, 2018 Sep 23, #2827)
-
-Patch to add arguments to argc() and argv(). (Yegappan Lakshmanan, 2016 Jan
-24, #832)  Also need a way to get the global arg list?  Update later on Jan 24
-Update Mar 5. Update Apr 7.  Update Jun 5.
-
 When the last line wraps, selecting with the mouse below that line only
 includes the first screen line. (2018 Aug 23, #3368)
 
-Add `:filter` support for various commands (Marcin Szamotulski, 2017 Nov 12
-#2322)  Patch now in #2856.
-
 Refactored HTML indent file. (Michael Lee, #1821)
+Ask to write a test first.
 
 Patch to add getregpoint() and setreg() with an option to set "".
 (Andy Massimino, 2018 Aug 24, #3370)
@@ -261,6 +264,9 @@ characters. (#3246)
 
 'foldtext' is evaluated too often. (Daniel Hahler, #2773)
 
+Add Native language protocol server (LSP) support. (Yegappan Lakshmanan, 2018
+Oct 28)
+
 ml_get error when using a Python script. (Yggdroot, 2017 Jun 1, #1737)
 Lemonboy can reproduce (2017 Jun 5)
 Also reproduced by Benjamin Doherty, 2018 Oct 4.
@@ -276,6 +282,11 @@ Tests failing for "make testgui" with GT
 - Test_setbufvar_options()
 - Test_exit_callback_interval()
 
+Get a "No Name" buffer when 'hidden' is set and opening a new window from the
+quickfix list. (bfrg, 2018 Jan 22, #2574)
+Tracked down by Jason Franklin, 2018 Oct 30.
+Suggested patch by Yegappan, Nov 1.
+
 When using CTRL-W CR in the quickfix window, the jumplist in the opened window
 is cleared, to avoid going back to the list of errors buffer (would have two
 windows with it).  Can we just remove the jump list entries for the quickfix
@@ -298,8 +309,8 @@ balloonexpr() on MS-Windows GUI doesn't 
 2018 Sep 14)
 
 Add v:motion_force. (Kana Natsuno, 2008 Dec 6)
-Maybe call it v:motiontype.  Update in #3490)
-Alternaitve: add the force flag to mode(), after "no".
+Maybe call it v:motiontype.  Update in #3490.
+Alternative: add the force flag to mode(), after "no".
 
 Try out background make plugin: 
   https://github.com/AndrewVos/vim-make-background
@@ -307,7 +318,7 @@ or asyncmake:
   https://github.com/yegappan/asyncmake
 
 Add a ModeChanged autocommand that has an argument indicating the old and new
-mode.  Also used for switching Terminal mode.
+mode, as what's returned from mode().  Also used for switching Terminal mode.
 
 Add an option with file patterns, to be used when unloading a buffer: If there
 is a match, remove entries for the buffer from marks, jumplist, etc.  To be
@@ -372,7 +383,7 @@ How to test that it works well for all V
 
 Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
 
-Delete all the speficic stuff for the Borland compiler? (#3374)
+Delete all the specific stuff for the Borland compiler? (#3374)
 Patch in #3377 (Thomas Dziedzic)
 
 With 'foldmethod' "indent" and appending an empty line, what follows isn't
@@ -451,6 +462,10 @@ option_save({list})					*option_save()*
 		values are handled and the script ID is restored, so that
 		`:verbose set` will show where the option was originally set,
 		not where it was restored.
+  Alternatively: save and restore ALL options.  Implementation needs to use
+	copy-on-write.  Return an ID from option_save(), when
+	option_restore(ID) is called give an error if another option_save()
+	was called in the mean time, they must be balanced.
 
 "gvim --remote" from a directory with non-word characters changes the current
 directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
@@ -474,9 +489,6 @@ Add script number to profile?  (#3330 br
 A function defined locally and lambda's are not easily recognized.
 Mention where they were defined somewhere.
 
-Get a "No Name" buffer when 'hidden' is set and opening a new window from the
-quickfix list. (bfrg, 2018 Jan 22, #2574)
-
 CTRL-X on zero gets stuck on 0xfffffffffffffffe. (Hengyang Zhao, #2746)
 
 Invalid range error when using BufWinLeave for closing terminal.
@@ -531,7 +543,7 @@ MS-Windows: buffer completion doesn't wo
 for a path separator. (xtal8, #2201)
 
 Would be nice for insert mode completion to highlight the text that was added
-(and may change when picking another compltion).
+(and may change when picking another completion).
 
 Test runtime files.
 Start with filetype detection: testdir/test_filetype.vim
@@ -3695,6 +3707,7 @@ Most interesting new features to be adde
     Alternative: Make a function for Ex commands: cmd_edit().
 -   Add COLUMN NUMBERS to ":" commands ":line1,line2[col1,col2]cmd".  Block
     can be selected with CTRL-V.  Allow '$' (end of line) for col2.
+    (issue #3292)
 -   ECLIPSE plugin.  Problem is: the interface is very complicated.  Need to
     implement part in Java and then connect to Vim.  Some hints from Alexandru
     Roman, 2004 Dec 15.  Should then also work with Oracle Jdeveloper, see JSR
--- a/runtime/doc/usr_23.txt
+++ b/runtime/doc/usr_23.txt
@@ -208,15 +208,17 @@ encryption key, just like the "-x" argum
 
 LIMITS ON ENCRYPTION
 
-The encryption algorithm used by Vim is weak.  It is good enough to keep out
-the casual prowler, but not good enough to keep out a cryptology expert with
-lots of time on his hands.  Also you should be aware that the swap file is not
-encrypted; so while you are editing, people with superuser privileges can read
-the unencrypted text from this file.
-   One way to avoid letting people read your swap file is to avoid using one.
-If the -n argument is supplied on the command line, no swap file is used
-(instead, Vim puts everything in memory).  For example, to edit the encrypted
-file "file.txt" without a swap file use the following command: >
+The encryption algorithm used by Vim is not very strong.  It is good enough to
+keep out the casual prowler, but not good enough to keep out a cryptology
+expert with lots of time on his hands.  The text in the swap file and the undo
+file is also encrypted.  However, this is done block-by-block and may reduce
+the time needed to crack a password.  You can disable the swap file, but then
+a crash will cause you to lose your work, since Vim keeps all the text in
+memory only.  The undo file can be disabled with the only disadvantage that
+you can't undo after unloading the buffer.
+   To avoid using a swap file, supply the -n argument on the command line.
+For example, to edit the encrypted file "file.txt" without a swap file use the
+following command: >
 
 	vim -x -n file.txt
 
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -81,6 +81,10 @@ will not change within a Vim session. Th
 functions can be used to convert between the window/tab number and the
 identifier.  There is also the window number, which may change whenever
 windows are opened or closed, see |winnr()|.
+The window number is only valid in one specific tab.  The window ID is valid
+across tabs.  For most functions that take a window ID or a window number, the
+window number only applies to the current tab, while the window ID can refer
+to a window in any tab.
 
 Each buffer has a unique number and the number will not change within a Vim
 session.  The |bufnr()| and |bufname()| functions can be used to convert
--- a/runtime/doc/xxd-fr.1
+++ b/runtime/doc/xxd-fr.1
@@ -258,7 +258,7 @@ 0000024: 6c20 706f 7572 2078 7864 220a  
 .br
 0000030: 2e5c 220a 2e5c 2220 3231 7374  .\"..\" 21st
 .br
-000003c: 204d 6179 2031 3939 360a 2e5c   May 1996..\
+000003c: 204d 6179 2031 3939 360a 2e5c   May 1996..\\
 .br
 0000048: 2220 4d61 6e20 7061 6765 2061  " Man page a
 .br
--- a/runtime/doc/xxd-fr.UTF-8.1
+++ b/runtime/doc/xxd-fr.UTF-8.1
@@ -258,7 +258,7 @@ 0000024: 6c20 706f 7572 2078 7864 220a  
 .br
 0000030: 2e5c 220a 2e5c 2220 3231 7374  .\"..\" 21st
 .br
-000003c: 204d 6179 2031 3939 360a 2e5c   May 1996..\
+000003c: 204d 6179 2031 3939 360a 2e5c   May 1996..\\
 .br
 0000048: 2220 4d61 6e20 7061 6765 2061  " Man page a
 .br
--- a/runtime/doc/xxd-it.1
+++ b/runtime/doc/xxd-it.1
@@ -257,15 +257,15 @@ 000000c: 7567 7573 7420 3139 3936 2220  
 .br
 0000018: 224d 616e 7561 6c20 7061 6765  "Manual page
 .br
-0000024: 2066 6f72 2078 7864 220a 2e5c   for xxd"..\
+0000024: 2066 6f72 2078 7864 220a 2e5c   for xxd"..\\
 .br
-0000030: 220a 2e5c 2220 3231 7374 204d  "..\" 21st M
+0000030: 220a 2e5c 2220 3231 7374 204d  "..\\" 21st M
 .br
-000003c: 6179 2031 3939 360a 2e5c 2220  ay 1996..\" 
+000003c: 6179 2031 3939 360a 2e5c 2220  ay 1996..\\" 
 .br
 0000048: 4d61 6e20 7061 6765 2061 7574  Man page aut
 .br
-0000054: 686f 723a 0a2e 5c22 2020 2020  hor:..\"    
+0000054: 686f 723a 0a2e 5c22 2020 2020  hor:..\\"    
 .br
 0000060: 546f 6e79 204e 7567 656e 7420  Tony Nugent 
 .br
--- a/runtime/doc/xxd-it.UTF-8.1
+++ b/runtime/doc/xxd-it.UTF-8.1
@@ -257,15 +257,15 @@ 000000c: 7567 7573 7420 3139 3936 2220  
 .br
 0000018: 224d 616e 7561 6c20 7061 6765  "Manual page
 .br
-0000024: 2066 6f72 2078 7864 220a 2e5c   for xxd"..\
+0000024: 2066 6f72 2078 7864 220a 2e5c   for xxd"..\\
 .br
-0000030: 220a 2e5c 2220 3231 7374 204d  "..\" 21st M
+0000030: 220a 2e5c 2220 3231 7374 204d  "..\\" 21st M
 .br
-000003c: 6179 2031 3939 360a 2e5c 2220  ay 1996..\" 
+000003c: 6179 2031 3939 360a 2e5c 2220  ay 1996..\\" 
 .br
 0000048: 4d61 6e20 7061 6765 2061 7574  Man page aut
 .br
-0000054: 686f 723a 0a2e 5c22 2020 2020  hor:..\"    
+0000054: 686f 723a 0a2e 5c22 2020 2020  hor:..\\"    
 .br
 0000060: 546f 6e79 204e 7567 656e 7420  Tony Nugent 
 .br
--- a/runtime/indent/html.vim
+++ b/runtime/indent/html.vim
@@ -625,7 +625,7 @@ func! s:CSSIndent()
     return eval(b:hi_css1indent)
   endif
 
-  " If the current line starts with "}" align with it's match.
+  " If the current line starts with "}" align with its match.
   if curtext =~ '^\s*}'
     call cursor(v:lnum, 1)
     try
new file mode 100644
--- /dev/null
+++ b/runtime/indent/raml.vim
@@ -0,0 +1,12 @@
+" Vim indent file
+" Language:         RAML (RESTful API Modeling Language)
+" Maintainer:       mucheng <leisurelicht@gmail.com>
+" License:          VIM LICENSE
+" Latest Revision:  2018-11-03
+
+if exists("b:did_indent")
+  finish
+endif
+
+" Same as yaml indenting.
+runtime! indent/yaml.vim
--- a/runtime/indent/testdir/README.txt
+++ b/runtime/indent/testdir/README.txt
@@ -22,8 +22,12 @@ First of all, create a FILETYPE.in file.
 	endfunc
 	" END_INDENT
 
-- Optionally, a line with INDENT_EXE, followed by a Vim command.  This will be
-  executed before indenting the lines.  Example:
+  If you just want to test normal indenting with default options, you can make
+  this a large number of lines.  Just add all kinds of language constructs,
+  nested statements, etc. with valid syntax.
+
+- Optionally, add lines with INDENT_EXE after START_INDENT, followed by a Vim
+  command.  This will be executed before indenting the lines.  Example:
 
 	" START_INDENT
 	" INDENT_EXE let g:vim_indent_cont = 6
@@ -36,8 +40,8 @@ First of all, create a FILETYPE.in file.
   the next block of lines.
 
 - Alternatively to indenting all the lines between START_INDENT and
-  END_INDENT, use a INDENT_AT line, which specifies a pattern to find the line
-  to indent.  Example:
+  END_INDENT, use an INDENT_AT line, which specifies a pattern to find the
+  line to indent.  Example:
 
 	" START_INDENT
 	" INDENT_AT  this-line
@@ -47,7 +51,8 @@ First of all, create a FILETYPE.in file.
 	" END_INDENT
 
   Alternatively you can use INDENT_NEXT to indent the line below the matching
-  pattern:
+  pattern.  Keep in mind that quite often it will indent relative to the
+  matching line:
 
 	" START_INDENT
 	" INDENT_NEXT  next-line
@@ -84,7 +89,7 @@ different from the FILETYPE.ok file.
 Check the contents of the FILETYPE.fail file.  If it is perfectly OK, then
 rename it to overwrite the FILETYPE.ok file. If you now run "make test" again,
 the test will pass and create a FILETYPE.out file, which is identical to the
-FILETYPE.ok file.
+FILETYPE.ok file.  The FILETYPE.fail file will be deleted.
 
 If you try to run "make test" again you will notice that nothing happens,
 because the FILETYPE.out file already exists.  Delete it, or do "make clean",
--- a/runtime/indent/xml.vim
+++ b/runtime/indent/xml.vim
@@ -2,7 +2,9 @@
 " Repository:   https://github.com/chrisbra/vim-xml-ftplugin
 " Maintainer:	Christian Brabandt <cb@256bit.org>
 " Previous Maintainer:	Johannes Zellner <johannes@zellner.org>
-" Last Change:	20180724 - Correctly indent xml comments https://github.com/vim/vim/issues/3200
+" Last Change:	20181022 - Do not overwrite indentkeys setting
+"                          https://github.com/chrisbra/vim-xml-ftplugin/issues/1
+"             	20180724 - Correctly indent xml comments https://github.com/vim/vim/issues/3200
 " Notes:	1) does not indent pure non-xml code (e.g. embedded scripts)
 "		2) will be confused by unbalanced tags in comments
 "		or CDATA sections.
@@ -19,7 +21,7 @@ set cpo&vim
 
 " [-- local settings (must come before aborting the script) --]
 setlocal indentexpr=XmlIndentGet(v:lnum,1)
-setlocal indentkeys=o,O,*<Return>,<>>,<<>,/,{,}
+setlocal indentkeys=o,O,*<Return>,<>>,<<>,/,{,},!^F
 
 if !exists('b:xml_indent_open')
     let b:xml_indent_open = '.\{-}<\a'
--- a/runtime/macros/life/life.vim
+++ b/runtime/macros/life/life.vim
@@ -138,7 +138,7 @@ map ,Id1 o# X .`a22lr 
 map ,Il0 o#XX .`a22lr 
 map ,Id0 o#  .`a22lr 
 "
-" Patterns used to replace a germ with it's next generation
+" Patterns used to replace a germ with its next generation
 map ,Iaa o=AB =BC =CD =DE =EF =FG =GH =HI =IJ =JK =KL =LM =MN =NO =OP =PQ =QR
 map ,Iab o=RS =ST =TU =UV =VW =WX =XY =YZ =Z 
 "
@@ -232,7 +232,7 @@ map ,m p
 " Delete the character under the cursor
 map ,n x
 "
-" Replace a character by it's next, A --> B,  B --> C, etc.
+" Replace a character by its next, A --> B,  B --> C, etc.
 map ,a `a,jGi?=,ma
0,dll,j`a21l,ml,nh
 "
 "  ----- END of Work out one germ -----
--- a/runtime/syntax/debchangelog.vim
+++ b/runtime/syntax/debchangelog.vim
@@ -3,7 +3,7 @@
 " Maintainer:  Debian Vim Maintainers
 " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
 "                     Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2018 May 03
+" Last Change: 2018 Oct 30
 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
 
 " Standard syntax initialization
@@ -21,7 +21,7 @@ let s:binNMU='binary-only=yes'
 syn match debchangelogName	contained "^[[:alnum:]][[:alnum:].+-]\+ "
 exe 'syn match debchangelogFirstKV	contained "; \('.s:urgency.'\|'.s:binNMU.'\)"'
 exe 'syn match debchangelogOtherKV	contained ", \('.s:urgency.'\|'.s:binNMU.'\)"'
-syn match debchangelogTarget	contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|%(wheezy|jessie)%(-backports%(-sloppy)=|-security)=|stretch%(-backports|-security)=|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty|artful|bionic|cosmic)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
+syn match debchangelogTarget	contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|%(wheezy|jessie)%(-backports%(-sloppy)=|-security)=|stretch%(-backports|-security)=|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty|artful|bionic|cosmic|disco)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
 syn match debchangelogVersion	contained "(.\{-})"
 syn match debchangelogCloses	contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
 syn match debchangelogLP	contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
--- a/runtime/syntax/debsources.vim
+++ b/runtime/syntax/debsources.vim
@@ -2,7 +2,7 @@
 " Language:     Debian sources.list
 " Maintainer:   Debian Vim Maintainers
 " Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
-" Last Change: 2018 Aug 11
+" Last Change: 2018 Oct 30
 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim
 
 " Standard syntax initialization
@@ -25,7 +25,7 @@ let s:supported = [
       \ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
       \ 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
       \
-      \ 'trusty', 'xenial', 'bionic', 'cosmic', 'devel'
+      \ 'trusty', 'xenial', 'bionic', 'cosmic', 'disco', 'devel'
       \ ]
 let s:unsupported = [
       \ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/raml.vim
@@ -0,0 +1,106 @@
+" Vim syntax file
+" Language:    RAML (RESTful API Modeling Language)
+" Maintainer:  Eric Hopkins <eric.on.tech@gmail.com>
+" URL:         https://github.com/in3d/vim-raml
+" License:     Same as Vim
+" Last Change: 2018-11-03
+
+if exists("b:current_syntax")
+  finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword ramlTodo            contained TODO FIXME XXX NOTE
+
+syn region  ramlComment         display oneline start='\%(^\|\s\)#' end='$'
+                                \ contains=ramlTodo,@Spell
+
+syn region  ramlVersion         display oneline start='#%RAML' end='$'
+
+syn match   ramlNodeProperty    '!\%(![^\\^%     ]\+\|[^!][^:/   ]*\)'
+
+syn match   ramlAnchor          '&.\+'
+
+syn match   ramlAlias           '\*.\+'
+
+syn match   ramlDelimiter       '[-,:]'
+syn match   ramlBlock           '[\[\]{}>|]'
+syn match   ramlOperator        '[?+-]'
+syn match   ramlKey             '\h\+\(?\)\?\ze\s*:'
+syn match   ramlKey             '\w\+\(\s\+\w\+\)*\(?\)\?\ze\s*:'
+syn match   routeKey            '\/\w\+\(\s\+\w\+\)*\ze\s*:'
+syn match   routeKey            'application\/\w\+\ze\s*:'
+syn match   routeParamKey       '\/{\w\+}*\ze\s*:'
+
+syn region  ramlString          matchgroup=ramlStringDelimiter
+                                \ start=+\s"+ skip=+\\"+ end=+"+
+                                \ contains=ramlEscape
+syn region  ramlString          matchgroup=ramlStringDelimiter
+                                \ start=+\s'+ skip=+''+ end=+'+
+                                \ contains=ramlStringEscape
+syn region  ramlParameter       matchgroup=ramlParameterDelimiter
+                                \ start=+<<+ skip=+''+ end=+>>+
+syn match   ramlEscape          contained display +\\[\\"abefnrtv^0_ NLP]+
+syn match   ramlEscape          contained display '\\x\x\{2}'
+syn match   ramlEscape          contained display '\\u\x\{4}'
+syn match   ramlEscape          contained display '\\U\x\{8}'
+syn match   ramlEscape          display '\\\%(\r\n\|[\r\n]\)'
+syn match   ramlStringEscape    contained +''+
+
+syn match   ramlNumber          display
+                                \ '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\='
+syn match   ramlNumber          display '0\o\+'
+syn match   ramlNumber          display '0x\x\+'
+syn match   ramlNumber          display '([+-]\=[iI]nf)'
+syn match   ramlNumber          display '(NaN)'
+
+syn match   ramlConstant        '\<[~yn]\>'
+syn keyword ramlConstant        true True TRUE false False FALSE
+syn keyword ramlConstant        yes Yes on ON no No off OFF
+syn keyword ramlConstant        null Null NULL nil Nil NIL
+
+syn keyword httpVerbs           get post put delete head patch options
+syn keyword ramlTypes           string number integer date boolean file
+
+syn match   ramlTimestamp       '\d\d\d\d-\%(1[0-2]\|\d\)-\%(3[0-2]\|2\d\|1\d\|\d\)\%( \%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d [+-]\%([01]\d\|2[0-3]\):[0-5]\d\|t\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d[+-]\%([01]\d\|2[0-3]\):[0-5]\d\|T\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\dZ\)\='
+
+syn region  ramlDocumentHeader  start='---' end='$' contains=ramlDirective
+syn match   ramlDocumentEnd     '\.\.\.'
+
+syn match   ramlDirective       contained '%[^:]\+:.\+'
+
+hi def link ramlVersion            String
+hi def link routeInterpolation     String
+hi def link ramlInterpolation      Constant
+hi def link ramlTodo               Todo
+hi def link ramlComment            Comment
+hi def link ramlDocumentHeader     PreProc
+hi def link ramlDocumentEnd        PreProc
+hi def link ramlDirective          Keyword
+hi def link ramlNodeProperty       Type
+hi def link ramlAnchor             Type
+hi def link ramlAlias              Type
+hi def link ramlBlock              Operator
+hi def link ramlOperator           Operator
+hi def link routeParamKey          SpecialChar
+hi def link ramlKey                Identifier
+hi def link routeKey               SpecialChar
+hi def link ramlParameterDelimiter Type
+hi def link ramlParameter          Type
+hi def link ramlString             String
+hi def link ramlStringDelimiter    ramlString
+hi def link ramlEscape             SpecialChar
+hi def link ramlStringEscape       SpecialChar
+hi def link ramlNumber             Number
+hi def link ramlConstant           Constant
+hi def link ramlTimestamp          Number
+hi def link httpVerbs              Statement
+hi def link ramlTypes              Type
+hi def link ramlDelimiter          Delimiter
+
+let b:current_syntax = "raml"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
--- a/runtime/tools/ccfilter.1
+++ b/runtime/tools/ccfilter.1
@@ -23,7 +23,7 @@ line 2), which makes it impossible for t
 display them !
 
 When working on different platforms, and with different compilers,
-ccfilter eases the utilization of quickfix, due to it's standardized
+ccfilter eases the utilization of quickfix, due to its standardized
 output, allowing to have in .vimrc a plain
 .br
 .B \ \ \ \ :set\ errorformat=%f:%l:%c:%t:%m
--- a/src/po/de.po
+++ b/src/po/de.po
@@ -3,22 +3,22 @@
 # Do ":help uganda"  in Vim to read copying and usage conditions.
 # Do ":help credits" in Vim to see a list of people who contributed.
 #
-# Previous-Translator(s): 
+# Previous-Translator(s):
 # Georg Dahn <georg.dahn@gmail.com>
 # Johannes Zellner <johannes@zellner.org>
 # Gerfried Fuchs <alfie@ist.org>
 msgid ""
 msgstr ""
-"Project-Id-Version: Vim(deutsch)\n"
+"Project-Id-Version: Vim\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-06-24 10:50+0200\n"
+"POT-Creation-Date: 2018-11-01 09:43+0100\n"
 "PO-Revision-Date: 2008-05-24 17:26+0200\n"
 "Last-Translator: Christian Brabandt <cb@256bit.org>\n"
 "Language-Team: German\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO_8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 msgid "E831: bf_key_init() called with empty password"
@@ -58,34 +58,31 @@ msgid "E937: Attempt to delete a buffer 
 msgstr "E937: Versuch, Puffer zu löschen, der noch benutzt wird."
 
 msgid "E515: No buffers were unloaded"
-msgstr "E515: Keine Puffer wurden entladen."
+msgstr "E515: Kein Puffer wurden entladen."
 
 msgid "E516: No buffers were deleted"
-msgstr "E516: Keine Puffer wurden gelöscht."
+msgstr "E516: Kein Puffer wurde gelöscht."
 
 msgid "E517: No buffers were wiped out"
-msgstr "E517: Keine Puffer wurden vollständig gelöscht."
-
-msgid "1 buffer unloaded"
-msgstr "ein Puffer entladen"
-
-#, c-format
-msgid "%d buffers unloaded"
-msgstr "%d Puffer entladen"
-
-msgid "1 buffer deleted"
-msgstr "ein Puffer gelöscht"
-
-#, c-format
-msgid "%d buffers deleted"
-msgstr "%d Puffer gelöscht"
-
-msgid "1 buffer wiped out"
-msgstr "ein Puffer vollständig gelöscht"
-
-#, c-format
-msgid "%d buffers wiped out"
-msgstr "%d Puffer vollständig gelöscht"
+msgstr "E517: Kein Puffer wurde vollständig gelöscht."
+
+#, c-format
+msgid "%d buffer unloaded"
+msgid_plural "%d buffers unloaded"
+msgstr[0] "%d Puffer entladen"
+msgstr[1] "%d Puffer entladen"
+
+#, c-format
+msgid "%d buffer deleted"
+msgid_plural "%d buffers deleted"
+msgstr[0] "%d Puffer gelöscht"
+msgstr[1] "%d Puffer gelöscht"
+
+#, c-format
+msgid "%d buffer wiped out"
+msgid_plural "%d buffers wiped out"
+msgstr[0] "%d Puffer vollständig gelöscht"
+msgstr[1] "%d Puffer vollständig gelöscht"
 
 msgid "E90: Cannot unload last buffer"
 msgstr "E90: Kann letzten Puffer nicht ausladen"
@@ -160,12 +157,10 @@ msgid "[readonly]"
 msgstr "[Nur Lesen]"
 
 #, c-format
-msgid "1 line --%d%%--"
-msgstr "1 Zeile --%d%%--"
-
-#, c-format
-msgid "%ld lines --%d%%--"
-msgstr "%ld Zeilen --%d%%--"
+msgid "%ld line --%d%%--"
+msgid_plural "%ld lines --%d%%--"
+msgstr[0] "%ld Zeile --%d%%--"
+msgstr[1] "%ld Zeilen --%d%%--"
 
 #, c-format
 msgid "line %ld of %ld --%d%%-- col "
@@ -320,12 +315,21 @@ msgstr "E737: Schlüssel existiert bereits: %s"
 msgid "E96: Cannot diff more than %ld buffers"
 msgstr "E96: Kann Diff für mehr als %ld Puffer nicht erstellen."
 
+#, c-format
+msgid "Not enough memory to use internal diff for buffer \"%s\""
+msgstr ""
+"Nicht genügend Speicher vorhanden, um Puffer \"%s\" mit internem "
+"Diffalgorithmus zu nutzen."
+
 msgid "E810: Cannot read or write temp files"
 msgstr "E810: Kann temporäre Datei nicht lesen oder schreiben."
 
 msgid "E97: Cannot create diffs"
 msgstr "E97: Kann keinen Diff erstellen."
 
+msgid "E960: Problem creating the internal diff"
+msgstr "E960: Problem internen Diffalgorithmus anzuwenden"
+
 msgid "Patch file"
 msgstr "Patch-Datei"
 
@@ -335,6 +339,9 @@ msgstr "E816: Kann Patch Ausgabe nicht l
 msgid "E98: Cannot read diff output"
 msgstr "E98: Diff-Ausgabe kann nicht gelesen werden."
 
+msgid "E959: Invalid diff format."
+msgstr "E959: Ungültiges Diff-Format"
+
 msgid "E99: Current buffer is not in diff mode"
 msgstr "E99: Aktueller Puffer ist nicht im Diff-Modus."
 
@@ -667,6 +674,9 @@ msgstr ""
 "\n"
 "\tZuletzt gesetzt in "
 
+msgid " line "
+msgstr " Zeile "
+
 msgid "E691: Can only compare List with List"
 msgstr "E691: Kann nur eine Liste mit einer Liste vergleichen."
 
@@ -747,6 +757,9 @@ msgstr "E916: kein gültiger Job"
 msgid "E701: Invalid type for len()"
 msgstr "E701: Unzulässiger Typ für len()"
 
+msgid "E957: Invalid window number"
+msgstr "E957: Ungültige Fensternummer"
+
 #, c-format
 msgid "E798: ID is reserved for \":match\": %ld"
 msgstr "E798: ID ist für \":match\" reserviert: %ld"
@@ -844,12 +857,11 @@ msgstr "> %d, Hex %08x, Oktal %o"
 msgid "E134: Move lines into themselves"
 msgstr "E134: Verschiebe Zeilen in sich selbst"
 
-msgid "1 line moved"
-msgstr "1 Zeile verschoben"
-
-#, c-format
-msgid "%ld lines moved"
-msgstr "%ld Zeilen verschoben"
+#, c-format
+msgid "%ld line moved"
+msgid_plural "%ld lines moved"
+msgstr[0] "%ld Zeile verschoben"
+msgstr[1] "%ld Zeilen verschoben"
 
 #, c-format
 msgid "%ld lines filtered"
@@ -1004,26 +1016,29 @@ msgstr "ersetze durch %s (y/n/a/q/l/^E/^
 msgid "(Interrupted) "
 msgstr "(Unterbrochen) "
 
-msgid "1 match"
-msgstr "ein Treffer"
-
-msgid "1 substitution"
-msgstr "eine Ersetzung"
-
-#, c-format
-msgid "%ld matches"
-msgstr "%ld Treffer"
-
-#, c-format
-msgid "%ld substitutions"
-msgstr "%ld Ersetzungen"
-
-msgid " on 1 line"
-msgstr " auf einer Zeile"
-
-#, c-format
-msgid " on %ld lines"
-msgstr " auf %ld Zeilen"
+#, c-format
+msgid "%ld match on %ld line"
+msgid_plural "%ld matches on %ld line"
+msgstr[0] " %ld Treffer in %ld Zeile"
+msgstr[1] " %ld Treffer in %ld Zeile"
+
+#, c-format
+msgid "%ld substitution on %ld line"
+msgid_plural "%ld substitutions on %ld line"
+msgstr[0] "%ld Ersetzung in %ld Zeile"
+msgstr[1] "%ld Ersetzungen in %ld Zeile"
+
+#, c-format
+msgid "%ld match on %ld lines"
+msgid_plural "%ld matches on %ld lines"
+msgstr[0] " %ld Treffer in %ld Zeilen"
+msgstr[1] " %ld Treffer in %ld Zeilen"
+
+#, c-format
+msgid "%ld substitution on %ld lines"
+msgid_plural "%ld substitutions on %ld lines"
+msgstr[0] "%ld Ersetzungen in %ld Zeilen"
+msgstr[1] "%ld Ersetzungen in %ld Zeilen"
 
 msgid "E147: Cannot do :global recursive with a range"
 msgstr "E147: Kann :global nicht rekursiv mit einem Bereich ausführen."
@@ -1341,19 +1356,17 @@ msgstr ""
 msgid "E319: Sorry, the command is not available in this version"
 msgstr "E319: Der Befehl ist in dieser Version nicht implementiert"
 
-msgid "1 more file to edit.  Quit anyway?"
-msgstr "Eine weitere Datei zum Editieren. Trotzdem beenden?"
-
-#, c-format
-msgid "%d more files to edit.  Quit anyway?"
-msgstr "%d weitere Dateien zum Editieren. Trotzdem beenden?"
-
-msgid "E173: 1 more file to edit"
-msgstr "E173: Eine weitere Datei zum Editieren"
-
-#, c-format
-msgid "E173: %ld more files to edit"
-msgstr "E173: %ld weitere Dateien zum Editieren"
+#, c-format
+msgid "%d more file to edit.  Quit anyway?"
+msgid_plural "%d more files to edit.  Quit anyway?"
+msgstr[0] "%d weitere Datei zum Editieren. Trotzdem beenden?"
+msgstr[1] "%d weitere Dateien zum Editieren. Trotzdem beenden?"
+
+#, c-format
+msgid "E173: %ld more file to edit"
+msgid_plural "E173: %ld more files to edit"
+msgstr[0] "E173: %ld weitere Datei zum Editieren"
+msgstr[1] "E173: %ld weitere Dateien zum Editieren"
 
 msgid "E174: Command already exists: add ! to replace it"
 msgstr "E174: Befehl existiert bereits: ! zum Ersetzen hinzufügen"
@@ -1538,6 +1551,9 @@ msgstr "E498: kein :source Dateiname zur
 msgid "E842: no line number to use for \"<slnum>\""
 msgstr "E842: Keine Zeilennummer für  \"<slnum>\" vorhanden."
 
+msgid "E961: no line number to use for \"<sflnum>\""
+msgstr "E961: Keine Zeilennummer für  \"<slnum>\" vorhanden."
+
 #, no-c-format
 msgid "E499: Empty file name for '%' or '#', only works with \":p:h\""
 msgstr "E499: Leerer Dateiname für '%' oder '#', funktioniert nur mit \":p:h\""
@@ -1742,9 +1758,6 @@ msgstr "Lese von stdin..."
 msgid "E202: Conversion made file unreadable!"
 msgstr "E202: Datei wurde durch Konvertierung unlesbar!"
 
-msgid "[fifo/socket]"
-msgstr "[fifo/socket]"
-
 msgid "[fifo]"
 msgstr "[fifo]"
 
@@ -1925,19 +1938,17 @@ msgstr "[unix]"
 msgid "[unix format]"
 msgstr "[unix Format]"
 
-msgid "1 line, "
-msgstr "eine Zeile, "
-
-#, c-format
-msgid "%ld lines, "
-msgstr "%ld Zeilen, "
-
-msgid "1 character"
-msgstr "ein Zeichen"
-
-#, c-format
-msgid "%lld characters"
-msgstr "%lld Zeichen"
+#, c-format
+msgid "%ld line, "
+msgid_plural "%ld lines, "
+msgstr[0] "%ld Zeile, "
+msgstr[1] "%ld Zeilen, "
+
+#, c-format
+msgid "%lld character"
+msgid_plural "%lld characters"
+msgstr[0] "%lld Zeichen"
+msgstr[1] "%lld Zeichen"
 
 msgid "[noeol]"
 msgstr "[noeol]"
@@ -2323,11 +2334,11 @@ msgstr "&Rückgängig"
 msgid "Open tab..."
 msgstr "Öffne Reiter..."
 
-msgid "Find string (use '\\\\' to find a '\\')"
-msgstr "Suche (benutze '\\\\' um ein '\\' zu finden)"
-
-msgid "Find & Replace (use '\\\\' to find a '\\')"
-msgstr "Suche & Ersetze (benutze '\\\\' um ein '\\' zu finden)"
+msgid "Find string"
+msgstr "Suche Zeichenkette"
+
+msgid "Find & Replace"
+msgstr "Suche & Ersetze"
 
 msgid "Not Used"
 msgstr "Nicht verwendet"
@@ -3202,8 +3213,8 @@ msgstr ""
 msgid ""
 "--remote-tab[-wait][-silent] <files>  As --remote but use tab page per file"
 msgstr ""
-"--remote-tab[-wait][-silent] <Dateien>  Wie --remote, aber öffne ein Reiter für "
-"jede Datei."
+"--remote-tab[-wait][-silent] <Dateien>  Wie --remote, aber öffne ein Reiter "
+"für jede Datei."
 
 msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit"
 msgstr "--remote-send <keys>\tSchicke <keys> zu einem Vim Server und beende"
@@ -3717,8 +3728,8 @@ msgstr ""
 "\n"
 "        Process-ID: "
 
-msgid " (still running)"
-msgstr " (läuft noch)"
+msgid " (STILL RUNNING)"
+msgstr " (LÄUFT NOCH)"
 
 msgid ""
 "\n"
@@ -3813,6 +3824,9 @@ msgstr ""
 msgid "While opening file \""
 msgstr "Beim Öffnen der Datei \""
 
+msgid "      CANNOT BE FOUND"
+msgstr "      WURDE NICHT GEFUNDEN"
+
 msgid "      NEWER than swap file!\n"
 msgstr "      neuer als Auslagerungsdatei!\n"
 
@@ -4033,19 +4047,17 @@ msgstr ""
 msgid "Type number and <Enter> (empty cancels): "
 msgstr "Gewünschte Nummer und <Enter> eingeben (abbrechen mit <Enter>): "
 
-msgid "1 more line"
-msgstr "eine Zeile mehr"
-
-msgid "1 line less"
-msgstr "eine Zeile weniger"
-
-#, c-format
-msgid "%ld more lines"
-msgstr "%ld Zeilen mehr"
-
-#, c-format
-msgid "%ld fewer lines"
-msgstr "%ld Zeilen weniger"
+#, c-format
+msgid "%ld more line"
+msgid_plural "%ld more lines"
+msgstr[0] "%ld Zeile mehr"
+msgstr[1] "%ld Zeilen mehr"
+
+#, c-format
+msgid "%ld line less"
+msgid_plural "%ld fewer lines"
+msgstr[0] "%ld Zeile weniger"
+msgstr[1] "%ld Zeilen weniger"
 
 msgid " (Interrupted)"
 msgstr " (Unterbrochen)"
@@ -4186,31 +4198,26 @@ msgstr ""
 "beenden"
 
 #, c-format
-msgid "1 line %sed 1 time"
-msgstr "eine Zeile ein Mal %s"
-
-#, c-format
-msgid "1 line %sed %d times"
-msgstr "eine Zeile %s %d Mal"
-
-#, c-format
-msgid "%ld lines %sed 1 time"
-msgstr "%ld Zeilen %s ein Mal"
-
-#, c-format
-msgid "%ld lines %sed %d times"
-msgstr "%ld Zeilen %s %d Mal"
+msgid "%ld line %sed %d time"
+msgid_plural "%ld line %sed %d times"
+msgstr[0] "%ld Zeile %s %d Mal"
+msgstr[1] "%ld Zeile %s %d Mal"
+
+#, c-format
+msgid "%ld lines %sed %d time"
+msgid_plural "%ld lines %sed %d times"
+msgstr[0] "%ld Zeilen %s %d Mal"
+msgstr[1] "%ld Zeilen %s %d Mal"
 
 #, c-format
 msgid "%ld lines to indent... "
 msgstr "%ld Zeilen zum Einrücken... "
 
-msgid "1 line indented "
-msgstr "eine Zeile eingerückt... "
-
-#, c-format
-msgid "%ld lines indented "
-msgstr "%ld Zeilen eingerückt... "
+#, c-format
+msgid "%ld line indented "
+msgid_plural "%ld lines indented "
+msgstr[0] "%ld Zeile eingerückt... "
+msgstr[1] "%ld Zeilen eingerückt... "
 
 msgid "E748: No previously used register"
 msgstr "E748: Kein bereits verwendetes Register"
@@ -4218,12 +4225,11 @@ msgstr "E748: Kein bereits verwendetes R
 msgid "cannot yank; delete anyway"
 msgstr "kann nicht kopieren; lösche trotzdem"
 
-msgid "1 line changed"
-msgstr "eine Zeile geändert"
-
-#, c-format
-msgid "%ld lines changed"
-msgstr "%ld Zeilen geändert"
+#, c-format
+msgid "%ld line changed"
+msgid_plural "%ld lines changed"
+msgstr[0] "%ld Zeile geändert"
+msgstr[1] "%ld Zeilen geändert"
 
 #, c-format
 msgid "freeing %ld lines"
@@ -4234,20 +4240,16 @@ msgid " into \"%c"
 msgstr " in \"%c"
 
 #, c-format
-msgid "block of 1 line yanked%s"
-msgstr "Block von einer Zeile kopiert%s"
-
-#, c-format
-msgid "1 line yanked%s"
-msgstr "eine Zeile kopiert%s"
-
-#, c-format
-msgid "block of %ld lines yanked%s"
-msgstr "Block von %ld Zeilen kopiert%s"
-
-#, c-format
-msgid "%ld lines yanked%s"
-msgstr "%ld Zeilen kopiert%s"
+msgid "block of %ld line yanked%s"
+msgid_plural "block of %ld lines yanked%s"
+msgstr[0] "Block von %ld Zeile kopiert%s"
+msgstr[1] "Block von %ld Zeilen kopiert%s"
+
+#, c-format
+msgid "%ld line yanked%s"
+msgid_plural "%ld lines yanked%s"
+msgstr[0] "%ld Zeile kopiert%s"
+msgstr[1] "%ld Zeilen kopiert%s"
 
 #, c-format
 msgid "E353: Nothing in register %s"
@@ -4840,6 +4842,9 @@ msgstr "E69: Fehlende ] nach %s%%["
 msgid "E70: Empty %s%%[]"
 msgstr "E70: %s%%[] ist leer"
 
+msgid "E956: Cannot use pattern recursively"
+msgstr "E956: Kann Muster nicht rekursiv ausführen"
+
 msgid "E65: Illegal back reference"
 msgstr "E65: Ungültige Rückreferenz"
 
@@ -4957,7 +4962,7 @@ msgstr "E873: (NFA regexp) geeigneter Ab
 
 msgid "Could not open temporary log file for writing, displaying on stderr... "
 msgstr ""
-"Konnte temporäre Datei zum Schreiben öffnen, zeige auf Standard "
+"Konnte temporäre Datei nicht zum Schreiben öffnen, zeige auf Standard "
 "Fehlerausgabe... "
 
 msgid "E874: (NFA) Could not pop the stack!"
@@ -5470,6 +5475,9 @@ msgstr "E783: Doppeltes Zeichen im MAP E
 msgid "No Syntax items defined for this buffer"
 msgstr "Keine Syntax-Elemente für diesen Puffer definiert"
 
+msgid "'redrawtime' exceeded, syntax highlighting disabled"
+msgstr "'redrawtime' überschritten, Syntaxhighlighting deaktiviert"
+
 msgid "syntax conceal on"
 msgstr "Syntax conceal aktiviert"
 
@@ -5500,6 +5508,9 @@ msgstr ""
 msgid "syntax iskeyword "
 msgstr "syntax iskeyword "
 
+msgid "syntax iskeyword not set"
+msgstr "syntax iskeyword nicht gesetzt"
+
 #, c-format
 msgid "E391: No such syntax cluster: %s"
 msgstr "E391: Kein solcher Syntax Cluster: %s"
@@ -5841,6 +5852,9 @@ msgstr "Führe aus"
 msgid "finished"
 msgstr "beendet"
 
+msgid "E958: Job already finished"
+msgstr "E958: Job bereits beendet"
+
 #, c-format
 msgid "E953: File exists: %s"
 msgstr "E953: Datei existiert bereits: %s"
@@ -5983,8 +5997,10 @@ msgid "number changes  when             
 msgstr "Nummer Änderung Wann               Gesichert"
 
 #, c-format
-msgid "%ld seconds ago"
-msgstr "vor %ld Sekunden"
+msgid "%ld second ago"
+msgid_plural "%ld seconds ago"
+msgstr[0] "vor %ld Sekunde"
+msgstr[1] "vor %ld Sekunden"
 
 msgid "E790: undojoin is not allowed after undo"
 msgstr "E790: 'undojoin' ist nicht erlaubt nach 'undo'"
@@ -6485,6 +6501,9 @@ msgstr "Differenz mit Vim"
 msgid "Edit with &Vim"
 msgstr "Editiere mit &Vim"
 
+msgid "Edit with existing Vim"
+msgstr "Editiere mit vorhandenem Vim"
+
 msgid "Edit with existing Vim - "
 msgstr "Editiere mit vorhandenem Vim - "
 
--- a/src/po/eo.po
+++ b/src/po/eo.po
@@ -17,8 +17,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim 8.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-09-01 18:15+0200\n"
-"PO-Revision-Date: 2018-09-01 18:38+0200\n"
+"POT-Creation-Date: 2018-10-30 09:47+0100\n"
+"PO-Revision-Date: 2018-10-30 10:02+0100\n"
 "Last-Translator: Dominique PELLÉ <dominique.pelle@gmail.com>\n"
 "Language-Team: Esperanto\n"
 "Language: eo\n"
@@ -113,7 +113,7 @@ msgstr ""
 "transpasi)"
 
 msgid "E948: Job still running (add ! to end the job)"
-msgstr "E948: Tasko akoraÅ­ aktiva (aldonu ! por fini la taskon)"
+msgstr "E948: Tasko ankoraÅ­ aktiva (aldonu ! por fini la taskon)"
 
 msgid "E37: No write since last change (add ! to override)"
 msgstr "E37: Neniu skribo de post lasta ÅanÄo (aldonu ! por transpasi)"
@@ -322,12 +322,19 @@ msgstr "E737: Åœlosilo jam ekzistas: %s"
 msgid "E96: Cannot diff more than %ld buffers"
 msgstr "E96: Ne eblas dosierdiferenci pli ol %ld bufrojn"
 
+#, c-format
+msgid "Not enough memory to use internal diff for buffer \"%s\""
+msgstr "Ne sufiĉa memoro por uzi internan dosierdiferencilon por bufro \"%s\""
+
 msgid "E810: Cannot read or write temp files"
 msgstr "E810: Ne eblas legi aÅ­ skribi provizorajn dosierojn"
 
 msgid "E97: Cannot create diffs"
 msgstr "E97: Ne eblas krei dosierdiferencojn"
 
+msgid "E960: Problem creating the internal diff"
+msgstr "E960: Problemo dum kreado de la interna dosierdiferencilo"
+
 msgid "Patch file"
 msgstr "Flika dosiero"
 
@@ -337,6 +344,9 @@ msgstr "E816: Ne eblas legi eliron de fl
 msgid "E98: Cannot read diff output"
 msgstr "E98: Ne eblas legi eliron de dosierdiferencilo \"diff\""
 
+msgid "E959: Invalid diff format."
+msgstr "E959: Nevalida formato de dosierdiferenco"
+
 msgid "E99: Current buffer is not in diff mode"
 msgstr "E99: Aktuala bufro ne estas en dosierdiferenca reÄimo"
 
@@ -667,6 +677,9 @@ msgstr ""
 "\n"
 "\tLaste Åaltita de "
 
+msgid " line "
+msgstr " linio "
+
 msgid "E691: Can only compare List with List"
 msgstr "E691: Eblas nur kompari Liston kun Listo"
 
@@ -1527,6 +1540,9 @@ msgstr "E498: neniu dosiernomo \":source\" por anstataÅ­igi al \"<sfile>\""
 msgid "E842: no line number to use for \"<slnum>\""
 msgstr "E842: neniu uzebla numero de linio por \"<slnum>\""
 
+msgid "E961: no line number to use for \"<sflnum>\""
+msgstr "E961: neniu uzebla numero de linio por \"<sflnum>\""
+
 #, no-c-format
 msgid "E499: Empty file name for '%' or '#', only works with \":p:h\""
 msgstr "E499: Malplena dosiernomo por '%' aÅ­ '#', nur funkcias kun \":p:h\""
@@ -3662,8 +3678,8 @@ msgstr ""
 "\n"
 "        proceza ID: "
 
-msgid " (still running)"
-msgstr " (ankoraÅ­ ruliÄas)"
+msgid " (STILL RUNNING)"
+msgstr " (ANKORAŬ RULIĜAS)"
 
 msgid ""
 "\n"
@@ -3758,6 +3774,9 @@ msgstr ""
 msgid "While opening file \""
 msgstr "Dum malfermo de dosiero \""
 
+msgid "      CANNOT BE FOUND"
+msgstr "      NETROVITA"
+
 msgid "      NEWER than swap file!\n"
 msgstr "      PLI NOVA ol permutodosiero .swp!\n"
 
@@ -4739,7 +4758,7 @@ msgid "E944: Reverse range in character 
 msgstr "E944: Inversa amplekso en klaso de signoj"
 
 msgid "E945: Range too large in character class"
-msgstr "E945: tro larga amplekso de klaso de signoj"
+msgstr "E945: tro larÄa amplekso de klaso de signoj"
 
 #, c-format
 msgid "E53: Unmatched %s%%("
@@ -4858,7 +4877,7 @@ msgid "E867: (NFA) Unknown operator '\\z
 msgstr "E867: (NFA) Nekonata operatoro '\\z%c'"
 
 msgid "E951: \\% value too large"
-msgstr "E951: tro larga valoro de \\%"
+msgstr "E951: tro larÄa valoro de \\%"
 
 #, c-format
 msgid "E867: (NFA) Unknown operator '\\%%%c'"
@@ -5771,6 +5790,9 @@ msgstr "ruliÄas"
 msgid "finished"
 msgstr "finiÄis"
 
+msgid "E958: Job already finished"
+msgstr "E958: Tasko jam finiÄis"
+
 #, c-format
 msgid "E953: File exists: %s"
 msgstr "E953: Dosiero jam ekzistas: %s"
@@ -6419,6 +6441,9 @@ msgstr "Kompari per Vim"
 msgid "Edit with &Vim"
 msgstr "Redakti per &Vim"
 
+msgid "Edit with existing Vim"
+msgstr "Redakti per ekzistanta Vim"
+
 msgid "Edit with existing Vim - "
 msgstr "Redakti per ekzistanta Vim - "
 
--- 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-09-01 14:20+0200\n"
-"PO-Revision-Date: 2018-09-01 17:15+0200\n"
+"POT-Creation-Date: 2018-10-30 09:47+0100\n"
+"PO-Revision-Date: 2018-10-30 10:09+0100\n"
 "Last-Translator: Dominique Pellé <dominique.pelle@gmail.com>\n"
 "Language-Team: French\n"
 "Language: fr\n"
@@ -342,6 +342,10 @@ msgstr "E737: La clé existe déjà : %s"
 msgid "E96: Cannot diff more than %ld buffers"
 msgstr "E96: Impossible d'utiliser diff sur plus de %ld 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\""
+
 msgid "E810: Cannot read or write temp files"
 msgstr "E810: Impossible de lire ou écrire des fichiers temporaires"
 
@@ -349,6 +353,9 @@ msgstr "E810: Impossible de lire ou écrire des fichiers temporaires"
 msgid "E97: Cannot create diffs"
 msgstr "E97: diff ne fonctionne pas"
 
+msgid "E960: Problem creating the internal diff"
+msgstr "E960: Problème lors de la création de l'outil diff interne"
+
 msgid "Patch file"
 msgstr "Fichier rustine"
 
@@ -358,6 +365,9 @@ msgstr "E816: Le fichier intermédiaire produit par patch n'a pu être lu"
 msgid "E98: Cannot read diff output"
 msgstr "E98: Le fichier intermédiaire produit par diff n'a pu être lu"
 
+msgid "E959: Invalid diff format."
+msgstr "E959: Format diff invalide."
+
 msgid "E99: Current buffer is not in diff mode"
 msgstr "E99: Le tampon courant n'est pas en mode diff"
 
@@ -735,6 +745,9 @@ msgstr ""
 "\n"
 "\tModifié la dernière fois dans "
 
+msgid " line "
+msgstr " ligne "
+
 msgid "E691: Can only compare List with List"
 msgstr "E691: Une Liste ne peut être comparée qu'avec une Liste"
 
@@ -1693,6 +1706,9 @@ msgstr "E498: Aucun nom de fichier :source à substituer à \"<sfile>\""
 msgid "E842: no line number to use for \"<slnum>\""
 msgstr "E842: aucun numéro de ligne à utiliser pour \"<slnum>\""
 
+msgid "E961: no line number to use for \"<sflnum>\""
+msgstr "E961: aucun numéro de ligne à utiliser pour \"<sflnum>\""
+
 #, no-c-format
 msgid "E499: Empty file name for '%' or '#', only works with \":p:h\""
 msgstr "E499: Nom de fichier vide pour '%' ou '#', ne marche qu'avec \":p:h\""
@@ -3884,8 +3900,8 @@ msgstr ""
 "\n"
 "      processus n° : "
 
-msgid " (still running)"
-msgstr " (en cours d'exécution)"
+msgid " (STILL RUNNING)"
+msgstr " (EN COURS D'EXÉCUTION)"
 
 msgid ""
 "\n"
@@ -3980,6 +3996,9 @@ msgstr ""
 msgid "While opening file \""
 msgstr "Lors de l'ouverture du fichier \""
 
+msgid "      CANNOT BE FOUND"
+msgstr "      INTROUVABLE"
+
 msgid "      NEWER than swap file!\n"
 msgstr "      PLUS RÉCENT que le fichier d'échange !\n"
 
@@ -6016,6 +6035,9 @@ msgstr "en cours"
 msgid "finished"
 msgstr "fini"
 
+msgid "E958: Job already finished"
+msgstr "E958: Tâche déjà finie"
+
 #, c-format
 msgid "E953: File exists: %s"
 msgstr "E953: Le fichier existe déjà : %s"
@@ -6681,6 +6703,9 @@ msgstr "&Comparer avec Vim"
 msgid "Edit with &Vim"
 msgstr "Éditer dans &Vim"
 
+msgid "Edit with existing Vim"
+msgstr "Éditer dans le Vim existant"
+
 msgid "Edit with existing Vim - "
 msgstr "Éditer dans le Vim existant - "