diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim
index 160cdcf..973d3b0 100644
--- a/runtime/autoload/dist/ft.vim
+++ b/runtime/autoload/dist/ft.vim
@@ -126,7 +126,7 @@
 " 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
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index a79bf4b..d6b0242 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -850,7 +850,7 @@
   - 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"
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 0d2b0db..e229532 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -541,7 +541,6 @@
     :autocmd
     :bufdo
     :cexpr (and the like)
-    :call
     :cdo (and the like)
     :command
     :cscope (and the like)
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 2e58c85..2027c2e 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -180,10 +180,10 @@
 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 @@
 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 @@
 		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.
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index a8d59e3..8950fd9 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -588,8 +588,9 @@
 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 ~
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 0db2d46..f4656de 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1638,10 +1638,10 @@
 			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 @@
 		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 @@
 	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.
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index 4e43909..3d9b1f2 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -898,7 +898,7 @@
 			'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.
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 3d987ff..04de08e 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -939,6 +939,9 @@
 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
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 3936ebc..33f9133 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6811,7 +6811,6 @@
 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*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index f9c2101..c5ebd61 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -38,9 +38,6 @@
 							*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 @@
 
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 
 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 @@
 
 '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 @@
 - 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 @@
 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 @@
   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 @@
 
 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 @@
 		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 @@
 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 @@
 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 @@
     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
diff --git a/runtime/doc/usr_23.txt b/runtime/doc/usr_23.txt
index c09e5b9..63cf315 100644
--- a/runtime/doc/usr_23.txt
+++ b/runtime/doc/usr_23.txt
@@ -208,15 +208,17 @@
 
 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
 
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index dea6a18..824efe7 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -81,6 +81,10 @@
 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
diff --git a/runtime/doc/xxd-fr.1 b/runtime/doc/xxd-fr.1
index be78085..a50336e 100644
--- a/runtime/doc/xxd-fr.1
+++ b/runtime/doc/xxd-fr.1
@@ -258,7 +258,7 @@
 .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
diff --git a/runtime/doc/xxd-fr.UTF-8.1 b/runtime/doc/xxd-fr.UTF-8.1
index 7956b3b..c00eff8 100644
--- a/runtime/doc/xxd-fr.UTF-8.1
+++ b/runtime/doc/xxd-fr.UTF-8.1
@@ -258,7 +258,7 @@
 .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
diff --git a/runtime/doc/xxd-it.1 b/runtime/doc/xxd-it.1
index 3d8dabb..1fb4ae5 100755
--- a/runtime/doc/xxd-it.1
+++ b/runtime/doc/xxd-it.1
@@ -257,15 +257,15 @@
 .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
diff --git a/runtime/doc/xxd-it.UTF-8.1 b/runtime/doc/xxd-it.UTF-8.1
index b6ccabd..8b0d53e 100644
--- a/runtime/doc/xxd-it.UTF-8.1
+++ b/runtime/doc/xxd-it.UTF-8.1
@@ -257,15 +257,15 @@
 .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
diff --git a/runtime/indent/html.vim b/runtime/indent/html.vim
index 6c86659..bece661 100644
--- a/runtime/indent/html.vim
+++ b/runtime/indent/html.vim
@@ -625,7 +625,7 @@
     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
diff --git a/runtime/indent/raml.vim b/runtime/indent/raml.vim
new file mode 100644
index 0000000..73756ae
--- /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
diff --git a/runtime/indent/testdir/README.txt b/runtime/indent/testdir/README.txt
index 8efd34e..28c1628 100644
--- a/runtime/indent/testdir/README.txt
+++ b/runtime/indent/testdir/README.txt
@@ -22,8 +22,12 @@
 	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 @@
   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 @@
 	" 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 @@
 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",
diff --git a/runtime/indent/xml.vim b/runtime/indent/xml.vim
index dcafb46..7afcc89 100644
--- 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 @@
 
 " [-- 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'
diff --git a/runtime/macros/life/life.vim b/runtime/macros/life/life.vim
index 552a493..4c7e5ca 100644
--- a/runtime/macros/life/life.vim
+++ b/runtime/macros/life/life.vim
Binary files differ
diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim
index edaaf61..ce03395 100644
--- 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 @@
 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\+\)*"
diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim
index 74e8d42..4b21941 100644
--- 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 @@
       \ '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',
diff --git a/runtime/syntax/raml.vim b/runtime/syntax/raml.vim
new file mode 100644
index 0000000..062a71c
--- /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
diff --git a/runtime/tools/ccfilter.1 b/runtime/tools/ccfilter.1
index e3de38d..92fe624 100644
--- a/runtime/tools/ccfilter.1
+++ b/runtime/tools/ccfilter.1
@@ -23,7 +23,7 @@
 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
