aboutsummaryrefslogtreecommitdiffstats
path: root/pw.c
diff options
context:
space:
mode:
Diffstat (limited to 'pw.c')
-rw-r--r--pw.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/pw.c b/pw.c
index 826f0eb..dd0160e 100644
--- a/pw.c
+++ b/pw.c
@@ -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) {