diff options
Diffstat (limited to 'pw.c')
-rw-r--r-- | pw.c | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -1887,10 +1887,10 @@ int main(int argc, char **argv) if (ch == CR) { int count = (cmdcount == INT_MAX) ? 0 : cmdcount; if (pw.cmdbuf[1]) { - int *pnhist = (kbd_state == kbd_lcmd ? &ncmdhist : &npathist); + int iscolon = pw.cmdbuf[0] == ':'; + int *pnhist = (iscolon ? &ncmdhist : &npathist); int nhist = *pnhist; - char ***hist = (kbd_state == kbd_lcmd ? - &cmdhist : &pathist); + char ***hist = (iscolon ? &cmdhist : &pathist); if (nhist == 0 || strcmp(pw.cmdbuf, (*hist)[0]) != 0) { if ((*hist = resizebuf(*hist, nhist, nhist + 1)) == 0) @@ -1977,8 +1977,9 @@ int main(int argc, char **argv) case ctrl('p'): case ctrl('n'): { - int nhist = (kbd_state == kbd_lcmd ? ncmdhist : npathist); - char ***hist = (kbd_state == kbd_lcmd ? &cmdhist : &pathist); + int iscolon = pw.cmdbuf[0] == ':'; + int nhist = (iscolon ? ncmdhist : npathist); + char ***hist = (iscolon ? &cmdhist : &pathist); if (ch == ctrl('p')) { if (histpos == 0) { |