diff --git a/7.1.161 b/7.1.161
new file mode 100644
index 0000000..69469ca
--- /dev/null
+++ b/7.1.161
@@ -0,0 +1,176 @@
+To: vim-dev@vim.org
+Subject: Patch 7.1.161
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.1.161
+Problem:    Compilation errors with tiny features and EXITFREE.
+Solution:   Add #ifdefs. (Dominique Pelle)
+Files:	    src/edit.c, src/misc2.c
+
+
+*** ../vim-7.1.160/src/edit.c	Thu Nov  8 13:03:33 2007
+--- src/edit.c	Sat Nov 24 14:57:46 2007
+***************
+*** 2236,2242 ****
+  	    while (i < actual_len && (p - IObuff + 6) < IOSIZE)
+  #ifdef FEAT_MBYTE
+  		if (has_mbyte)
+! 		    p += mb_char2bytes(wca[i++], p);
+  		else
+  #endif
+  		    *(p++) = wca[i++];
+--- 2236,2242 ----
+  	    while (i < actual_len && (p - IObuff + 6) < IOSIZE)
+  #ifdef FEAT_MBYTE
+  		if (has_mbyte)
+! 		    p += (*mb_char2bytes)(wca[i++], p);
+  		else
+  #endif
+  		    *(p++) = wca[i++];
+***************
+*** 6444,6451 ****
+--- 6444,6453 ----
+  {
+      vim_free(last_insert);
+      last_insert = NULL;
++ # ifdef FEAT_INS_EXPAND
+      vim_free(compl_orig_text);
+      compl_orig_text = NULL;
++ # endif
+  }
+  #endif
+  
+*** ../vim-7.1.160/src/misc2.c	Thu Nov  8 20:47:34 2007
+--- src/misc2.c	Sat Nov 24 15:01:46 2007
+***************
+*** 964,970 ****
+  {
+      buf_T	*buf, *nextbuf;
+      static int	entered = FALSE;
+-     win_T	*win;
+  
+      /* When we cause a crash here it is caught and Vim tries to exit cleanly.
+       * Don't try freeing everything again. */
+--- 965,970 ----
+***************
+*** 972,986 ****
+  	return;
+      entered = TRUE;
+  
+      block_autocmds();	    /* don't want to trigger autocommands here */
+  
+! #ifdef FEAT_WINDOWS
+      /* close all tabs and windows */
+      if (first_tabpage->tp_next != NULL)
+  	do_cmdline_cmd((char_u *)"tabonly!");
+      if (firstwin != lastwin)
+  	do_cmdline_cmd((char_u *)"only!");
+! #endif
+  
+  # if defined(FEAT_SPELL)
+      /* Free all spell info. */
+--- 972,988 ----
+  	return;
+      entered = TRUE;
+  
++ # ifdef FEAT_AUTOCMD
+      block_autocmds();	    /* don't want to trigger autocommands here */
++ # endif
+  
+! # ifdef FEAT_WINDOWS
+      /* close all tabs and windows */
+      if (first_tabpage->tp_next != NULL)
+  	do_cmdline_cmd((char_u *)"tabonly!");
+      if (firstwin != lastwin)
+  	do_cmdline_cmd((char_u *)"only!");
+! # endif
+  
+  # if defined(FEAT_SPELL)
+      /* Free all spell info. */
+***************
+*** 1031,1038 ****
+--- 1033,1044 ----
+      free_regexp_stuff();
+      free_tag_stuff();
+      free_cd_dir();
++ # ifdef FEAT_EVAL
+      set_expr_line(NULL);
++ # endif
++ # ifdef FEAT_DIFF
+      diff_clear(curtab);
++ # endif
+      clear_sb_text();	      /* free any scrollback text */
+  
+      /* Free some global vars. */
+***************
+*** 1041,1059 ****
+      vim_free(clip_exclude_prog);
+  # endif
+      vim_free(last_cmdline);
+      vim_free(new_last_cmdline);
+      set_keep_msg(NULL, 0);
+      vim_free(ff_expand_buffer);
+  
+      /* Clear cmdline history. */
+      p_hi = 0;
+      init_history();
+  
+  #ifdef FEAT_QUICKFIX
+!     qf_free_all(NULL);
+!     /* Free all location lists */
+!     FOR_ALL_WINDOWS(win)
+! 	qf_free_all(win);
+  #endif
+  
+      /* Close all script inputs. */
+--- 1047,1073 ----
+      vim_free(clip_exclude_prog);
+  # endif
+      vim_free(last_cmdline);
++ # ifdef FEAT_CMDHIST
+      vim_free(new_last_cmdline);
++ # endif
+      set_keep_msg(NULL, 0);
+      vim_free(ff_expand_buffer);
+  
+      /* Clear cmdline history. */
+      p_hi = 0;
++ # ifdef FEAT_CMDHIST
+      init_history();
++ # endif
+  
+  #ifdef FEAT_QUICKFIX
+!     {
+! 	win_T	*win;
+! 
+! 	qf_free_all(NULL);
+! 	/* Free all location lists */
+! 	FOR_ALL_WINDOWS(win)
+! 	    qf_free_all(win);
+!     }
+  #endif
+  
+      /* Close all script inputs. */
+*** ../vim-7.1.160/src/version.c	Sat Nov 24 15:44:17 2007
+--- src/version.c	Sat Nov 24 20:55:38 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     161,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+143. You dream in pallettes of 216 websafe colors.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///