diff options
| -rw-r--r-- | ChangeLog | 17 | ||||
| -rw-r--r-- | NEWS | 1 | ||||
| -rw-r--r-- | config.h.dist | 1 | ||||
| -rwxr-xr-x | configure | 5 | ||||
| -rw-r--r-- | fm.h | 7 | ||||
| -rw-r--r-- | main.c | 29 | ||||
| -rw-r--r-- | rc.c | 19 | 
7 files changed, 73 insertions, 6 deletions
| @@ -1,3 +1,18 @@ +2002-01-16  Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + +	* [w3m-dev 02841] migemo patch +	* NEWS: migemo support +	* config.h.dist (USE_MIGEMO): added +	* configure: add use_migemo +	* fm.h (use_migemo): added +	* fm.h (migemo_command: added +	* main.c (fversion): add "migemo" +	* main.c (migemostr): added +	* main.c (srchcore): if use_migemo, use migemostr +	* rc.c (CMT_USE_MIGEMO): added +	* rc.c (CMT_MIGEMO_COMMAND): added +	* rc.c (params3): add use_migemo, migemo_command +  2002-01-16  Fumitoshi UKAI  <ukai@debian.or.jp>  	* main.c (fversion): add "external-uri-loader,w3mmailer" @@ -1962,4 +1977,4 @@  	* release-0-2-1  	* import w3m-0.2.1 -$Id: ChangeLog,v 1.222 2002/01/15 16:30:08 ukai Exp $ +$Id: ChangeLog,v 1.223 2002/01/15 17:23:29 ukai Exp $ @@ -1,5 +1,6 @@  w3m 0.3? +* support migemo (romaji search) [experimental]  * use w3mmail.cgi for mailto: URL  * support external URI loader  * support -dump_extra ftp:// diff --git a/config.h.dist b/config.h.dist index e1208ae..ec389fe 100644 --- a/config.h.dist +++ b/config.h.dist @@ -102,6 +102,7 @@ MODEL=Linux.i686-monster-ja  #define KANJI_SYMBOLS  #define USE_COLOR  #undef USE_ANSI_COLOR +#undef USE_MIGEMO  #undef EMACS_LIKE_LINEEDIT  #undef VI_PREC_NUM  #undef USE_MARK @@ -1,5 +1,5 @@  #!/bin/sh -# $Id: configure,v 1.49 2002/01/15 03:45:02 ukai Exp $ +# $Id: configure,v 1.50 2002/01/15 17:23:29 ukai Exp $  #	Configuration.  # @@ -697,6 +697,8 @@ else    def_param "use_ansi_color" n  fi +ask_param "Use Migemo (Roma-ji search; Please see http://www.nmn.jp/~hidai/software/w3m/)" use_migemo n +  # protocols?  ask_param "External URI loader support" use_external_uri_loader y  if [ "$use_external_uri_loader" = y ]; then @@ -2035,6 +2037,7 @@ $def_lang  $def_kanji_symbols  $def_use_color  $def_use_ansi_color +$def_use_migemo  $def_emacs_like_lineedit  $def_vi_prec_num  $def_use_mark @@ -1,4 +1,4 @@ -/* $Id: fm.h,v 1.37 2002/01/14 15:59:17 ukai Exp $ */ +/* $Id: fm.h,v 1.38 2002/01/15 17:23:29 ukai Exp $ */  /*    * w3m: WWW wo Miru utility   *  @@ -776,6 +776,11 @@ global char *DirBufferCommand init("file:///$LIB/dirlist" CGI_EXTENSION);  global int ignore_null_img_alt init(TRUE);  global int FoldTextarea init(FALSE); +#ifdef USE_MIGEMO +global int use_migemo init(FALSE); +global char *migemo_command init("migemoc"); +#endif				/* USE_MIGEMO */ +  global struct auth_cookie *Auth_cookie init(NULL);  global char *Local_cookie init(NULL);  #ifdef USE_COOKIE @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.58 2002/01/15 16:30:08 ukai Exp $ */ +/* $Id: main.c,v 1.59 2002/01/15 17:23:29 ukai Exp $ */  #define MAINPROGRAM  #include "fm.h"  #include <signal.h> @@ -153,6 +153,9 @@ fversion(FILE * f)  #ifdef USE_MARK  	    ",mark"  #endif +#ifdef USE_MIGEMO +	    ",migemo" +#endif  	);  } @@ -1330,6 +1333,24 @@ rdrwSc(void)      displayBuffer(Currentbuf, B_FORCE_REDRAW);  } +#ifdef USE_MIGEMO +/* Migemo: romaji --> kana+kanji in regexp */ +static char * +migemostr(char *str) +{ +    FILE *f; +    Str tmp; + +    tmp = Strnew_m_charp(migemo_command, " ", shell_quote(str), NULL); +    if (!(f = popen(tmp->ptr, "r"))) +	return str; +    tmp = Strfgets(f); +    Strchop(tmp); +    pclose(f); +    return tmp->ptr; +} +#endif				/* USE_MIGEMO */ +  /* search by regular expression */  static int  srchcore(char *str, int (*func) (Buffer *, char *)) @@ -1338,7 +1359,11 @@ srchcore(char *str, int (*func) (Buffer *, char *))      volatile int i, result = SR_NOTFOUND;      if (str != NULL && str != SearchString) -	SearchString = str; +	SearchString = +#ifdef USE_MIGEMO +	    use_migemo ? migemostr(str) : +#endif				/* USE_MIGEMO */ +	    str;      if (SearchString == NULL || *SearchString == '\0')  	return SR_NOTFOUND; @@ -1,4 +1,4 @@ -/* $Id: rc.c,v 1.28 2002/01/15 16:07:58 ukai Exp $ */ +/* $Id: rc.c,v 1.29 2002/01/15 17:23:29 ukai Exp $ */  /*    * Initialization file etc.   */ @@ -168,6 +168,11 @@ static char *config_file = NULL;  #define CMT_FOLLOW_REDIRECTION "従うリダイレクトの回数"  #define CMT_META_REFRESH "meta refresh に対応する" +#ifdef USE_MIGEMO +#define CMT_USE_MIGEMO "Migemo(ローマ字検索)を使用する" +#define CMT_MIGEMO_COMMAND "Migemoコマンド" +#endif				/* USE_MIGEMO */ +  #else				/* LANG != JA */ @@ -283,6 +288,12 @@ static char *config_file = NULL;  #endif  #define CMT_FOLLOW_REDIRECTION "Follow this number of redirections"  #define CMT_META_REFRESH "Support meta refresh" + +#ifdef USE_MIGEMO +#define CMT_USE_MIGEMO "Use Migemo (Roma-ji search)" +#define CMT_MIGEMO_COMMAND "Migemo command" +#endif				/* USE_MIGEMO */ +  #endif				/* LANG != JA */  #define PI_TEXT    0 @@ -461,6 +472,12 @@ struct param_ptr params3[] = {      {"wrap_search", P_INT, PI_ONOFF, (void *)&WrapDefault, CMT_WRAP, NULL},      {"ignorecase_search", P_INT, PI_ONOFF, (void *)&IgnoreCase,       CMT_IGNORE_CASE, NULL}, +#ifdef USE_MIGEMO +    {"use_migemo", P_INT, PI_ONOFF, (void *)&use_migemo, CMT_USE_MIGEMO, +     NULL}, +    {"migemo_command", P_STRING, PI_TEXT, (void *)&migemo_command, +     CMT_MIGEMO_COMMAND, NULL}, +#endif				/* USE_MIGEMO */  #ifdef USE_MOUSE      {"use_mouse", P_INT, PI_ONOFF, (void *)&use_mouse, CMT_MOUSE, NULL},      {"reverse_mouse", P_INT, PI_ONOFF, (void *)&reverse_mouse, | 
