diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index b606968..03e4981 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.2a.  Last change: 2008 Jun 24
+*todo.txt*      For Vim version 7.2b.  Last change: 2008 Jul 13
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,10 +30,20 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+":pedit %" with a BufReadPre autocommand causes the cursor to move to the
+first line. (Ingo Karkat, 2008 Jul 1)
+
 Have a look at patch for utf-8 line breaking. (Yongwei Wu, 2008 Mar 1, Mar 23)
 
-Drawing popup menu isn't quite right when there are double-wide characters.
-Yukihiro Nakadaira is working on a solution (2008 Jun 22).  Use mb_fix_col().
+Runtime files for Clojure. (Toralf Wittner, 2008 Jun 25)
+
+Patch to add extra argument to glob() and globpath() to ignore 'wildignore'.
+(Ingo Karkat, 2008 Jun 25)
+
+Crash with dragn-n-drop of file combined with netrw (Marius Gedminas, 2008 Jun
+11)  I can't reproduce it.  It's probably caused by a handle_drop() call
+in combination with autocommands that invoke a ":redraw" command.
+Another valgrind output Jun 30.
 
 When reallocating cmdline xp_pattern becomes invalid.  Move expand_T xpc into
 ccline?  (Dominique Pelle)
@@ -44,14 +54,9 @@
 
 Fix for matchparen HL doesn't work.  beep.
 
-Crash with dragn-n-drop of file combined with netrw (Marius Gedminas, 2008 Jun
-11)  I can't reproduce it.
-
 Win32: associating a type with Vim doesn't take care of space after a
 backslash? (Robert Vibrant, 2008 Jun 5)
 
-":let &g:tw = 44" sets the local option value. (Cyril Slobin, 2008 Apr 25)
-
 After using <Tab> for command line completion after ":ta blah" and getting E33
 (no tags file), further editing the command to e.g., ":echo 'blah'", the
 command is not executed.
@@ -69,10 +74,8 @@
 (Ivan Tishchenko, Liu Yubao)  Suggested patch by Chris Lubinski: Avoid
 escaping characters where the backslash is not removed later.  Asked Chris for
 an alternate solution, also for src/ex_getln.c.
-
-When adding path to 'tags' with a wildcard, it appears only a first match is
-used. (Erik Falor, 2008 April 18)  Or is it that a wildcard in the file name
-is not supported, only in the path?
+This also fails when the file or directory name contains "%". (Thoml, 2008
+July 7)
 
 The str2special() function doesn't handle multi-byte characters properly.
 Patch from Vladimir Vichniakov, 2007 Apr 24.
@@ -102,8 +105,6 @@
 GUI: In Normal mode can't yank the modeless selection.  Make "gy" do this?
 Works like CTRL-Y in Command line mode.
 
-Mac: patch for mouse wheel scroll under Leopard. (Eckehard Berns, 2007 Dec 7)
-
 Mac: After a ":vsplit" the left scrollbar doesn't appear until 'columns' is
 changed or the window is resized.
 
@@ -167,9 +168,6 @@
 
 More AmigaOS4 patches. (Peter Bengtsson, Nov 9)
 
-globpath() doesn't work as expected.  The example shows using 'path', but the
-"**8" form and upwards search are not supported.
-
 Error when cancelling completion menu and auto-formatting. (Tim Weber, 2008
 Apr 17)
 
@@ -205,6 +203,12 @@
 Completion: Scanning for tags doesn't check for typed key now and then?
 Hangs for about 5 seconds.  Appears to be caused by finding include files with
 "foo/**" in 'path'.  (Kalisiak, 2006 July 15)
+Additional info: When using the |wildcards| ** globing, vim hangs
+indefinitely on lots of directories. The |file-searching| globing, like in
+":set path=/**" does not hang as often as with globing with |wildcards|, like
+in ":1find /**/file".  This is for a files that unix "find" can find very
+quick. Merging the 2 kinds of globing might make this an easier fix. (Ian
+Kelling, 2008 July 4)
 
 When the file name has parenthesis, e.g., "foo (bar).txt", ":!ls '%'" has the
 parenthesis escaped but not the space.  That's inconsistent.  Either escape
@@ -309,7 +313,7 @@
 ":lockvar" should use copyID to avoid endless loop.
 
 When using --remote-silent and the file name matches 'wildignore' get an E479
-error.  without --remoete-silent it works fine. (Ben Fritz, 2008 Jun 20)
+error.  without --remote-silent it works fine. (Ben Fritz, 2008 Jun 20)
 
 Gvim: dialog for closing Vim should check if Vim is busy writing a file.  Then
 use a different dialog: "busy saving, really quit? yes / no".
@@ -332,7 +336,7 @@
 Test 61 fails sometimes.  This is a timing problem: "sleep 2" sometimes takes
 longer than 2 seconds.
 
-Changing 'guifont' in the console causes an uneccessary redraw.
+Changing 'guifont' in the console causes an unnecessary redraw.
 
 "vim -C" often has 'nocompatible', because it's set in some startup script.
 Set 'compatible' after startup is done?  Patch by James Vega, 2008 Feb 7.
@@ -368,7 +372,7 @@
 Gvimext: patch to add "Edit with single Vim &tabbed" menu entry.
 Just have two choices, always using one Vim and selecting between using an
 argument list or opening each file in a separate tab.
-(Erik Falor, 2008 May 21)
+(Erik Falor, 2008 May 21, 2008 Jun 26)
 
 GUI: When combining fg en bg make sure they are not equal.
 
@@ -581,6 +585,9 @@
 VERASE key is Delete.  Set VERASE to Backspace? (patch by Stephane Chazelas,
 2007 Oct 16)
 
+When entering a C /* comment, after typing <Enter> for 70 times the indent
+disappears. (Vincent Beffara, 2008 Jul 3)
+
 TermResponse autocommand isn't always triggered when using vimdiff. (Aron
 Griffis, 2007 Sep 19)
 
@@ -590,7 +597,7 @@
 
 
 Vim 7.3:
--   Add patch for 'relativenumber' option?  Markus Heidelberg, 2008 Feb 21
+-   Add patch for 'relativenumber' option?  Markus Heidelberg, 2008 Jun 27.
 -   Add blowfish encryption.  Openssl has an implementation.  Also by Paul
     Kocher (LGPL), close to original.  Mohsin also has some ideas.
     Take four bytes and turn them into unsigned to avoid byte-order problems.
@@ -671,6 +678,8 @@
 			Search in 'runtimepath'?
 			More docs needed about how to use this.
 			How to get the messages into the .po files?
+    charlen()		Like strlen() but counting characters instead of
+			bytes.
     confirm()		add "flags" argument, with 'v' for vertical
 			    layout and 'c' for console dialog. (Haegg)
 			    Flemming Madsen has a patch for the 'c' flag
@@ -1189,7 +1198,8 @@
 9   For Turkish vim_tolower() and vim_toupper() also need to use utf_
     functions for characters below 0x80. (Sertacyildiz)
 9   When the last edited file is a help file, using '0 in a new Vim doesn't
-    edit the file as a help file.
+    edit the file as a help file.  'filetype' is OK, but 'iskeyword' isn't,
+    file isn't readonly, etc.
 8   When an ":edit" is inside a try command and the ATTENTION prompt is used,
     the :catch commands are always executed, also when the file is edited
     normally.  Should reset did_emsg and undo side effects.  Also make sure
@@ -1198,6 +1208,7 @@
     'fileencoding' set to "bar", then do_ecmd() uses that buffer, even though
     the fileencoding differs.  Reload the buffer in this situation?  Need to
     check for the buffer to be unmodified.
+    Unfinished patch by Ian Kelling, 2008 Jul 11.
 8   ":g//" gives "Pattern not found error" with E486.  Should not use the
     error number, it's not a regular error message.
 7   Vimtutor leaves escape sequence in terminal. This is the xterm response to
@@ -1296,15 +1307,13 @@
 9   When editing a file with 'readonly' set, there is no check for an existing
     swap file.  Then using ":write" (without making any changes) doesn't give
     a warning either.  Should check for an existing swap file without creating
-    one.
+    one. Unfinished patch by Ian Kelling, 2008 July 7.
 7   When 'showbreak' is set, the amount of space a Tab occupies changes.
     Should work like 'showbreak' is inserted without changing the Tabs.
 7   When 'mousefocus' is set and switching to another window with a typed
     command, the mouse pointer may be moved to a part of the window that's
     covered by another window and we lose focus.  Only move in the y
     direction, not horizontally?
-8   When using CTRL-D after ":help", restrict the number of matches to a
-    thousand, otherwise using CTRL-D without an argument takes too long.
 8   ":hardcopy":
     - Using the cterm_color[] table is wrong when t_colors is > 16.
     - Need to handle unprintable characters.
@@ -1703,6 +1712,10 @@
 
 
 Spell checking:
+-   have some way not to give spelling errors for a range of characters.
+    E.g. for Chinese and other languages with specific characters for which we
+    don't have a spell file.  Useful when there is also text in other
+    languages in the file.
 -   Support more regions? Caolan McNamara argues it's needed for es_XX.
     https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219777    
 -   Unicode defines another quote character: 0x2019.  Use it as an equivalent
@@ -1727,7 +1740,7 @@
     WFP_COMPPERMIT and WFP_COMPFORBID
 8   implement use of <compoptions> in .spl file:
     implement CHECKCOMPOUNDREP: when a compound word seems to be OK apply REP
-    items and theck if the result is a valid word.
+    items and check if the result is a valid word.
     implement CHECKCOMPOUNDDUP
     implement CHECKCOMPOUNDTRIPLE
     Add CHECKCOMPOUNDCASE: when compounding make leading capital lower case.
@@ -2251,8 +2264,12 @@
 
 
 Performance:
-7   For strings up to 3 bytes don't allocate memory, use v_list itself as a
-    character array.  Use VAR_SSTRING (short string).
+7   For string variables up to 3 bytes don't allocate memory, use v_list
+    itself as a character array.  Use VAR_SSTRING (short string).
+8   move_lines() copies every line into allocated memory, making reloading a
+    buffer a lot slower than re-editing the file.  Can the memline be locked
+    so that we don't need to make a copy?  Or avoid invoking ml_updatechunk(),
+    that is taking a lot of time.  (Ralf Wildenhues, 2008 Jul 7)
 8   Instead of loading rgb.txt every time a color wasn't recognized load it
     once and keep it in memory.  Move the code to a common place to avoid
     repeating it in various system files.
@@ -2471,6 +2488,11 @@
     match.  Remove tag_fname from the match and combine it with the fname in
     the match (without expanding or other things that take time).  When
     'tagrelative' is off tag_fname isn't needed at all.
+8   For 'tags' wildcard in the file name is not supported, only in the path.
+    This is due to it using |file-searching|. Suboptimal solution would be to
+    make the filename or the whole option use |wildcards| globing, better
+    would be to merge the 2 kinds of globing. originall (Erik Falor, 2008
+    April 18), updated (Ian Kelling, 2008 July 4)
 8   Use a mechanism similar to omni completion to figure out the kind of tab
     for CTRL-] and jump to the appropriate matching tag (if there are
     several).
@@ -2724,6 +2746,8 @@
 
 
 Omni completion:
+-   Add a flag to 'complete' to be able to do omni completion with CTRL-N (and
+    mix it with other kinds of completion).
 -   Ideas from the Vim 7 BOF at SANE:
 	- For interpreted languages, use the interpreter to obtain information.
 	  Should work for Java (Eclipse does this), Python, Tcl, etc.
@@ -2755,6 +2779,9 @@
 -   GUI implementation of the popup menu.
 7   When searching in other files the name flash by, too fast to read.  Only
     display a name every second or so, like with ":vimgrep".
+7   When expanding file names with an environment variable, add the match with
+    the unexpanded var.  So $HOME/tm expands to "/home/guy/tmp" and
+    "$HOME/tmp"
 8   When there is no word before the cursor but something like "sys." complete
     with "sys.".  Works well for C and similar languages.
 9   ^X^L completion doesn't repeat correctly.  It uses the first match with
@@ -2903,6 +2930,7 @@
     same change, so that "." repeats the whole insert.
 7   Use CTRL-G <count> to repeat what follows.  Useful for inserting a
     character multiple times or repeating CTRL-Y.
+-   Make 'revins' work in Replace mode.
 7   Use 'matchpairs' for 'showmatch': When inserting a character check if it
     appears in the rhs of 'matchpairs'.
 -   In Insert mode (and command line editing?): Allow undo of the last typed
@@ -3558,6 +3586,8 @@
 7   Use CTRL-W <Tab>, like alt-tab, to switch between buffers.  Repeat <Tab>
     to select another buffer (only loaded ones?), <BS> to go back, <Enter> to
     select buffer, <Esc> to go back to original buffer.
+7   Make it possible to edit a new buffer in the preview window.  A script can
+    then fill it with something.  ":popen"?
 7   Add a 'tool' window: behaves like a preview window but there can be
     several.  Don't count it in only_one_window(). (Alexei Alexandrov)
 6   Add an option to resize the shell when splitting and/or closing a window.
