diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index f2b57a9..cf35b21 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0g.  Last change: 2006 May 04
+*todo.txt*      For Vim version 7.0g.  Last change: 2006 May 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,16 +30,8 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Cursor moved while evaluating balloonexpr. (Neil Bird)
-
-Change exists() not to ignore non-isk chars after the recognized word. (Benji
-Fisher)
-
-GTK1: tab page labels don't work. (Helmut Schellong)
-
-Test 61 fails sometimes.
-
-indent/html.vim doesn't restore 'ignorecase' and 'cpo'.
+Test 61 fails sometimes.  This is a timing problem with "sleep 2" not always
+taking 2 seconds.
 
 
 Awaiting updated patches:
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index c019080..5121a10 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0g.  Last change: 2006 May 04
+*version7.txt*  For Vim version 7.0g.  Last change: 2006 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -978,6 +978,28 @@
 |VimResized|		after the Vim window size changed (Yakov Lerner)
 
 
+New highlight groups: ~
+
+Pmenu                   Popup menu: normal item |hl-Pmenu|
+PmenuSel                Popup menu: selected item |hl-PmenuSel|
+PmenuThumb              Popup menu: scrollbar |hl-PmenuThumb|
+PmenuSbar               Popup menu: Thumb of the scrollbar |hl-PmenuSbar|
+
+TabLine                 tab pages line, inactive label |hl-TabLine|
+TabLineSel              tab pages line, selected label |hl-TabLineSel|
+TabLineFill             tab pages line, filler |hl-TabLineFill|
+
+SpellBad                badly spelled word |hl-SpellBad|
+SpellCap                word with wrong caps |hl-SpellCap|
+SpellRare               rare word |hl-SpellRare|
+SpellLocal              word only exists in other region |hl-SpellLocal|
+
+CursorColumn            'cursorcolumn' |hl-CursorColumn|
+CursorLine              'cursorline' |hl-CursorLine|
+
+MatchParen              matching parens |pi_paren.txt| |hl-MatchParen|
+
+
 New items in search patterns: ~
 |/\%d| \%d123		search for character with decimal number
 |/\]|  [\d123]		idem, in a colletion
@@ -2912,5 +2934,27 @@
 exists() could not be used to detect whether ":2match" is supported.  Added a
 check for it specifically.
 
+GTK1: Tab page labels didn't work. (Yegappan Lakshmanan)
+
+Insert mode completion: When finding matches use 'ignorecase', but when adding
+matches to the list don't use it, so that all words with different case are
+added, "word", "Word" and "WORD".
+
+When 'cursorline' and 'hlsearch' are set and the search pattern is "x\n"
+the rest of the line was highlighted as a match.
+
+Cursor moved while evaluating 'balloonexpr' that invokes ":isearch" and
+redirects the output.  Don't move the cursor to the command line if msg_silent
+is set.
+
+exists() ignored text after a function name and option name, which could
+result in false positives.
+
+exists() ignored characters after the recognized word, which can be wrong when
+using a name with non-keyword characters.  Specifically, these calls no longer
+allow characters after the name: exists('*funcname') exists('*funcname(...')
+exists('&option') exists(':cmd') exists('g:name') exists('g:name[n]')
+exists('g:name.n')
+
 
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c
index 36688ea..5779787 100644
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -3205,11 +3205,19 @@
 	    /* We handled the event. */
 	    return TRUE;
 	}
-	else if (bevent->button == 1 && clicked_page == 0)
+	else if (bevent->button == 1)
 	{
-	    /* Click after all tabs moves to next tab page. */
-	    if (send_tabline_event(0) && gtk_main_level() > 0)
-		gtk_main_quit();
+	    if (clicked_page == 0)
+	    {
+		/* Click after all tabs moves to next tab page. */
+		if (send_tabline_event(0) && gtk_main_level() > 0)
+		    gtk_main_quit();
+	    }
+#ifndef HAVE_GTK2
+	    else
+		gtk_notebook_set_page(GTK_NOTEBOOK(gui.tabline),
+							    clicked_page - 1);
+#endif
 	}
     }
 
@@ -3261,7 +3269,11 @@
 #ifndef HAVE_GTK2
 	showing_tabline = showit;
 #endif
+	if (showit)
+	    GTK_WIDGET_UNSET_FLAGS(GTK_WIDGET(gui.tabline), GTK_CAN_FOCUS);
     }
+
+    gui_mch_update();
 }
 
 /*
@@ -3668,9 +3680,7 @@
     gtk_notebook_set_show_border(GTK_NOTEBOOK(gui.tabline), FALSE);
     gtk_notebook_set_show_tabs(GTK_NOTEBOOK(gui.tabline), FALSE);
     gtk_notebook_set_scrollable(GTK_NOTEBOOK(gui.tabline), TRUE);
-# ifdef HAVE_GTK2
-    g_object_set(GTK_OBJECT(gui.tabline), "tab-border", 0, NULL);
-# endif
+    gtk_notebook_set_tab_border(GTK_NOTEBOOK(gui.tabline), FALSE);
 
     tabline_tooltip = gtk_tooltips_new();
     gtk_tooltips_enable(GTK_TOOLTIPS(tabline_tooltip));
