components/vim/vim72-patches/7.2.353
changeset 198 172fc01ce997
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/vim/vim72-patches/7.2.353	Thu Apr 07 16:25:07 2011 -0700
@@ -0,0 +1,173 @@
+To: [email protected]
+Subject: Patch 7.2.353
+Fcc: outbox
+From: Bram Moolenaar <[email protected]>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.353
+Problem:    No command line completion for ":profile".
+Solution:   Complete the subcommand and file name.
+Files:	    src/ex_docmd.c, src/ex_cmds2.c, src/ex_getln.c,
+	    src/proto/ex_cmds2.pro, src/vim.h
+
+
+*** ../vim-7.2.352/src/ex_docmd.c	2009-11-03 12:38:50.000000000 +0100
+--- src/ex_docmd.c	2010-02-03 14:40:14.000000000 +0100
+***************
+*** 3804,3809 ****
+--- 3804,3814 ----
+  		xp->xp_context = EXPAND_NOTHING;
+  	    break;
+  #endif
++ #if defined(FEAT_PROFILE)
++ 	case CMD_profile:
++ 	    set_context_in_profile_cmd(xp, arg);
++ 	    break;
++ #endif
+  
+  #endif /* FEAT_CMDL_COMPL */
+  
+*** ../vim-7.2.352/src/ex_cmds2.c	2010-01-20 21:41:40.000000000 +0100
+--- src/ex_cmds2.c	2010-02-03 14:50:08.000000000 +0100
+***************
+*** 1115,1120 ****
+--- 1115,1193 ----
+      }
+  }
+  
++ /* Command line expansion for :profile. */
++ static enum
++ {
++     PEXP_SUBCMD,	/* expand :profile sub-commands */
++     PEXP_FUNC,		/* expand :profile func {funcname} */
++ } pexpand_what;
++ 
++ static char *pexpand_cmds[] = {
++ 			"start",
++ #define PROFCMD_START	0
++ 			"pause",
++ #define PROFCMD_PAUSE	1
++ 			"continue",
++ #define PROFCMD_CONTINUE 2
++ 			"func",
++ #define PROFCMD_FUNC	3
++ 			"file",
++ #define PROFCMD_FILE	4
++ 			NULL
++ #define PROFCMD_LAST	5
++ };
++ 
++ /*
++  * Function given to ExpandGeneric() to obtain the profile command
++  * specific expansion.
++  */
++     char_u *
++ get_profile_name(xp, idx)
++     expand_T	*xp UNUSED;
++     int		idx;
++ {
++     switch (pexpand_what)
++     {
++     case PEXP_SUBCMD:
++ 	return (char_u *)pexpand_cmds[idx];
++     /* case PEXP_FUNC: TODO */
++     default:
++ 	return NULL;
++     }
++ }
++ 
++ /*
++  * Handle command line completion for :profile command.
++  */
++     void
++ set_context_in_profile_cmd(xp, arg)
++     expand_T	*xp;
++     char_u	*arg;
++ {
++     char_u	*end_subcmd;
++     int		len;
++ 
++     /* Default: expand subcommands. */
++     xp->xp_context = EXPAND_PROFILE;
++     pexpand_what = PEXP_SUBCMD;
++     xp->xp_pattern = arg;
++ 
++     end_subcmd = skiptowhite(arg);
++     if (*end_subcmd == NUL)
++ 	return;
++ 
++     len = end_subcmd - arg;
++     if (len == 5 && STRNCMP(arg, "start", 5) == 0)
++     {
++ 	xp->xp_context = EXPAND_FILES;
++ 	xp->xp_pattern = skipwhite(end_subcmd);
++ 	return;
++     }
++ 
++     /* TODO: expand function names after "func" */
++     xp->xp_context = EXPAND_NOTHING;
++ }
++ 
+  /*
+   * Dump the profiling info.
+   */
+*** ../vim-7.2.352/src/ex_getln.c	2010-01-19 14:59:14.000000000 +0100
+--- src/ex_getln.c	2010-02-03 14:38:43.000000000 +0100
+***************
+*** 4522,4527 ****
+--- 4522,4530 ----
+  #ifdef FEAT_SIGNS
+  	    {EXPAND_SIGN, get_sign_name, TRUE},
+  #endif
++ #ifdef FEAT_PROFILE
++ 	    {EXPAND_PROFILE, get_profile_name, TRUE},
++ #endif
+  #if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
+  	&& (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
+  	    {EXPAND_LANGUAGE, get_lang_arg, TRUE},
+*** ../vim-7.2.352/src/proto/ex_cmds2.pro	2008-01-06 20:07:25.000000000 +0100
+--- src/proto/ex_cmds2.pro	2010-02-03 14:43:12.000000000 +0100
+***************
+*** 24,29 ****
+--- 24,31 ----
+  int profile_equal __ARGS((proftime_T *tm1, proftime_T *tm2));
+  int profile_cmp __ARGS((proftime_T *tm1, proftime_T *tm2));
+  void ex_profile __ARGS((exarg_T *eap));
++ char_u *get_profile_name __ARGS((expand_T *xp, int idx));
++ void set_context_in_profile_cmd __ARGS((expand_T *xp, char_u *arg));
+  void profile_dump __ARGS((void));
+  void script_prof_save __ARGS((proftime_T *tm));
+  void script_prof_restore __ARGS((proftime_T *tm));
+*** ../vim-7.2.352/src/vim.h	2009-06-16 11:08:13.000000000 +0200
+--- src/vim.h	2010-02-03 14:40:42.000000000 +0100
+***************
+*** 718,723 ****
+--- 718,724 ----
+  #define EXPAND_SHELLCMD		32
+  #define EXPAND_CSCOPE		33
+  #define EXPAND_SIGN		34
++ #define EXPAND_PROFILE		35
+  
+  /* Values for exmode_active (0 is no exmode) */
+  #define EXMODE_NORMAL		1
+*** ../vim-7.2.352/src/version.c	2010-02-03 12:23:16.000000000 +0100
+--- src/version.c	2010-02-03 15:07:26.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     353,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+188. You purchase a laptop so you can surf while sitting on the can.
+
+ /// Bram Moolenaar -- [email protected] -- 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    ///