comparison src/mule-wnnfns.c @ 380:8626e4521993 r21-2-5

Import from CVS: tag r21-2-5
author cvs
date Mon, 13 Aug 2007 11:07:10 +0200
parents 3cc9f0ebfbd1
children 74fd4e045ea6
comparison
equal deleted inserted replaced
379:76b7d63099ad 380:8626e4521993
283 #define WNNSERVER_J 0 283 #define WNNSERVER_J 0
284 #define WNNSERVER_C 1 284 #define WNNSERVER_C 1
285 #define WNNSERVER_T 2 285 #define WNNSERVER_T 2
286 #define WNNSERVER_K 3 286 #define WNNSERVER_K 3
287 287
288 int check_wnn_server_type (void); 288 int check_wnn_server_type (void);
289 void w2m (w_char *wp, unsigned char *mp, unsigned char lb); 289 void w2m (w_char *wp, unsigned char *mp, unsigned char lb);
290 void m2w (unsigned char *mp, w_char *wp); 290 void m2w (unsigned char *mp, w_char *wp);
291 void w2y (w_char *w); 291 void w2y (w_char *w);
292 void c2m (unsigned char *cp, unsigned char *mp, unsigned char lb); 292 void c2m (unsigned char *cp, unsigned char *mp, unsigned char lb);
293 static void puts2 (char *s); 293 static void puts2 (char *s);
346 langname = "ja_JP"; 346 langname = "ja_JP";
347 break; 347 break;
348 case WNNSERVER_C: 348 case WNNSERVER_C:
349 langname = "zh_CN"; 349 langname = "zh_CN";
350 break; 350 break;
351 /* 351 /*
352 case WNNSERVER_T: 352 case WNNSERVER_T:
353 strcpy (langname, "zh_TW"); 353 strcpy (langname, "zh_TW");
354 break; 354 break;
355 */ 355 */
356 case WNNSERVER_K: 356 case WNNSERVER_K:
406 return Qt; 406 return Qt;
407 } 407 }
408 408
409 409
410 DEFUN ("wnn-server-close", Fwnn_close, 0, 0, 0, /* 410 DEFUN ("wnn-server-close", Fwnn_close, 0, 0, 0, /*
411 Close the connection to jserver, Dictionary and friquency files 411 Close the connection to jserver, Dictionary and frequency files
412 are not saved. 412 are not saved.
413 */ 413 */
414 ()) 414 ())
415 { 415 {
416 int snum; 416 int snum;
417 if ((snum = check_wnn_server_type ()) == -1) return Qnil; 417 if ((snum = check_wnn_server_type ()) == -1) return Qnil;
418 if (!wnnfns_buf[snum]) return Qnil; 418 if (!wnnfns_buf[snum]) return Qnil;
419 if (wnnfns_env_norm[snum]) 419 if (wnnfns_env_norm[snum])
420 { 420 {
421 if (EQ(Vwnnenv_sticky, Qnil)) jl_env_un_sticky_e (wnnfns_env_norm[snum]); 421 if (NILP (Vwnnenv_sticky)) jl_env_un_sticky_e (wnnfns_env_norm[snum]);
422 else jl_env_sticky_e (wnnfns_env_norm[snum]); 422 else jl_env_sticky_e (wnnfns_env_norm[snum]);
423 jl_disconnect (wnnfns_env_norm[snum]); 423 jl_disconnect (wnnfns_env_norm[snum]);
424 } 424 }
425 if (wnnfns_env_rev[snum]) 425 if (wnnfns_env_rev[snum])
426 { 426 {
427 if (EQ(Vwnnenv_sticky, Qnil)) jl_env_un_sticky_e (wnnfns_env_rev[snum]); 427 if (NILP (Vwnnenv_sticky)) jl_env_un_sticky_e (wnnfns_env_rev[snum]);
428 else jl_env_sticky_e (wnnfns_env_rev[snum]); 428 else jl_env_sticky_e (wnnfns_env_rev[snum]);
429 jl_disconnect (wnnfns_env_rev[snum]); 429 jl_disconnect (wnnfns_env_rev[snum]);
430 } 430 }
431 jl_env_set (wnnfns_buf[snum], 0); 431 jl_env_set (wnnfns_buf[snum], 0);
432 jl_close (wnnfns_buf[snum]); 432 jl_close (wnnfns_buf[snum]);
445 struct gcpro gcpro1; 445 struct gcpro gcpro1;
446 int snum; 446 int snum;
447 CHECK_STRING (args[0]); 447 CHECK_STRING (args[0]);
448 CHECK_STRING (args[1]); 448 CHECK_STRING (args[1]);
449 CHECK_INT (args[2]); 449 CHECK_INT (args[2]);
450 if (!EQ(args[5], Qnil)) CHECK_STRING (args[5]); 450 if (! NILP (args[5])) CHECK_STRING (args[5]);
451 if (!EQ(args[6], Qnil)) CHECK_STRING (args[6]); 451 if (! NILP (args[6])) CHECK_STRING (args[6]);
452 if ((snum = check_wnn_server_type ()) == -1) return Qnil; 452 if ((snum = check_wnn_server_type ()) == -1) return Qnil;
453 if (!wnnfns_buf[snum]) return Qnil; 453 if (!wnnfns_buf[snum]) return Qnil;
454 GCPRO1 (*args); 454 GCPRO1 (*args);
455 gcpro1.nvars = nargs; 455 gcpro1.nvars = nargs;
456 if (jl_dic_add (wnnfns_buf[snum], 456 if (jl_dic_add (wnnfns_buf[snum],
457 XSTRING (args[0])->_data, 457 XSTRING_DATA (args[0]),
458 XSTRING (args[1])->_data, 458 XSTRING_DATA (args[1]),
459 wnnfns_norm ? WNN_DIC_ADD_NOR : WNN_DIC_ADD_REV, 459 wnnfns_norm ? WNN_DIC_ADD_NOR : WNN_DIC_ADD_REV,
460 XINT (args[2]), 460 XINT (args[2]),
461 (EQ(args[3], Qnil)) ? WNN_DIC_RDONLY : WNN_DIC_RW, 461 NILP (args[3]) ? WNN_DIC_RDONLY : WNN_DIC_RW,
462 (EQ(args[4], Qnil)) ? WNN_DIC_RDONLY : WNN_DIC_RW, 462 NILP (args[4]) ? WNN_DIC_RDONLY : WNN_DIC_RW,
463 (EQ(args[5], Qnil)) ? 0 : XSTRING (args[5])->_data, 463 NILP (args[5]) ? 0 : XSTRING_DATA (args[5]),
464 (EQ(args[6], Qnil)) ? 0 : XSTRING (args[6])->_data, 464 NILP (args[6]) ? 0 : XSTRING_DATA (args[6]),
465 yes_or_no, 465 yes_or_no,
466 puts2 ) < 0) 466 puts2 ) < 0)
467 { 467 {
468 UNGCPRO; 468 UNGCPRO;
469 return Qnil; 469 return Qnil;
494 { 494 {
495 WNN_DIC_INFO *dicinfo; 495 WNN_DIC_INFO *dicinfo;
496 int cnt, i; 496 int cnt, i;
497 unsigned char comment[1024]; 497 unsigned char comment[1024];
498 Lisp_Object val; 498 Lisp_Object val;
499 int snum; 499 int snum;
500 unsigned char lb; 500 unsigned char lb;
501 501
502 if ((snum = check_wnn_server_type ()) == -1) return Qnil; 502 if ((snum = check_wnn_server_type ()) == -1) return Qnil;
503 lb = lb_wnn_server_type[snum]; 503 lb = lb_wnn_server_type[snum];
504 if (!wnnfns_buf[snum]) return Qnil; 504 if (!wnnfns_buf[snum]) return Qnil;
527 } 527 }
528 528
529 DEFUN ("wnn-server-dict-comment", Fwnn_dict_comment, 2, 2, 0, /* 529 DEFUN ("wnn-server-dict-comment", Fwnn_dict_comment, 2, 2, 0, /*
530 Set comment to dictionary specified by DIC-NUMBER. 530 Set comment to dictionary specified by DIC-NUMBER.
531 Comment string COMMENT 531 Comment string COMMENT
532 */ 532 */
533 (dicno, comment)) 533 (dicno, comment))
534 { 534 {
535 w_char wbuf[512]; 535 w_char wbuf[512];
536 int snum; 536 int snum;
537 CHECK_INT (dicno); 537 CHECK_INT (dicno);
538 CHECK_STRING (comment); 538 CHECK_STRING (comment);
539 if ((snum = check_wnn_server_type ()) == -1) return Qnil; 539 if ((snum = check_wnn_server_type ()) == -1) return Qnil;
540 if (!wnnfns_buf[snum]) return Qnil; 540 if (!wnnfns_buf[snum]) return Qnil;
541 m2w (XSTRING (comment)->_data, wbuf); 541 m2w (XSTRING_DATA (comment), wbuf);
542 if (jl_dic_comment_set (wnnfns_buf[snum], XINT (dicno), wbuf) < 0) 542 if (jl_dic_comment_set (wnnfns_buf[snum], XINT (dicno), wbuf) < 0)
543 return Qnil; 543 return Qnil;
544 return Qt; 544 return Qt;
545 } 545 }
546 546
547 547
550 */ 550 */
551 (rev)) 551 (rev))
552 { 552 {
553 int snum; 553 int snum;
554 if ((snum = check_wnn_server_type ()) == -1) return Qnil; 554 if ((snum = check_wnn_server_type ()) == -1) return Qnil;
555 if (EQ(rev, Qnil)) 555 if (NILP (rev))
556 { 556 {
557 if ((!wnnfns_buf[snum]) || (!wnnfns_env_norm[snum])) return Qnil; 557 if ((!wnnfns_buf[snum]) || (!wnnfns_env_norm[snum])) return Qnil;
558 jl_env_set (wnnfns_buf[snum], wnnfns_env_norm[snum]); 558 jl_env_set (wnnfns_buf[snum], wnnfns_env_norm[snum]);
559 wnnfns_norm = 1; 559 wnnfns_norm = 1;
560 } 560 }
576 w_char wbuf[5000]; 576 w_char wbuf[5000];
577 int snum; 577 int snum;
578 CHECK_STRING (hstring); 578 CHECK_STRING (hstring);
579 if ((snum = check_wnn_server_type ()) == -1) return Qnil; 579 if ((snum = check_wnn_server_type ()) == -1) return Qnil;
580 if (!wnnfns_buf[snum]) return Qnil; 580 if (!wnnfns_buf[snum]) return Qnil;
581 m2w (XSTRING (hstring)->_data, wbuf); 581 m2w (XSTRING_DATA (hstring), wbuf);
582 if (snum == WNNSERVER_C) 582 if (snum == WNNSERVER_C)
583 w2y (wbuf); 583 w2y (wbuf);
584 584
585 #ifdef WNN6 585 #ifdef WNN6
586 if ((cnt = jl_fi_ren_conv (wnnfns_buf[snum], wbuf, 0, -1, WNN_USE_MAE)) < 0) 586 if ((cnt = jl_fi_ren_conv (wnnfns_buf[snum], wbuf, 0, -1, WNN_USE_MAE)) < 0)
587 return Qnil; 587 return Qnil;
588 #else 588 #else
589 if ((cnt = jl_ren_conv (wnnfns_buf[snum], wbuf, 0, -1, WNN_USE_MAE)) < 0) 589 if ((cnt = jl_ren_conv (wnnfns_buf[snum], wbuf, 0, -1, WNN_USE_MAE)) < 0)
590 return Qnil; 590 return Qnil;
591 #endif 591 #endif
592 return make_int (cnt); 592 return make_int (cnt);
593 } 593 }
594 594
694 { 694 {
695 int snum; 695 int snum;
696 CHECK_INT (offset); 696 CHECK_INT (offset);
697 if ((snum = check_wnn_server_type ()) == -1) return Qnil; 697 if ((snum = check_wnn_server_type ()) == -1) return Qnil;
698 if (!wnnfns_buf[snum]) return Qnil; 698 if (!wnnfns_buf[snum]) return Qnil;
699 if (EQ(dai, Qnil)) 699 if (NILP (dai))
700 { 700 {
701 if (jl_set_jikouho (wnnfns_buf[snum], XINT (offset)) < 0) return Qnil; 701 if (jl_set_jikouho (wnnfns_buf[snum], XINT (offset)) < 0) return Qnil;
702 } 702 }
703 else 703 else
704 { 704 {
720 if ((snum = check_wnn_server_type ()) == -1) return Qnil; 720 if ((snum = check_wnn_server_type ()) == -1) return Qnil;
721 if (!wnnfns_buf[snum]) return Qnil; 721 if (!wnnfns_buf[snum]) return Qnil;
722 no = XINT (bunNo); 722 no = XINT (bunNo);
723 #ifdef WNN6 723 #ifdef WNN6
724 if ((cnt = jl_fi_nobi_conv (wnnfns_buf[snum], no, XINT(len), -1, WNN_USE_MAE, 724 if ((cnt = jl_fi_nobi_conv (wnnfns_buf[snum], no, XINT(len), -1, WNN_USE_MAE,
725 (EQ(dai, Qnil)) ? WNN_SHO : WNN_DAI)) < 0) 725 NILP (dai) ? WNN_SHO : WNN_DAI)) < 0)
726 return Qnil; 726 return Qnil;
727 #else 727 #else
728 if ((cnt = jl_nobi_conv (wnnfns_buf[snum], no, XINT(len), -1, WNN_USE_MAE, 728 if ((cnt = jl_nobi_conv (wnnfns_buf[snum], no, XINT(len), -1, WNN_USE_MAE,
729 (EQ(dai, Qnil)) ? WNN_SHO : WNN_DAI)) < 0) 729 NILP (dai) ? WNN_SHO : WNN_DAI)) < 0)
730 return Qnil; 730 return Qnil;
731 #endif 731 #endif
732 return make_int (cnt); 732 return make_int (cnt);
733 } 733 }
734 734
842 (bunNo)) 842 (bunNo))
843 { 843 {
844 int no; 844 int no;
845 int snum; 845 int snum;
846 if ((snum = check_wnn_server_type ()) == -1) return Qnil; 846 if ((snum = check_wnn_server_type ()) == -1) return Qnil;
847 if (EQ(bunNo, Qnil)) no = -1; 847 if (NILP (bunNo)) no = -1;
848 else 848 else
849 { 849 {
850 CHECK_INT (bunNo); 850 CHECK_INT (bunNo);
851 no = XINT (bunNo); 851 no = XINT (bunNo);
852 } 852 }
873 CHECK_STRING (yomi); 873 CHECK_STRING (yomi);
874 CHECK_STRING (comment); 874 CHECK_STRING (comment);
875 CHECK_INT (hinsi); 875 CHECK_INT (hinsi);
876 if ((snum = check_wnn_server_type ()) == -1) return Qnil; 876 if ((snum = check_wnn_server_type ()) == -1) return Qnil;
877 if (!wnnfns_buf[snum]) return Qnil; 877 if (!wnnfns_buf[snum]) return Qnil;
878 m2w (XSTRING (yomi)->_data, yomi_buf); 878 m2w (XSTRING_DATA (yomi), yomi_buf);
879 if (snum == WNNSERVER_C) 879 if (snum == WNNSERVER_C)
880 w2y (yomi_buf); 880 w2y (yomi_buf);
881 m2w (XSTRING (kanji)->_data, kanji_buf); 881 m2w (XSTRING_DATA (kanji), kanji_buf);
882 m2w (XSTRING (comment)->_data, comment_buf); 882 m2w (XSTRING_DATA (comment), comment_buf);
883 if (jl_word_add (wnnfns_buf[snum], XINT (dicno), yomi_buf, kanji_buf, 883 if (jl_word_add (wnnfns_buf[snum], XINT (dicno), yomi_buf, kanji_buf,
884 comment_buf, XINT (hinsi), 0) < 0) 884 comment_buf, XINT (hinsi), 0) < 0)
885 return Qnil; 885 return Qnil;
886 else return Qt; 886 else return Qt;
887 } 887 }
888 888
889 889
990 unsigned char lb; 990 unsigned char lb;
991 CHECK_STRING (yomi); 991 CHECK_STRING (yomi);
992 if ((snum = check_wnn_server_type ()) == -1) return Qnil; 992 if ((snum = check_wnn_server_type ()) == -1) return Qnil;
993 lb = lb_wnn_server_type[snum]; 993 lb = lb_wnn_server_type[snum];
994 if (!wnnfns_buf[snum]) return Qnil; 994 if (!wnnfns_buf[snum]) return Qnil;
995 m2w (XSTRING (yomi)->_data, wbuf); 995 m2w (XSTRING_DATA (yomi), wbuf);
996 if (snum == WNNSERVER_C) 996 if (snum == WNNSERVER_C)
997 w2y (wbuf); 997 w2y (wbuf);
998 if ((count = jl_word_search_by_env (wnnfns_buf[snum], 998 if ((count = jl_word_search_by_env (wnnfns_buf[snum],
999 wbuf, &wordinfo)) < 0) 999 wbuf, &wordinfo)) < 0)
1000 return Qnil; 1000 return Qnil;
1078 { 1078 {
1079 int setval; 1079 int setval;
1080 CHECK_INT (val); 1080 CHECK_INT (val);
1081 setval = XINT (val); 1081 setval = XINT (val);
1082 if (EQ (key, Qwnn_n)) param.n = setval; 1082 if (EQ (key, Qwnn_n)) param.n = setval;
1083 else if (EQ (key, Qwnn_nsho)) param.nsho = setval; 1083 else if (EQ (key, Qwnn_nsho)) param.nsho = setval;
1084 else if (EQ (key, Qwnn_hindo)) param.p1 = setval; 1084 else if (EQ (key, Qwnn_hindo)) param.p1 = setval;
1085 else if (EQ (key, Qwnn_len)) param.p2 = setval; 1085 else if (EQ (key, Qwnn_len)) param.p2 = setval;
1086 else if (EQ (key, Qwnn_jiri)) param.p3 = setval; 1086 else if (EQ (key, Qwnn_jiri)) param.p3 = setval;
1087 else if (EQ (key, Qwnn_flag)) param.p4 = setval; 1087 else if (EQ (key, Qwnn_flag)) param.p4 = setval;
1088 else if (EQ (key, Qwnn_jisho)) param.p5 = setval; 1088 else if (EQ (key, Qwnn_jisho)) param.p5 = setval;
1104 } 1104 }
1105 1105
1106 #if 0 1106 #if 0
1107 printf("wnn_n = %d\n",param.n); 1107 printf("wnn_n = %d\n",param.n);
1108 printf("wnn_nsho = %d\n",param.nsho); 1108 printf("wnn_nsho = %d\n",param.nsho);
1109 printf("wnn_hindo = %d\n",param.p1); 1109 printf("wnn_hindo = %d\n",param.p1);
1110 printf("wnn_len = %d\n",param.p2); 1110 printf("wnn_len = %d\n",param.p2);
1111 printf("wnn_jiri = %d\n",param.p3); 1111 printf("wnn_jiri = %d\n",param.p3);
1112 printf("wnn_flag = %d\n",param.p4); 1112 printf("wnn_flag = %d\n",param.p4);
1113 printf("wnn_jisho = %d\n",param.p5); 1113 printf("wnn_jisho = %d\n",param.p5);
1114 printf("wnn_sbn = %d\n",param.p6); 1114 printf("wnn_sbn = %d\n",param.p6);
1115 printf("wnn_dbn_len = %d\n",param.p7); 1115 printf("wnn_dbn_len = %d\n",param.p7);
1116 printf("wnn_sbn_cnt = %d\n",param.p8); 1116 printf("wnn_sbn_cnt = %d\n",param.p8);
1117 printf("wnn_suuji = %d\n",param.p9); 1117 printf("wnn_suuji = %d\n",param.p9);
1118 printf("wnn_kana = %d\n",param.p10); 1118 printf("wnn_kana = %d\n",param.p10);
1119 printf("wnn_eisuu = %d\n",param.p11); 1119 printf("wnn_eisuu = %d\n",param.p11);
1120 printf("wnn_kigou = %d\n",param.p12); 1120 printf("wnn_kigou = %d\n",param.p12);
1121 printf("wnn_toji_kakko = %d\n",param.p13); 1121 printf("wnn_toji_kakko = %d\n",param.p13);
1122 printf("wnn_fuzokogo = %d\n",param.p14); 1122 printf("wnn_fuzokogo = %d\n",param.p14);
1123 printf("wnn_kaikakko = %d\n",param.p15); 1123 printf("wnn_kaikakko = %d\n",param.p15);
1124 #endif 1124 #endif
1125 1125
1126 rc = jl_param_set (wnnfns_buf[snum], &param); 1126 rc = jl_param_set (wnnfns_buf[snum], &param);
1127 if (rc < 0) return Qnil; 1127 if (rc < 0) return Qnil;
1128 return Qt; 1128 return Qt;
1173 { 1173 {
1174 int snum; 1174 int snum;
1175 CHECK_STRING (file); 1175 CHECK_STRING (file);
1176 if ((snum = check_wnn_server_type ()) == -1) return Qnil; 1176 if ((snum = check_wnn_server_type ()) == -1) return Qnil;
1177 if (!wnnfns_buf[snum]) return Qnil; 1177 if (!wnnfns_buf[snum]) return Qnil;
1178 if (jl_fuzokugo_set (wnnfns_buf[snum], XSTRING (file)->_data) < 0) 1178 if (jl_fuzokugo_set (wnnfns_buf[snum], XSTRING_DATA (file)) < 0)
1179 return Qnil; 1179 return Qnil;
1180 return Qt; 1180 return Qt;
1181 } 1181 }
1182 1182
1183 DEFUN ("wnn-server-fuzokugo-get", Fwnn_fuzokugo_get, 0, 0, 0, /* 1183 DEFUN ("wnn-server-fuzokugo-get", Fwnn_fuzokugo_get, 0, 0, 0, /*
1244 CHECK_INT (dicno); 1244 CHECK_INT (dicno);
1245 CHECK_STRING (name); 1245 CHECK_STRING (name);
1246 if ((snum = check_wnn_server_type ()) == -1) return Qnil; 1246 if ((snum = check_wnn_server_type ()) == -1) return Qnil;
1247 lb = lb_wnn_server_type[snum]; 1247 lb = lb_wnn_server_type[snum];
1248 if (!wnnfns_buf[snum]) return Qnil; 1248 if (!wnnfns_buf[snum]) return Qnil;
1249 m2w (XSTRING (name)->_data, wbuf); 1249 m2w (XSTRING_DATA (name), wbuf);
1250 if ((cnt = jl_hinsi_list (wnnfns_buf[snum], XINT (dicno), wbuf, &area)) < 0) 1250 if ((cnt = jl_hinsi_list (wnnfns_buf[snum], XINT (dicno), wbuf, &area)) < 0)
1251 return Qnil; 1251 return Qnil;
1252 if (cnt == 0) return make_int (0); 1252 if (cnt == 0) return make_int (0);
1253 val = Qnil; 1253 val = Qnil;
1254 for (area += cnt; cnt > 0; cnt--) 1254 for (area += cnt; cnt > 0; cnt--)
1287 { 1287 {
1288 struct gcpro gcpro1; 1288 struct gcpro gcpro1;
1289 int snum; 1289 int snum;
1290 CHECK_STRING (args[0]); 1290 CHECK_STRING (args[0]);
1291 CHECK_STRING (args[1]); 1291 CHECK_STRING (args[1]);
1292 if (!EQ(args[3], Qnil)) CHECK_STRING (args[3]); 1292 if (! NILP (args[3])) CHECK_STRING (args[3]);
1293 if ((snum = check_wnn_server_type()) == -1) return Qnil; 1293 if ((snum = check_wnn_server_type()) == -1) return Qnil;
1294 if(!wnnfns_buf[snum]) return Qnil; 1294 if(!wnnfns_buf[snum]) return Qnil;
1295 GCPRO1 (*args); 1295 GCPRO1 (*args);
1296 gcpro1.nvars = nargs; 1296 gcpro1.nvars = nargs;
1297 if(jl_fi_dic_add(wnnfns_buf[snum], 1297 if(jl_fi_dic_add(wnnfns_buf[snum],
1298 XSTRING(args[0])->_data, 1298 XSTRING_DATA (args[0]),
1299 XSTRING(args[1])->_data, 1299 XSTRING_DATA (args[1]),
1300 WNN_FI_SYSTEM_DICT, 1300 WNN_FI_SYSTEM_DICT,
1301 WNN_DIC_RDONLY, 1301 WNN_DIC_RDONLY,
1302 (EQ(args[2], Qnil)) ? WNN_DIC_RDONLY : WNN_DIC_RW, 1302 NILP (args[2]) ? WNN_DIC_RDONLY : WNN_DIC_RW,
1303 0, 1303 0,
1304 (EQ(args[3], Qnil)) ? 0 : XSTRING(args[3])->_data, 1304 NILP (args[3]) ? 0 : XSTRING_DATA (args[3]),
1305 yes_or_no, 1305 yes_or_no,
1306 puts2 ) < 0) { 1306 puts2 ) < 0) {
1307 UNGCPRO; 1307 UNGCPRO;
1308 return Qnil; 1308 return Qnil;
1309 } 1309 }
1310 UNGCPRO; 1310 UNGCPRO;
1311 return Qt; 1311 return Qt;
1320 { 1320 {
1321 struct gcpro gcpro1; 1321 struct gcpro gcpro1;
1322 int snum; 1322 int snum;
1323 CHECK_STRING (args[0]); 1323 CHECK_STRING (args[0]);
1324 CHECK_STRING (args[1]); 1324 CHECK_STRING (args[1]);
1325 if (!EQ(args[4], Qnil)) CHECK_STRING (args[4]); 1325 if (! NILP (args[4])) CHECK_STRING (args[4]);
1326 if (!EQ(args[5], Qnil)) CHECK_STRING (args[5]); 1326 if (! NILP (args[5])) CHECK_STRING (args[5]);
1327 if ((snum = check_wnn_server_type()) == -1) return Qnil; 1327 if ((snum = check_wnn_server_type()) == -1) return Qnil;
1328 if(!wnnfns_buf[snum]) return Qnil; 1328 if(!wnnfns_buf[snum]) return Qnil;
1329 GCPRO1 (*args); 1329 GCPRO1 (*args);
1330 gcpro1.nvars = nargs; 1330 gcpro1.nvars = nargs;
1331 if(jl_fi_dic_add(wnnfns_buf[snum], 1331 if(jl_fi_dic_add(wnnfns_buf[snum],
1332 XSTRING(args[0])->_data, 1332 XSTRING_DATA (args[0]),
1333 XSTRING(args[1])->_data, 1333 XSTRING_DATA (args[1]),
1334 WNN_FI_USER_DICT, 1334 WNN_FI_USER_DICT,
1335 (EQ(args[2], Qnil)) ? WNN_DIC_RDONLY : WNN_DIC_RW, 1335 NILP (args[2]) ? WNN_DIC_RDONLY : WNN_DIC_RW,
1336 (EQ(args[3], Qnil)) ? WNN_DIC_RDONLY : WNN_DIC_RW, 1336 NILP (args[3]) ? WNN_DIC_RDONLY : WNN_DIC_RW,
1337 (EQ(args[4], Qnil)) ? 0 : XSTRING(args[4])->_data, 1337 NILP (args[4]) ? 0 : XSTRING_DATA (args[4]),
1338 (EQ(args[5], Qnil)) ? 0 : XSTRING(args[5])->_data, 1338 NILP (args[5]) ? 0 : XSTRING_DATA (args[5]),
1339 yes_or_no, 1339 yes_or_no,
1340 puts2 ) < 0) { 1340 puts2 ) < 0) {
1341 UNGCPRO; 1341 UNGCPRO;
1342 return Qnil; 1342 return Qnil;
1343 } 1343 }
1344 UNGCPRO; 1344 UNGCPRO;
1345 return Qt; 1345 return Qt;
1357 struct wnn_env *cur_env; 1357 struct wnn_env *cur_env;
1358 unsigned long vmask = 0; 1358 unsigned long vmask = 0;
1359 struct wnn_henkan_env henv; 1359 struct wnn_henkan_env henv;
1360 CHECK_STRING (args[0]); 1360 CHECK_STRING (args[0]);
1361 CHECK_INT (args[1]); 1361 CHECK_INT (args[1]);
1362 if (!EQ(args[3], Qnil)) CHECK_STRING (args[3]); 1362 if (! NILP (args[3])) CHECK_STRING (args[3]);
1363 if ((snum = check_wnn_server_type()) == -1) return Qnil; 1363 if ((snum = check_wnn_server_type()) == -1) return Qnil;
1364 if(!wnnfns_buf[snum]) return Qnil; 1364 if(!wnnfns_buf[snum]) return Qnil;
1365 GCPRO1 (*args); 1365 GCPRO1 (*args);
1366 gcpro1.nvars = nargs; 1366 gcpro1.nvars = nargs;
1367 if(wnnfns_norm) 1367 if(wnnfns_norm)
1369 else 1369 else
1370 cur_env = wnnfns_env_rev[snum]; 1370 cur_env = wnnfns_env_rev[snum];
1371 dic_no = js_get_autolearning_dic(cur_env, WNN_MUHENKAN_LEARNING); 1371 dic_no = js_get_autolearning_dic(cur_env, WNN_MUHENKAN_LEARNING);
1372 if (dic_no == WNN_NO_LEARNING) { 1372 if (dic_no == WNN_NO_LEARNING) {
1373 if((dic_no = jl_dic_add(wnnfns_buf[snum], 1373 if((dic_no = jl_dic_add(wnnfns_buf[snum],
1374 XSTRING(args[0])->_data, 1374 XSTRING_DATA (args[0]),
1375 0, 1375 0,
1376 wnnfns_norm ? WNN_DIC_ADD_NOR : WNN_DIC_ADD_REV, 1376 wnnfns_norm ? WNN_DIC_ADD_NOR : WNN_DIC_ADD_REV,
1377 XINT(args[1]), 1377 XINT(args[1]),
1378 WNN_DIC_RW, WNN_DIC_RW, 1378 WNN_DIC_RW, WNN_DIC_RW,
1379 (EQ(args[3], Qnil)) ? 0 : XSTRING(args[3])->_data, 1379 NILP (args[3]) ? 0 : XSTRING_DATA (args[3]),
1380 0, 1380 0,
1381 yes_or_no, 1381 yes_or_no,
1382 puts2)) < 0) { 1382 puts2)) < 0) {
1383 UNGCPRO; 1383 UNGCPRO;
1384 return Qnil; 1384 return Qnil;
1391 UNGCPRO; 1391 UNGCPRO;
1392 return Qnil; 1392 return Qnil;
1393 } 1393 }
1394 } 1394 }
1395 vmask |= WNN_ENV_MUHENKAN_LEARN_MASK; 1395 vmask |= WNN_ENV_MUHENKAN_LEARN_MASK;
1396 henv.muhenkan_flag = (EQ(args[2], Qnil)) ? WNN_DIC_RDONLY : WNN_DIC_RW; 1396 henv.muhenkan_flag = NILP (args[2]) ? WNN_DIC_RDONLY : WNN_DIC_RW;
1397 if(jl_set_henkan_env(wnnfns_buf[snum], 1397 if(jl_set_henkan_env(wnnfns_buf[snum],
1398 vmask, 1398 vmask,
1399 &henv) < 0) { 1399 &henv) < 0) {
1400 UNGCPRO; 1400 UNGCPRO;
1401 return Qnil; 1401 return Qnil;
1416 struct wnn_env *cur_env; 1416 struct wnn_env *cur_env;
1417 unsigned long vmask = 0; 1417 unsigned long vmask = 0;
1418 struct wnn_henkan_env henv; 1418 struct wnn_henkan_env henv;
1419 CHECK_STRING (args[0]); 1419 CHECK_STRING (args[0]);
1420 CHECK_INT (args[1]); 1420 CHECK_INT (args[1]);
1421 if (!EQ(args[3], Qnil)) CHECK_STRING (args[3]); 1421 if (! NILP (args[3])) CHECK_STRING (args[3]);
1422 if ((snum = check_wnn_server_type()) == -1) return Qnil; 1422 if ((snum = check_wnn_server_type()) == -1) return Qnil;
1423 if(!wnnfns_buf[snum]) return Qnil; 1423 if(!wnnfns_buf[snum]) return Qnil;
1424 GCPRO1 (*args); 1424 GCPRO1 (*args);
1425 gcpro1.nvars = nargs; 1425 gcpro1.nvars = nargs;
1426 if(wnnfns_norm) 1426 if(wnnfns_norm)
1428 else 1428 else
1429 cur_env = wnnfns_env_rev[snum]; 1429 cur_env = wnnfns_env_rev[snum];
1430 dic_no = js_get_autolearning_dic(cur_env, WNN_BUNSETSUGIRI_LEARNING); 1430 dic_no = js_get_autolearning_dic(cur_env, WNN_BUNSETSUGIRI_LEARNING);
1431 if (dic_no == WNN_NO_LEARNING) { 1431 if (dic_no == WNN_NO_LEARNING) {
1432 if((dic_no = jl_dic_add(wnnfns_buf[snum], 1432 if((dic_no = jl_dic_add(wnnfns_buf[snum],
1433 XSTRING(args[0])->_data, 1433 XSTRING_DATA (args[0]),
1434 0, 1434 0,
1435 wnnfns_norm ? WNN_DIC_ADD_NOR : WNN_DIC_ADD_REV, 1435 wnnfns_norm ? WNN_DIC_ADD_NOR : WNN_DIC_ADD_REV,
1436 XINT(args[1]), 1436 XINT(args[1]),
1437 WNN_DIC_RW, WNN_DIC_RW, 1437 WNN_DIC_RW, WNN_DIC_RW,
1438 (EQ(args[3], Qnil)) ? 0 : XSTRING(args[3])->_data, 1438 NILP (args[3]) ? 0 : XSTRING_DATA (args[3]),
1439 0, 1439 0,
1440 yes_or_no, 1440 yes_or_no,
1441 puts2)) < 0) { 1441 puts2)) < 0) {
1442 UNGCPRO; 1442 UNGCPRO;
1443 return Qnil; 1443 return Qnil;
1450 UNGCPRO; 1450 UNGCPRO;
1451 return Qnil; 1451 return Qnil;
1452 } 1452 }
1453 } 1453 }
1454 vmask |= WNN_ENV_BUNSETSUGIRI_LEARN_MASK; 1454 vmask |= WNN_ENV_BUNSETSUGIRI_LEARN_MASK;
1455 henv.bunsetsugiri_flag = (EQ(args[2], Qnil)) ? WNN_DIC_RDONLY : WNN_DIC_RW; 1455 henv.bunsetsugiri_flag = NILP (args[2]) ? WNN_DIC_RDONLY : WNN_DIC_RW;
1456 if(jl_set_henkan_env(wnnfns_buf[snum], 1456 if(jl_set_henkan_env(wnnfns_buf[snum],
1457 vmask, 1457 vmask,
1458 &henv) < 0) { 1458 &henv) < 0) {
1459 UNGCPRO; 1459 UNGCPRO;
1460 return Qnil; 1460 return Qnil;
1471 int snum; 1471 int snum;
1472 unsigned long vmask = 0; 1472 unsigned long vmask = 0;
1473 struct wnn_henkan_env henv; 1473 struct wnn_henkan_env henv;
1474 if ((snum = check_wnn_server_type()) == -1) return Qnil; 1474 if ((snum = check_wnn_server_type()) == -1) return Qnil;
1475 if(!wnnfns_buf[snum]) return Qnil; 1475 if(!wnnfns_buf[snum]) return Qnil;
1476 vmask |= WNN_ENV_LAST_IS_FIRST_MASK; 1476 vmask |= WNN_ENV_LAST_IS_FIRST_MASK;
1477 henv.last_is_first_flag = (EQ(mode, Qnil)) ? False : True; 1477 henv.last_is_first_flag = NILP (mode) ? False : True;
1478 if(jl_set_henkan_env(wnnfns_buf[snum], 1478 if(jl_set_henkan_env(wnnfns_buf[snum],
1479 vmask, 1479 vmask,
1480 &henv) < 0) return Qnil; 1480 &henv) < 0) return Qnil;
1481 return Qt; 1481 return Qt;
1482 } 1482 }
1490 unsigned long vmask = 0; 1490 unsigned long vmask = 0;
1491 struct wnn_henkan_env henv; 1491 struct wnn_henkan_env henv;
1492 if ((snum = check_wnn_server_type()) == -1) return Qnil; 1492 if ((snum = check_wnn_server_type()) == -1) return Qnil;
1493 if(!wnnfns_buf[snum]) return Qnil; 1493 if(!wnnfns_buf[snum]) return Qnil;
1494 vmask |= WNN_ENV_COMPLEX_CONV_MASK; 1494 vmask |= WNN_ENV_COMPLEX_CONV_MASK;
1495 henv.complex_flag = (EQ(mode, Qnil)) ? False : True; 1495 henv.complex_flag = NILP (mode) ? False : True;
1496 if(jl_set_henkan_env(wnnfns_buf[snum], 1496 if(jl_set_henkan_env(wnnfns_buf[snum],
1497 vmask, 1497 vmask,
1498 &henv) < 0) return Qnil; 1498 &henv) < 0) return Qnil;
1499 return Qt; 1499 return Qt;
1500 } 1500 }
1508 unsigned long vmask = 0; 1508 unsigned long vmask = 0;
1509 struct wnn_henkan_env henv; 1509 struct wnn_henkan_env henv;
1510 if ((snum = check_wnn_server_type()) == -1) return Qnil; 1510 if ((snum = check_wnn_server_type()) == -1) return Qnil;
1511 if(!wnnfns_buf[snum]) return Qnil; 1511 if(!wnnfns_buf[snum]) return Qnil;
1512 vmask |= WNN_ENV_OKURI_LEARN_MASK; 1512 vmask |= WNN_ENV_OKURI_LEARN_MASK;
1513 henv.okuri_learn_flag = (EQ(mode, Qnil)) ? False : True; 1513 henv.okuri_learn_flag = NILP (mode) ? False : True;
1514 if(jl_set_henkan_env(wnnfns_buf[snum], 1514 if(jl_set_henkan_env(wnnfns_buf[snum],
1515 vmask, 1515 vmask,
1516 &henv) < 0) return Qnil; 1516 &henv) < 0) return Qnil;
1517 return Qt; 1517 return Qt;
1518 } 1518 }
1551 unsigned long vmask = 0; 1551 unsigned long vmask = 0;
1552 struct wnn_henkan_env henv; 1552 struct wnn_henkan_env henv;
1553 if ((snum = check_wnn_server_type()) == -1) return Qnil; 1553 if ((snum = check_wnn_server_type()) == -1) return Qnil;
1554 if(!wnnfns_buf[snum]) return Qnil; 1554 if(!wnnfns_buf[snum]) return Qnil;
1555 vmask |= WNN_ENV_PREFIX_LEARN_MASK; 1555 vmask |= WNN_ENV_PREFIX_LEARN_MASK;
1556 henv.prefix_learn_flag = (EQ(mode, Qnil)) ? False : True; 1556 henv.prefix_learn_flag = NILP (mode) ? False : True;
1557 if(jl_set_henkan_env(wnnfns_buf[snum], 1557 if(jl_set_henkan_env(wnnfns_buf[snum],
1558 vmask, 1558 vmask,
1559 &henv) < 0) return Qnil; 1559 &henv) < 0) return Qnil;
1560 return Qt; 1560 return Qt;
1561 } 1561 }
1592 unsigned long vmask = 0; 1592 unsigned long vmask = 0;
1593 struct wnn_henkan_env henv; 1593 struct wnn_henkan_env henv;
1594 if ((snum = check_wnn_server_type()) == -1) return Qnil; 1594 if ((snum = check_wnn_server_type()) == -1) return Qnil;
1595 if(!wnnfns_buf[snum]) return Qnil; 1595 if(!wnnfns_buf[snum]) return Qnil;
1596 vmask |= WNN_ENV_SUFFIX_LEARN_MASK; 1596 vmask |= WNN_ENV_SUFFIX_LEARN_MASK;
1597 henv.suffix_learn_flag = (EQ(mode, Qnil)) ? False : True; 1597 henv.suffix_learn_flag = NILP (mode) ? False : True;
1598 if(jl_set_henkan_env(wnnfns_buf[snum], 1598 if(jl_set_henkan_env(wnnfns_buf[snum],
1599 vmask, 1599 vmask,
1600 &henv) < 0) return Qnil; 1600 &henv) < 0) return Qnil;
1601 return Qt; 1601 return Qt;
1602 } 1602 }
1610 unsigned long vmask = 0; 1610 unsigned long vmask = 0;
1611 struct wnn_henkan_env henv; 1611 struct wnn_henkan_env henv;
1612 if ((snum = check_wnn_server_type()) == -1) return Qnil; 1612 if ((snum = check_wnn_server_type()) == -1) return Qnil;
1613 if(!wnnfns_buf[snum]) return Qnil; 1613 if(!wnnfns_buf[snum]) return Qnil;
1614 vmask |= WNN_ENV_COMMON_LAERN_MASK; 1614 vmask |= WNN_ENV_COMMON_LAERN_MASK;
1615 henv.common_learn_flag = (EQ(mode, Qnil)) ? False : True; 1615 henv.common_learn_flag = NILP (mode) ? False : True;
1616 if(jl_set_henkan_env(wnnfns_buf[snum], 1616 if(jl_set_henkan_env(wnnfns_buf[snum],
1617 vmask, 1617 vmask,
1618 &henv) < 0) return Qnil; 1618 &henv) < 0) return Qnil;
1619 return Qt; 1619 return Qt;
1620 } 1620 }
1726 unsigned long vmask = 0; 1726 unsigned long vmask = 0;
1727 struct wnn_henkan_env henv; 1727 struct wnn_henkan_env henv;
1728 if ((snum = check_wnn_server_type()) == -1) return Qnil; 1728 if ((snum = check_wnn_server_type()) == -1) return Qnil;
1729 if(!wnnfns_buf[snum]) return Qnil; 1729 if(!wnnfns_buf[snum]) return Qnil;
1730 vmask |= WNN_ENV_YURAGI_MASK; 1730 vmask |= WNN_ENV_YURAGI_MASK;
1731 henv.yuragi_flag = (EQ(mode, Qnil)) ? False : True; 1731 henv.yuragi_flag = NILP (mode) ? False : True;
1732 if(jl_set_henkan_env(wnnfns_buf[snum], 1732 if(jl_set_henkan_env(wnnfns_buf[snum],
1733 vmask, 1733 vmask,
1734 &henv) < 0) return Qnil; 1734 &henv) < 0) return Qnil;
1735 return Qt; 1735 return Qt;
1736 } 1736 }
1776 int no; 1776 int no;
1777 int snum; 1777 int snum;
1778 CHECK_STRING (name); 1778 CHECK_STRING (name);
1779 if ((snum = check_wnn_server_type ()) == -1) return Qnil; 1779 if ((snum = check_wnn_server_type ()) == -1) return Qnil;
1780 if (!wnnfns_buf[snum]) return Qnil; 1780 if (!wnnfns_buf[snum]) return Qnil;
1781 m2w (XSTRING (name)->_data, w_buf); 1781 m2w (XSTRING_DATA (name), w_buf);
1782 if ((no = jl_hinsi_number (wnnfns_buf[snum], w_buf)) < 0) return Qnil; 1782 if ((no = jl_hinsi_number (wnnfns_buf[snum], w_buf)) < 0) return Qnil;
1783 return make_int (no); 1783 return make_int (no);
1784 } 1784 }
1785 1785
1786 void 1786 void
1924 { 1924 {
1925 case 0x80: 1925 case 0x80:
1926 if (EQ(Vwnn_server_type, Qcserver)) 1926 if (EQ(Vwnn_server_type, Qcserver))
1927 { 1927 {
1928 len = cwnn_yincod_pzy (pzy, wc, 1928 len = cwnn_yincod_pzy (pzy, wc,
1929 (EQ(Vcwnn_zhuyin, Qnil)) 1929 NILP (Vcwnn_zhuyin)
1930 ? CWNN_PINYIN 1930 ? CWNN_PINYIN
1931 : CWNN_ZHUYIN); 1931 : CWNN_ZHUYIN);
1932 for (i = 0; i < len; i++) 1932 for (i = 0; i < len; i++)
1933 { 1933 {
1934 if (pzy[i] & 0x80) 1934 if (pzy[i] & 0x80)
1970 1970
1971 void 1971 void
1972 m2w (unsigned char *mp, w_char *wp) 1972 m2w (unsigned char *mp, w_char *wp)
1973 { 1973 {
1974 unsigned int ch; 1974 unsigned int ch;
1975 1975
1976 while ((ch = *mp++) != 0) 1976 while ((ch = *mp++) != 0)
1977 { 1977 {
1978 if (BUFBYTE_LEADING_BYTE_P (ch)) 1978 if (BUFBYTE_LEADING_BYTE_P (ch))
1979 { 1979 {
1980 switch (ch) 1980 switch (ch)
2030 {*pin =0; break;} 2030 {*pin =0; break;}
2031 else *pin = *w; 2031 else *pin = *w;
2032 w++; pin++; 2032 w++; pin++;
2033 } 2033 }
2034 len = cwnn_pzy_yincod (ybuf, pbuf, 2034 len = cwnn_pzy_yincod (ybuf, pbuf,
2035 (EQ(Vcwnn_zhuyin, Qnil)) ? CWNN_PINYIN : CWNN_ZHUYIN); 2035 NILP (Vcwnn_zhuyin) ? CWNN_PINYIN : CWNN_ZHUYIN);
2036 if (len <= 0) 2036 if (len <= 0)
2037 return; 2037 return;
2038 2038
2039 pin = ybuf; 2039 pin = ybuf;
2040 while (1) 2040 while (1)