diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index dbd2935..c338513 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -42,11 +42,35 @@
 - Add a command line history.
 - delay next prompt until plugin gives OK?
 
+Terminal debugger:
+- Using terminal window: after "cont" in gdb window CTRL-C interrupts, but
+  after :Continue it does not.  Mode of UI is changed?  :Stop does work.
+- patch from Christian to handle changing 'background'
+  and a patch to show breakpoint nr in sign. (June 14)
+- Make prompt-buffer variant work better.
+- 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.
+- Show breakpoint number in the sign? (Uri Moszkowicz, 2018 Jun 13, #3007)
+- Allow for users to create their own gdb mappings.  Perhaps by making the gdb
+  buffer global?  (Uri Moszkowicz, #3012) Or with a function to send a command
+  to gdb.
+
 Terminal emulator window:
-- Win32: Termdebug doesn't work, because gdb does not support mi2 on a tty.
-  This plugin: https://github.com/cpiger/NeoDebug  runs gdb as a job,
-  redirecting input and output.
-  Open new console for for program with: "set new-console on"
+- With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
+  #2977)
+- When typing : at the more prompt, instead of entering a new Vim command, the
+  : is inserted in the terminal window.  Should skip terminal_loop here.
+  ()
+- When pasting should call vterm_keyboard_start_paste(), e.g. when using
+  K_MIDDLEMOUSE, calling insert_reg().
+- Users expect parsing the :term argument like a shell does, also support
+  single quotes.  E.g. with:  :term grep 'alice says "hello"'  (#1999)
+- When running a shell in a terminal to run Vim tests, CTRL-W : the command
+  line keeps getting cleard.  Doing the same in another window is OK. (Jason
+  Franklin, 2018 Jun 17)
+- How to access selection in Terminal running a shell? (damnskippy, 2018 May
+  27, #29620  When terminal doesn't use the mouse, use modeless selection.
 - Win32: Redirecting input does not work, half of Test_terminal_redir_file()
   is disabled.
 - Win32: Redirecting output works but includes escape sequences.
@@ -61,9 +85,6 @@
   http://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134
 - When 'encoding' is not utf-8, or the job is using another encoding, setup
   conversions.
-- 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.
 
 Does not build with MinGW out of the box:
 - _stat64 is not defined, need to use "struct stat" in vim.h
@@ -75,26 +96,32 @@
 On Win32 when not in the console and t_Co >= 256, allow using 'tgc'.
 (Nobuhiro Takasaki, #2833)  Also check t_Co.
 
-Patch to fix arguments of :edit. (Dominique Pelle, 2018 May 28 #2966)
-
-Ptch to update html syntax. (Jorge Maldonado Ventura, #2974)
-
-Patch to fix that restoring window doesn't work when 'winheight' is large.
-(Darrell Nash, 2018 May 30, #2971)  Doesn't work?  Issue #2970
-
-Patch to add completion to :unlet for environment vars. (Jason Franklin, 2018
-May 30) Last update.
-
 Errors found with random data:
     heap-buffer-overflow in alist_add (#2472)
 
 More warnings from static analysis:
 https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
 
-Patch to make "is" and "as" work bettter. (Jason Franklin, 2018 May 19)
+Patch to make "is" and "as" work better. (Jason Franklin, 2018 May 19)
 
 Patch to add tests for user and language completion. (Dominique Pelle, 2018
-Jun 2, #2978)
+Jun 2, #2978)  typo wk -> we
+Patch to support user name completion on MS-Windows. (Yasuhiro Matsumoto, 2012
+Aug 16)
+
+Patch to add tests for libcall() and libcallnr(). (Dominique Pelle, #2982)
+
+Patch to fix that v:shell_error is always zero when using terminal for shell
+command. (Ichizok, 2018 Jun 8, #2994)
+
+Patch to make test for terminal out&error more reliable. (Ichizok, 2018 Jun 8,
+#2991)
+
+Patch to fix duplicate entry in tagfiles() and add a test. (Dominique Pelle,
+#2979)
+
+Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
+Related to bracketed paste.
 
 Using ":file" in quickfix window during an autocommand doesn't work. 
 (Jason Franklin, 2018 May 23) Allow for using it when there is no argument.
@@ -107,6 +134,9 @@
 Patch to add more testing for :cd command. (Dominique Pelle, 2018 May 30,
 #2972)
 
+Patch to make mode() return something different for Normal mode when coming
+from Insert mode with CTRL-O. (#3000)
+
 Script generated by :mksession does not work well if there are windows with
 modified buffers
   change "silent only" into "silent only!"
@@ -162,6 +192,12 @@
 Should add a test for every command line argument.  Check coverage for what is
 missing: --nofork, -A , -b, -h, etc.
 
+":au * * command" should not be allowed, only use * for event when listing or
+deleting autocmds, not when adding them.
+
+Quickfix window height is not kept with a vertical split. (Lifepillar, 2018
+Jun 10, #2998)
+
 Patch for variable tabstops.  On github (Christian Brabandt, 2014 May 15)
 Update 2018 March 12, #2711
 
@@ -215,7 +251,7 @@
 Avoid that "sign unplace id" does a redraw right away, esp. when there is a
 sequence of these commands. (Andy Stewart, 2018 Mar 16)
 
-ch_sendraw() with long string does not try to read inbetween, which may cause
+ch_sendraw() with long string does not try to read in between, which may cause
 a deadlock if the reading side is waiting for the write to finish. (Nate
 Bosch, 2018 Jan 13, #2548)
 
@@ -242,6 +278,9 @@
 
 Patch to support ":tag <tagkind> <tagname". (emmrk, 2018 May 7, #2871)
 
+Inserting a line in a CompleteDone autocommand may confuse undo. (micbou,
+2018 Jun 18, #3027)
+
 Implement option_save() and option_restore():
 option_restore({list})					*option_restore()*
 		Restore options previously saved by option_save().
@@ -933,7 +972,7 @@
 Add a way to restart a timer.  It's similar to timer_stop() and timer_start(),
 but the reference remains valid.
 
-Need to try out instructions in INSSTALLpc.txt about how to install all
+Need to try out instructions in INSTALLpc.txt about how to install all
 interfaces and how to build Vim with them.
 Appveyor build with self-installing executable, includes getting most
 interfaces: https://github.com/k-takata/vim/tree/chrisbra-appveyor-build
@@ -1511,9 +1550,6 @@
 Suggestion for another map. (Philip Mat, 2012 Jun 18)
 But use "gi" instead of "a".  Or use CTRL-\ CTRL-O.
 
-Patch to support user name completion on MS-Windows. (Yasuhiro Matsumoto, 2012
-Aug 16)
-
 When there are no command line arguments ":next" and ":argu" give E163, which
 is confusing.  Should say "the argument list is empty".
 
@@ -4168,8 +4204,6 @@
 	virtualmode()		add argument to obtain whether "$" was used in
 				Visual block mode.
 	getacp()		Win32: get codepage (Glenn Maynard)
-	deletebufline()		delete line in any buffer
-	appendbufline()		append line in any buffer
 	libcall()		Allow more than one argument.
 	libcallext()		Like libcall(), but using a callback function
 				to allow the library to execute a command or
