diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 0736ada..eda32c5 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 Apr 28
+*todo.txt*      For Vim version 8.0.  Last change: 2017 May 27
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -35,13 +35,9 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Remove the Farsi code?
-
 +channel:
-- job_stop() should not always close the channel, e.g. for "int".
-  (Martin Gammelsæter, 2017 Apr 11, #1632)
-  Only assume killed on "kill".
-  Check job->jv_status not to be JOB_ENDED.
+- When redrawing for the channel buffer, command line completion is cleared.
+  (Ramel Eshed, 2017 May 4)
 - Try out background make plugin: 
   https://github.com/AndrewVos/vim-make-background
 - Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
@@ -110,13 +106,102 @@
   had_endbrace[] is set but not initialized or used.
 - Difference between two engines: ".*\zs\/\@>\/" on text "///"
   (Chris Paul, 2016 Nov 13)  New engine not greedy enough?
+  Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
+  (2017 May 15, #1252)
 
 With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
 (Marcin Szewczyk, 2017 Apr 26)
 
+Patch for Murphy filetype detection. (Matthew Fernandez, 2017 May 17)
+
+ZoomWin plugin ratings went down a lot.  Bot problem? (Charles Campbell, 2017
+May 18)
+
+ml_get errors with buggy script. (Dominique, 2017 Apr 30)
+
+Error in emsg with buggy script. (Dominique, 2017 Apr 30)
+
+Patch to update 'runtimepath' earlier. (Ingo Karkat, 2017 May 5, #1680)
+
+Patch to make float2nr() more accurate. (Hirohito Higashi, 2017 May 7, #1688)
+
+Patch to make :hardcopy handle spaces correctly. (Christian Brabandt, 2017 May
+7, #1682)
+
+Add options_default() / options_restore() to set several options to Vim
+defaults for a plugin. Comments from Zyx, 2017 May 10.
+Perhaps use a vimcontext / endvimcontext command block.
+
+Patch to recognize 'bg' detection. (Lemonboy, 2017 May 18, #1710)
+
+Patch to recognize 1.0 as a whole as a float. (Yasuhiro Matsumoto, 2017 May
+11)
+
+Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)
+
+When checking if a bufref is valid, also check the buffer number, to catch the
+case of :bwipe followed by :new.
+
+Files for Latvian language. (Vitolins, 2017 May 3, #1675)
+
+Adding a filetype in a "start" package is not picked up as expected.
+(comment by Ingo Karkat, #1679)
+Patch for a fix, Ingo Karkat, #1693.
+
+Patch to fix character class detection in NFA engine.
+(James McCoy, 2017 May 12, update May 24, #1703)
+
+Setting 'clipboard' to "unnamed" makes a global command very slow (Daniel
+Drucker, 2017 May 8).
+This was supposed to be fixed, did it break again somehow?
+Christian cannot reproduce it.
+
+Better TeX indent file. (Christian Brabandt, 2017 May 3)
+
+Openhab syntax file (mueller, #1678)
+
+Followup patch for 8.0.0590 for "context" in locations. (Yegappan, 2017 May 4)
+
+Use gvimext.dll from the nightly build? (Issue #249)
+
+Patch to remove HAVE_GTK_MULTIHEAD-relevant code. (Kazunobu Kuriyama, 2017 May
+5) Update May 11
+
+Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
+8, #1690)
+
+'equalalways' only works for one column. (Glacambre, 2017 May 15, #1707)
+
+Include solarized color scheme?
+
+Updates to GTK help. (Kazunobu Kuriyama, 2017 May 4)
+
 Running test_gui and test_gui_init with Motif sometimes kills the window
 manager.  Problem with Motif?
 
+Bogus characters inserted when triggering indent while changing text.
+(Vitor Antunes, 2016 Nov 22, #1269)
+
+Patch to have ":stag" respect 'switchbuf'. (Ingo Karkat, 2017 May 5, #1681)
+
+Wrong selection of quoted text (Guraga, #1687)
+Patch to fix selection of quoted text. (Christian Brabandt, 2017 May 7, #1687)
+
+Patch to use separate error message for regex range. (Itchyny, Ken Hamada,
+2017 May 16)
+
+Segmentation fault with complete(). (Lifepillar, 2017 Apr 29, #1668)
+Check for "pat" to be NULL in search_for_exact_line()?
+How did it get NULL?  Comment by Christian, Apr 30.
+
+Is it possible to keep the complete menu open when calling complete()?
+(Prabir Shrestha, 2017 May 19, #1713)
+
+Calling may_req_ambiguous_char_width() and may_req_bg_color() only after
+executing command line commands may not work properly.
+Set "starting" to 0 earlier, and move the may_req calls above exe_commands()?
+(Rastislav Barlink, 2017 May 18)
+
 Memory leak in test97?  The string is actually freed.  Weird.
 
 Patch for shellescape(). (Christian Brabandt, 2017 Apr 20, #1590)
@@ -127,6 +212,26 @@
 
 Add a toolbar in the terminal.  Can be global, above all windows, or specific
 for one window.
+
+Make maparg() also return the raw rhs, so that it doesn't depend on 'cpo'.
+(Brett Stahlman, 2017 May 23)
+Even better: add a way to disable a mapping temporarily and re-enable it
+later.  This is for a sub-mode that is active for a short while (one buffer).
+Still need maplist() to find the mappings.  What can we use to identify a
+mapping?  Something unique would be better than the LHS.
+
+Patch to support chinese wordcount in utf-8. (Rain, 2017 May 24, #1722)
+Or not?
+
+"gn" selects one character instead of the searched text. (keyboardfire, #1683)
+Patch by Christian, 2017 May 7.
+
+Wrong memory access using p_fdm, found in patch to add tests for diff mode
+(#1658) (Dominique Pelle, 2017 May 6)
+
+Patch to improve test coverage for diff mode. (Dominique Pelle, 2017 May 11,
+#1685)
+
 Use tb_set(winid, [{'text': 'stop', 'cb': callback, 'hi': 'Green'}])
     tb_highlight(winid, 'ToolBar')
     tb_get(winid)
@@ -194,6 +299,10 @@
 Patch to support on-the-spot and over-the-spot input method. (Ken Takata, 2017
 Feb 14).
 
+Change the Farsi code to work with UTF-8.  Possibly combined with the Arabic
+support, or similar.
+Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
+
 Add a command to take a range of lines, filter them and put the output
 somewhere else.  :{range}copy {dest} !cmd
 
@@ -369,15 +478,9 @@
 
 'hlsearch' interferes with a Conceal match. (Rom Grk, 2016 Aug 9)
 
-Patch to add context information to quickfix/location list. (Yegappan
-Lakshmanan, 2016 Aug 25, #1012)
-
 MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
 Otherwise task flickers in taskbar.
 
-Bogus characters inserted when triggering indent while changing test.
-(Vitor Antunes, 2016 Nov 22, #1269)
-
 Should make ":@r" handle line continuation. (Cesar Romani, 2016 Jun 26)
 Also for ":@.".
 
@@ -444,6 +547,8 @@
 Patch to improve indenting for C++ constructor with initializer list.
 (Hirohito Higashi, 2016 Mar 31)
 
+Zero-out krypt key information when no longer in use. (Ben Fritz, 2017 May 15)
+
 Add stronger encryption.  Could use libsodium (NaCl).
 https://github.com/jedisct1/libsodium/
 Possibly include the needed code so that it can be build everywhere.
@@ -1519,8 +1624,6 @@
 not a string. (Sean Ma)  Need to add flag to call_func_retlist() to force a
 string value.
 
-Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
-
 For running gvim on a USB stick: avoid the OLE registration.  Use a command
 line argument -noregister.
 
