diff options
Diffstat (limited to 'pw.c')
-rw-r--r-- | pw.c | 16 |
1 files changed, 9 insertions, 7 deletions
@@ -844,13 +844,6 @@ int main(int argc, char **argv) } break; case kbd_trig: - if (trigpat) { - regfree(&trigex); - dsdrop(trigpat); - trigpat = 0; - } - stat &= ~(stat_htmode | stat_ttmode); - // fallthrough case kbd_colon: switch (ch) { case ESC: @@ -875,6 +868,15 @@ int main(int argc, char **argv) } } + if (kbd_state == kbd_trig) { + if (trigpat) { + regfree(&trigex); + dsdrop(trigpat); + trigpat = 0; + } + stat &= ~(stat_htmode | stat_ttmode); + } + if (kbd_state == kbd_colon && cmdbuf[1]) { execute(cmdbuf, &stat); if (cmdbuf[0] != 0) { |