diff --git a/src/proto/gui_gtk.pro b/src/proto/gui_gtk.pro
index f1fdbe6..960d631 100644
--- a/src/proto/gui_gtk.pro
+++ b/src/proto/gui_gtk.pro
@@ -1,23 +1,23 @@
 /* gui_gtk.c */
-extern void gui_gtk_register_stock_icons __ARGS((void));
-extern void gui_mch_add_menu __ARGS((vimmenu_T *menu, int idx));
-extern void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
-extern void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
-extern void gui_gtk_set_mnemonics __ARGS((int enable));
-extern void gui_mch_toggle_tearoffs __ARGS((int enable));
-extern void gui_mch_menu_set_tip __ARGS((vimmenu_T *menu));
-extern void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
-extern void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, long max));
-extern void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
-extern void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
-extern void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
-extern char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
-extern char_u *gui_mch_browsedir __ARGS((char_u *title, char_u *initdir));
-extern int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int def_but, char_u *textfield));
-extern void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
-extern void gui_make_popup __ARGS((char_u *path_name, int mouse_pos));
-extern void gui_mch_find_dialog __ARGS((exarg_T *eap));
-extern void gui_mch_replace_dialog __ARGS((exarg_T *eap));
-extern void gui_gtk_synch_fonts __ARGS((void));
-extern void ex_helpfind __ARGS((exarg_T *eap));
+void gui_gtk_register_stock_icons __ARGS((void));
+void gui_mch_add_menu __ARGS((vimmenu_T *menu, int idx));
+void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
+void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
+void gui_gtk_set_mnemonics __ARGS((int enable));
+void gui_mch_toggle_tearoffs __ARGS((int enable));
+void gui_mch_menu_set_tip __ARGS((vimmenu_T *menu));
+void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
+void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, long max));
+void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
+void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
+void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
+char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
+char_u *gui_mch_browsedir __ARGS((char_u *title, char_u *initdir));
+int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int def_but, char_u *textfield));
+void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
+void gui_make_popup __ARGS((char_u *path_name, int mouse_pos));
+void gui_mch_find_dialog __ARGS((exarg_T *eap));
+void gui_mch_replace_dialog __ARGS((exarg_T *eap));
+void gui_gtk_synch_fonts __ARGS((void));
+void ex_helpfind __ARGS((exarg_T *eap));
 /* vim: set ft=c : */
diff --git a/src/version.h b/src/version.h
index 33a435f..97500d0 100644
--- a/src/version.h
+++ b/src/version.h
@@ -15,17 +15,17 @@
 
 #define VIM_VERSION_MAJOR		 7
 #define VIM_VERSION_MAJOR_STR		"7"
-#define VIM_VERSION_MINOR		 0
-#define VIM_VERSION_MINOR_STR		"0"
+#define VIM_VERSION_MINOR		 1
+#define VIM_VERSION_MINOR_STR		"1"
 #define VIM_VERSION_100	    (VIM_VERSION_MAJOR * 100 + VIM_VERSION_MINOR)
 
-#define VIM_VERSION_BUILD		 262
-#define VIM_VERSION_BUILD_BCD		0x106
-#define VIM_VERSION_BUILD_STR		"262"
+#define VIM_VERSION_BUILD		 263
+#define VIM_VERSION_BUILD_BCD		0x107
+#define VIM_VERSION_BUILD_STR		"263"
 #define VIM_VERSION_PATCHLEVEL		 0
 #define VIM_VERSION_PATCHLEVEL_STR	"0"
 /* Used by MacOS port should be one of: development, alpha, beta, final */
-#define VIM_VERSION_RELEASE		final
+#define VIM_VERSION_RELEASE		beta
 
 /*
  * VIM_VERSION_NODOT is used for the runtime directory name.
@@ -33,8 +33,8 @@
  * VIM_VERSION_MEDIUM is used for the startup-screen.
  * VIM_VERSION_LONG is used for the ":version" command and "Vim -h".
  */
-#define VIM_VERSION_NODOT	"vim70"
-#define VIM_VERSION_SHORT	"7.0"
-#define VIM_VERSION_MEDIUM	"7.0"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0 (2006 May 7)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0 (2006 May 7, compiled "
+#define VIM_VERSION_NODOT	"vim71a"
+#define VIM_VERSION_SHORT	"7.1a"
+#define VIM_VERSION_MEDIUM	"7.1a BETA"
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.1a BETA (2007 May 5)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.1a BETA (2007 May 5, compiled "
