diff options
Diffstat (limited to '')
-rw-r--r-- | main.c | 17 |
1 files changed, 10 insertions, 7 deletions
@@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.60 2002/01/16 15:37:06 ukai Exp $ */ +/* $Id: main.c,v 1.61 2002/01/16 16:11:38 ukai Exp $ */ #define MAINPROGRAM #include "fm.h" #include <signal.h> @@ -1432,8 +1432,8 @@ dispincsrch(int ch, Str buf) } if (do_next_search) { - SAVE_BUFPOSITION(&sbuf); if (*str) { + SAVE_BUFPOSITION(&sbuf); srchcore(str, searchRoutine); arrangeCursor(Currentbuf); if (Currentbuf->currentLine == currentLine @@ -1442,15 +1442,18 @@ dispincsrch(int ch, Str buf) srchcore(str, searchRoutine); arrangeCursor(Currentbuf); } + displayBuffer(Currentbuf, B_FORCE_REDRAW); + clear_mark(Currentbuf->currentLine); + return -1; } + else + return 020; /* _prev completion for C-s C-s */ } - else { + else if (*str) { RESTORE_BUFPOSITION(&sbuf); arrangeCursor(Currentbuf); - if (*str) { - srchcore(str, searchRoutine); - arrangeCursor(Currentbuf); - } + srchcore(str, searchRoutine); + arrangeCursor(Currentbuf); currentLine = Currentbuf->currentLine; pos = Currentbuf->pos; } |