mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-28 17:10:59 +01:00
145??: repeat last vi history search if search string is blank
This commit is contained in:
parent
56528ccb66
commit
e56c42c9fe
2 changed files with 16 additions and 3 deletions
|
|
@ -950,7 +950,7 @@ vifetchhistory(char **args)
|
|||
|
||||
/* the last vi search */
|
||||
|
||||
static char *visrchstr;
|
||||
static char *visrchstr, *vipenultsrchstr;
|
||||
static int visrchsense;
|
||||
|
||||
/**/
|
||||
|
|
@ -962,8 +962,12 @@ getvisrchstr(void)
|
|||
Thingy cmd;
|
||||
char *okeymap = curkeymapname;
|
||||
|
||||
if (vipenultsrchstr) {
|
||||
zsfree(vipenultsrchstr);
|
||||
}
|
||||
|
||||
if (visrchstr) {
|
||||
zsfree(visrchstr);
|
||||
vipenultsrchstr = visrchstr;
|
||||
visrchstr = NULL;
|
||||
}
|
||||
clearlist = 1;
|
||||
|
|
@ -990,6 +994,10 @@ getvisrchstr(void)
|
|||
cmd == Th(z_vicmdmode)) {
|
||||
sbuf[sptr] = 0;
|
||||
visrchstr = metafy(sbuf + 1, sptr - 1, META_DUP);
|
||||
if (!strlen(visrchstr)) {
|
||||
zsfree(visrchstr);
|
||||
visrchstr = vipenultsrchstr;
|
||||
}
|
||||
ret = 1;
|
||||
sptr = 0;
|
||||
} else if(cmd == Th(z_backwarddeletechar) ||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue