On May 1, 12:49 am, Bram Moolenaar <b...@moolenaar.net> wrote: > Patch 7.3.514 > Problem: No completion for :history command. > Solution: Add the completion and update the docs. Also fix ":behave" > completion. (Dominique Pelle) > Files: runtime/doc/cmdline.txt, runtime/doc/map.txt, src/ex_docmd.c, > src/ex_getln.c, src/vim.h > > *** ../vim-7.3.513/runtime/doc/cmdline.txt 2010-08-15 21:57:17.000000000 > +0200 > --- runtime/doc/cmdline.txt 2012-04-30 18:30:00.000000000 +0200 > *************** > *** 330,341 **** > > :his[tory] [{name}] [{first}][, [{last}]] > List the contents of history {name} which can be: > ! c[md] or : command-line history > ! s[earch] or / search string history > ! e[xpr] or = expression register history > ! i[nput] or @ input line history > ! d[ebug] or > debug command history > ! a[ll] all of the above > {not in Vi} > > If the numbers {first} and/or {last} are given, the respective > --- 330,341 ---- > > :his[tory] [{name}] [{first}][, [{last}]] > List the contents of history {name} which can be: > ! c[md] or : command-line history > ! s[earch] or / or ? search string history > ! e[xpr] or = expression register history > ! i[nput] or @ input line history > ! d[ebug] or > debug command history > ! a[ll] all of the above > {not in Vi} > > If the numbers {first} and/or {last} are given, the respective > *** ../vim-7.3.513/runtime/doc/map.txt 2011-07-20 16:36:35.000000000 +0200 > --- runtime/doc/map.txt 2012-04-30 18:30:00.000000000 +0200 > *************** > *** 1202,1207 **** > --- 1219,1225 ---- > > -complete=augroup autocmd groups > -complete=buffer buffer names > + -complete=behave :behave suboptions > -complete=color color schemes > -complete=command Ex command (and arguments) > -complete=compiler compilers > *************** > *** 1216,1221 **** > --- 1234,1240 ---- > -complete=function function name > -complete=help help subjects > -complete=highlight highlight groups > + -complete=history :history suboptions > -complete=locale locale names (as output of locale -a) > -complete=mapping mapping name > -complete=menu menus > *** ../vim-7.3.513/src/ex_docmd.c 2012-02-12 20:13:55.000000000 +0100 > --- src/ex_docmd.c 2012-04-30 18:33:27.000000000 +0200 > *************** > *** 3920,3927 **** > --- 3920,3935 ---- > #endif > case CMD_behave: > xp->xp_context = EXPAND_BEHAVE; > + xp->xp_pattern = arg; > break; > > + #if defined(FEAT_CMDHIST) > + case CMD_history: > + xp->xp_context = EXPAND_HISTORY; > + xp->xp_pattern = arg; > + break; > + #endif > + > #endif /* FEAT_CMDL_COMPL */ > > default: > *************** > *** 5329,5334 **** > --- 5337,5343 ---- > } command_complete[] = > { > {EXPAND_AUGROUP, "augroup"}, > + {EXPAND_BEHAVE, "behave"}, > {EXPAND_BUFFERS, "buffer"}, > {EXPAND_COLORS, "color"}, > {EXPAND_COMMANDS, "command"}, > *************** > *** 5350,5357 **** > {EXPAND_FUNCTIONS, "function"}, > {EXPAND_HELP, "help"}, > {EXPAND_HIGHLIGHT, "highlight"}, > #if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \ > ! && (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE)) > {EXPAND_LOCALES, "locale"}, > #endif > {EXPAND_MAPPINGS, "mapping"}, > --- 5359,5369 ---- > {EXPAND_FUNCTIONS, "function"}, > {EXPAND_HELP, "help"}, > {EXPAND_HIGHLIGHT, "highlight"}, > + #if defined(FEAT_CMDHIST) > + {EXPAND_HISTORY, "history"}, > + #endif > #if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \ > ! && (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE)) > {EXPAND_LOCALES, "locale"}, > #endif > {EXPAND_MAPPINGS, "mapping"}, > *** ../vim-7.3.513/src/ex_getln.c 2012-03-07 19:16:49.000000000 +0100 > --- src/ex_getln.c 2012-04-30 18:36:04.000000000 +0200 > *************** > *** 25,31 **** > int cmdlen; /* number of chars in command line */ > int cmdpos; /* current cursor position */ > int cmdspos; /* cursor column on screen */ > ! int cmdfirstc; /* ':', '/', '?', '=' or NUL */ > int cmdindent; /* number of spaces before cmdline */ > char_u *cmdprompt; /* message in front of cmdline */ > int cmdattr; /* attributes for prompt */ > --- 25,31 ---- > int cmdlen; /* number of chars in command line */ > int cmdpos; /* current cursor position */ > int cmdspos; /* cursor column on screen */ > ! int cmdfirstc; /* ':', '/', '?', '=', '>' or NUL */ > int cmdindent; /* number of spaces before cmdline */ > char_u *cmdprompt; /* message in front of cmdline */ > int cmdattr; /* attributes for prompt */ > *************** > *** 111,116 **** > --- 111,119 ---- > #ifdef FEAT_CMDL_COMPL > static int expand_shellcmd __ARGS((char_u *filepat, int *num_file, > char_u ***file, int flagsarg)); > static int ExpandRTDir __ARGS((char_u *pat, int *num_file, char_u > ***file, char *dirname[])); > + # ifdef FEAT_CMDHIST > + static char_u *get_history_arg __ARGS((expand_T *xp, int idx)); > + # endif > # if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL) > static int ExpandUserDefined __ARGS((expand_T *xp, regmatch_T *regmatch, > int *num_file, char_u ***file)); > static int ExpandUserList __ARGS((expand_T *xp, int *num_file, char_u > ***file)); > *************** > *** 4628,4633 **** > --- 4631,4639 ---- > { > {EXPAND_COMMANDS, get_command_name, FALSE, TRUE}, > {EXPAND_BEHAVE, get_behave_arg, TRUE, TRUE}, > + #ifdef FEAT_CMDHIST > + {EXPAND_HISTORY, get_history_arg, TRUE, TRUE}, > + #endif > #ifdef FEAT_USR_CMDS > {EXPAND_USER_COMMANDS, get_user_commands, FALSE, TRUE}, > {EXPAND_USER_CMD_FLAGS, get_user_cmd_flags, FALSE, TRUE}, > *************** > *** 5245,5250 **** > --- 5251,5284 ---- > NULL > }; > > + #if defined(FEAT_CMDL_COMPL) || defined(PROTO) > + /* > + * Function given to ExpandGeneric() to obtain the possible first > + * arguments of the ":history command. > + */ > + static char_u * > + get_history_arg(xp, idx) > + expand_T *xp UNUSED; > + int idx; > + { > + static char_u compl[2] = { NUL, NUL }; > + char *short_names = ":=@>?/"; > + int short_names_count = STRLEN(short_names); > + int history_name_count = sizeof(history_names) / sizeof(char *) - 1; > + > + if (idx < short_names_count) > + { > + compl[0] = (char_u)short_names[idx]; > + return compl; > + } > + if (idx < short_names_count + history_name_count) > + return (char_u *)history_names[idx - short_names_count]; > + if (idx == short_names_count + history_name_count) > + return (char_u *)"all"; > + return NULL; > + } > + #endif > + > /* > * init_history() - Initialize the command line history. > * Also used to re-allocate the history when the size changes. > *** ../vim-7.3.513/src/vim.h 2012-03-23 16:25:13.000000000 +0100 > --- src/vim.h 2012-04-30 18:30:00.000000000 +0200 > *************** > *** 781,786 **** > --- 781,787 ---- > #define EXPAND_FILES_IN_PATH 38 > #define EXPAND_OWNSYNTAX 39 > #define EXPAND_LOCALES 40 > + #define EXPAND_HISTORY 41 > > /* Values for exmode_active (0 is no exmode) */ > #define EXMODE_NORMAL 1 > *** ../vim-7.3.513/src/version.c 2012-04-30 18:18:43.000000000 +0200 > --- src/version.c 2012-04-30 18:36:19.000000000 +0200 > *************** > *** 716,717 **** > --- 716,719 ---- > { /* Add new patch number below this line */ > + /**/ > + 514, > /**/ > > -- > You can be stopped by the police for biking over 65 miles per hour. > You are not allowed to walk across a street on your hands. > [real standing laws in Connecticut, United States of America] > > /// Bram Moolenaar -- b...@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 ///
The startup time of gvim on my Windows 7 is very slow at the first time after sync this change. After some investigation, I found that my Anti-virus software(Microsoft Forefront 2012 endpoint protection) will try to scan the gvim. It seems that there are some attack-able code in this change which the anti-virus software treat it as malware. There are not any startup issue if I sync to change 513. Could anyone take a look? Thanks, -Mike -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php