summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Src/Zle/zle_hist.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 36320774b..8070213f1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2008-04-26 Peter Stephenson <p.w.stephenson@ntlworld.com>
+ * 24881: Src/Zle/zle_hist.c: we kept feeping on an invalid
+ pattern; once is quite enough.
+
* 24880: Src/Zle/zle_hist.c: feeping on a failed match could
be mistimed.
diff --git a/Src/Zle/zle_hist.c b/Src/Zle/zle_hist.c
index 98f01fbb7..b43e76699 100644
--- a/Src/Zle/zle_hist.c
+++ b/Src/Zle/zle_hist.c
@@ -1179,8 +1179,10 @@ doisearch(char **args, int dir, int pattern)
if (patprog) {
revert_patpos = 1;
} else {
- handlefeep(zlenoargs);
- nomatch = 2;
+ if (nomatch != 2) {
+ handlefeep(zlenoargs);
+ nomatch = 2;
+ }
/* indicate "invalid" in status line */
memcpy(ibuf, INVALID_TEXT, BAD_TEXT_LEN);
statusline = ibuf;