diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 95df8bc..a1c487d 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Feb 27
+*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Feb 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,38 +30,8 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Win32 gettimeofday():
-Or use QueryPerformanceCounter() and QueryPerformanceFrequency()
-int gettimeofday (struct timeval *tv, void* tz)
-     {
-     union {
-     LONG_LONG ns100; /*time since 1 Jan 1601 in 100ns units */
-     FILETIME ft;
-     } now;
-    >
-     GetSystemTimeAsFileTime (&now.ft);
-     tv->tv_usec = (long) ((now.ns100 / 10LL) % 1000000LL);
-     tv->tv_sec = (long) ((now.ns100 - 116444736000000000LL) / 10000000LL);
-     return (0);
-     } 
-Or use GetSystemTime().
-Or:
-  unsigned long Ticks = 0;
-  unsigned long Sec =0;
-  unsigned long Usec = 0;
-  Ticks = timeGetTime();
-
-  Sec = Ticks/1000;
-  Usec = (Ticks - (Sec*1000))*1000;
-  tp->tv_sec = Sec;
-  tp->tv_usec = Usec;
-
-Test11 sometimes fails.  Must be a problem with fork() and pipes.
-
-'sw' is sometimes 8 when using :vimgrep.
-
-Mingw can use setjmp()?  Move code from os_unix.c to common file, adjust
-#ifdefs.  Try with example from Michaelis.
+Mingw code to catch out-of-stack error doesn't work.  See MINGW_TRY in
+regexp.c.  Try with example from Michaelis.
 
 Russian helpfile doesn't show up correctly when 'encoding' is koi8-r.
 (Vassily Ragosin 2005 Feb 16)
