diff --git a/7.4.295 b/7.4.295
new file mode 100644
index 0000000..bb01d0a
--- /dev/null
+++ b/7.4.295
@@ -0,0 +1,144 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.295
+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.4.295
+Problem:    Various typos, bad white space and unclear comments.
+Solution:   Fix typos.  Improve white space. Update comments.
+Files:	    src/testdir/test49.in, src/macros.h, src/screen.c, src/structs.h,
+	    src/gui_gtk_x11.c, src/os_unix.c
+
+
+*** ../vim-7.4.294/src/testdir/test49.in	2012-11-15 22:29:55.000000000 +0100
+--- src/testdir/test49.in	2013-11-08 01:06:23.000000000 +0100
+***************
+*** 1,7 ****
+  This is a test of the script language.
+  
+  If after adding a new test, the test output doesn't appear properly in
+! test49.failed, try to add one ore more "G"s at the line ending in "test.out"
+  
+  STARTTEST
+  :so small.vim
+--- 1,7 ----
+  This is a test of the script language.
+  
+  If after adding a new test, the test output doesn't appear properly in
+! test49.failed, try to add one or more "G"s at the line ending in "test.out"
+  
+  STARTTEST
+  :so small.vim
+*** ../vim-7.4.294/src/macros.h	2013-06-12 17:07:32.000000000 +0200
+--- src/macros.h	2013-11-08 04:12:45.000000000 +0100
+***************
+*** 264,270 ****
+  # define mb_ptr_adv(p)	    p += has_mbyte ? (*mb_ptr2len)(p) : 1
+  /* Advance multi-byte pointer, do not skip over composing chars. */
+  # define mb_cptr_adv(p)	    p += enc_utf8 ? utf_ptr2len(p) : has_mbyte ? (*mb_ptr2len)(p) : 1
+! /* Backup multi-byte pointer. */
+  # define mb_ptr_back(s, p)  p -= has_mbyte ? ((*mb_head_off)(s, p - 1) + 1) : 1
+  /* get length of multi-byte char, not including composing chars */
+  # define mb_cptr2len(p)	    (enc_utf8 ? utf_ptr2len(p) : (*mb_ptr2len)(p))
+--- 264,270 ----
+  # define mb_ptr_adv(p)	    p += has_mbyte ? (*mb_ptr2len)(p) : 1
+  /* Advance multi-byte pointer, do not skip over composing chars. */
+  # define mb_cptr_adv(p)	    p += enc_utf8 ? utf_ptr2len(p) : has_mbyte ? (*mb_ptr2len)(p) : 1
+! /* Backup multi-byte pointer. Only use with "p" > "s" ! */
+  # define mb_ptr_back(s, p)  p -= has_mbyte ? ((*mb_head_off)(s, p - 1) + 1) : 1
+  /* get length of multi-byte char, not including composing chars */
+  # define mb_cptr2len(p)	    (enc_utf8 ? utf_ptr2len(p) : (*mb_ptr2len)(p))
+*** ../vim-7.4.294/src/screen.c	2014-03-23 15:12:29.935264336 +0100
+--- src/screen.c	2014-03-27 11:34:36.128359605 +0100
+***************
+*** 2456,2463 ****
+  	if (len > 0)
+  	{
+  	    int	    w = number_width(wp);
+! 	    long num;
+! 	    char *fmt = "%*ld ";
+  
+  	    if (len > w + 1)
+  		len = w + 1;
+--- 2456,2463 ----
+  	if (len > 0)
+  	{
+  	    int	    w = number_width(wp);
+! 	    long    num;
+! 	    char    *fmt = "%*ld ";
+  
+  	    if (len > w + 1)
+  		len = w + 1;
+*** ../vim-7.4.294/src/structs.h	2014-03-23 16:03:56.171311627 +0100
+--- src/structs.h	2014-04-24 15:00:59.053101897 +0200
+***************
+*** 572,578 ****
+      unsigned	mf_page_size;		/* number of bytes in a page */
+      int		mf_dirty;		/* TRUE if there are dirty blocks */
+  #ifdef FEAT_CRYPT
+!     buf_T	*mf_buffer;		/* bufer this memfile is for */
+      char_u	mf_seed[MF_SEED_LEN];	/* seed for encryption */
+  
+      /* Values for key, method and seed used for reading data blocks when
+--- 572,578 ----
+      unsigned	mf_page_size;		/* number of bytes in a page */
+      int		mf_dirty;		/* TRUE if there are dirty blocks */
+  #ifdef FEAT_CRYPT
+!     buf_T	*mf_buffer;		/* buffer this memfile is for */
+      char_u	mf_seed[MF_SEED_LEN];	/* seed for encryption */
+  
+      /* Values for key, method and seed used for reading data blocks when
+*** ../vim-7.4.294/src/gui_gtk_x11.c	2014-04-29 15:11:39.783847283 +0200
+--- src/gui_gtk_x11.c	2014-05-07 20:27:54.545275130 +0200
+***************
+*** 2054,2059 ****
+--- 2054,2060 ----
+  
+      ssop_flags = save_ssop_flags;
+      g_free(mksession_cmdline);
++ 
+      /*
+       * Reopen the file and append a command to restore v:this_session,
+       * as if this save never happened.	This is to avoid conflicts with
+*** ../vim-7.4.294/src/os_unix.c	2014-04-23 12:52:36.499369426 +0200
+--- src/os_unix.c	2014-05-13 13:02:56.329579378 +0200
+***************
+*** 3783,3789 ****
+  	del_mouse_termcode(KS_URXVT_MOUSE);
+  # endif
+  # ifdef FEAT_MOUSE_SGR
+!     /* same as the dec mouse */
+      if (use_xterm_mouse() == 4
+  #  ifdef FEAT_GUI
+  	    && !gui.in_use
+--- 3783,3789 ----
+  	del_mouse_termcode(KS_URXVT_MOUSE);
+  # endif
+  # ifdef FEAT_MOUSE_SGR
+!     /* There is no conflict with xterm mouse */
+      if (use_xterm_mouse() == 4
+  #  ifdef FEAT_GUI
+  	    && !gui.in_use
+*** ../vim-7.4.294/src/version.c	2014-05-13 20:15:20.461806487 +0200
+--- src/version.c	2014-05-13 20:17:27.693807600 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+  {   /* Add new patch number below this line */
++ /**/
++     295,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+157. You fum through a magazine, you first check to see if it has a web
+     address.
+
+ /// 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    ///