diff --git a/7.3.203 b/7.3.203
new file mode 100644
index 0000000..4cbb475
--- /dev/null
+++ b/7.3.203
@@ -0,0 +1,150 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.203
+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.203
+Problem:    MS-Windows: Can't run an external command without a console window.
+Solution:   Support ":!start /b cmd". (Xaizek)
+Files:	    runtime/doc/os_win32.txt, src/os_win32.c
+
+
+*** ../mercurial/vim73/runtime/doc/os_win32.txt	2011-01-08 16:05:50.000000000 +0100
+--- runtime/doc/os_win32.txt	2011-05-25 17:04:58.000000000 +0200
+***************
+*** 313,319 ****
+     with :!start do not get passed Vim's open file handles, which means they do
+     not have to be closed before Vim.
+     To avoid this special treatment, use ":! start".
+!    The optional "/min" argument causes the window to be minimized.
+  
+  Q. I'm using Win32s, and when I try to run an external command like "make",
+     Vim doesn't wait for it to finish!  Help!
+--- 313,348 ----
+     with :!start do not get passed Vim's open file handles, which means they do
+     not have to be closed before Vim.
+     To avoid this special treatment, use ":! start".
+!    There are two optional arguments (see the next Q):
+!        /min  the window will be minimized.
+!        /b"   no console window will be opened
+!    You can only one of these flags at a time.  A second second one will be
+!    treated as the start of the command.
+! 
+! Q. How do I avoid getting a window for programs that I run asynchronously?
+! A. You have two possible solutions depending on what exactly do you want:
+!    1) You may use the /min flag that would run program in minimized state with
+!       no other changes. It will work equally for console and GUI applications.
+!    2) You can use /b flag to run console applications without creating a
+!       console window for them (GUI applications are not affected). But you
+!       should use this flag only if application you run doesn't require any
+!       input.  Otherwise it will get an EOF error because it's input stream
+!       (stdin) would be redirected to \\.\NUL (stdour and stderr too).
+! 
+!    Example for a console application, run Exuberant ctags: >
+!         :!start /min ctags -R .
+! <  When it has finished you should see file named "tags" in your current
+!    directory.  You should notice the window title blinking on your taskbar.
+!    This is more noticable for commands that take longer.
+!    Now delete the "tags" file and run this command: >
+!         :!start /b ctags -R .
+! <  You should have the same "tags" file, but this time there will be no
+!    blinking on the taskbar.
+!    Example for a GUI application: >
+!         :!start /min notepad
+!         :!start /b notepad
+! <  The first command runs notepad minimized and the second one runs it
+!    normally.
+  
+  Q. I'm using Win32s, and when I try to run an external command like "make",
+     Vim doesn't wait for it to finish!  Help!
+*** ../mercurial/vim73/src/os_win32.c	2011-05-05 18:31:54.000000000 +0200
+--- src/os_win32.c	2011-05-25 16:45:31.000000000 +0200
+***************
+*** 3401,3406 ****
+--- 3401,3407 ----
+  	    {
+  		STARTUPINFO		si;
+  		PROCESS_INFORMATION	pi;
++ 		DWORD			flags = CREATE_NEW_CONSOLE;
+  
+  		si.cb = sizeof(si);
+  		si.lpReserved = NULL;
+***************
+*** 3418,3423 ****
+--- 3419,3440 ----
+  		    si.dwFlags = STARTF_USESHOWWINDOW;
+  		    si.wShowWindow = SW_SHOWMINNOACTIVE;
+  		}
++ 		else if ((STRNICMP(cmdbase, "/b", 2) == 0)
++ 			&& vim_iswhite(cmdbase[2]))
++ 		{
++ 		    cmdbase = skipwhite(cmdbase + 2);
++ 		    flags = CREATE_NO_WINDOW;
++ 		    si.dwFlags = STARTF_USESTDHANDLES;
++ 		    si.hStdInput = CreateFile("\\\\.\\NUL",	// File name
++ 			GENERIC_READ,				// Access flags
++ 			0,					// Share flags
++ 			NULL,					// Security att.
++ 			OPEN_EXISTING,				// Open flags
++ 			FILE_ATTRIBUTE_NORMAL,			// File att.
++ 			NULL);					// Temp file
++ 		    si.hStdOutput = si.hStdInput;
++ 		    si.hStdError = si.hStdInput;
++ 		}
+  
+  		/* When the command is in double quotes, but 'shellxquote' is
+  		 * empty, keep the double quotes around the command.
+***************
+*** 3445,3451 ****
+  			NULL,			// Process security attributes
+  			NULL,			// Thread security attributes
+  			FALSE,			// Inherit handles
+! 			CREATE_NEW_CONSOLE,	// Creation flags
+  			NULL,			// Environment
+  			NULL,			// Current directory
+  			&si,			// Startup information
+--- 3462,3468 ----
+  			NULL,			// Process security attributes
+  			NULL,			// Thread security attributes
+  			FALSE,			// Inherit handles
+! 			flags,			// Creation flags
+  			NULL,			// Environment
+  			NULL,			// Current directory
+  			&si,			// Startup information
+***************
+*** 3458,3463 ****
+--- 3475,3485 ----
+  		    EMSG(_("E371: Command not found"));
+  #endif
+  		}
++ 		if (si.hStdInput != NULL)
++ 		{
++ 		    /* Close the handle to \\.\NUL */
++ 		    CloseHandle(si.hStdInput);
++ 		}
+  		/* Close the handles to the subprocess, so that it goes away */
+  		CloseHandle(pi.hThread);
+  		CloseHandle(pi.hProcess);
+*** ../vim-7.3.202/src/version.c	2011-05-25 15:16:06.000000000 +0200
+--- src/version.c	2011-05-25 17:05:59.000000000 +0200
+***************
+*** 711,712 ****
+--- 711,714 ----
+  {   /* Add new patch number below this line */
++ /**/
++     203,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+108. While reading a magazine, you look for the Zoom icon for a better
+     look at a photograph.
+
+ /// 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    ///