Update runtime files
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 8a106e1..774e782 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -7339,8 +7339,8 @@
 
 	After this option has been set successfully, Vim will source the files
 	"spell/LANG.vim" in 'runtimepath'.  "LANG" is the value of 'spelllang'
-	up to the first character that is not an ASCII letter and not a dash.
-	Also see |set-spc-auto|.
+	up to the first character that is not an ASCII letter or number and
+	not a dash.  Also see |set-spc-auto|.
 
 
 						*'spellsuggest'* *'sps'*
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 00a016a..d1875fc 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -774,8 +774,6 @@
     :let g:html_use_xhtml = 1
 <
 
- vim:tw=78:sw=4:ts=8:sts=4:ft=help:norl:ai:noet:
-
 ABEL						*abel.vim* *ft-abel-syntax*
 
 ABEL highlighting provides some user-defined options.  To enable them, assign
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 909dc77..043e6d5 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -38,7 +38,11 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-runtest: for flaky test, try more often if error message changes (5 times)
+Make ":script 40" edit the script listed with number 40.  Actually use
+":scriptnames".
+
+Download page: "A 64 bit version" link is wrong, use this one instead:
+https://github.com/vim/vim-win32-installer/releases/latest
 
 'incsearch' with :s: (#3321)
 - :s/foo  using CTRL-G moves to another line, should not happen, or use the
@@ -52,9 +56,12 @@
 Prompt buffer:
 - Add a command line history.
 - delay next prompt until plugin gives OK?
+- add prompt_addtext({buf}, {expr})	none	add text to a prompt buffer
 
 Terminal debugger:
 - Make prompt-buffer variant work better.
+- If breakpoints are deleted with "delete" in gdb the response is not parsed
+  properly and the breakpoints in Vim are not removed.
 - 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.
@@ -62,6 +69,10 @@
   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
+- Could we do something similar for debugging Vim scripts?  At least see the
+  script while stepping through it.  Simple version would use an extra window.
+  More complete solution would actually run Vim in a Terminal an control it
+  with another Vim instance.
 
 Terminal emulator window:
 - GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
@@ -102,10 +113,13 @@
 Update for German spell files: https://github.com/chrisbra/vim/compare/5e021c990f8817a50d3264782a5...3b27c92f297540761ebbd92d04fb3
 (Christian Brabandt, 2018 Nov 4)
 
-Patch for comparing quickfix and location stacks. (Yegappan, 2018 Nov 15)
+Patch for nsis/README.txt and uninstal.txt (Ken Takata, 2018 Nov 17, #3614)
 
-Patch to fix visual block problem. (Tom M, tommm, 2018 Nov 14)
-Also will write a test.
+Patch to add commandline completion tests. (Dominique, #3622)
+
+Problem with Visual yank when 'linebreak' and 'showbreak' are set.
+Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
+Nov 17)
 
 Key mapping times out when using a timer in Gvim. (Michael Henry, 2018 Sep 9,
 #3417)
@@ -114,6 +128,13 @@
 - _stat64 is not defined, need to use "struct stat" in vim.h
 - WINVER conflict, should use 0x0600 by default?
 
+Adding a fold with a marker in a C file doesn't add the comment /* */ if the
+line contains a * somewhere.  Patch with a fix (Hirohito Higashi, 2018 Nov 22)
+
+Crash in terminal with long multi-byte sequence. (2018 Nov 17, #3619)
+Dominique cannot reproduce. Update Nov 18.
+Suggested solution by Yasuhiro Matsumoto, 2018 Nov 18.
+
 Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
 13, #2910)  Can't reproduce?
 
@@ -123,6 +144,9 @@
 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?
 
+Patch to fix that appending makes items to be "recognized".
+(Yegappan, 2018 Nov 23). Reported by Daniel Hahler, #3633.
+
 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?
@@ -130,9 +154,10 @@
 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)
 
-Patch for dos installer to use logic instead of $HOME.  (Ken Takata, Nov 5,
-#3564)
+Patch to add FOR_ALL_FRAMES. (Yegappan, 2018 Nov 18)
 
+Patch to resize to fit parent position when using ---windowid. ( Agorgianitis
+Loukas, 2018 Nov 17, #3616)
 Completion mixes results from the current buffer with tags and other files.
 Happens when typing CTRL-N while still search for results.  E.g., type "b_" in
 terminal.c and then CTRL-N twice.
@@ -144,9 +169,6 @@
 
 Problem with :tlmenu: Detach item added with all modes?  Issue #3563.
 
-Patch to avoid that increment or decrement gets interrupted by updating folds.
-(Christian Brabandt, 2018 Nov 6, #3599)
-
 C syntax: {} inside () causes following {} to be highlighted as error.
 (Michalis Giannakidis, 2006 Jun 1)
 
@@ -162,9 +184,18 @@
     quickfix window, for example. (Gary Holloway)
     Also do 'sidescrolloff'.
 
+Patch for ConPTY support, #3474: What is the status?
+
 Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
 Related to bracketed paste.  I cannot reproduce it.
 
+Using CTRL-L to add a character to the search string doesn't work for the last
+character in the file. (Smylers, 2018 Nov 17, #3620)
+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)
+
 ":mksession" cannot handle a very long 'runtimepath'. (Timothy Madden, 21 Sep
 2018, #3466)  Patch from Christian, 2018 Oct 30 (with comments).
 
@@ -321,6 +352,8 @@
 
 Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
 Update Sep 7.  Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
+Patch to be able to disable default digraphs (incomplete) (Eric Pruitt, 2018
+Nov 22).
 
 Make balloon_show() work outside of 'balloonexpr'?  Users expect it to work:
 #2948. (related to #1512?)
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 7c3f358..c7e5955 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -612,6 +612,7 @@
 	repeat()		repeat a string multiple times
 	eval()			evaluate a string expression
 	execute()		execute an Ex command and get the output
+	trim()			trim characters from a string
 
 List manipulation:					*list-functions*
 	get()			get an item without error for wrong index
@@ -799,6 +800,9 @@
 	bufwinnr()		get the window number of a specific buffer
 	winbufnr()		get the buffer number of a specific window
 	getbufline()		get a list of lines from the specified buffer
+	setbufline()		replace a line in the specified buffer
+	appendbufline()		append a list of lines in the specified buffer
+	deletebufline()		delete lines from a specified buffer
 	win_findbuf()		find windows containing a buffer
 	win_getid()		get window ID of a window
 	win_gotoid()		go to window with ID
@@ -810,6 +814,7 @@
 	getchangelist()		get a list of change list entries
 	getjumplist()		get a list of jump list entries
 	swapinfo()		information about a swap file
+	swapname()		get the swap file path of a buffer
 
 Command line:					*command-line-functions*
 	getcmdline()		get the current command line
@@ -907,6 +912,7 @@
 	winheight()		get height of a specific window
 	winwidth()		get width of a specific window
 	win_screenpos()		get screen position of a window
+	winlayout()		get layout of windows in a tab page
 	winrestcmd()		return command to restore window sizes
 	winsaveview()		get view of current window
 	winrestview()		restore saved view of current window
@@ -919,6 +925,7 @@
 
 Testing:				    *test-functions*
 	assert_equal()		assert that two expressions values are equal
+	assert_equalfile()	assert that two file contents are equal
 	assert_notequal()	assert that two expressions values are not equal
 	assert_inrange()	assert that an expression is inside a range
 	assert_match()		assert that a pattern matches the value
@@ -941,6 +948,9 @@
 	test_null_partial()	return a null Partial function
 	test_null_string()	return a null String
 	test_settime()		set the time Vim uses internally
+	test_feedinput()	add key sequence to input buffer
+	test_option_not_set()	reset flag indicating option was set
+	test_scrollbar()	simulate scrollbar movement in the GUI
 
 Inter-process communication:		    *channel-functions*
 	ch_canread()		check if there is something to read
@@ -991,6 +1001,12 @@
 	term_gettty()		get the tty name of a terminal
 	term_setansicolors()	set 16 ANSI colors, used for GUI
 	term_getansicolors()	get 16 ANSI colors, used for GUI
+	term_dumpdiff()		display difference between two screen dumps
+	term_dumpload()		load a terminal screen dump in a window
+	term_dumpwrite()	dump contents of a terminal screen to a file
+	term_setkill()		set signal to stop job in a terminal
+	term_setrestore()	set command to restore a terminal
+	term_setsize()		set the size of a terminal
 
 Timers:						*timer-functions*
 	timer_start()		create a timer
@@ -999,6 +1015,17 @@
 	timer_stopall()		stop all timers
 	timer_info()		get information about timers
 
+Tags:						*tag-functions*
+	taglist()		get list of matching tags
+	tagfiles()		get a list of tags files
+	gettagstack()		get the tag stack of a window
+	settagstack()		modify the tag stack of a window
+
+Prompt Buffer:					*promptbuffer-functions*
+	prompt_setcallback()	set prompt callback for a buffer
+	prompt_setinterrupt()	set interrupt callback for a buffer
+	prompt_setprompt()	set the prompt text for a buffer
+
 Various:					*various-functions*
 	mode()			get current editing mode
 	visualmode()		last visual mode used
@@ -1026,17 +1053,13 @@
 
 	wordcount()		get byte/word/char count of buffer
 
-	taglist()		get list of matching tags
-	tagfiles()		get a list of tags files
-	gettagstack()		get the tag stack
-	settagstack()		modify the tag stack
-
 	luaeval()		evaluate Lua expression
 	mzeval()		evaluate |MzScheme| expression
 	perleval()		evaluate Perl expression (|+perl|)
 	py3eval()		evaluate Python expression (|+python3|)
 	pyeval()		evaluate Python expression (|+python|)
 	pyxeval()		evaluate |python_x| expression
+	debugbreak()		interrupt a program  being debugged
 
 ==============================================================================
 *41.7*	Defining a function