[w3m-dev 02946] toggle migemo

* fm.h (migemo_active): added
* proto.h (inputLineHistSearch): add arg `prop' to incrfunc()
* linein.c (inputLineHistSearch): ditto
* main.c (isrch): ditto
* main.c (dispincsrch): ditto
			C-\ toggle migemo
			underline when migemo is active
* search.c (migemo_active): deleted
* search.c (migemo_running): added
* search.c (init_migemo): migemo_running
* search.c (migemostr): ditto
* search.c (forwardSearch): migemo_active > 0
* search.c (backwardSearch): ditto
From: Fumitoshi UKAI  <ukai@debian.or.jp>
This commit is contained in:
Fumitoshi UKAI
2002-01-31 03:55:35 +00:00
parent e074983ced
commit 225487bf41
6 changed files with 56 additions and 21 deletions

View File

@@ -1,4 +1,4 @@
/* $Id: linein.c,v 1.21 2002/01/22 10:45:14 ukai Exp $ */
/* $Id: linein.c,v 1.22 2002/01/31 03:55:35 ukai Exp $ */
#include "fm.h"
#include "local.h"
#include "myctype.h"
@@ -82,7 +82,7 @@ static void ins_kanji(Str tmp);
char *
inputLineHistSearch(char *prompt, char *def_str, int flag, Hist *hist,
int (*incrfunc) (int ch, Str str))
int (*incrfunc) (int ch, Str str, Lineprop *prop))
{
int opos, x, y, lpos, rpos, epos;
unsigned char c;
@@ -192,7 +192,7 @@ inputLineHistSearch(char *prompt, char *def_str, int flag, Hist *hist,
InnerCode);
ins_kanji(tmp);
if (incrfunc)
incrfunc(-1, strBuf);
incrfunc(-1, strBuf, strProp);
}
else
#endif
@@ -229,10 +229,11 @@ inputLineHistSearch(char *prompt, char *def_str, int flag, Hist *hist,
cm_disp_next = -1;
}
else if (!i_quote && c < 0x20) { /* Control code */
if (incrfunc == NULL || (c = incrfunc((int)c, strBuf)) < 0x20)
if (incrfunc == NULL
|| (c = incrfunc((int)c, strBuf, strProp)) < 0x20)
(*InputKeymap[(int)c]) (c);
if (incrfunc)
incrfunc(-1, strBuf);
incrfunc(-1, strBuf, strProp);
if (cm_clear)
cm_next = FALSE;
if (cm_disp_clear)
@@ -249,7 +250,7 @@ inputLineHistSearch(char *prompt, char *def_str, int flag, Hist *hist,
tmp = conv_str(tmp, DisplayCode, InnerCode);
ins_kanji(tmp);
if (incrfunc)
incrfunc(-1, strBuf);
incrfunc(-1, strBuf, strProp);
}
else if ((c & 0x80) || in_kanji) { /* Kanji 1 */
i_quote = FALSE;
@@ -278,7 +279,7 @@ inputLineHistSearch(char *prompt, char *def_str, int flag, Hist *hist,
CPos++;
mode = PC_ASCII;
if (incrfunc)
incrfunc(-1, strBuf);
incrfunc(-1, strBuf, strProp);
}
if (CLen && (flag & IN_CHAR))
break;