diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 147a791..be24e75 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.0.  Last change: 2017 Dec 19
+*eval.txt*	For Vim version 8.0.  Last change: 2018 Jan 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/if_cscop.txt b/runtime/doc/if_cscop.txt
index b69d298..6662717 100644
--- a/runtime/doc/if_cscop.txt
+++ b/runtime/doc/if_cscop.txt
@@ -1,4 +1,4 @@
-*if_cscop.txt*  For Vim version 8.0.  Last change: 2017 Nov 23
+*if_cscop.txt*  For Vim version 8.0.  Last change: 2018 Jan 21
 
 
 		  VIM REFERENCE MANUAL    by Andy Kahn
@@ -478,7 +478,7 @@
 Andy Kahn <ackahn@netapp.com>.  The original structure (as well as a tiny
 bit of code) was adapted from the cscope interface in nvi.
 							*cscope-win32*
-For a cscope version for Win32 see (seems abandonded):
+For a cscope version for Win32 see (seems abandoned):
 	https://code.google.com/archive/p/cscope-win32/
 
 Win32 support was added by Sergey Khorev <sergey.khorev@gmail.com>.  Contact
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index b4577fc..6969c5d 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt*   For Vim version 8.0.  Last change: 2017 Nov 09
+*if_pyth.txt*   For Vim version 8.0.  Last change: 2018 Jan 28
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
@@ -809,7 +809,8 @@
 You can test what Python version is available with: >
 	if has('python')
 	  echo 'there is Python 2.x'
-  	elseif has('python3')
+	endif
+  	if has('python3')
 	  echo 'there is Python 3.x'
 	endif
 
@@ -818,6 +819,24 @@
 loaded at a time, just checking if Python 2 or 3 are available will prevent
 the other one from being available.
 
+To avoid loading the dynamic library, only check if Vim was compiled with
+python support: >
+	if has('python_compiled')
+	  echo 'compiled with Python 2.x support'
+	  if has('python_dynamic
+	    echo 'Python 2.x dynamically loaded
+	  endif
+	endif
+  	if has('python3_compiled')
+	  echo 'compiled with Python 3.x support'
+	  if has('python3_dynamic
+	    echo 'Python 3.x dynamically loaded
+	  endif
+	endif
+
+This also tells you whether Python is dynamically loaded, which will fail if
+the runtime library cannot be found.
+
 ==============================================================================
 11. Python X						*python_x* *pythonx*
 
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 640c8e9..7371911 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 8.0.  Last change: 2017 Nov 23
+*insert.txt*    For Vim version 8.0.  Last change: 2018 Jan 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -433,7 +433,7 @@
 	inoremap ( ()<C-G>U<Left>
 
 This makes it possible to use the cursor keys in Insert mode, without breaking
-the undo sequence and therefore using |.| (redo) will work as expected. 
+the undo sequence and therefore using |.| (redo) will work as expected.
 Also entering a text like (with the "(" mapping from above): >
 
    Lorem ipsum (dolor
@@ -1473,7 +1473,7 @@
 
 Notes:
  - Vim will load/evaluate code in order to provide completions.  This may
-   cause some code execution, which may be a concern. This is no longer 
+   cause some code execution, which may be a concern. This is no longer
    enabled by default, to enable this feature add >
      let g:rubycomplete_buffer_loading = 1
 <- In context 1 above, Vim can parse the entire buffer to add a list of
@@ -1529,15 +1529,15 @@
 groups are included by default with the PHP: phpEnvVar, phpIntVar,
 phpFunctions.
 
-If you wish non-filetype syntax items to also be included, you can use a 
-regular expression syntax (added in version 13.0 of autoload\syntaxcomplete.vim)
-to add items.  Looking at the output from ":syntax list" while editing a PHP file 
-I can see some of these entries: >
+If you wish non-filetype syntax items to also be included, you can use a
+regular expression syntax (added in version 13.0 of
+autoload\syntaxcomplete.vim) to add items.  Looking at the output from
+":syntax list" while editing a PHP file I can see some of these entries: >
     htmlArg,htmlTag,htmlTagName,javaScriptStatement,javaScriptGlobalObjects
 
 To pick up any JavaScript and HTML keyword syntax groups while editing a PHP
-file, you can use 3 different regexs, one for each language.  Or you can 
-simply restrict the include groups to a particular value, without using 
+file, you can use 3 different regexs, one for each language.  Or you can
+simply restrict the include groups to a particular value, without using
 a regex string: >
     let g:omni_syntax_group_include_php = 'php\w\+,javaScript\w\+,html\w\+'
     let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods'
@@ -1550,9 +1550,9 @@
 
 Some people may find this list unwieldy or are only interested in certain
 items.  There are two ways to prune this list (if necessary).  If you find
-certain syntax groups you do not wish displayed you can use two different 
-methods to identify these groups.  The first specifically lists the syntax 
-groups by name.  The second uses a regular expression to identify both 
+certain syntax groups you do not wish displayed you can use two different
+methods to identify these groups.  The first specifically lists the syntax
+groups by name.  The second uses a regular expression to identify both
 syntax groups.  Simply add one the following to your vimrc: >
     let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant'
     let g:omni_syntax_group_exclude_php = 'php\w*Constant'
@@ -1575,22 +1575,22 @@
 
 For plugin developers, the plugin exposes a public function OmniSyntaxList.
 This function can be used to request a List of syntax items.  When editing a
-SQL file (:e syntax.sql) you can use the ":syntax list" command to see the 
+SQL file (:e syntax.sql) you can use the ":syntax list" command to see the
 various groups and syntax items.  For example: >
-    syntax list 
+    syntax list
 
-Yields data similar to this: >
-    sqlOperator    xxx some prior all like and any escape exists in is not 
-                       or intersect minus between distinct
-                       links to Operator
-    sqlType        xxx varbit varchar nvarchar bigint int uniqueidentifier 
-                       date money long tinyint unsigned xml text smalldate 
-                       double datetime nchar smallint numeric time bit char 
-                       varbinary binary smallmoney
-                       image float integer timestamp real decimal
+Yields data similar to this:
+    sqlOperator    xxx some prior all like and any escape exists in is not ~
+                       or intersect minus between distinct ~
+                       links to Operator ~
+    sqlType        xxx varbit varchar nvarchar bigint int uniqueidentifier ~
+                       date money long tinyint unsigned xml text smalldate ~
+                       double datetime nchar smallint numeric time bit char ~
+                       varbinary binary smallmoney ~
+                       image float integer timestamp real decimal ~
 
 There are two syntax groups listed here: sqlOperator and sqlType.  To retrieve
-a List of syntax items you can call OmniSyntaxList a number of different 
+a List of syntax items you can call OmniSyntaxList a number of different
 ways.  To retrieve all syntax items regardless of syntax group:  >
     echo OmniSyntaxList( [] )
 
@@ -1607,7 +1607,6 @@
     let myKeywords = []
     let myKeywords = OmniSyntaxList( ['sqlKeyword'] )
 
-    
 
 SQL							*ft-sql-omni*
 
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 24ceb47..0f84934 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt*     For Vim version 8.0.  Last change: 2017 Sep 04
+*intro.txt*     For Vim version 8.0.  Last change: 2018 Jan 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -138,7 +138,7 @@
    see the message.  If you don't want that, e.g. because it is a security
    issue, send it to <bugs@vim.org>, this only goes to the Vim maintainer
    (that's Bram).
-2. Open issue on GitHub: https://github.com/vim/vim/issues
+2. Open an issue on GitHub: https://github.com/vim/vim/issues
    The text will be forwarded to the vim-dev maillist.
 
 Please be brief; all the time that is spent on answering mail is subtracted
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index c8cd0eb..c25eb64 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt*     For Vim version 8.0.  Last change: 2017 Nov 30
+*mbyte.txt*     For Vim version 8.0.  Last change: 2018 Jan 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar et al.
@@ -1258,7 +1258,7 @@
 10.  Input with imactivatefunc()				*mbyte-func*
 
 Vim has the 'imactivatefunc' and 'imstatusfunc' options. These are useful to
-activate/deativate the input method from Vim in any way, also with an external
+activate/deactivate the input method from Vim in any way, also with an external
 command. For example, fcitx provide fcitx-remote command: >
 
 	set iminsert=2
diff --git a/runtime/doc/os_mac.txt b/runtime/doc/os_mac.txt
index 2a2b07a..226d3ba 100644
--- a/runtime/doc/os_mac.txt
+++ b/runtime/doc/os_mac.txt
@@ -1,4 +1,4 @@
-*os_mac.txt*    For Vim version 8.0.  Last change: 2017 Apr 28
+*os_mac.txt*    For Vim version 8.0.  Last change: 2018 Jan 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar et al.
@@ -165,7 +165,7 @@
 
 To make sure at runtime whether or not the darwin feature is compiled in, you
 can use `has('osxdarwin')` which returns 1 if the feature is compiled in; 0
-otherwise.  For backwards comptibility, you can still use `macunix` instead of
+otherwise.  For backward compatibility, you can still use `macunix` instead of
 `osxdarwin`.
 
 Notable use cases where `--disable-darwin` is turned out to be useful are:
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 6ac684a..15187b6 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 8.0.  Last change: 2017 Nov 18
+*starting.txt*  For Vim version 8.0.  Last change: 2018 Jan 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1043,7 +1043,7 @@
 Defaults without a .vimrc file ~
 							*defaults.vim*
 If Vim is started normally and no user vimrc file is found, the
-$VIMRUTIME/defaults.vim script is loaded.  This will set 'compatible' off,
+$VIMRUNTIME/defaults.vim script is loaded.  This will set 'compatible' off,
 switch on syntax highlighting and a few more things.  See the script for
 details.  NOTE: this is done since Vim 8.0, not in Vim 7.4. (it was added in
 patch 7.4.2111 to be exact).
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 50d9000..9f062fc 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 8.0.  Last change: 2017 Dec 22
+*syntax.txt*	For Vim version 8.0.  Last change: 2018 Jan 27
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5025,6 +5025,11 @@
 StatusLineNC	status lines of not-current windows
 		Note: if this is equal to "StatusLine" Vim will use "^^^" in
 		the status line of the current window.
+							*hl-StatusLineTerm*
+StatusLineTerm	status line of current window, if it is a |terminal| window.
+							*hl-StatusLineTermNC*
+StatusLineTermNC   status lines of not-current windows that is a |terminal|
+		window.
 							*hl-TabLine*
 TabLine		tab pages line, not active tab page label
 							*hl-TabLineFill*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index f43e5de..112a0ea 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6825,6 +6825,8 @@
 hl-SpellRare	syntax.txt	/*hl-SpellRare*
 hl-StatusLine	syntax.txt	/*hl-StatusLine*
 hl-StatusLineNC	syntax.txt	/*hl-StatusLineNC*
+hl-StatusLineTerm	syntax.txt	/*hl-StatusLineTerm*
+hl-StatusLineTermNC	syntax.txt	/*hl-StatusLineTermNC*
 hl-TabLine	syntax.txt	/*hl-TabLine*
 hl-TabLineFill	syntax.txt	/*hl-TabLineFill*
 hl-TabLineSel	syntax.txt	/*hl-TabLineSel*
@@ -6839,6 +6841,8 @@
 hl-VisualNOS	syntax.txt	/*hl-VisualNOS*
 hl-WarningMsg	syntax.txt	/*hl-WarningMsg*
 hl-WildMenu	syntax.txt	/*hl-WildMenu*
+hl-debugBreakpoint	terminal.txt	/*hl-debugBreakpoint*
+hl-debugPC	terminal.txt	/*hl-debugPC*
 hlID()	eval.txt	/*hlID()*
 hlexists()	eval.txt	/*hlexists()*
 hlsearch-variable	eval.txt	/*hlsearch-variable*
diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index a1576fa..896c554 100644
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -1,4 +1,4 @@
-*terminal.txt*	For Vim version 8.0.  Last change: 2017 Dec 22
+*terminal.txt*	For Vim version 8.0.  Last change: 2018 Jan 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -149,11 +149,6 @@
 			keys in the terminal window.  For MS-Windows see the
 			++eof argument below.
 
-			Two comma separated numbers are used as "rows,cols".
-			E.g. `:24,80gdb` opens a terminal with 24 rows and 80
-			columns.  However, if the terminal window spans the
-			Vim window with, there is no vertical split, the Vim
-			window width is used.
 						*term++close* *term++open*
 			Supported [options] are:
 			++close		The terminal window will close
@@ -168,9 +163,15 @@
 			++hidden	Open the terminal in a hidden buffer,
 					no window will be used.
 			++rows={height} Use {height} for the terminal window
-					height.
+					height.  If the terminal uses the full
+					Vim height (no window above or below
+					th terminal window) the command line
+					height will be reduced as needed.
 			++cols={width}  Use {width} for the terminal window
-					width.
+					width. If the terminal uses the full
+					Vim width (no window left or right of
+					the terminal window) this value is
+					ignored.
 			++eof={text}	when using [range]: text to send after
 					the last line was written. Cannot
 					contain white space.  A CR is
@@ -524,6 +525,7 @@
 	Undefined command: "new-ui". Try "help".~
 Then your gdb is too old.
 
+					*hl-debugPC* *hl-debugBreakpoint*
 The color of the signs can be adjusted with these highlight groups:
 - debugPC		the current position
 - debugBreakpoint	a breakpoint
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 7eeb2c3..b56221b 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.0.  Last change: 2017 Dec 23
+*todo.txt*      For Vim version 8.0.  Last change: 2018 Jan 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -133,7 +133,8 @@
 Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
 - monokai - Xia Crusoe (2017 Aug 4) 
 - seoul256 - Christian Brabandt (2017 Aug 3)
-- gruvbox -  Christian Brabandt (2017 Aug 3)
+- gruvbox -  Christian Brabandt (2017 Aug 3) (simplified version from
+      Lifepillar, 2018 Jan 22, #2573)
 - janah - Marco Hinz (2017 Aug 4)
 - apprentice - Romain Lafourcade (2017 Aug 6)  remarks about help file #1964
 Suggested by Hiroki Kokubun:
@@ -151,6 +152,56 @@
 	arga
 	al
 	al
+Patch to fix using freed memory. (Christian Brabandt, 2018 Jan 6, #2467)
+
+Patch for nsis runtime files. (Ken Takata, 2018 Jan 25)
+
+Patch for scheme runtime files (new version) (Evan Hanson, 2018 Jan 26)
+
+Patch to turn tests into new style. (Yegappan, 2017 Dec 29, #2509)
+
+Patch to fix crash in rubyf. (W, #2512) fixes #2511
+
+Updates for Debian runtime files. (James McCoy, 2018 Jan 7)
+
+Crash when calling term_start() with empty command on windows. (Wang Shidong,
+2018 Dec 27, #2501)
+
+Patch to improve DirectX rendering. (Ken Takata, 2018 Jan 18, #2560 fixes
+#2401)
+
+Endless loop invovlving gui_mch_stop_blink(). (zdohnal, 2018 Jan 11)
+
+Patch to add 'pythonhome' and 'pythonthreehome' options. (Kazuki Sakamoto,
+2016 Nov 21, #1266)
+
+"silent! try" doesn't restore emsg_silent when an exception is thrown.
+(Ben Reilly, 2018 Jan 5, #2531)  Possible solution by Christian Brabandt, 2018
+Jan 6.
+
+Patch to fix ex mode buffering output. (Brian M. Carlson, 2018 Jan 8, #2537)
+
+Patch for config.vim syntax file. (James McCoy, 2018 Jan 28, maintainer didn't
+respond).
+
+Patch to add support for clojure script filetype detection. (David Burgin,
+2018 Jan 20, #257)
+
+Patch to implement the DirChanged autocmd event. (Andy Massimino, 2018 Jan 9,
+replaces #888)
+
+Patch to fix not adding a slash after :find completion. (Genki Sky, 2018 Jan
+10)
+
+Patch for man.vim, fix for Mac. (SungHyun Nam, 2018 Jan 8, #2488)
+Update Jan 10.
+
+Patch to fix illegal memory access in del_bytes(). (Christian Brabandt, 2018
+Jan 2, #2466)
+
+Recursive use of alist_add() (Christian Brabandt, 2018 Jan 6, #2472)
+
+patch 1218 breaks etags. (zdohnal, 2018 Jan 5)
 
 Errors found with random data:
     heap-buffer-overflow in alist_add (#2472)
@@ -161,15 +212,59 @@
 - signed integer overflow in get_address() (#2248)
 - signed integer overflow in getdecchrs() (#2254)
 - signed integer overflow in nfa_regatom() (#2251)
+    patch by Christian Brabandt, 2018 Jan 8
 - undefined left shift in get_string_tv() (#2250)
 
+Patch to fix CursorIM highlighting on Windows. (Ken Takata, 2018 Jan 18)
+
+Cursor in wrong screen line with WinBar. (#2362)
+Fix by Christian Brabandt (2018 Jan 2)
+
 balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
 20, #2481)
 Also see #2352, want better control over balloon, perhaps set the position.
 
+Patch to make installer faster. (Ken Takata, 2018 Jan 3, #2522)
+
+Patch to support hunspell. (Matej Cepl, Jan 2018, #2500)
+
+Cursor in status line after search. (#2530)
+
+Cursor in wrong position when line wraps. (#2540)
+
+Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
+
+Patch for minimum width of completion popup menu. (Christian Brabandt, 2018
+Jan 3, #2314)
+
 When using :packadd files under "later" are not used, which is inconsistent
 with packages under "start". (xtal8, #1994)
 
+Patch to make D&D work between 32 bit app and 64 bit Vim. (Ken Takata, #2504)
+
+Patch to fix invalid return value with backwards searchpair. (Daniel Hahler,
+2018 Jan 15, #2552)
+
+Column number is wrong whsn using 'linebreak' and 'wrap'. (Keith Smiley, 2018
+Jan 15, #2555)
+
+Patch to remove redundant "if". (Dominique Pelle, 2018 Jan 14)
+
+Serbian translations. (Peseic, 2018 Jan 17)
+
+Check argument of systemlist(). (Pavlov)
+
+Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
+#2546)
+
+Patch to fix illegal memory access. (Christian Brabandt,  2018 Jan 6, #2523)
+
+When 'inchsearch' and 'hlsearch' are set /\v highlights everything.
+Also see #2337
+
+Starting job with cwd option, when the directory does not exist, gives a
+confusing error message. (Wang Shidong, 2018 Jan 2, #2519)
+
 7   Add a watchpoint in the debug mode: An expression that breaks execution
     when evaluating to non-zero.  Add the "watchadd expr" command, stop when
     the value of the expression changes.  ":watchdel" deletes an item,
@@ -179,6 +274,20 @@
 7   Make "ga" show the digraph for a character, if it exists.
 Patch from Christian Brabandt, 2011 Aug 19.
 
+Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun
+8, #1757)  Now part of #2322.  Or #2327?  #1757 was re-opened, include that
+first.
+
+ch_sendraw() with long string does not try to read inbetween, which may cause
+a deadlock if the reading side is waiting for the write to finish. (Nate
+Bosch, 2018 Jan 13, #2548)
+
+Problem with mouse scroll in tmux. (fcying, #2419)  Might be caused by patch
+8.0.1309.
+
+Des setting 'cursorline' cause syntax highlighting to slow down?  Perhaps is
+mess up the cache?  (Mike Lee Williams, 2018 Jan 27, #2539)
+
 Fold at end of the buffer behaves inconsistently. (James McCoy, 2017 Oct 9)
 
 With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
@@ -197,6 +306,19 @@
 ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
 Lemonboy can reproduce (2017 Jun 5)
 
+When 'virtualedit' is "all" and 'cursorcolumn' is set, the wrong column may be
+highlighted. (van-debugger, 2018 Jan 23, #2576)
+
+Patch to add winlayout() function. (Yegappan Lakshmanan, 2018 Jan 4)
+
+No profile information for function that executes ":quit". (Daniel Hahler,
+2017 Dec 26, #2501)
+
+Get a "No Name" buffer when 'hidden' is set and opening a new window from the
+quickfix list. (bfrg, 2018 Jan 22, #2574)
+
+A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
+
 Patch to fix E806. (Dominique, 2017 Nov 22, #2368)
 Kazunobu Kuriyama: caused by XtSetLanguageProc().
 
@@ -219,6 +341,9 @@
 Patch to copy buffer-local options before buffer leaves the window. (Bjorn
 Linse, 2017 Nov 14, #2336)
 
+Join truncates xml comment. (Dmitrii Tcyganok, 2017 Dec 24, #2494)
+Requires 'formatoptions' to include "j". (Gary Johnson, 2017 Dec 24)
+
 When a timer is running and typing CTRL-R on the command line, it is not
 redrawn properly. (xtal8, 2017 Oct 23, #2241)
 
@@ -276,12 +401,11 @@
 The ":move" command does not honor closed folds. (Ryan Lue, #2351)
 
 Memory leaks in test_channel? (or is it because of fork())
-Memory leak in test_arabic.
 Using uninitialized value in test_crypt.
 Memory leaks in test_escaped_glob
 
 Patch to clear background when "guibg=NONE" is used and 'termguicolors' is
-set.
+set. (Nick Jensen, 2017 Nov 13, #2332, based on #981 by Kazunobu Kuriyama)
 
 Patch to make gM move to middle of line. (Yasuhiro Matsumoto, Sep 8, #2070)
 
@@ -292,6 +416,9 @@
 Now on github: #1856.  Updated Oct 2017
 Got permission to include this under the Vim license.
 
+Patch to include hunspell support. (Matej Cepl, 2017 Dec 26, #845)
+Doesn't work on Windows yet.
+
 Refactored HTML indent file. (Michael Lee, #1821)
 
 Test_writefile_fails_conversion failure on Solaris because if different iconv
@@ -357,10 +484,6 @@
 Profile of a dict function is lost when the dict is deleted.  Would it be
 possible to collect this?  (Daniel Hahler, #2350)
 
-Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun
-8, #1757)  Now part of #2322.  Or #2327?  #1757 was re-opened, include that
-first.
-
 Add `:filter` support for various commands (Marcin Szamotulski, 2017 Nov 12
 #2322)  Now in #2327?
 
@@ -438,7 +561,7 @@
 mappings (with a lhs prefix, like maparg()), mapdelete() to delete,
 maprestore() to restore (using the output of maplist()).
 
-Add an argument to :mkvimrc (or add aother command) to skip mappings from
+Add an argument to :mkvimrc (or add another command) to skip mappings from
 plugins (source is a Vim script).  No need to put these in a .vimrc, they will
 be defined when the plugin is loaded.
 
@@ -707,9 +830,6 @@
 Have a way to get the call stack, in a function and from an exception.
 #1125
 
-Patch to add 'pythonhome' and 'pythonthreehome' options. (Kazuki Sakamoto,
-2016 Nov 21, #1266)
-
 Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
 times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
 
@@ -953,7 +1073,8 @@
 the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)
 
 Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
-Sep 10)
+Sep 10) Update 2018 Jan 4  #2575
+Alternate change by Ken Takata.
 
 Example in editing.txt uses $HOME with the expectation that it ends in a
 slash.  For me it does, but perhaps not for everybody.  Add a function that
@@ -1916,8 +2037,6 @@
 
 This does not work yet: "a\(%C\)" (get composing characters into a submatch).
 
-A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
-
 Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
 messages, even though locale is not supported.  But ":lang messages
 es_ES.utf-8" gives an error and doesn't switch messages. (Dominique Pelle,
diff --git a/runtime/doc/usr_27.txt b/runtime/doc/usr_27.txt
index 44aa406..653ee43 100644
--- a/runtime/doc/usr_27.txt
+++ b/runtime/doc/usr_27.txt
@@ -1,4 +1,4 @@
-*usr_27.txt*	For Vim version 8.0.  Last change: 2010 Mar 28
+*usr_27.txt*	For Vim version 8.0.  Last change: 2018 Jan 26
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -225,9 +225,9 @@
 	/const/-2
 
 This finds the next word "const" and then moves two lines up.  If you
-use "n" to search again, Vim could start at the current position and find the same
-"const" match.  Then using the offset again, you would be back where you started.
-You would be stuck!
+use "n" to search again, Vim could start at the current position and find the
+same "const" match.  Then using the offset again, you would be back where you
+started.  You would be stuck!
    It could be worse: Suppose there is another match with "const" in the next
 line.  Then repeating the forward search would find this match and move two
 lines up.  Thus you would actually move the cursor back!
