To: vim_dev@googlegroups.com
Subject: Patch 7.3.102
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------

Patch 7.3.102
Problem:    When using ":make", typing the next command and then getting the
            "reload" prompt the next command is (partly) eaten by the reload
            prompt.
Solution:   Accept ':' as a special character at the reload prompt to accept
            the default choice and execute the command.
Files:      src/eval.c, src/fileio.c, src/gui.c, src/gui_xmdlg.c,
            src/memline.c, src/message.c, src/proto/message.pro,
            src/gui_athena.c, src/gui_gtk.c, src/gui_mac.c, src/gui_motif.c,
            src/gui_photon.c, src/gui_w16.c, src/gui_w32.c, src/os_mswin.c
            src/proto/gui_athena.pro, src/proto/gui_gtk.pro,
            src/proto/gui_mac.pro, src/proto/gui_motif.pro,
            src/proto/gui_photon.pro, src/proto/gui_w16.pro,
            src/proto/gui_w32.pro


*** ../vim-7.3.101/src/eval.c	2011-01-04 19:03:22.000000000 +0100
--- src/eval.c	2011-01-16 00:14:21.000000000 +0100
***************
*** 9323,9329 ****
  
      if (!error)
  	rettv->vval.v_number = do_dialog(type, NULL, message, buttons,
! 								   def, NULL);
  #endif
  }
  
--- 9323,9329 ----
  
      if (!error)
  	rettv->vval.v_number = do_dialog(type, NULL, message, buttons,
! 							    def, NULL, FALSE);
  #endif
  }
  
***************
*** 12744,12750 ****
  	    IObuff[0] = NUL;
  	if (message != NULL && defstr != NULL
  		&& do_dialog(VIM_QUESTION, NULL, message,
! 				(char_u *)_("&OK\n&Cancel"), 1, IObuff) == 1)
  	    rettv->vval.v_string = vim_strsave(IObuff);
  	else
  	{
--- 12744,12750 ----
  	    IObuff[0] = NUL;
  	if (message != NULL && defstr != NULL
  		&& do_dialog(VIM_QUESTION, NULL, message,
! 			  (char_u *)_("&OK\n&Cancel"), 1, IObuff, FALSE) == 1)
  	    rettv->vval.v_string = vim_strsave(IObuff);
  	else
  	{
*** ../vim-7.3.101/src/fileio.c	2010-12-17 18:06:00.000000000 +0100
--- src/fileio.c	2011-01-16 00:14:37.000000000 +0100
***************
*** 7008,7014 ****
  		    STRCAT(tbuf, mesg2);
  		}
  		if (do_dialog(VIM_WARNING, (char_u *)_("Warning"), tbuf,
! 				(char_u *)_("&OK\n&Load File"), 1, NULL) == 2)
  		    reload = TRUE;
  	    }
  	    else
--- 7008,7014 ----
  		    STRCAT(tbuf, mesg2);
  		}
  		if (do_dialog(VIM_WARNING, (char_u *)_("Warning"), tbuf,
! 			  (char_u *)_("&OK\n&Load File"), 1, NULL, TRUE) == 2)
  		    reload = TRUE;
  	    }
  	    else
*** ../vim-7.3.101/src/gui.c	2010-10-20 19:17:43.000000000 +0200
--- src/gui.c	2011-01-16 00:14:56.000000000 +0100
***************
*** 4903,4909 ****
  		if (STRLEN(p) > 2000)
  		    STRCPY(p + 2000 - 14, "...(truncated)");
  		(void)do_dialog(VIM_ERROR, (char_u *)_("Error"),
! 					      p, (char_u *)_("&Ok"), 1, NULL);
  		break;
  	    }
  	ga_clear(&error_ga);
--- 4903,4909 ----
  		if (STRLEN(p) > 2000)
  		    STRCPY(p + 2000 - 14, "...(truncated)");
  		(void)do_dialog(VIM_ERROR, (char_u *)_("Error"),
! 				       p, (char_u *)_("&Ok"), 1, NULL, FALSE);
  		break;
  	    }
  	ga_clear(&error_ga);
*** ../vim-7.3.101/src/gui_xmdlg.c	2010-08-15 21:57:32.000000000 +0200
--- src/gui_xmdlg.c	2011-01-16 00:15:33.000000000 +0100
***************
*** 688,694 ****
  	    do_dialog(VIM_ERROR,
  		    (char_u *)_("Error"),
  		    (char_u *)_("Invalid font specification"),
! 		    (char_u *)_("&Dismiss"), 1, NULL);
  
  	return True;
      }
--- 688,694 ----
  	    do_dialog(VIM_ERROR,
  		    (char_u *)_("Error"),
  		    (char_u *)_("Invalid font specification"),
! 		    (char_u *)_("&Dismiss"), 1, NULL, FALSE);
  
  	return True;
      }
***************
*** 807,813 ****
  	do_dialog(VIM_ERROR,
  		(char_u *)_("Error"),
  		(char_u *)_("Invalid font specification"),
! 		(char_u *)_("&Dismiss"), 1, NULL);
  	XFreeFontNames(name);
      }
      else
--- 807,813 ----
  	do_dialog(VIM_ERROR,
  		(char_u *)_("Error"),
  		(char_u *)_("Invalid font specification"),
! 		(char_u *)_("&Dismiss"), 1, NULL, FALSE);
  	XFreeFontNames(name);
      }
      else
*** ../vim-7.3.101/src/memline.c	2010-12-17 20:23:56.000000000 +0100
--- src/memline.c	2011-01-16 00:15:47.000000000 +0100
***************
*** 4516,4522 ****
  				    process_still_running
  					? (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Quit\n&Abort") :
  # endif
! 					(char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Delete it\n&Quit\n&Abort"), 1, NULL);
  
  # if defined(UNIX) || defined(__EMX__) || defined(VMS)
  			if (process_still_running && choice >= 4)
--- 4516,4522 ----
  				    process_still_running
  					? (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Quit\n&Abort") :
  # endif
! 					(char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Delete it\n&Quit\n&Abort"), 1, NULL, FALSE);
  
  # if defined(UNIX) || defined(__EMX__) || defined(VMS)
  			if (process_still_running && choice >= 4)
*** ../vim-7.3.101/src/message.c	2011-01-04 19:25:46.000000000 +0100
--- src/message.c	2011-01-17 19:57:30.000000000 +0100
***************
*** 3315,3321 ****
   * different letter.
   */
      int
! do_dialog(type, title, message, buttons, dfltbutton, textfield)
      int		type UNUSED;
      char_u	*title UNUSED;
      char_u	*message;
--- 3315,3321 ----
   * different letter.
   */
      int
! do_dialog(type, title, message, buttons, dfltbutton, textfield, ex_cmd)
      int		type UNUSED;
      char_u	*title UNUSED;
      char_u	*message;
***************
*** 3323,3328 ****
--- 3323,3330 ----
      int		dfltbutton;
      char_u	*textfield UNUSED;	/* IObuff for inputdialog(), NULL
  					   otherwise */
+     int		ex_cmd;	    /* when TRUE pressing : accepts default and starts
+ 			       Ex command */
  {
      int		oldState;
      int		retval = 0;
***************
*** 3341,3347 ****
      if (gui.in_use && vim_strchr(p_go, GO_CONDIALOG) == NULL)
      {
  	c = gui_mch_dialog(type, title, message, buttons, dfltbutton,
! 								   textfield);
  	/* avoid a hit-enter prompt without clearing the cmdline */
  	need_wait_return = FALSE;
  	emsg_on_display = FALSE;
--- 3343,3349 ----
      if (gui.in_use && vim_strchr(p_go, GO_CONDIALOG) == NULL)
      {
  	c = gui_mch_dialog(type, title, message, buttons, dfltbutton,
! 							   textfield, ex_cmd);
  	/* avoid a hit-enter prompt without clearing the cmdline */
  	need_wait_return = FALSE;
  	emsg_on_display = FALSE;
***************
*** 3388,3393 ****
--- 3390,3402 ----
  	    default:		/* Could be a hotkey? */
  		if (c < 0)	/* special keys are ignored here */
  		    continue;
+ 		if (c == ':' && ex_cmd)
+ 		{
+ 		    retval = dfltbutton;
+ 		    ins_char_typebuf(':');
+ 		    break;
+ 		}
+ 
  		/* Make the character lowercase, as chars in "hotkeys" are. */
  		c = MB_TOLOWER(c);
  		retval = 1;
***************
*** 3661,3667 ****
      if (do_dialog(type,
  		title == NULL ? (char_u *)_("Question") : title,
  		message,
! 		(char_u *)_("&Yes\n&No"), dflt, NULL) == 1)
  	return VIM_YES;
      return VIM_NO;
  }
--- 3670,3676 ----
      if (do_dialog(type,
  		title == NULL ? (char_u *)_("Question") : title,
  		message,
! 		(char_u *)_("&Yes\n&No"), dflt, NULL, FALSE) == 1)
  	return VIM_YES;
      return VIM_NO;
  }
***************
*** 3676,3682 ****
      switch (do_dialog(type,
  		title == NULL ? (char_u *)_("Question") : title,
  		message,
! 		(char_u *)_("&Yes\n&No\n&Cancel"), dflt, NULL))
      {
  	case 1: return VIM_YES;
  	case 2: return VIM_NO;
--- 3685,3691 ----
      switch (do_dialog(type,
  		title == NULL ? (char_u *)_("Question") : title,
  		message,
! 		(char_u *)_("&Yes\n&No\n&Cancel"), dflt, NULL, FALSE))
      {
  	case 1: return VIM_YES;
  	case 2: return VIM_NO;
***************
*** 3695,3701 ****
  		title == NULL ? (char_u *)"Question" : title,
  		message,
  		(char_u *)_("&Yes\n&No\nSave &All\n&Discard All\n&Cancel"),
! 								  dflt, NULL))
      {
  	case 1: return VIM_YES;
  	case 2: return VIM_NO;
--- 3704,3710 ----
  		title == NULL ? (char_u *)"Question" : title,
  		message,
  		(char_u *)_("&Yes\n&No\nSave &All\n&Discard All\n&Cancel"),
! 							   dflt, NULL, FALSE))
      {
  	case 1: return VIM_YES;
  	case 2: return VIM_NO;
*** ../vim-7.3.101/src/proto/message.pro	2010-10-20 21:22:17.000000000 +0200
--- src/proto/message.pro	2011-01-16 00:22:36.000000000 +0100
***************
*** 64,70 ****
  int verbose_open __ARGS((void));
  void give_warning __ARGS((char_u *message, int hl));
  void msg_advance __ARGS((int col));
! int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
  void display_confirm_msg __ARGS((void));
  int vim_dialog_yesno __ARGS((int type, char_u *title, char_u *message, int dflt));
  int vim_dialog_yesnocancel __ARGS((int type, char_u *title, char_u *message, int dflt));
--- 64,70 ----
  int verbose_open __ARGS((void));
  void give_warning __ARGS((char_u *message, int hl));
  void msg_advance __ARGS((int col));
! int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
  void display_confirm_msg __ARGS((void));
  int vim_dialog_yesno __ARGS((int type, char_u *title, char_u *message, int dflt));
  int vim_dialog_yesnocancel __ARGS((int type, char_u *title, char_u *message, int dflt));
*** ../vim-7.3.101/src/gui_athena.c	2010-08-15 21:57:25.000000000 +0200
--- src/gui_athena.c	2011-01-16 00:18:47.000000000 +0100
***************
*** 2117,2129 ****
  }
  
      int
! gui_mch_dialog(type, title, message, buttons, dfltbutton, textfield)
      int		type UNUSED;
      char_u	*title;
      char_u	*message;
      char_u	*buttons;
      int		dfltbutton UNUSED;
      char_u	*textfield;
  {
      char_u		*buts;
      char_u		*p, *next;
--- 2117,2130 ----
  }
  
      int
! gui_mch_dialog(type, title, message, buttons, dfltbutton, textfield, ex_cmd)
      int		type UNUSED;
      char_u	*title;
      char_u	*message;
      char_u	*buttons;
      int		dfltbutton UNUSED;
      char_u	*textfield;
+     int		ex_cmd UNUSED;
  {
      char_u		*buts;
      char_u		*p, *next;
*** ../vim-7.3.101/src/gui_gtk.c	2010-12-08 13:11:15.000000000 +0100
--- src/gui_gtk.c	2011-01-16 00:24:44.000000000 +0100
***************
*** 1268,1274 ****
  	       char_u	*message,   /* message text */
  	       char_u	*buttons,   /* names of buttons */
  	       int	def_but,    /* default button */
! 	       char_u	*textfield) /* text for textfield or NULL */
  {
      GtkWidget	*dialog;
      GtkWidget	*entry = NULL;
--- 1268,1275 ----
  	       char_u	*message,   /* message text */
  	       char_u	*buttons,   /* names of buttons */
  	       int	def_but,    /* default button */
! 	       char_u	*textfield, /* text for textfield or NULL */
! 	       int	ex_cmd UNUSED)
  {
      GtkWidget	*dialog;
      GtkWidget	*entry = NULL;
*** ../vim-7.3.101/src/gui_mac.c	2010-09-21 17:34:26.000000000 +0200
--- src/gui_mac.c	2011-01-16 00:19:52.000000000 +0100
***************
*** 5583,5589 ****
      char_u	*message,
      char_u	*buttons,
      int		dfltbutton,
!     char_u	*textfield)
  {
      Handle	buttonDITL;
      Handle	iconDITL;
--- 5583,5590 ----
      char_u	*message,
      char_u	*buttons,
      int		dfltbutton,
!     char_u	*textfield,
!     int		ex_cmd)
  {
      Handle	buttonDITL;
      Handle	iconDITL;
*** ../vim-7.3.101/src/gui_motif.c	2010-08-15 21:57:28.000000000 +0200
--- src/gui_motif.c	2011-01-16 00:20:14.000000000 +0100
***************
*** 2549,2561 ****
  #endif
  
      int
! gui_mch_dialog(type, title, message, button_names, dfltbutton, textfield)
      int		type UNUSED;
      char_u	*title;
      char_u	*message;
      char_u	*button_names;
      int		dfltbutton;
      char_u	*textfield;		/* buffer of size IOSIZE */
  {
      char_u		*buts;
      char_u		*p, *next;
--- 2549,2562 ----
  #endif
  
      int
! gui_mch_dialog(type, title, message, button_names, dfltbutton, textfield, ex_cmd)
      int		type UNUSED;
      char_u	*title;
      char_u	*message;
      char_u	*button_names;
      int		dfltbutton;
      char_u	*textfield;		/* buffer of size IOSIZE */
+     int		ex_cmd UNUSED;
  {
      char_u		*buts;
      char_u		*p, *next;
*** ../vim-7.3.101/src/gui_photon.c	2010-08-15 21:57:27.000000000 +0200
--- src/gui_photon.c	2011-01-16 00:20:28.000000000 +0100
***************
*** 1502,1508 ****
  	char_u	*message,
  	char_u	*buttons,
  	int	default_button,
! 	char_u	*textfield)
  {
      char_u	*str;
      char_u	**button_array;
--- 1502,1509 ----
  	char_u	*message,
  	char_u	*buttons,
  	int	default_button,
! 	char_u	*textfield,
! 	int	ex_cmd)
  {
      char_u	*str;
      char_u	**button_array;
*** ../vim-7.3.101/src/gui_w16.c	2010-08-15 21:57:28.000000000 +0200
--- src/gui_w16.c	2011-01-16 00:20:48.000000000 +0100
***************
*** 1098,1104 ****
      char_u	*message,
      char_u	*buttons,
      int		 dfltbutton,
!     char_u	*textfield)
  {
      FARPROC	dp;
      LPWORD	p, pnumitems;
--- 1098,1105 ----
      char_u	*message,
      char_u	*buttons,
      int		 dfltbutton,
!     char_u	*textfield,
!     int		ex_cmd)
  {
      FARPROC	dp;
      LPWORD	p, pnumitems;
*** ../vim-7.3.101/src/gui_w32.c	2010-10-27 12:33:12.000000000 +0200
--- src/gui_w32.c	2011-01-16 00:21:08.000000000 +0100
***************
*** 3005,3011 ****
      char_u	*message,
      char_u	*buttons,
      int		 dfltbutton,
!     char_u	*textfield)
  {
      WORD	*p, *pdlgtemplate, *pnumitems;
      DWORD	*dwp;
--- 3005,3012 ----
      char_u	*message,
      char_u	*buttons,
      int		 dfltbutton,
!     char_u	*textfield,
!     int		ex_cmd)
  {
      WORD	*p, *pdlgtemplate, *pnumitems;
      DWORD	*dwp;
*** ../vim-7.3.101/src/os_mswin.c	2010-12-17 20:23:56.000000000 +0100
--- src/os_mswin.c	2011-01-16 00:21:41.000000000 +0100
***************
*** 593,599 ****
  				     gui.starting ? (char_u *)_("Message") :
  #endif
  					     (char_u *)_("Error"),
! 				     p, (char_u *)_("&Ok"), 1, NULL);
  		break;
  	    }
  	ga_clear(&error_ga);
--- 593,599 ----
  				     gui.starting ? (char_u *)_("Message") :
  #endif
  					     (char_u *)_("Error"),
! 				     p, (char_u *)_("&Ok"), 1, NULL, FALSE);
  		break;
  	    }
  	ga_clear(&error_ga);
*** ../vim-7.3.101/src/proto/gui_athena.pro	2010-08-15 21:57:28.000000000 +0200
--- src/proto/gui_athena.pro	2011-01-16 00:23:00.000000000 +0100
***************
*** 27,31 ****
  void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
  Window gui_x11_get_wid __ARGS((void));
  char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
  /* vim: set ft=c : */
--- 27,31 ----
  void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
  Window gui_x11_get_wid __ARGS((void));
  char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
  /* vim: set ft=c : */
*** ../vim-7.3.101/src/proto/gui_gtk.pro	2010-08-15 21:57:28.000000000 +0200
--- src/proto/gui_gtk.pro	2011-01-16 00:22:57.000000000 +0100
***************
*** 13,19 ****
  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));
--- 13,19 ----
  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, int ex_cmd));
  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));
*** ../vim-7.3.101/src/proto/gui_mac.pro	2010-08-15 21:57:28.000000000 +0200
--- src/proto/gui_mac.pro	2011-01-16 00:31:46.000000000 +0100
***************
*** 81,87 ****
  int gui_mch_get_mouse_y __ARGS((void));
  void gui_mch_setmouse __ARGS((int x, int y));
  void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
  char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
  void gui_mch_set_foreground __ARGS((void));
  void gui_mch_show_tabline __ARGS((int showit));
--- 81,87 ----
  int gui_mch_get_mouse_y __ARGS((void));
  void gui_mch_setmouse __ARGS((int x, int y));
  void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
  char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
  void gui_mch_set_foreground __ARGS((void));
  void gui_mch_show_tabline __ARGS((int showit));
*** ../vim-7.3.101/src/proto/gui_motif.pro	2010-08-15 21:57:28.000000000 +0200
--- src/proto/gui_motif.pro	2011-01-16 00:22:58.000000000 +0100
***************
*** 29,35 ****
  void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
  Window gui_x11_get_wid __ARGS((void));
  char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *button_names, int dfltbutton, char_u *textfield));
  void gui_mch_enable_footer __ARGS((int showit));
  void gui_mch_set_footer __ARGS((char_u *s));
  void gui_mch_show_toolbar __ARGS((int showit));
--- 29,35 ----
  void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
  Window gui_x11_get_wid __ARGS((void));
  char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *button_names, int dfltbutton, char_u *textfield, int ex_cmd));
  void gui_mch_enable_footer __ARGS((int showit));
  void gui_mch_set_footer __ARGS((char_u *s));
  void gui_mch_show_toolbar __ARGS((int showit));
*** ../vim-7.3.101/src/proto/gui_photon.pro	2010-08-15 21:57:28.000000000 +0200
--- src/proto/gui_photon.pro	2011-01-16 00:32:33.000000000 +0100
***************
*** 8,14 ****
  void gui_mch_update __ARGS((void));
  int gui_mch_wait_for_chars __ARGS((int wtime));
  char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *default_name, char_u *ext, char_u *initdir, char_u *filter));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int default_button, char_u *textfield));
  int gui_mch_get_winpos __ARGS((int *x, int *y));
  void gui_mch_set_winpos __ARGS((int x, int y));
  void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height, int direction));
--- 8,14 ----
  void gui_mch_update __ARGS((void));
  int gui_mch_wait_for_chars __ARGS((int wtime));
  char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *default_name, char_u *ext, char_u *initdir, char_u *filter));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int default_button, char_u *textfield, int ex_cmd));
  int gui_mch_get_winpos __ARGS((int *x, int *y));
  void gui_mch_set_winpos __ARGS((int x, int y));
  void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height, int direction));
*** ../vim-7.3.101/src/proto/gui_w16.pro	2010-08-15 21:57:28.000000000 +0200
--- src/proto/gui_w16.pro	2011-01-16 00:34:36.000000000 +0100
***************
*** 74,79 ****
  void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
  void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
  void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
  void gui_mch_set_foreground __ARGS((void));
  /* vim: set ft=c : */
--- 74,79 ----
  void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
  void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
  void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
  void gui_mch_set_foreground __ARGS((void));
  /* vim: set ft=c : */
*** ../vim-7.3.101/src/proto/gui_w32.pro	2010-08-15 21:57:28.000000000 +0200
--- src/proto/gui_w32.pro	2011-01-16 00:33:12.000000000 +0100
***************
*** 81,87 ****
  void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
  void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
  void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
  void gui_mch_set_foreground __ARGS((void));
  void gui_mch_drawsign __ARGS((int row, int col, int typenr));
  void *gui_mch_register_sign __ARGS((char_u *signfile));
--- 81,87 ----
  void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
  void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
  void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
  void gui_mch_set_foreground __ARGS((void));
  void gui_mch_drawsign __ARGS((int row, int col, int typenr));
  void *gui_mch_register_sign __ARGS((char_u *signfile));
*** ../vim-7.3.101/src/version.c	2011-01-17 19:53:20.000000000 +0100
--- src/version.c	2011-01-17 20:05:02.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
  {   /* Add new patch number below this line */
+ /**/
+     102,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
110. You actually volunteer to become your employer's webmaster.

 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
