commit 70ba9cdb7da3726b07e66e4a6dc17ff0f2a29c28
parent fd75f172c891d725616f845d1da22a8f2f9dd930
Author: ukai <ukai>
Date:   Mon, 14 Apr 2003 16:19:27 +0000
[w3m-dev 03878] I-search problem
* linein.c (inputLineHistSearch): don't call incrfunc twice
* main.c (dispincsrch): fix search loop problem
From: Masanori Kobayasi <zap03216@nifty.ne.jp>
Diffstat:
3 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,9 @@
+2003-04-15  Masanori Kobayasi <zap03216@nifty.ne.jp>
+
+	* [w3m-dev 03878] I-search problem
+	* linein.c (inputLineHistSearch): don't call incrfunc twice
+	* main.c (dispincsrch): fix search loop problem
+
 2003-04-14  Fumitoshi UKAI  <ukai@debian.or.jp>
 
 	* [w3m-dev 03875] Re: SSL & compressed stream
diff --git a/linein.c b/linein.c
@@ -226,7 +226,7 @@ inputLineHistSearch(char *prompt, char *def_str, int flag, Hist *hist,
 	    if (incrfunc == NULL
 		|| (c = incrfunc((int)c, strBuf, strProp)) < 0x20)
 		(*InputKeymap[(int)c]) (c);
-	    if (incrfunc)
+	    if (incrfunc && c != (unsigned char)-1 && c != CTRL_J)
 		incrfunc(-1, strBuf, strProp);
 	    if (cm_clear)
 		cm_next = FALSE;
diff --git a/main.c b/main.c
@@ -1628,14 +1628,6 @@ dispincsrch(int ch, Str buf, Lineprop *prop)
 	    SAVE_BUFPOSITION(&sbuf);
 	    srchcore(str, searchRoutine);
 	    arrangeCursor(Currentbuf);
-	    if (Currentbuf->currentLine == currentLine
-		&& Currentbuf->pos == pos) {
-		SAVE_BUFPOSITION(&sbuf);
-		if (searchRoutine == forwardSearch)
-		    Currentbuf->pos += 1;
-		srchcore(str, searchRoutine);
-		arrangeCursor(Currentbuf);
-	    }
 	    displayBuffer(Currentbuf, B_FORCE_REDRAW);
 	    clear_mark(Currentbuf->currentLine);
 	    return -1;