diff -crN irchat-2.4jp23b/CHANGELOG irchat-pj-2.4.23.19/CHANGELOG
*** irchat-2.4jp23b/CHANGELOG	Thu Jan  1 09:00:00 1970
--- irchat-pj-2.4.23.19/CHANGELOG	Thu Jan  7 11:49:27 1999
***************
*** 0 ****
--- 1,170 ----
+ irchat-pj 2.4.23.19
+ 
+   * Emacs19 ¥Ù¡¼¥¹¤Î Mule ¾å¤Ç irchat-Command-join ¤ò¸Æ¤Ö
+     (C-c j) ¤È, ÊÑ¿ô¤¬¤Ê¤¤¤È¥¨¥é¡¼¤¬¤Ç¤¿¤Î¤ò½¤Àµ¤·¤Þ¤·¤¿.
+   * Emacs19 ¥Ù¡¼¥¹¤Î Mule ¾å¤Ç SKK ÍøÍÑ»þ¤Ë, ÆüËÜ¸ì¥³¡¼¥É¼«Æ°È½Äê
+     µ¡Ç½¤òÍ­¸ú¤Ë¤·¤¿¤È¤­, ÆþÎÏ¤·¤Æ¤¤¤¿Ê¸»ú¤¬¾¡¼ê¤Ë³ÎÄê¤·¤Æ¤·¤Þ¤¦
+     ¥Ð¥°¤ò½¤Àµ¤·¤Þ¤·¤¿.
+   * ºÇ¾åÃÊ¤Î IRCHAT: Commands ¤Î¥â¡¼¥É¥é¥¤¥ó¤òÊÑ¹¹¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿.
+   * (¤ª¤Þ¤±) browse-url-plus ¥Ñ¥Ã¥±¡¼¥¸¤È¤¤¤¦¤â¤Î¤ò¤Ä¤±¤Þ¤·¤¿.
+     ¤³¤ì¤Ï, browse-url ¥Ñ¥Ã¥±¡¼¥¸¤ò³ÈÄ¥¤¹¤ë¤¿¤á¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ç,
+     browse-url ´Ø¿ô¤ÈÆ±Åù¤Î´Ø¿ô¤òÊ£¿ôºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.
+ 
+  -- Thu,  7 Jan 1999 11:14:07 +0900
+ 	
+ irchat-pj 2.4.23.18
+ 
+   * ¤¤¤ï¤æ¤ë¡ÖÈ¾³Ñ¥«¥Ê¡×¤òÆþÎÏ¤·¤¿¤È¤­, Á´³Ñ¥«¥Ê¤ËÊÑ´¹¤¹¤ë¤³¤È¤ò
+     ²ÄÇ½¤Ë¤·¤Þ¤·¤¿
+   * ¤¤¤ï¤æ¤ë¡Ö¤¬¤¬ÌäÂê¡×ÂÐºö¤ò¹Ô¤¤¤Þ¤·¤¿
+     ¡Ö#¤¬¤¬¡×Åù¤Î¤è¤¦¤Ê, ÆüËÜ¸ìÊ¸»ú¤Î¥Á¥ã¥Í¥ë¤Î¤¦¤Á "," ¤Î¥³¡¼¥É¤ò
+     ´Þ¤à¥Á¥ã¥Í¥ë¤Ïºî¤ì¤Ê¤¤¤Î¤Ç¤¹¤¬, ³ºÅö¤¹¤ë¥Á¥ã¥Í¥ë¤Ë JOIN ¤·¤è¤¦¤È
+     ¤¹¤ë¤È, º£¤Þ¤Ç¤Ï, ²èÌÌ¤¬Íð¤ì¤Þ¤·¤¿¤¬, ·Ù¹ð¤ò½Ð¤¹¤³¤È¤Ç²óÈò¤·¤Þ¤·¤¿
+   * ¥µ¡¼¥Ð¤«¤é¤Î NOTICE ¥á¥Ã¥»¡¼¥¸¤ÎÉ½¼¨·Á¼°¤òÊÑ¹¹¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿
+     º£¤Þ¤Ç¤Î¾ì¹ç, =irc.server.or.jp= Åù¤Î¤è¤¦¤Ë PRIVATE ¥á¥Ã¥»¡¼¥¸¤È
+     Æ±¤¸·Á¼°¤ÇÉ½¼¨¤µ¤ì¤Æ¤ª¤ê¤Þ¤·¤¿¤¬, ¤³¤ì¤ò === ¤Ç¤Ï¤¸¤Þ¤ëÉ½¼¨¤Ë
+     ÊÑ¹¹¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿
+ 
+  -- Thu, 19 Nov 1998 23:08:07 +0900
+ 
+ irchat-pj 2.4.23.17
+ 
+   * irc2.10 ¤Ç¿·Àß¤µ¤ì¤¿, `!' ¤Ç¤Ï¤¸¤Þ¤ë¥Á¥ã¥Í¥ëÌ¾¤ËÂÐ±þ
+   * FAQ-irchat-PJ.txt ¤Îµ­½Ò¥ß¥¹¤òÄûÀµ
+   * dcc.c ¤ò Debian ÉÕÂ°¤Î¤â¤Î¤«¤é irchat-2.4jp23b ÉÕÂ°¤Î¤â¤Î¤ËÊÑ¹¹
+ 
+  -- Sat,  7 Nov 1998 21:45:34 +0900
+ 
+ irchat-pj 2.4.23.16
+ 
+   * ¥¤¥ó¥Ð¥¤¥È¤µ¤ì¤¿¤È¤­¤Ë¥Ó¡¼¥×¤òÌÄ¤é¤¹¤³¤È¤ò¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿
+   * ¸ÄÊÌ¥Ð¥Ã¥Õ¥¡¤òºî¤Ã¤Æ¤Ê¤¤¿Í¤«¤é private message ¤ò¼õ¤±¤¿¤È¤­¤Ë
+     ¥Ó¡¼¥×¤òÌÄ¤é¤¹¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿
+ 
+  -- Mon,  2 Nov 1998 03:22:21 +0900
+ 
+ irchat-pj 2.4.23.15
+ 
+   * Private ¥Ð¥Ã¥Õ¥¡¤Ç nick ÊÑ¹¹¤ò¤·, ²¿¤«Ê¸»ú¤òÆþÎÏ¤·¤¿¾ì¹ç,
+     ÊÑ¹¹Á°¤Î nick ¤Ë PRIVMSG ¤¬Á÷¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤Î¤ò
+     ÊÑ¹¹¸å¤Î nick ¤ËÁ÷¤ë¤è¤¦¤Ë½¤Àµ¤·¤Þ¤·¤¿
+   * ÆüËÜ¸ì½èÍý¤Î¥ì¥Ù¥ë¤òÊÑ¹¹¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿
+ 
+  -- Sun,  1 Nov 1998 22:54:21 +0900
+ 
+ irchat-pj 2.4.23.14
+ 
+   * Emacs19.* ¤Ç»È¤¨¤Ê¤¤ (unless) ´Ø¿ô¤ò, (if) ¤È (null) ¤ò»È¤¦¤è¤¦¤Ë
+     ÊÑ¹¹. ¤³¤ì¤Ç, Emacs19.* ¤ÇÈ¯À¸¤·¤¿¥¨¥é¡¼¤¬¤Ò¤È¤Ä¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿.
+   * ÆÃÄê¤ÎÀµµ¬É½¸½¤ò¼õ¿®¤¹¤ë¤È¥Ó¡¼¥×¤òÌÄ¤é¤¹¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿.
+     Àµµ¬É½¸½¤ò¥ê¥¹¥È¤ÇÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¤¿¤á, ÌµÍý¤Ë¤Ò¤È¤Ä¤ÎÀµµ¬É½¸½¤Ç
+     µ­½Ò¤¹¤ëÉ¬Í×¤Ï¤¢¤ê¤Þ¤»¤ó.
+ 
+  -- Sat, 31 Oct 1998 08:08:21 +0900
+ 
+ irchat-pj 2.4.23.13
+ 
+   * irchat-filter-convert-code ´Ø¿ôÆâ¤Î¥í¡¼¥«¥ëÊÑ¿ô¤Î
+     ½é´ü²½¤òËº¤ì¤Æ¤¤¤¿¥Ð¥°¤ò½¤Àµ
+ 
+  -- Wed, 30 Sep 1998 22:12:27 +0900
+ 
+ irchat-pj 2.4.23.12
+ 
+   * 2.4.23.11 ¤Î¥Ñ¥Ã¥±¡¼¥¸¥ó¥°¤ÎºÝ¤Ë, ¤É¤¦¤ä¤é 2.4.23.10 ¤ò
+     ¾å½ñ¤­¤·¤Æ¤·¤Þ¤Ã¤¿¤è¤¦¤Ç, 2.4.23.11 ¤Ç¤Î½¤Àµ»ö¹à¤¬Á´¤¯
+     ½¤Àµ¤µ¤ì¤Æ¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ (^^;
+     ¢ª  °ìÉô¥½¡¼¥¹ÊÑ¹¹, ¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¥ó¥°¤ò¹Ô¤Ã¤¿
+ 
+  -- Wed, 30 Sep 1998 00:22:42 +0900
+ 
+ irchat-pj 2.4.23.11
+ 
+   * DCC chat ¤Ë¤ª¤¤¤Æ, ¶õ¹Ô¤Ç¥¨¥é¡¼¤¬¤Ç¤ëÉÔ¶ñ¹ç¤ò½¤Àµ
+   * DCC chat ¤Ë¤ª¤¤¤Æ, ²þ¹Ô¥³¡¼¥É¤òÊÑ´¹¤¹¤ë¤è¤¦¤Ë¤·¤¿
+ 
+  -- Mon, 28 Sep 1998 02:09:17 +0900
+ 
+ irchat-pj 2.4.23.10
+ 
+   * ÆüËÜ¸ì¤Ç DCC chat ¤ò²ÄÇ½¤Ë¤¹¤ë
+     (Quiver ÍÍ, Êó¹ð¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹)
+   * irchat-filter ¤«¤é, Ê¸»ú¥³¡¼¥É¤òÈ½Äê¤¹¤ëÉôÊ¬,
+     Ê¸»ú¥³¡¼¥É¤ÎÊÑ´¹¤ò¹Ô¤¦ÉôÊ¬¤òÊ¬Î¥
+ 
+  -- Sun, 27 Sep 1998 09:42:25 +0900
+ 
+ irchat-pj 2.4.23.9
+ 
+   * irchat-jp-simm-2.4-jp23b-e20-qh3 ¤Ç¤ÎÊÑ¹¹¤Ç,
+     Emacs 19.34 ¥Ù¡¼¥¹¤Î Mule 2.3 ¤Ç DCC ¤Ç¤­¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤¿¥Ð¥°¤òÄûÀµ
+     (Quiver ÍÍ, Êó¹ð¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹)
+ 
+  -- Sat, 26 Sep 1998 09:20:43 +0900
+ 
+ irchat-pj 2.4.23.8
+ 
+   * irchat-PJ ¥×¥í¥¸¥§¥¯¥ÈÈ¯Â­
+     ¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Î¤Ä¤±¤«¤¿ÊÑ¹¹
+ 
+  -- Thu, 24 Sep 1998 21:52:13 +0900
+ 
+ irchat-jp-simm-2.4-jp23b-e20-qh8
+ 
+   * XEmacs20.4 »ÈÍÑ»þ¤Ë NOTICE ¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤Ã¤¿¤È¤­
+     ¡ÖÀµµ¬É½¸½¤¬ÊÑ¤À¡×¤È Warning ¤òÅÇ¤¤¤Æ¤¤¤¿¤Î¤ò½¤Àµ
+ 
+  -- Thu, 24 Sep 1998 00:23:05 +0900
+ 
+ irchat-jp-simm-2.4-jp23b-e20-qh7
+ 
+   * 1¥Ð¥¤¥ÈSJIS¥³¡¼¥É(¤¤¤ï¤æ¤ëÈ¾³Ñ¥«¥Ê)ÂÐ±þ
+ 
+  -- Sat, 19 Sep 1998 23:11:28 +0900
+ 
+ irchat-jp-simm-2.4-jp23b-e20-qh6
+ 
+   * EUC/SJIS¤ò¼õ¤±¤È¤Ã¤Æ¤â, ÆüËÜ¸ì¤È¤·¤ÆÉ½¼¨¤Ç¤­¤ë¤è¤¦¤ËÊÑ¹¹
+   * XEmacs 20.4(Emerald) Àµ¼°ÂÐ±þ
+ 
+  -- Sat, 19 Sep 1998 20:34:08 +0900
+ 
+ irchat-jp-simm-2.4-jp23b-e20-qh5
+ 
+   * Ä¹¤¤¥È¥Ô¥Ã¥¯¤¬¤­¤Æ¤â´°Á´¤ËÊ¸»ú²½¤±¤·¤Ê¤¤¤è¤¦¤Ë½¤Àµ
+ 
+  -- Fri, 18 Sep 1998 23:36:58 +0900
+ 
+ irchat-jp-simm-2.4-jp23b-e20-qh4-2
+ 
+   * ÊÑ¿ô¤Î¥¹¥Ú¥ë¥ß¥¹¤ò½¤Àµ(¤×¤×¤Ë¤ã¤ó¡ùÍÍ, Êó¹ð¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹)
+     
+  -- Tue, 15 Sep 1998 01:20:43 +0900
+ 
+ irchat-jp-simm-2.4-jp23b-e20-qh4-1
+ 
+   * Emacs20 ¤Ç DCC ¤·¤è¤¦¤È¤¹¤ë¤È Error ¤¬¤Ç¤ëÌäÂê¤ò²ò¾Ã
+     ¤¿¤À¤·, ¤¢¤¤¤«¤ï¤é¤ºÊÉ¤ÎÃæ¤äPPP±Û¤·¤Ë¤ÏDCC¤Ç¤­¤Þ¤»¤ó
+   * coding-system ¤Þ¤ï¤ê¤Î¥Ð¥°¤ò²ò¾Ã
+ 
+  -- Wed,  9 Sep 1998 02:42:40 +0900
+ 
+ irchat-jp-simm-2.4-jp23b-e20-qh3
+ 
+   * Ä¹¤¤¥È¥Ô¥Ã¥¯¤¬¤¢¤ë¤ÈÉ½¼¨¤¬Êø¤ì¤ëÌäÂê¤ò²ò·è
+ 
+  -- Sun,  6 Sep 1998 02:23:02 +0900
+ 
+ irchat-jp-simm-2.4-jp23b-e20-qh2
+ 
+   * coding-system ¤Þ¤ï¤ê¤Î¼ÂÁõÊýË¡¤ÎÊÑ¹¹
+ 
+  -- Sun, 14 Jun 1998 08:31:14 +0900
+ 
+ irchat-jp-simm-2.4-jp23b-e20-qh1
+ 
+   * Emacs20.2¤Ç, EUC/SJIS¤ò¥Ç¥Õ¥©¥ë¥È¤Ë¤·¤Æ¤¤¤Æ¤âIRC¤Ç¤­¤ë¤è¤¦¤ËÊÑ¹¹
+   * ¥­¡¼¥Ð¥¤¥ó¥É¤ÎÄÉ²Ã
+ 
+  -- Sat, 4 Apr 1998 04:22:45 +0900
+ 
diff -crN irchat-2.4jp23b/FAQ-irchat-PJ.txt irchat-pj-2.4.23.19/FAQ-irchat-PJ.txt
*** irchat-2.4jp23b/FAQ-irchat-PJ.txt	Thu Jan  1 09:00:00 1970
--- irchat-pj-2.4.23.19/FAQ-irchat-PJ.txt	Thu Jan  7 15:48:53 1999
***************
*** 0 ****
--- 1,226 ----
+ Subject:      irchat-PJ $B$K$D$$$F(B
+ Author:       $B$7$^$@(B $B$_$D$N$V(B <simm-irc@fan.gr.jp>
+ Date:         1999$BG/(B1$B7n(B7$BF|(B($BLZ(B)
+ Organization: irchat-PJ Project
+ 
+ $B!&(Birchat-PJ $B$H$O(B?
+ 
+     $B$h$j40`z$KF|K\$r07$&$?$a$K(B, irchat-jp $B$r2~B$$7$?$b$N$G$9(B.
+     Mule $B>e$G(B irchat-jp $B$rMQ$$$k$H(B, $B2?$N6lO+$b$J$/F|K\8l$G(B IRC
+     $B$r9T$&$3$H$,$G$-$k$?$a(B, $BF|K\$N(B UNIX $BMxMQ<T$K$O$b$C$H$bIa5Z$7(B
+     $B$F$$$k(B IRC $B%/%i%$%"%s%H$H$$$($^$9(B.
+ 
+     $B$?$@(B, $B$3$N(B irchat-jp $B$G$9$,(B, $B:G=*99?7$,(B1997$BG/(B7$B7n(B9$BF|(B, $B$D$^$j(B,
+     $BK\9F<9I.;~E@$G$9$G$KLs(B1$BG/$N7nF|$,7P$C$F$*$j$^$9(B. $B$=$N4V(B,
+     Emacs $B<+BN$N%a%8%c!<%P!<%8%g%s$,>e$,$k$J$I(B, $B=>Mh$N(B irchat-jp
+     $B$G$OBP1~$G$-$J$$>u67$,$G$F$-$^$7$?(B. $B$?$H$($P(B
+     $B!&(BEmacs20$B>e$G$O(B, JIS $B0J30$rI8=`$K$7$F$$$k$HJ8;z2=$1$,5/$3$k(B
+     $B!&(BXEmacs20$B$KBP1~$G$-$F$$$J$$(B
+     $BEy$G$9(B.
+ 
+     $B$^$?(B, $BD9$$%H%T%C%/$N%A%c%M%k$K(B join $B$9$k$HJ8;z2=$1$9$kEy(B, $BF|(B
+     $BK\8l$G(B IRC $B$r9T$&$K:]$7$F$$$/$D$+$NLdBjE@$,=>Mh$+$iB8:_$7$^(B
+     $B$7$?(B. $B=i4|$N:"$O(B irchat $B0J30$N%/%i%$%"%s%H$rMxMQ$7$F$$$k?M$,(B
+     $B$5$[$I$$$J$+$C$?$?$a(B, $B$3$l$,LdBj$H$J$k$3$H$O$[$H$s$I$"$j$^$;(B
+     $B$s$G$7$?(B. $B$7$+$7(B, $B$3$3(B1$BG/$[$I$N4V$K(BIRC$B$,5^B.$K3H$,$j(B, irchat
+     $B$r;H$C$?$3$H$N$J$$?M$N$[$&$,B?$$>u67$K$J$j$D$D$"$j(B, irchat$B$G(B
+     $BJ8;z2=$1$,5/$3$C$F$$$F$b(B, $BLdBj$K$5$l$J$$$3$H$,$7$P$7$P$"$j$^(B
+     $B$9(B.
+ 
+     $B$=$3$G(B,
+     $B!&(BEmacs20$BEy(B, $B?7$7$$(BEmacs$B$G$bLdBj$J$/F0$/$h$&$K$9$k(B
+     $B!&J8;z2=$1$r(B($B$J$k$Y$/(B)$B5/$3$5$J$$$h$&$K$9$k(B
+     $B$3$H$rL\E*$K(Birchat$B$K2~B$$r2C$($?$b$N$,(B, irchat-PJ $B$G$9(B.
+ 
+     $B$J$*(B, PJ $B$O(B, Perfect Japanization ($B40`z$JF|K\8l2=(B) $B$NN,$G(B,
+     $B$h$j40`z$KF|K\8l$r07$($k$h$&$K$9$k$3$H$,L\I8$G$9(B.
+ 
+ $B!&(Birchat-jp $B$H$N0c$$$O(B?
+ 
+     irchat-jp $B$HHf$Y$?$H$-$N(B, irchat-PJ $B$ND9=j!&MxE@$O(B, $B<!$N$H$*(B
+     $B$j$G$9(B.
+     $B!&(BEmacs20.2/20.3, XEmacs20.4$BBP1~(B
+     $B!&D9$$%H%T%C%/$G$bJ8;z2=$1$7$J$$(B
+     $B!&(BEUC-JP$B$d(BMS$B4A;z%3!<%I$NF~NO$,$"$C$F$bJ8;z2=$1$7$J$$(B
+       $BLdBj$J$$DxEY$K(B, $B<+F0H=JL$r9T$$$^$9(B. $B<+F0H=JL$rL58z$K$9$k$3(B
+       $B$H$b2DG=$G$9(B.
+ 
+ $B!&%P!<%8%g%sHV9f$K$D$$$F(B
+ 
+     $B$?$H$($P(B, irchat-pj 2.4.23.8 $B$N>l9g(B,
+     $B!&(B2.4 : $B%Y!<%9$H$J$C$?(B irchat $B$N%P!<%8%g%s(B
+     $B!&(B23  : $B%Y!<%9$H$J$C$?(B irchat-jp $B$N%P!<%8%g%s(B
+     $B!&(B 8  : irchat-PJ $B$NDL$7HV9f(B
+     $B$H$J$j$^$9(B.
+ 
+ $B!&$J$<(B 2.4.23.1 $B$+$i(B 2.4.23.7 $B$,B8:_$7$J$$$N(B?
+ 
+     $B$b$H$b$H(B, $B$3$N2~B$$O(B, irchat-jp-simm-2.4-jp23b-e20-qh? $B$H$$(B
+     $B$&(B (?$B$O(B, $BDL$7HV9f(B), $BHs>o$KD9$C$?$i$7$$%P!<%8%g%s$r$D$1$F$*$j(B
+     $B$^$7$?(B. $B$3$l$,(B, qh1 $B$+$i(B qh8 $B$^$GB3$-$^$7$?$,(B, qh8 $B$N;~E@$G(B
+     irchat-PJ project $BH/B-$K$H$b$J$$(B, qh8 $B$r$=$N$^$^(B($BB?>/%=!<%9(B
+     $B$N@07A$O9T$$$^$7$?(B) irchat-pj $B$H$7(B, $BDL$7HV9f$bF'=1$7$?$?$a(B,
+     2.4.23.8 $B$+$i$O$8$^$j$^$7$?(B.
+ 
+ $B!&;H$$J}$O(B?
+ 
+     (2.4.23.13$B$^$G(B)
+     $B:#$N$H$3$m(B, irchat-2.4jp23b $B$HA4$/F1$8$G$9(B. $B$H$$$&$o$1$G(B,
+     FAQ-about-jp23b.txt $B$r;2>H$/$@$5$$(B.
+     $B$A$J$_$K(B, $B0lIt%-!<%P%$%s%I$rA}$d$7$F$"$j$^$9(B. $B2?$,A}$($?$+(B,
+     $B<+J,$G$5$,$7$F$_$F$/$@$5$$(B :-)
+ 
+     (2.4.23.14)
+     $B4pK\E*$K$O(B irchat-2.4jp23b $B$H;H$$J}$OF1$8$G$9(B. irchat-pj $B$G(B
+     $BA}$d$7$?%-!<%P%$%s%I$b$=$N$^$^M-8z$K$J$C$F$*$j$^$9(B.
+ 
+     2.4.23.14 $B$G(B, $BFCDj$NI=8=$r<u$1<h$l$P%S!<%W2;$rLD$i$9$3$H$,(B
+     $B$G$-$k$h$&$K$7$^$7$?(B. $BJQ?t(B irchat-pj-beep-words-alist $B$rJQ99(B
+     $B$9$k$3$H$G(B, $BI=8=$r;XDj$7$^$9(B.
+ 
+     ex.
+     (setq irchat-pj-beep-words-alist '("$B$[$2(B[1-5]" "irc.*pj"))
+      -> "$B$[$2(B1" "$B$[$2(B4" "irchat-pj" $BEy$KH?1~$7$F%S!<%W$,LD$j$^$9(B
+ 	$B$J$*(B, irchat-beep-on-bells $B$N@_Dj$OL5;k$7$^$9(B.
+     (setq irchat-pj-beep-words-alist nil)
+      -> $BFCDj$NI=8=$G%S!<%W2;$,LD$k5!G=$rM^@)$7$^$9(B
+ 
+      $B$J$*(B, $B%G%U%)%k%H$O(B nil $B$G$9$N$G(B, $B2?$N@_Dj$b$7$J$1$l$P(B, $B=>(B
+      $BMh$I$*$j(B, $BFCDj$NI=8=$G%S!<%W2;$,LD$k$3$H$O$"$j$^$;$s(B.
+ 
+     (2.4.23.15)
+     2.4.23.14 $B$G$G$-$k$3$H$O(B, 2.4.23.15 $B$G$bF1$8$h$&$K$G$-$^$9(B.
+     $B$U$?$D$NJQ?t(B irchat-pj-code-verbose $B$H(B irchat-pj-filter-level
+     $B$rA}$d$7$^$7$?(B.
+ 
+     irchat-pj-code-verbose $B$O(B, $BF|K\8l(B EUC $B%3!<%I$d(B MS $B4A;z%3!<%I(B
+     $B$r<u$1$H$C$?$H$-(B, irchat-pj $B$,$I$N%3!<%I$H2r<a$7$?$+$rI=<((B /
+     $BM^@)$9$k$3$H$,$G$-$^$9(B. t $B$GI=<((B, nil $B$GM^@)$G$9(B.
+     2.4.23.14 $B$^$G$OI,$:I=<($9$k;EMM$K$J$C$F$*$j$^$7$?(B.
+ 
+     irchat-pj-filter-level $B$NCM$rJQ99$9$k$3$H$G(B, $BF|K\8l$r<u$1<h(B
+     $B$C$?:]$NF0:n$rJQ99$9$k$3$H$,$G$-$^$9(B. $BCM$H=hM}FbMF$NBP1~$O(B
+     $B<!$N$H$*$j$G$9(B.
+ 
+ 	0.$BF|K\8l$K4X$7$F2?$N=hM}$b$7$J$$(B
+ 	1.irchat-2.4jp23b $BAjEv$N=hM}(B
+ 	  $B$?$@$7(B, Emacs20$BBP1~$*$h$S0lIt%P%0=$@5$O$7$F$"$j$^$9(B
+ 	2.$BF|K\8l$N07$$$O(B1.$B$HF1$8(B.
+ 	  $B0lIt%-!<%P%$%s%I$rA}$d$7$F$"$j$^$9(B
+ 	3.$BD9$$F|K\8l%H%T%C%/$GJ8;z2=$1$7$J$/$9$k=hM}(B
+         4.DCC chat $B$NF|K\8l=hM}$*$h$S2~9T=hM}(B
+ 	5.ISO-2022-JP$B$K$J$$%3!<%I$r<u$1$?$H$-(B, $B$=$l$r(BMS$B4A;z%3(B
+ 	  $B!<%I$HCGDj$7$F=hM}(B
+ 	6.ISO-2022-JP$B$K$J$$%3!<%I$r<u$1$?$H$-(B, $B$=$l$,(BMS$B4A;z%3(B
+ 	  $B!<%I$+F|K\8l(BEUC$B%3!<%I$+$rH=Dj$7$F=hM}(B
+ 
+     (2.4.23.16)
+     2.4.23.15 $B$K(B, $BDI2C5!G=$H$7$F(B
+     $B!&%$%s%P%$%H$5$l$?$H$-$K%S!<%W$rLD$i$9$3$H$,$G$-$k(B
+     $B!&%P%C%U%!$r$D$/$C$F$J$$?M$+$i(B private message $B$r<u$1<h$C$?(B
+       $B$H$-$K%S!<%W$rLD$i$9$3$H$,$G$-$k(B
+     $B$N$U$?$D$N5!G=$r$D$12C$($^$7$?(B. $B$=$l$>$l(B,
+     irchat-pj-beep-when-invited, irchat-pj-beep-when-private $B$r(B
+     t $B$K$9$k$H$3$N5!G=$,M-8z$K$J$j$^$9(B($B%G%U%)%k%H$O(B nil).
+ 
+     (2.4.23.17)
+     2.4.23.16 $B$HF1$8$G$9(B. irc2.10 $B$G?7@_$5$l$?(B, `!' $B$G$O$8$^$k%A(B
+     $B%c%M%k$KBP1~$7$^$7$?(B.
+ 
+     (2.4.23.17 Nov 20, 1998 $BJdB-(B)
+                                                                 
+     $B%j%j!<%9$N:]$K$OI=L@$7$F$*$j$^$;$s$G$7$?$,(B, $B<B$O(B, 2.4.23.17
+     $B$O(B undernet $BHG(B ircd (Debian $B$N(B main $B%Q%C%1!<%8$K4^$^$l$k$b$N(B)
+     $B$K$bBP1~$7$F$*$j$^$9(B. $B:#$^$G$N(B irchat (pj$B4^$`(B) $B$O(B, PONG $B$NJV(B
+     $B$7J}$,(B ircd 2.*u $B$KBP1~$7$F$J$+$C$?$?$a$&$^$/@\B3$9$k$3$H$,(B
+     $B$G$-$J$+$C$?$N$G$9$,(B, $BBP1~$9$k$h$&$KJQ99$7$^$7$?(B.
+ 
+     (2.4.23.18)
+     $B?7$?$K(B
+     $B!&F~NO$5$l$?H>3Q%+%J$rA43Q$KJQ49$7$FAw?.$9$k(B
+     $B!&$$$o$f$k!V$,$,LdBj!W$r2sHr$9$k(B
+     $B!&%5!<%P$+$i$N(B NOTICE $B%a%C%;!<%8$NI=<(J}<0$rJQ99$9$k(B
+     $B$3$H$,$G$-$k$h$&$K$J$j$^$7$?(B.
+ 
+     $B$^$:H>3Q%+%J$G$9$,(B, irchat-pj-katakana-convert $B$r(B t $B$K$7$F$*(B
+     $B$/$H(B ($B%G%U%)%k%H$O(B t $B$G$9(B), $BF~NO$7$?H>3Q%+%J$rA43Q$K$7$FAw?.(B
+     $B$7$^$9(B. $BBy2;$dH>By2;$b0lJ8;z$K$7$FAw?.$7$^$9(B. $BH>3Q%+%J$,B8:_(B
+     $B$9$k$+$I$&$+(B, $BF~NO$4$H$K%A%'%C%/$7$F$$$k$?$aB?>/%Q%U%)!<%^%s(B
+     $B%9$,Mn$A$k$h$&$K;W$o$l$^$9$,(B, $B$J$$$HH=CG$9$l$P$5$C$5$H<!$N=h(B
+     $BM}$K0\$k$&$((B, $BBN46>e$[$H$s$ILdBj$J$/(B, nil $B$K$9$kI,MW@-$O$J$$(B
+     $B$+$H;W$o$l$^$9(B.
+     $B$J$*(B, $BH>3Q%+%JJQ49$N<BAu$K$"$?$j(B, Mule2.3 $B$N(B jisx0201.el $B$*(B
+     $B$h$S(B Mew $B$N(B mew-lang-jp.el $B$r;29M$K$5$;$F$$$?$@$-$^$7$?(B. $B$H(B
+     $B$/$K(B, $B%+%?%+%J$N%F!<%V%k$O$=$N$^$^(B cut & paste $B$5$;$F$$$?$@(B
+     $B$-$^$7$?(B. $B$3$3$K(B, Mule $B$*$h$S(B Mew $B$N3+H/<T(B($B%0%k!<%W(B)$B$NJ}!9$K(B
+     $B46<U$$$?$7$^$9(B.
+ 
+     $B<!$K!V$,$,LdBj!W$G$9(B. $B$^$:!V$,$,LdBj!W$K$D$$$F@bL@$7$^$7$g$&(B.
+     $B!V$,$,LdBj!W$H$O(B, $BF|K\8l%A%c%M%kL>$,5v$5$l$k$h$&$K$J$C$F$+$i(B
+     $B0l4S$7$F;D$kLdBj$G(B, $B!V$,!WEy$N$h$&$K(B, jisx0208$B%3!<%I$H$7$F(B,
+     `,' $B$N%3!<%I$r4^$`J8;z$r%A%c%M%kL>$K4^$a$k$3$H$,$G$-$J$$LdBj(B
+     $B$N$3$H$G$9(B. $B%A%c%M%k$r:n$k(B, JOIN$B$9$k$3$H$,$G$-$J$$$@$1$J$i$^(B
+     $B$@$$$$$N$G$9$,(B, irchat$B$G!V$,$,LdBj!W$,5/$3$k$h$&$J%A%c%M%k$K(B
+     JOIN$B$7$h$&$H$9$k$H(B, Emacs$B$O%(%i!<$rEG$/$N$G$9(B.
+     irchat$B$KE\$i$l$k$@$1$J$i$H$b$+$/(B, Emacs$B$KE\$i$l$k$N$O5$J,E*(B
+     $B$K$b$"$^$j$h$/$J$$(B, $B$HH=CG$7(B, irchat-pj $B$G7Y9p$rH/$9$k$h$&$K(B
+     $B$7$^$7$?(B. irchat-pj-fix-gaga-problem $B$r(B t $B$K$7$F$*$/$3$H$G(B,
+     Emacs $B$,%(%i!<$rEG$/$N$O2sHr$G$-$^$9(B($B%G%U%)%k%H$O(B t $B$G$9(B).
+ 
+     $B:G8e$K(B, $B%5!<%P$+$i$N(B NOTICE $B%a%C%;!<%8$NJQ99$G$9$,(B, $B$3$l$O(B
+     irchat-pj-rewrite-server-notice $B$r(B t $B$K$7$F$*$/$3$H$G(B, $BK\Mh(B
+         =irc.server.dokosoko.or.jp= $B$,$,(B
+     $B$H$J$k%5!<%P$+$i$N(B NOTICE $B%a%C%;!<%8$r(B
+         === $B$,$,(B
+     $B$HI=<($9$k$h$&$K$J$j$^$9(B.
+ 
+     (2.4.23.19)
+     2.4.23.18 $B$+$i$NJQ99E@$O0J2<$N$H$*$j$G$9(B.
+     $B!&(BEmacs19 $B%Y!<%9$N(B Mule $B$GMxMQ$7$?$H$-$N%P%0=$@5(B
+     $B!&F~NO%P%C%U%!$N%b!<%I%i%$%sJQ99(B
+     $B!&(B($B$*$^$1(B) browse-url-plus $B%Q%C%1!<%8(B
+     
+     $B$^$:(B, $B%P%0=$@5$G$9$,(B, Emacs19 $B%Y!<%9$N(B Mule $B$G$O(B
+     $B!&(Bjoin$B$7$h$&$H$9$k$H%(%i!<H/@8(B
+     $B!&(BSKK$B$G4A;zF~NOCf$K>!<j$K3NDj$7$F$7$^$&(B
+     $BIT6q9g$,$"$j$^$7$?(B. $B$=$l$i$r=$@5$7$F$"$j$^$9(B.
+ 
+     2.4.23.18 $B$^$G$O(B, SKK10.* $B$d(B Canna $B$r;H$C$F$$$k$H(B, $B$Q$C$H8+(B
+     $B$?$@$1$G$O(B, $BF|K\8lF~NO%b!<%I$NH=CG$,$G$-$^$;$s$G$7$?$,(B, $B$G$-(B
+     $B$k$h$&$KJQ99$7$^$7$?(B. $B$^$?(B, $BF1;~$K(B, $BF~NO%P%C%U%!$N%b!<%I%i%$(B
+     $B%s(B ( IRCHAT: Commands ... ) $B$rJQ99$G$-$k$h$&$K$7$^$7$?(B.
+     irchat-pj-chanbuf-mode-line-format $B$r(B, $B<!$N$$$:$l$+$K@_Dj$9(B
+     $B$k$3$H$G(B, $BJQ99$G$-$^$9(B.
+     $B!&HFMQ(B : 'irchat-pj-chanbuf-mode-line-format-default,
+              'irchat-pj-chanbuf-mode-line-format-alternative
+     $B!&(BSKK10$BEy%^%$%J!<%b!<%I$rMxMQ$7$F$$$k$b$N(B:
+              'irchat-pj-chanbuf-mode-line-format-minor-mode
+     $B!&(BSKK  : 'irchat-pj-chanbuf-mode-line-format-simple,
+              'irchat-pj-chanbuf-mode-line-format-alt-simple
+     $B!&(BEgg  : 'irchat-pj-chanbuf-mode-line-format-for-egg
+              'irchat-pj-chanbuf-mode-line-format-alt-egg
+     $B!&(BCanna: 'irchat-pj-chanbuf-mode-line-format-for-canna
+              'irchat-pj-chanbuf-mode-line-format-alt-canna
+     T-code $BB>$K4X$7$F$O(B, $B$I$N$h$&$K$J$k$N$+$h$/$o$+$C$F$J$$$N$G(B
+     $B:#2s:n@.$7$^$;$s$G$7$?$,(B, $B$o$+$j<!Bh:n$m$&$H;W$$$^$9(B. $B$J$*(B,
+     irchat-pj-mode-line-format.el $B$r;29M$K<+:n$9$k$3$H$b$G$-$^$9(B.
+ 
+     $B$*$^$1$N(B browse-url-plus $B%Q%C%1!<%8$O(B, $B%P%C%U%!>e$NJ8;z$+$i(B
+     URL $B$rCj=P$7$F(B, $B%V%i%&%6$r8F$S=P$9(B browse-url.el $B$N3HD%$G$9(B.
+     $B3HD%ItJ,$O(B, $B0J2<$N$H$*$j$G$9(B.
+     $B!&(BEmacs20 $B$N(B browse-url.el $B$G%5%]!<%H$5$l$F$$$k5!G=$r(B XEmacs
+       $B$d(B Emacs19 $B$G$b%5%]!<%H(B
+       * $B%a!<%k%"%I%l%9$r(B URL $B$HH=Dj$G$-$k$h$&$K$9$k(B
+         (XEmacs $B$G$O(B, $BJL$K(B thingatpt.el $B$,I,MW(B)
+       * $B%W%m%H%3%k$K$h$C$F5sF0$rJQ99$G$-$k$h$&$K$9$k(B
+     $B!&%a!<%k:n@.4X?t$rJQ992DG=$K$7$?4X?t$rMQ0U(B
+     $B!&(Bwget $B$rMxMQ$7$F(B, URL $B$r%U%!%$%k$KMn$H$94X?t$rMQ0U(B
+     $B@_DjJ}K!Ey$O(B, dot.emacs $B$r;29M$K$7$F$/$@$5$$(B. Emacs20 $B$N(B
+     browse-url $B$N@_Dj$H4pK\E*$KF1$8$G$9(B.
+ 
+ $B!&:#8e$NM=Dj!&L\I8$O(B?
+ 
+     1.$B$h$j40`z$JF|K\8l=hM}$rL\;X$9(B
+     2.$B%+%9%?%^%$%:2DG=$J9`L\$rA}$d$9(B
+     3.$B$G$-$l$PIU2C5!G=$b$D$1$F$$$-$?$$$G$9(B
+ 
diff -crN irchat-2.4jp23b/Makefile irchat-pj-2.4.23.19/Makefile
*** irchat-2.4jp23b/Makefile	Mon May 15 12:15:41 1995
--- irchat-pj-2.4.23.19/Makefile	Thu Jan  7 11:01:28 1999
***************
*** 14,20 ****
  # DEFSUBST_BIN=  defsubst.elc
  # DEFSUBST_LOAD= -l ./$(DEFSUBST_BIN)
  
! EMACS	= emacs
  TAR	= tar
  CC 	= cc
  LD	= $(CC)
--- 14,22 ----
  # DEFSUBST_BIN=  defsubst.elc
  # DEFSUBST_LOAD= -l ./$(DEFSUBST_BIN)
  
! #EMACS	= xemacs
! #EMACS	= emacs
! EMACS	= mule
  TAR	= tar
  CC 	= cc
  LD	= $(CC)
***************
*** 28,40 ****
  # You shouldn't need to change anything after this point.
  
  SETPATH =	irchat-setpath.el
! SOURCE  = 	irchat-inlines.el	\
  		irchat-globals.el	\
  		irchat-filter.el	\
  		irchat-copyright.el	\
  		irchat-vars.el		\
  		irchat-commands.el	\
  		irchat-handle.el	\
  		irchat.el 
  
  all: dcc irchat
--- 30,46 ----
  # You shouldn't need to change anything after this point.
  
  SETPATH =	irchat-setpath.el
! SOURCE  =	browse-url-plus.el	\
! 		irchat-inlines.el	\
  		irchat-globals.el	\
  		irchat-filter.el	\
  		irchat-copyright.el	\
  		irchat-vars.el		\
  		irchat-commands.el	\
  		irchat-handle.el	\
+ 		irchat-dcc.el		\
+ 		irchat-pj-jisx0201.el	\
+ 		irchat-pj-mode-line-format.el	\
  		irchat.el 
  
  all: dcc irchat
diff -crN irchat-2.4jp23b/browse-url-plus.el irchat-pj-2.4.23.19/browse-url-plus.el
*** irchat-2.4jp23b/browse-url-plus.el	Thu Jan  1 09:00:00 1970
--- irchat-pj-2.4.23.19/browse-url-plus.el	Thu Jan  7 14:30:00 1999
***************
*** 0 ****
--- 1,199 ----
+ ;;; browse-url-plus.el --- a little extension for browse-url.el
+ 
+ ;; Copyright (C) 1999 by Free Software Foundation, Inc.
+ 
+ ;; Author: SHIMADA Mitsunobu <simm-emacs@fan.gr.jp>
+ ;; Keywords: hypermedia, internal, mouse
+ 
+ ;; This file is part of GNU Emacs.
+ 
+ ;; GNU Emacs is free software; you can redistribute it and/or modify
+ ;; it under the terms of the GNU General Public License as published by
+ ;; the Free Software Foundation; either version 2, or (at your option)
+ ;; any later version.
+ 
+ ;; GNU Emacs is distributed in the hope that it will be useful,
+ ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ ;; GNU General Public License for more details.
+ 
+ ;; You should have received a copy of the GNU General Public License
+ ;; along with GNU Emacs; see the file COPYING.  If not, write to
+ ;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ ;; Boston, MA 02111-1307, USA.
+ 
+ ;;; Commentary:
+ 
+ ;; This package provides a little extension for browse-url.el,
+ ;; which read a URL (Uniform Resource Locator) from minibuffer,
+ ;; defaulting to the URL around point, and ask a World-Wide Web
+ ;; browser to load it. Additional point to browse-url.el is below:
+ ;; * Enable to select compose-mail function
+ ;; * Enable to use wget as browser
+ ;; * Enable to manipulate browse-url function
+ ;; * Enable to use function-list on XEmacs20.4
+ 
+ ;;;;;;;;;;;;;;;;
+ ;;; Code:
+ 
+ (provide 'browse-url-plus)
+ (require 'browse-url)
+ 
+ ;;;;;;;;;;;;;;;;
+ ;; variables
+ 
+ (defvar browse-url-plus-compose-mail-function 'compose-mail
+   "Define function, which is used in browse-url-plus-compose-mail function,
+ to compose mail interactively.
+ 
+ Refered function must have one argument, which means \"To:\" field,
+ for example: 'compose-mail(which is default), 'mew-send, and so.on.
+ 
+ ex.
+ \(setq browse-url-plus-compose-mail-function 'mew-send\)
+ ")
+ 
+ (defvar browse-url-plus-wget-exec-file-name "wget"
+   "Path or filename of wget executable file.
+ Default is \"wget\".
+ ")
+ 
+ (defvar browse-url-plus-wget-buffer-name "*browse-url-plus-wget*"
+   "Working buffer name for wget.
+ Default is \"*browse-url-plus-wget*\"
+ ")
+ 
+ (defvar browse-url-plus-wget-destination-option "-P"
+   "Command line option which defines destination directory.
+ This is a prefix option for browse-url-plus-wget-destination-directory.
+ Default is \"-P\"
+ ")
+ 
+ (defvar browse-url-plus-wget-destination-directory (expand-file-name "~/tmp")
+   "Directory where files save.
+ All result of wget is store in this directory.
+ 
+ Default is \"$HOME/tmp\"
+ ")
+ 
+ (defvar browse-url-plus-wget-report-when-error t
+   "Flag to display working buffer when error.
+ Default is t.
+ ")
+ 
+ ;;;;;;;;;;;;;;;;
+ ;; manipulator
+ 
+ (defmacro browse-url-plus (function-name prompt-string browser-list)
+   "Manipulator for browse-url function.
+ 1st arg : Function name like browse-url
+ 2nd arg : Prompt message on minibuffer
+ 3rd arg : Browser list like browse-url-browser-function
+ 
+ Remember to make browser-function-list whose name is 3rd arg.
+ "
+   (list 'defun function-name (list 'url '&rest 'args)
+ 	(list 'interactive (list 'browse-url-plus-interactive-arg prompt-string))
+ 	(list 'let (list (list 'browse-url-browser-function browser-list))
+ 	      (if (or (boundp 'xemacs-logo) (>= 19 emacs-major-version))
+ 		  (list 'browse-url-plus-x 'url 'args)
+ 		(list 'browse-url 'url 'args)))))
+ 
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ ;; functions from browse-url.el
+ ;; (for Emacs 20.3)
+ 
+ (defun browse-url-plus-url-at-point ()
+   (let ((url (thing-at-point 'url)))
+     (set-text-properties 0 (length url) nil url)
+     url))
+ 
+ ;; Having this as a separate function called by the browser-specific
+ ;; functions allows them to be stand-alone commands, making it easier
+ ;; to switch between browsers.
+ 
+ (defun browse-url-plus-interactive-arg (prompt)
+   "Read a URL from the minibuffer, prompting with PROMPT.
+ Default to the URL at or before point.  If invoked with a mouse button,
+ set point to the position clicked first.  Return a list for use in
+ `interactive' containing the URL and `browse-url-new-window-p' or its
+ negation if a prefix argument was given."
+   (let ((event (elt (this-command-keys) 0)))
+     (and (listp event) (mouse-set-point event)))
+   (list (read-string prompt (if (and (boundp 'xemacs-logo) (fboundp 'thing-at-point))
+ 				(browse-url-plus-url-at-point)
+ 			      (browse-url-url-at-point)))
+         (not (eq (null browse-url-new-window-p)
+                  (null current-prefix-arg)))))
+ 
+ (defun browse-url-plus-x (url &rest args)
+   "Ask a WWW browser to load URL.
+ Prompts for a URL, defaulting to the URL at or before point.  Variable
+ `browse-url-browser-function' says which browser to use.
+ 
+ This function is same as browse-url on Emacs 20.3
+ "
+   (interactive (browse-url-plus-interactive-arg "URL: "))
+   (let ((bf browse-url-browser-function) re)
+     (while (consp bf)
+       (setq re (car (car bf))
+ 	    bf (if (string-match re url)
+ 		   (cdr (car bf))	; The function
+ 		 (cdr bf))))		; More pairs
+     (or bf (error "No browser in browse-url-browser-function matching URL %s"
+                   url))
+     (apply bf url args)))
+ 
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ ;; original functions
+ 
+ (defun browse-url-plus-compose-mail (recipient &optional new-window)
+   "Compose mail according to given mail-address.
+ "
+   (interactive (browse-url-interactive-arg "mailto:"))
+   (let ((to recipient))
+     (if (string= "mailto:" (substring recipient 0 7))
+ 	(setq to (substring recipient 7)))
+     (if (and (boundp 'to) (null (string= to ""))
+ 	     (fboundp irchat-pj-compose-mail-function))
+ 	(funcall irchat-pj-compose-mail-function to))))
+ 
+ (defun browse-url-plus-wget-sentinel (proc mesg)
+   "Sentinel function for browse-url-plus-wget-url.
+ If error occured and browse-url-plus-wget-report-when-error is t,
+ display execute-log buffer.
+ "
+   (let ((lfpos (string-match "\012" mesg)))
+     (if lfpos
+ 	(setq mesg (substring mesg 0 lfpos)))
+     (cond ((eq 'exit (process-status proc))
+ 	   (if (string= "finished" mesg)
+ 	       (message "Wget succeed.")
+ 	     (message "Wget exited abnormally with code %s."
+ 		      (substring mesg 28))
+ 	     (if browse-url-plus-wget-report-when-error
+ 		 (switch-to-buffer-other-window browse-url-plus-wget-buffer-name)))))))
+ 
+ (defun browse-url-plus-wget-url (url &optional new-window)
+   "Get file with wget via HTTP or FTP.
+ "
+   (interactive (browse-url-interactive-arg "Wget URL:"))
+   (let ((currbuf (current-buffer))
+ 	(workbuf browse-url-plus-wget-buffer-name))
+     (if (string= "mailto:" (substring url 0 7))
+ 	(browse-url-plus-compose-mail url new-window)
+       (if (processp 'browse-url-plus-wget-process)
+ 	  (message "Another wget process running, so stop.")
+ 	(if (get-buffer workbuf)
+ 	    (progn (set-buffer workbuf) (erase-buffer) (set-buffer currbuf)))
+ 	(set-process-sentinel
+ 	 (setq browse-url-plus-wget-process
+ 	       (start-process "browse-url-plus-wget"
+ 			      browse-url-plus-wget-buffer-name
+ 			      browse-url-plus-wget-exec-file-name
+ 			      browse-url-plus-wget-destination-option
+ 			      browse-url-plus-wget-destination-directory
+ 			      url))
+ 	 'browse-url-plus-wget-sentinel)))))
+ 
+ ;;; browse-url-plus.el ends here
diff -crN irchat-2.4jp23b/dcc.c irchat-pj-2.4.23.19/dcc.c
*** irchat-2.4jp23b/dcc.c	Fri Jul 19 11:22:03 1996
--- irchat-pj-2.4.23.19/dcc.c	Thu Jan  7 15:33:34 1999
***************
*** 17,28 ****
  #include <fcntl.h>
  #include <netdb.h>
  #ifdef	AIX
! # include <sys/select.h>
  #endif
  #ifdef linux
! # include <linux/time.h>
  #endif
- 
  int main(argc, argv)
  int argc;
  char **argv;
--- 17,29 ----
  #include <fcntl.h>
  #include <netdb.h>
  #ifdef	AIX
! #include <sys/select.h>
  #endif
  #ifdef linux
! #ifndef __GLIBC__
! #include <linux/time.h>
! #endif
  #endif
  int main(argc, argv)
  int argc;
  char **argv;
diff -crN irchat-2.4jp23b/dot.emacs irchat-pj-2.4.23.19/dot.emacs
*** irchat-2.4jp23b/dot.emacs	Thu Jan  1 09:00:00 1970
--- irchat-pj-2.4.23.19/dot.emacs	Thu Jan  7 12:52:05 1999
***************
*** 0 ****
--- 1,99 ----
+ ;;;;;;;;; -*- Emacs-Lisp -*- ;;;;;;;;;
+ 
+ ;; auto-load
+ ;; browse-url-plus $B$O(B macro $B$J$N$G(B, $B:G8e$N(B t t $B$rK:$l$:$K$D$1$k$3$H(B
+ ;; browse-url-plus-compose-mail $B$*$h$S(B browse-url-plus-wget-url $B$O4X?t$J$N$G(B
+ ;; $B:G8e$O(B t $B$@$1$G$h$$(B
+ (autoload 'browse-url-plus "browse-url-plus" "A little-extension for browse-url" t t)
+ (autoload 'browse-url-plus-compose-mail
+   "browse-url-plus" "A little-extension for browse-url" t)
+ (autoload 'browse-url-plus-wget-url
+   "browse-url-plus" "A little-extension for browse-url" t)
+ (autoload 'browse-url-plus-x
+   "browse-url-plus" "A little-extension for browse-url" t)
+ (autoload 'irchat "irchat" "GNUemacs IRC client." t)
+ 
+ ;;; ----------------------------------------------------------------
+ ;;; irchat $B0lHL@_Dj(B
+ 
+ ;;; $B=q$-49$($,I,MW$JItJ,(B
+ ;; IRC server $B$N;XDj(B
+ (setq irchat-server "irc.karrn.ad.jp")
+ (setq irchat-name "hogehoge foo@bar.com")
+ (setq irchat-nickname "hogehoge")
+ 
+ ;; default $B$G;22C$9$k(B channel $B$N(B list
+ ;; ($B$3$3$K=q$$$?(B channel $B$K$O(B irchat $B$N5/F0$HF1;~$K;22C$G$-$^$9(B)
+ (setq irchat-startup-channel-list '("#$B$A$c$M$k(B1" "#$B$A$c$M$k(B2"))
+ 
+ ;; C-($B?t;z(B)$B$N(B key-bind $B$N7hDj(B. $B:G=i$+$i=g$K(B,
+ ;;   C-1, C-2, ..., C-9, C-c C-c 0, C-c C-c 1, ..., C-c C-c 9,
+ ;;   C-c C-d 0, C-c C-d 1, ..., C-c C-d 9
+ ;; $B$H$J$j$^$9(B.
+ (setq irchat-default-channel-binding
+       '("#$B$A$c$M$k(B1" "#$B$A$c$M$k(B2" "#$B$A$c$M$k(B3" nil "#$B$A$c$M$k(B5"))
+ 
+ ;;; ----------------------------------------------------------------
+ ;;; $B3F<o$3$^$+$$8D?M@_Dj(B
+ 
+ ;; nick $B$*$h$S(B channel $B$NBP>]HO0O(B
+ ;; t  : $B%5!<%P$K@\B3$7$F$$$kA4%f!<%6$N(B nick $B$*$h$S(B $BB8:_$9$kA4(B channel
+ ;; nil: $B<+J,<+?H$,8+$($kHO0O$G$N(B nick $B$*$h$S(B channel
+ (setq irchat-global-names nil)
+ ;; $B@ZCG$5$l$?$H$-<+F0@\B3$9$k$+$I$&$+(B
+ (setq irchat-reconnect-automagic t)
+ ;; channel $B$4$H$K(B buffer $B$r:n@.$9$k$+$I$&$+(B
+ (setq irchat-channel-buffer-mode t)
+ ;; channel $B$4$H$N(B buffer $B$K$D$$$F(B, $B3FH/8@$4$H$K(B channel $BL>$rI=<($9$k$+$I$&$+(B
+ ;; t  : <#$B$A$c$M$k(B:nick> $B$,$,!D(B
+ ;; nil: <nick> $B$,$,!D(B
+ (setq irchat-display-channel-always t)
+ ;; channel buffer $B$r<+F0E*$K%9%/%m!<%k$5$;$J$$$+$I$&$+(B
+ ;; t: $B$5$;$J$$(B, nil: $B$5$;$k(B
+ (setq irchat-default-freeze-local nil)
+ ;; \007 $B$N%3!<%I$r<u$1<h$C$?$H$-$K(B beep $B$rLD$i$9$+$I$&$+(B
+ (setq irchat-beep-on-bells t)
+ ;; quit $B$9$k$H$-$N%a%C%;!<%8(B
+ (setq irchat-signoff-msg "irchat-pj exiting...")
+ 
+ ;;; ----------------------------------------------------------------
+ ;;; irchat-pj $BFH<+$N@_Dj(B
+ 
+ ;; SJIS$B$dF|K\8l(BEUC$B%3!<%I$r<u$1<h$C$?$H$-$K(B, minibuffer $B$K$=$N;]I=<($9$k$+$I$&$+(B
+ (setq irchat-pj-code-verbose t)
+ ;; invite $B$5$l$?$H$-$K(B beep $B$rLD$i$9$+$I$&$+(B
+ (setq irchat-pj-beep-when-invited t)
+ ;; buffer $B$r$D$/$C$F$$$J$$(B nick $B$N?M$+$i8D?M08$X$N(B private message $B$r(B
+ ;; $B<u$1<h$C$?$H$-$K(B beep $B$rLD$i$9$+$I$&$+(B
+ (setq irchat-pj-beep-when-private t)
+ ;; private message $B$b$7$/$O(B notice $B7A<0$G(B server $B$+$i$N(B message $B$r(B
+ ;; $B<u$1<h$C$?$H$-(B, $B=q$-49$($r9T$&$+$I$&$+(B
+ (setq irchat-pj-rewrite-server-notice t)
+ ;; channel buffer $B$N(B mode-line $B$r;XDj(B
+ (setq irchat-pj-chanbuf-mode-line-format 'irchat-pj-chanbuf-mode-line-format-minor-mode)
+ 
+ ;;; ----------------------------------------------------------------
+ ;;; browse-url $B$*$h$S(B browse-url-plus $B$N@_Dj(B
+ 
+ ;; mailto: $B7A<0$N(B URL $B$r<u$1<h$C$?$H$-$K8F$V4X?t$N;XDj(B
+ ;; ($B@53N$K$O(B, browse-url-plus-compose-mail $BFbIt$G8F$P$l$k4X?t(B)
+ (setq browse-url-plus-compose-mail-function 'mew-send)
+ 
+ ;; browse-url $BF1Ey$N4X?t$r$R$H$D:n@.(B
+ (browse-url-plus browse-url-alternative "URL to wget: "
+ 		 browse-url-alternative-browser-function)
+ 
+ ;; $B%V%i%&%68F$S=P$74X?t$NDj5A(B
+ (setq browse-url-browser-function
+       '(("^mailto:" . browse-url-plus-compose-mail)
+ 	("."        . browse-url-netscape)))
+ 
+ (setq browse-url-alternative-browser-function
+       '(("^mailto:" . browse-url-plus-compose-mail)
+ 	("."        . browse-url-plus-wget-url)))
+ 
+ ;; $B%-!<%P%$%s%I(B
+ (define-key global-map [C-return] 'browse-url)
+ (define-key global-map [M-return] 'browse-url-alternative)
+ 
+ ;;; end
diff -crN irchat-2.4jp23b/irchat-commands.el irchat-pj-2.4.23.19/irchat-commands.el
*** irchat-2.4jp23b/irchat-commands.el	Wed Jul  9 05:15:40 1997
--- irchat-pj-2.4.23.19/irchat-commands.el	Thu Jan  7 14:29:25 1999
***************
*** 157,163 ****
        (irchat-Channel-jump chan)
      (setq irchat-invited-channel nil)
      (setq chan (irchat-chan-real chan))
!     (if (string-match "^[+&#]" chan)
  	(setq irchat-command-buffer-mode 'channel)
        (setq irchat-command-buffer-mode 'chat))
      (if (eq irchat-command-buffer-mode 'chat)
--- 157,163 ----
        (irchat-Channel-jump chan)
      (setq irchat-invited-channel nil)
      (setq chan (irchat-chan-real chan))
!     (if (string-match "^[+&#!]" chan)
  	(setq irchat-command-buffer-mode 'channel)
        (setq irchat-command-buffer-mode 'chat))
      (if (eq irchat-command-buffer-mode 'chat)
***************
*** 167,173 ****
        (put (intern chan) 'key key)
        (if (null key)
  	  (setq key ""))
!       (irchat-Command-join-channel chan key))
      ;; refresh mode line
      (set-buffer-modified-p (buffer-modified-p))))
  
--- 167,205 ----
        (put (intern chan) 'key key)
        (if (null key)
  	  (setq key ""))
!       ;; begin : added by simm-irc@fan.gr.jp, Thu, Nov 19, 1998 (pj18)
!       (if irchat-pj-fix-gaga-problem
! 	  (let ((pt 0)
! 		(cur "")
! 		(jis "")
! 		(tmp (concat chan ",")))
! 	    (setq chan "")
! 	    (while (setq pt (string-match "," tmp))
! 	      (setq cur (substring tmp 0 pt))
! 	      (setq pt (1+ pt))
! 	      (setq tmp (if (< pt (length tmp))
! 			    (substring tmp pt)
! 			  ""))
! 	      (cond ((fboundp 'code-convert-string)
! 		     (if (null (and irchat-emacs19 (fboundp 'skk-mode)))
! 			 (setq jis (code-convert-string jis *junet* *internal*))
! 		       (if (fboundp 'ad-deactivate)
! 			   (ad-deactivate 'kill-buffer))
! 		       (setq jis (code-convert-string jis *junet* *internal*))
! 		       (if (fboundp 'ad-activate)
! 			   (ad-activate 'kill-buffer))))
! 		    ((fboundp 'encode-coding-string)
! 		     (setq jis (encode-coding-string cur 'iso-2022-jp))))
! 	      (cond ((string-match "," jis)
! 		     (ding)
! 		     (message "Gaga problem occured. Cannot join %s." cur))
! 		    ((string= "" chan)
! 		     (setq chan cur))
! 		    (t
! 		     (setq chan (concat chan "," cur)))))))
!       ;; end
!       (if (null (string= "" chan))
! 	  (irchat-Command-join-channel chan key)))
      ;; refresh mode line
      (set-buffer-modified-p (buffer-modified-p))))
  
***************
*** 226,232 ****
  		     (setq reason (read-string "Reason: ")))
  		 (list chan reason)))
    (setq chan (irchat-chan-real chan))
!   (if (not (string-match "^[+&#]" chan))
        (setq irchat-current-chat-partners (string-list-ci-delete
  					  chan
  					  irchat-current-chat-partners)
--- 258,264 ----
  		     (setq reason (read-string "Reason: ")))
  		 (list chan reason)))
    (setq chan (irchat-chan-real chan))
!   (if (not (string-match "^[+&#!]" chan))
        (setq irchat-current-chat-partners (string-list-ci-delete
  					  chan
  					  irchat-current-chat-partners)
***************
*** 241,247 ****
        (if (string-list-ci-memberp chan irchat-current-channels)
  	  (setq irchat-current-channel chan)) ; just refocusing
        (irchat-send "PART %s :%s" chan reason)))
!   (if (not (string-match "^[+&#]" chan))
        (irchat-Channel-part chan)))
  
  
--- 273,279 ----
        (if (string-list-ci-memberp chan irchat-current-channels)
  	  (setq irchat-current-channel chan)) ; just refocusing
        (irchat-send "PART %s :%s" chan reason)))
!   (if (not (string-match "^[+&#!]" chan))
        (irchat-Channel-part chan)))
  
  
***************
*** 388,393 ****
--- 420,429 ----
    (irchat-send-privmsg chan message))
  
  (defun irchat-send-privmsg (to msg)
+   ;; begin : added by simm-irc@fan.gr.jp, Thu, Nov 19, 1998 (pj18)
+   (if (and msg irchat-pj-katakana-convert)
+       (setq msg (irchat-pj-zenkaku-katakana-string msg)))
+   ;; end
    (irchat-insert-private nil to msg)
    (if (string-match "^=\\([^ ]+\\)" to)
        (irchat-dcc-chat-send (matching-substring to 1) msg)
***************
*** 975,995 ****
      (goto-char (point-max))
      (set-buffer saved-buffer)))
  
! (defvar irchat-chanbuf-mode-line-format
!   '("" irchat-away-indicator irchat-freeze-indicator ""
!     ((if (boundp 'MULE) mc-flag kanji-flag)
!      ((minibuffer-window-selected
!        (display-minibuffer-mode "m" " ") " ")
!       "["
!       (minibuffer-window-selected
!        (display-minibuffer-mode
! 	mode-line-egg-mode-in-minibuffer
! 	mode-line-egg-mode)
!        mode-line-egg-mode)
!       "]"))
!     " IRCHAT: Commands" irchat-private-indicator
!     " {" irchat-chanbuf-indicator "} "
!     irchat-nickname " on " irchat-servername " -%-"))
  
  (defun irchat-Command-toggle-display-mode ()
    (interactive)
--- 1011,1031 ----
      (goto-char (point-max))
      (set-buffer saved-buffer)))
  
! ;; (defvar irchat-chanbuf-mode-line-format
! ;;   '("" irchat-away-indicator irchat-freeze-indicator ""
! ;;     ((if (boundp 'MULE) mc-flag kanji-flag)
! ;;      ((minibuffer-window-selected
! ;;        (display-minibuffer-mode "m" " ") " ")
! ;;       "["
! ;;       (minibuffer-window-selected
! ;;        (display-minibuffer-mode
! ;; 	mode-line-egg-mode-in-minibuffer
! ;; 	mode-line-egg-mode)
! ;;        mode-line-egg-mode)
! ;;       " ]"))
! ;;     " IRCHAT: Commands" irchat-private-indicator
! ;;     " {" irchat-chanbuf-indicator "} "
! ;;     irchat-nickname " on " irchat-servername " -%-"))
  
  (defun irchat-Command-toggle-display-mode ()
    (interactive)
***************
*** 1064,1070 ****
  	  (setq irchat-current-channel nil)
  	  (setq irchat-command-buffer-mode 'chat)
  	  (setq irchat-current-chat-partner irchat-nickname))
!       (if (string-match "^[+&#]" chan)
  	  (progn
  	    (setq irchat-chanbuf-indicator (format "Channel %s" chan))
  	    (setq irchat-command-buffer-mode 'channel)
--- 1100,1106 ----
  	  (setq irchat-current-channel nil)
  	  (setq irchat-command-buffer-mode 'chat)
  	  (setq irchat-current-chat-partner irchat-nickname))
!       (if (string-match "^[+&#!]" chan)
  	  (progn
  	    (setq irchat-chanbuf-indicator (format "Channel %s" chan))
  	    (setq irchat-command-buffer-mode 'channel)
***************
*** 1187,1193 ****
      (while rest
        (if (car rest)
  	  (setq string (format "%s,%d%s%s" string n 
! 			       (if (string-match "^[+&#]" (car rest)) "" ":")
  			       (irchat-chan-virtual (car rest)))))
        (setq n (+ n 1))
        (setq rest (cdr rest)))
--- 1223,1229 ----
      (while rest
        (if (car rest)
  	  (setq string (format "%s,%d%s%s" string n 
! 			       (if (string-match "^[+&#!]" (car rest)) "" ":")
  			       (irchat-chan-virtual (car rest)))))
        (setq n (+ n 1))
        (setq rest (cdr rest)))
***************
*** 1282,1287 ****
--- 1318,1377 ----
  (defun irchat-Command-jump-channel12 ()
    (interactive)
    (irchat-Channel-jump 12))
+ 
+ (if (and (boundp 'irchat-pj-filter-level) (>= irchat-pj-filter-level 2))
+     (progn
+       (defun irchat-Command-jump-channel13 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 13))
+       (defun irchat-Command-jump-channel14 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 14))
+       (defun irchat-Command-jump-channel15 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 15))
+       (defun irchat-Command-jump-channel16 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 16))
+       (defun irchat-Command-jump-channel17 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 17))
+       (defun irchat-Command-jump-channel18 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 18))
+       (defun irchat-Command-jump-channel19 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 19))
+       (defun irchat-Command-jump-channel20 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 20))
+       (defun irchat-Command-jump-channel21 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 21))
+       (defun irchat-Command-jump-channel22 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 22))
+       (defun irchat-Command-jump-channel23 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 23))
+       (defun irchat-Command-jump-channel24 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 24))
+       (defun irchat-Command-jump-channel25 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 25))
+       (defun irchat-Command-jump-channel26 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 26))
+       (defun irchat-Command-jump-channel27 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 27))
+       (defun irchat-Command-jump-channel28 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 28))
+       (defun irchat-Command-jump-channel29 ()
+ 	(interactive)
+ 	(irchat-Channel-jump 29))))
  
  (defun irchat-Command-jump-channel (num)
    (interactive "nChannel Number: ")
diff -crN irchat-2.4jp23b/irchat-dcc.el irchat-pj-2.4.23.19/irchat-dcc.el
*** irchat-2.4jp23b/irchat-dcc.el	Thu Aug  8 13:25:50 1996
--- irchat-pj-2.4.23.19/irchat-dcc.el	Thu Dec 10 21:58:51 1998
***************
*** 6,11 ****
--- 6,14 ----
  ;; Modified: Mar 29, 1995
  ;; Bug Fixed: Aug 8, 1996  special thanks to ohm@kyoto.wide.ad.jp
  
+ (if (and (boundp 'irchat-pj-filter-level) (>= irchat-pj-filter-level 4))
+     (require 'irchat-filter))
+ 
  (defvar irchat-dcc-list nil)
  (defvar irchat-dcc-partner nil)
  
***************
*** 370,378 ****
    (let* ((dcc-object (irchat-dcc-get-process-object process))
  	 (msg (substring output 0 (1- (length output))))
  	 (state (nth 1 dcc-object))
! 	 (nick (nth 4 dcc-object)))
      (if (null dcc-object)
  	(delete-process process)   ;; garbage process
        (irchat-insert-private t (format "=%s" nick) msg))))
  
  
--- 373,391 ----
    (let* ((dcc-object (irchat-dcc-get-process-object process))
  	 (msg (substring output 0 (1- (length output))))
  	 (state (nth 1 dcc-object))
! 	 (nick (nth 4 dcc-object))
! 	 (len (length msg))
! 	 (last))
      (if (null dcc-object)
  	(delete-process process)   ;; garbage process
+       (if (and (boundp 'irchat-pj-filter-level)
+ 	       (>= irchat-pj-filter-level 4)
+ 	       (null (eq 0 len)))
+ 	  (progn
+ 	    (setq last (elt msg (1- len)))
+ 	    (if (or (eq 13 last) (eq 10 last))
+ 		(setq msg (substring msg 0 (1- len))))
+ 	    (setq msg (irchat-pj-filter-convert-code (irchat-pj-filter-decide-code msg) msg))))
        (irchat-insert-private t (format "=%s" nick) msg))))
  
  
diff -crN irchat-2.4jp23b/irchat-filter.el irchat-pj-2.4.23.19/irchat-filter.el
*** irchat-2.4jp23b/irchat-filter.el	Mon Aug  5 02:33:28 1996
--- irchat-pj-2.4.23.19/irchat-filter.el	Thu Dec 10 22:05:42 1998
***************
*** 67,72 ****
--- 67,206 ----
  	    (irchat-insert0 tmp)))))
      (set-buffer obuf)))
  
+ (defun irchat-pj-filter (process output)
+   "Filter function for IRC server process (preprocess).
+ Code conversion and call original irchat-filter."
+   (if (and (boundp 'irchat-pj-filter-level) (<= irchat-pj-filter-level 2))
+       (irchat-filter process output)
+     (let (tmp x real-output code)
+       (if (null (boundp 'irchat-pj-filter-queue))
+ 	  (setq irchat-pj-filter-queue ""))
+       (setq tmp (concat irchat-pj-filter-queue output))
+       (while (setq x (string-match "\012" tmp))
+ 	(setq x (1+ x))
+ 	(setq real-output (substring tmp 0 x))
+ 	(setq tmp (substring tmp x))
+ 	;; decide/convert code
+ 	(setq code (irchat-pj-filter-decide-code real-output))
+ 	(if (boundp 'irchat-pj-filter-level)
+ 	    (cond ((or (= irchat-pj-filter-level 3) (= irchat-pj-filter-level 4))
+ 		   (if (null (string= "JIS" code))
+ 		       (setq code "NOCONV")))
+ 		  ((= irchat-pj-filter-level 5)
+ 		   (if (null (or (string= "JIS" code) (string= "NOCONV" code)))
+ 		       (setq code "SJIS")))))
+ 	(if (and irchat-pj-code-verbose (or (string= "EUC" code) (string= "SJIS" code)))
+ 	    (message "%s code appeared." code))
+ 	(setq real-output (irchat-pj-filter-convert-code code real-output))
+ 	;; real filter routine
+ 	(irchat-filter process real-output))
+       (setq irchat-pj-filter-queue tmp))))
+ 
+ ;; devide decide-code-part of filter function
+ ;; Sun, Sep 27, 1998 by simm-irc@fan.gr.jp
+ 
+ (defun irchat-pj-filter-decide-code (str)
+   "Decide code of argument string."
+   (let ((len (length str))(pp 0)(ps 0)(pe 0)(fl 0)(code nil))
+     (while (null code)
+       (setq ps (elt str pp))
+       (setq pp (1+ pp))
+       (if (= pp len)
+ 	  (setq code "-"))
+       (cond ((= 27 ps)                     ;; ESC
+ 	     (setq code "JIS"))
+ 	    ((or (= 13 ps) (= 10 ps))      ;; CRLF
+ 	     (setq code "-"))
+ 	    ((and (<= 128 ps) (<= ps 159)) ;; 0x80 <= ch <= 0x9f
+ 	     (setq code "SJIS"))
+ 	    ((and (= pe 1) (<= ps 127))    ;; second byte MSB = 0
+ 	     (setq code "SJIS"))
+ 	    ((and (= 2 pe) (<= 161 ps) (<= ps 243)) ;; second byte of EUC kana
+ 	     (setq fl 2)
+ 	     (setq pe 0))
+ 	    ((and (= 0 pe) (= 164 ps))     ;; first byte of EUC kana
+ 	     (setq pe 2))
+ 	    ((<= 160 ps)                   ;; 0xa0 <= ch
+ 	     (if (null (= 2 fl ))
+ 		 (setq fl 1))
+ 	     (if (= 2 pe)
+ 		 (setq code "SJIS")
+ 	       (setq pe (- 1 pe))))))
+     (if (string= "-" code)
+ 	(cond ((= 1 pe) (setq code "SJIS"))
+ 	      ((= 2 pe) (setq code "SJIS"))
+ 	      ((= 0 fl) (setq code "NOCONV"))
+ 	      ((= 1 fl) (setq code "SJIS"))
+ 	      ((= 2 fl) (setq code "EUC"))))
+     code))
+ 
+ ;; devide convert-code-part of filter function
+ ;; Sun, Sep 27, 1998 by simm-irc@fan.gr.jp
+ 
+ (defun irchat-pj-filter-convert-code (code str)
+   "Convert code of argument string."
+   (let* ((pp 0)(ps 0)(pe 0)(len (length str)))
+     (cond
+      ;; round tail for JIS
+      ((string= "JIS" code)
+       (while (setq ps (string-match "\033\044B" str pp))
+ 	(setq pe (string-match "\033(B" str ps))
+ 	(if (null pe)
+ 	    (progn
+ 	      (setq len (1- len))
+ 	      (if (= 10 (elt str len))
+ 		  (if (= 13 (elt str (1- len)))
+ 		      (setq len (1- len)))
+ 		(setq len (1+ len)))
+ 	      (setq str (concat (substring str 0 len) "\033(B\015\012"))
+ 	      (setq pe (string-match "\033(B" str ps))))
+ 	(if (eq 1 (% (- pe ps) 2))
+ 	    (setq pp (+ 3 pe))
+ 	  (setq str
+ 		(concat (substring str 0 (- pe 1))
+ 			(substring str pe)))
+ 	  (setq pp (+ 2 pe))))
+       ;;
+       (cond ((fboundp 'code-convert-string)
+ 	     (if (null (and irchat-emacs19 (fboundp 'skk-mode)))
+ 		 (setq str (code-convert-string str *junet* *internal*))
+ 	       (if (fboundp 'ad-deactivate)
+ 		   (ad-deactivate 'kill-buffer))
+ 	       (setq str (code-convert-string str *junet* *internal*))
+ 	       (if (fboundp 'ad-activate)
+ 		   (ad-activate 'kill-buffer))))
+ 	    ((fboundp 'decode-coding-string)
+ 	     (setq str (decode-coding-string str 'iso-2022-jp)))))
+      ;; round tail for SJIS
+      ((string= "SJIS" code)
+       (cond ((fboundp 'code-convert-string)
+ 	     (if (null (and irchat-emacs19 (fboundp 'skk-mode)))
+ 		 (setq str (code-convert-string str *sjis* *internal*))
+ 	       (if (fboundp 'ad-deactivate)
+ 		   (ad-deactivate 'kill-buffer))
+ 	       (setq str (code-convert-string str *sjis* *internal*))
+ 	       (if (fboundp 'ad-activate)
+ 		   (ad-activate 'kill-buffer))))
+ 	    ((fboundp 'decode-coding-string)
+ 	     (setq str (decode-coding-string str 'sjis)))))
+      ;; round tail for EUC
+      ((string= "EUC" code)
+       (cond ((fboundp 'code-convert-string)
+ 	     (if (null (and irchat-emacs19 (fboundp 'skk-mode)))
+ 		 (setq str (code-convert-string str *euc-jp* *internal*))
+ 	       (if (fboundp 'ad-deactivate)
+ 		   (ad-deactivate 'kill-buffer))
+ 	       (setq str (code-convert-string str *euc-jp* *internal*))
+ 	       (if (fboundp 'ad-activate)
+ 		   (ad-activate 'kill-buffer))))
+ 	    ((fboundp 'decode-coding-string)
+ 	     (setq str (decode-coding-string str 'euc-jp))))))
+     (if (string-match "\015\012" str)
+ 	(setq str (concat (substring str 0 (- (length str) 2)) "\012")))
+     str))
+ 
+ ;;
+ 
  (defun irchat-filter (process output)
    "Filter function for IRC server process."
    (let ((obuf (current-buffer))
diff -crN irchat-2.4jp23b/irchat-handle.el irchat-pj-2.4.23.19/irchat-handle.el
*** irchat-2.4jp23b/irchat-handle.el	Wed Jul  9 05:20:08 1997
--- irchat-pj-2.4.23.19/irchat-handle.el	Thu Nov 19 04:30:03 1998
***************
*** 118,127 ****
--- 118,134 ----
    (if (string= prefix irchat-nickname)
        (progn
  	(setq irchat-nickname nick)
+ 	(if (= 0 irchat-chanbuf-current-number)
+ 	    (irchat-Channel-select 0))
  	(irchat-insert-special (format "%s is now known as %s\n"
  				       prefix nick)))))
  
  (defun irchat-handle-notice (prefix chan msg)
+   ;; begin : added by simm-irc@fan.gr.jp, Thu, Nov 19, 1998 (pj18)
+   (if (and irchat-pj-rewrite-server-notice (string= prefix irchat-server))
+       (setq prefix nil
+ 	    msg (concat "=== " msg)))
+   ;; end
    (cond 
     ((null prefix)
      (if (string-match "ERROR" msg)
***************
*** 129,135 ****
        (irchat-insert-special (format "%s\n" msg))))
     ((string-match "\001\\(.*\\)\001" msg)
      (irchat-ctcp-notice prefix msg))
!    ((string-match "^*** Notice -- \\(.*\\)" msg)
      (let ((notice (matching-substring msg 1)))
        (cond
         ((and irchat-ignore-fakes
--- 136,142 ----
        (irchat-insert-special (format "%s\n" msg))))
     ((string-match "\001\\(.*\\)\001" msg)
      (irchat-ctcp-notice prefix msg))
!    ((string-match "^\\*\\*\\* Notice -- \\(.*\\)" msg)
      (let ((notice (matching-substring msg 1)))
        (cond
         ((and irchat-ignore-fakes
***************
*** 162,168 ****
      (irchat-handle-privmsg prefix chan msg))))
  
  (defun irchat-handle-ping (prefix msg)
!   (irchat-send "PONG yourself")
    (irchat-maybe-poll))
  
  (defun irchat-handle-pong (prefix he msg)
--- 169,175 ----
      (irchat-handle-privmsg prefix chan msg))))
  
  (defun irchat-handle-ping (prefix msg)
!   (irchat-send (format "PONG :%s" msg))
    (irchat-maybe-poll))
  
  (defun irchat-handle-pong (prefix he msg)
***************
*** 182,188 ****
      (let ((temp msg)
  	  (case-fold-search t))
        (if (and (string-match "\007" temp) irchat-beep-on-bells)
! 	  (beep t))
        (if (and (string-match "\001\\(.*\\)\001" temp)
  	       (or (not (string= irchat-nickname prefix))
  		   (irchat-match-me chan)))
--- 189,203 ----
      (let ((temp msg)
  	  (case-fold-search t))
        (if (and (string-match "\007" temp) irchat-beep-on-bells)
! 	  (beep t)
! 	(if (listp irchat-pj-beep-words-alist)
! 	    (let ((re irchat-pj-beep-words-alist))
! 	      (while (consp re)
! 		(if (string-match (car re) temp)
! 		    (progn
! 		      (beep t)
! 		      (setq re nil))
! 		  (setq re (cdr re)))))))
        (if (and (string-match "\001\\(.*\\)\001" temp)
  	       (or (not (string= irchat-nickname prefix))
  		   (irchat-match-me chan)))
***************
*** 193,200 ****
  		(get-buffer-window irchat-Dialogue-buffer)
  		(get-buffer-window irchat-Others-buffer)
  		(get-buffer-window irchat-Private-buffer)
! 		(message "IRCHAT: A private message has arrived from %s" 
! 			 prefix))
  	    ;; only private messages to us get time-stamp
  
  	    (if (irchat-match-me chan)
--- 208,215 ----
  		(get-buffer-window irchat-Dialogue-buffer)
  		(get-buffer-window irchat-Others-buffer)
  		(get-buffer-window irchat-Private-buffer)
! 		(message "IRCHAT: A private message has arrived from %s" prefix))
! 		  
  	    ;; only private messages to us get time-stamp
  
  	    (if (irchat-match-me chan)
***************
*** 306,311 ****
--- 321,328 ----
    (irchat-insert-special
     (format "*** %s invites you to channel %s\n"
  	   prefix (irchat-chan-virtual chan)) t)
+   (if irchat-pj-beep-when-invited
+       (beep t))
    (setq irchat-invited-channel chan))
  
  (defun irchat-handle-kill (prefix me path)
***************
*** 767,773 ****
  (defun irchat-handle-319 (prefix me nick rest) ; RPL_????
    ":server.name 319 me her :chan1 chan2 chan3"
    (let ((str "") oper chan)
!     (while (string-match "^\\([@+!]?\\)\\([+&#][^ ]+\\) +\\(.*\\)$" rest)
        (setq oper (matching-substring rest 1))
        (setq chan (matching-substring rest 2))
        (setq rest (matching-substring rest 3))
--- 784,790 ----
  (defun irchat-handle-319 (prefix me nick rest) ; RPL_????
    ":server.name 319 me her :chan1 chan2 chan3"
    (let ((str "") oper chan)
!     (while (string-match "^\\([@+!]?\\)\\([+&#!][^ ]+\\) +\\(.*\\)$" rest)
        (setq oper (matching-substring rest 1))
        (setq chan (matching-substring rest 2))
        (setq rest (matching-substring rest 3))
diff -crN irchat-2.4jp23b/irchat-pj-jisx0201.el irchat-pj-2.4.23.19/irchat-pj-jisx0201.el
*** irchat-2.4jp23b/irchat-pj-jisx0201.el	Thu Jan  1 09:00:00 1970
--- irchat-pj-2.4.23.19/irchat-pj-jisx0201.el	Thu Nov 19 03:27:21 1998
***************
*** 0 ****
--- 1,204 ----
+ ;;;
+ ;;; irchat-pj-jisx0201.el
+ ;;;
+ ;;; This file is based on jisx0201.el (Mule 2.3)
+ ;;; I referred mew-lang-jp.el (Mew 1.93) when editting.
+ ;;; Thanks to Mule Project and Mew Project
+ ;;;
+ ;;; last modify : Mon, Nov 16, 1998 by simm-irc@fan.gr.jp / irchat-PJ Project
+ ;;;
+ ;;; see file irchat-copyright.el for change log and copyright info
+ 
+ (provide 'irchat-pj-jisx0201)
+ 
+ (defvar irchat-pj-katakana-alist
+   '(( 161 . "(I'(B" )
+     ( 162 . "(I1(B" )
+     ( 163 . "(I((B" )
+     ( 164 . "(I2(B" )
+     ( 165 . "(I)(B" )
+     ( 166 . "(I3(B" )
+     ( 167 . "(I*(B" )
+     ( 168 . "(I4(B" )
+     ( 169 . "(I+(B" )
+     ( 170 . "(I5(B" )
+     ( 171 . "(I6(B" )
+     ( 172 . "(I6^(B" )
+     ( 173 . "(I7(B" )
+     ( 174 . "(I7^(B" )
+     ( 175 . "(I8(B" )
+     ( 176 . "(I8^(B" )
+     ( 177 . "(I9(B" )
+     ( 178 . "(I9^(B" )
+     ( 179 . "(I:(B" )
+     ( 180 . "(I:^(B" )
+     ( 181 . "(I;(B" )
+     ( 182 . "(I;^(B" )
+     ( 183 . "(I<(B" )
+     ( 184 . "(I<^(B" )
+     ( 185 . "(I=(B" )
+     ( 186 . "(I=^(B" )
+     ( 187 . "(I>(B" )
+     ( 188 . "(I>^(B" )
+     ( 189 . "(I?(B" )
+     ( 190 . "(I?^(B" )
+     ( 191 . "(I@(B" )
+     ( 192 . "(I@^(B" )
+     ( 193 . "(IA(B" )
+     ( 194 . "(IA^(B" )
+     ( 195 . "(I/(B" )
+     ( 196 . "(IB(B" )
+     ( 197 . "(IB^(B" )
+     ( 198 . "(IC(B" )
+     ( 199 . "(IC^(B" )
+     ( 200 . "(ID(B" )
+     ( 201 . "(ID^(B" )
+     ( 202 . "(IE(B" )
+     ( 203 . "(IF(B" )
+     ( 204 . "(IG(B" )
+     ( 205 . "(IH(B" )
+     ( 206 . "(II(B" )
+     ( 207 . "(IJ(B" )
+     ( 208 . "(IJ^(B" )
+     ( 209 . "(IJ_(B" )
+     ( 210 . "(IK(B" )
+     ( 211 . "(IK^(B" )
+     ( 212 . "(IK_(B" )
+     ( 213 . "(IL(B" )
+     ( 214 . "(IL^(B" )
+     ( 215 . "(IL_(B" )
+     ( 216 . "(IM(B" )
+     ( 217 . "(IM^(B" )
+     ( 218 . "(IM_(B" )
+     ( 219 . "(IN(B" )
+     ( 220 . "(IN^(B" )
+     ( 221 . "(IN_(B" )
+     ( 222 . "(IO(B" )
+     ( 223 . "(IP(B" )
+     ( 224 . "(IQ(B" )
+     ( 225 . "(IR(B" )
+     ( 226 . "(IS(B" )
+     ( 227 . "(I,(B" )
+     ( 228 . "(IT(B" )
+     ( 229 . "(I-(B" )
+     ( 230 . "(IU(B" )
+     ( 231 . "(I.(B" )
+     ( 232 . "(IV(B" )
+     ( 233 . "(IW(B" )
+     ( 234 . "(IX(B" )
+     ( 235 . "(IY(B" )
+     ( 236 . "(IZ(B" )
+     ( 237 . "(I[(B" )
+     ( 239 . "(I\(B" ) ; (I\(B -> $B%o(B $B$KJQ49$9$k$h$&$K(B
+     ( 238 . "(I\(B" ) ; $B%o$H%n$N=gHV$,8r49$7$F$"$k!#(B
+     ( 240 . "(I((B" )
+     ( 241 . "(I*(B" )
+     ( 242 . "(I&(B" )
+     ( 243 . "(I](B" )
+     ( 244 . "(I3^(B" )
+     ( 245 . "(I6(B" )
+     ( 246 . "(I9(B" )))
+ 
+ (defvar irchat-pj-katakana-kigou-alist
+   '(( 162 . "(I$(B" )
+     ( 163 . "(I!(B" )
+     ( 166 . "(I%(B" )
+     ( 171 . "(I^(B" )
+     ( 172 . "(I_(B" )
+     ( 188 . "(I0(B" )
+     ( 214 . "(I"(B" )
+     ( 215 . "(I#(B" )))
+ 
+ (defvar irchat-pj-dakuon-list
+   '( ?$B%+(B ?$B%-(B ?$B%/(B ?$B%1(B ?$B%3(B
+      ?$B%5(B ?$B%7(B ?$B%9(B ?$B%;(B ?$B%=(B
+      ?$B%?(B ?$B%A(B ?$B%D(B ?$B%F(B ?$B%H(B
+      ?$B%O(B ?$B%R(B ?$B%U(B ?$B%X(B ?$B%[(B))
+ 
+ ;;(defvar irchat-pj-handakuon-list (memq ?$B%O(B 'irchat-pj-dakuon-list))
+ (defvar irchat-pj-handakuon-list 
+   '( ?$B%O(B ?$B%R(B ?$B%U(B ?$B%X(B ?$B%[(B))
+ 
+ (defun irchat-pj-search-henkan-alist (ch list)
+   (let ((ptr list)
+ 	(result nil))
+     (while ptr
+       (if (string= ch (cdr (car ptr)))
+ 	  (progn
+ 	    (setq result (car (car ptr)))
+ 	    (setq ptr nil))
+ 	(setq ptr (cdr ptr))))
+     result))
+ 
+ (defun irchat-pj-make-jisx0208-katakana (ch)
+   (cond (irchat-xemacs
+ 	 (message "XEmacs")
+ 	 (make-char 'japanese-jisx0208 37 (- ch 128)))
+ 	(irchat-emacs20
+ 	 (message "Emacs20")
+ 	 (make-char 'japanese-jisx0208 ?\245 ch))
+ 	(t
+ 	 (message "Other")
+ 	 (make-character lc-jp ?\245 ch))))
+ 
+ (defun irchat-pj-make-jisx0208-kigou (ch)
+   (cond (irchat-xemacs
+ 	 (message "XEmacs")
+ 	 (make-char 'japanese-jisx0208 33 (- ch 128)))
+ 	(irchat-emacs20
+ 	 (message "Emacs20")
+ 	 (make-char 'japanese-jisx0208 ?\241 ch))
+ 	(t
+ 	 (message "Other")
+ 	 (make-character lc-jp ?\241 ch))))
+ 
+ (defun irchat-pj-zenkaku-katakana-string (string)
+   "Convert jisx0201 katakana to jisx0208."
+   (let ((return "")
+ 	(ch nil)
+ 	(wk nil)
+ 	(point 0))
+     (if (null (string-match "\\ck" string))
+ 	(setq return string)
+       (while (< point (length string))
+ 	(setq ch (elt string point))
+ 	(setq wk (char-to-string ch))
+ 	(if (null (string-match "\\ck" wk))
+ 	    (setq return (concat return wk))
+ 	  (cond ((= ch ?(I^(B)
+ 		 (if (= 0 point)
+ 		     (setq return (concat return "$B!+(B"))
+ 		   (setq wk (elt return (1- (length return))))
+ 		   (cond ((= wk ?$B%&(B)
+ 			  (setq return (substring return 0 (1- (length return))))
+ 			  (setq return (concat return "$B%t(B")))
+ 			 ((setq wk (memq wk irchat-pj-dakuon-list))
+ 			  (setq return (substring return 0 (1- (length return))))
+ 			  (setq return (concat return (char-to-string (1+ (car wk))))))
+ 			 (t
+ 			  (setq return (concat return "$B!+(B"))))))
+ 		((= ch ?(I_(B)
+ 		 (if (= 0 point)
+ 		     (setq return (concat return "$B!,(B"))
+ 		   (setq wk (elt return (1- (length return))))
+ 		   (cond ((setq wk (memq wk irchat-pj-handakuon-list))
+ 			  (setq return (substring return 0 (1- (length return))))
+ 			  (setq return (concat return (char-to-string (+ 2 (car wk))))))
+ 			 (t
+ 			  (setq return (concat return "$B!,(B"))))))
+ 		((setq wk (irchat-pj-search-henkan-alist
+ 			   (char-to-string ch) irchat-pj-katakana-alist))
+ 		 (setq return
+ 		       (concat return
+ 			       (char-to-string (irchat-pj-make-jisx0208-katakana wk)))))
+ 		((setq wk (irchat-pj-search-henkan-alist
+ 			   (char-to-string ch) irchat-pj-katakana-kigou-alist))
+ 		 (setq return
+ 		       (concat return
+ 			       (char-to-string (irchat-pj-make-jisx0208-kigou wk)))))))
+ 	(setq point (1+ point))))
+     return))
+ 
+ ;;;
+ ;;; eof
+ ;;;
diff -crN irchat-2.4jp23b/irchat-pj-mode-line-format.el irchat-pj-2.4.23.19/irchat-pj-mode-line-format.el
*** irchat-2.4jp23b/irchat-pj-mode-line-format.el	Thu Jan  1 09:00:00 1970
--- irchat-pj-2.4.23.19/irchat-pj-mode-line-format.el	Tue Jan  5 19:30:52 1999
***************
*** 0 ****
--- 1,144 ----
+ ;;;
+ ;;; irchat-pj-mode-line-format.el
+ ;;; last modify : Sun, Jan 3, 1999 by simm-irc@fan.gr.jp / irchat-PJ Project
+ ;;; see file irchat-copyright.el for change log and copyright info
+ ;;;
+ 
+ (provide 'irchat-pj-mode-line-format)
+ 
+ (defvar irchat-pj-chanbuf-mode-line-format-default
+   '("" irchat-away-indicator irchat-freeze-indicator ""
+     ((if (boundp 'MULE) mc-flag kanji-flag)
+      ((minibuffer-window-selected
+        (display-minibuffer-mode "m" " ") " ")
+       "["
+       (minibuffer-window-selected
+        (display-minibuffer-mode
+ 	mode-line-egg-mode-in-minibuffer
+ 	mode-line-egg-mode)
+        mode-line-egg-mode)
+       " ] " mode-line-canna-mode))
+     " IRCHAT: Commands" irchat-private-indicator
+     " {" irchat-chanbuf-indicator "} "
+     irchat-nickname " on " irchat-servername
+     (skk-mode skk-input-mode-string)
+     " -%-"))
+ 
+ (defvar irchat-pj-chanbuf-mode-line-format-for-egg
+   '("" irchat-away-indicator irchat-freeze-indicator ""
+     ((if (boundp 'MULE) mc-flag kanji-flag)
+      ((minibuffer-window-selected
+        (display-minibuffer-mode "m" " ") " ")
+       "["
+       (minibuffer-window-selected
+        (display-minibuffer-mode
+ 	mode-line-egg-mode-in-minibuffer
+ 	mode-line-egg-mode)
+        mode-line-egg-mode)
+       " ]"))
+     " IRCHAT: Commands" irchat-private-indicator
+     " {" irchat-chanbuf-indicator "} "
+     irchat-nickname " on " irchat-servername " -%-"))
+ 
+ (defvar irchat-pj-chanbuf-mode-line-format-for-canna
+   '("" irchat-away-indicator irchat-freeze-indicator ""
+     ((if (boundp 'MULE) mc-flag kanji-flag)
+      ((minibuffer-window-selected
+        (display-minibuffer-mode "m" " ") " ")
+       "-" mode-line-canna-mode))
+     " IRCHAT: Commands" irchat-private-indicator
+     " {" irchat-chanbuf-indicator "} "
+     irchat-nickname " on " irchat-servername " -%-"))
+ 
+ (defvar irchat-pj-chanbuf-mode-line-format-simple
+   '("" irchat-away-indicator irchat-freeze-indicator ""
+     " IRCHAT: Commands" irchat-private-indicator
+     " {" irchat-chanbuf-indicator "} "
+     irchat-nickname " on " irchat-servername
+     (skk-mode skk-input-mode-string)
+     " -%-"))
+ 
+ (defvar irchat-pj-chanbuf-mode-line-format-alternative
+   '("" irchat-away-indicator irchat-freeze-indicator ""
+     ((if (boundp 'MULE) mc-flag kanji-flag)
+      ((minibuffer-window-selected
+        (display-minibuffer-mode "m" " ") " ")
+       "["
+       (minibuffer-window-selected
+        (display-minibuffer-mode
+ 	mode-line-egg-mode-in-minibuffer
+ 	mode-line-egg-mode)
+        mode-line-egg-mode)
+       " ]"))
+     " IRCHAT: Commands" irchat-private-indicator
+     " <" irchat-servername "> " irchat-nickname
+     " (" irchat-chanbuf-indicator (skk-mode skk-input-mode-string) ")"
+     " -%-"))
+ 
+ (defvar irchat-pj-chanbuf-mode-line-format-alt-egg
+   '("" irchat-away-indicator irchat-freeze-indicator ""
+     ((if (boundp 'MULE) mc-flag kanji-flag)
+      ((minibuffer-window-selected
+        (display-minibuffer-mode "m" " ") " ")
+       "["
+       (minibuffer-window-selected
+        (display-minibuffer-mode
+ 	mode-line-egg-mode-in-minibuffer
+ 	mode-line-egg-mode)
+        mode-line-egg-mode)
+       " ] " mode-line-canna-mode))
+     " IRCHAT: Commands" irchat-private-indicator
+     " <" irchat-servername "> " irchat-nickname
+     " (" irchat-chanbuf-indicator ")"
+     " -%-"))
+ 
+ (defvar irchat-pj-chanbuf-mode-line-format-alt-canna
+   '("" irchat-away-indicator irchat-freeze-indicator ""
+     ((if (boundp 'MULE) mc-flag kanji-flag)
+      ((minibuffer-window-selected
+        (display-minibuffer-mode "m" " ") " ")
+       "-" mode-line-canna-mode))
+     " IRCHAT: Commands" irchat-private-indicator
+     " <" irchat-servername "> " irchat-nickname
+     " (" irchat-chanbuf-indicator (skk-mode skk-input-mode-string) ")"
+     " -%-"))
+ 
+ (defvar irchat-pj-chanbuf-mode-line-format-alt-simple
+   '("" irchat-away-indicator irchat-freeze-indicator ""
+     " IRCHAT: Commands" irchat-private-indicator
+     " <" irchat-servername "> " irchat-nickname
+     " (" irchat-chanbuf-indicator (skk-mode skk-input-mode-string) ")"
+     " -%-"))
+ 
+ (defvar irchat-pj-chanbuf-mode-line-format-minor-mode
+   '("" irchat-away-indicator irchat-freeze-indicator ""
+     " IRCHAT: Commands" irchat-private-indicator
+     " <" irchat-servername "> " irchat-nickname
+     " (" irchat-chanbuf-indicator minor-mode-alist ")"
+     " -%-"))
+ 
+ (defvar irchat-pj-chanbuf-mode-line-format 'irchat-pj-chanbuf-mode-line-format-default
+   "Mode line format for irchat-pj channel buffer.
+ 
+ We irchat-PJ project provides below:
+ \(for most use\)
+   irchat-pj-chanbuf-mode-line-format-default
+   irchat-pj-chanbuf-mode-line-format-alternative
+ \(for minor-mode kana-kanji converting system, like SKK10\)
+   irchat-pj-chanbuf-mode-line-format-minor-mode
+ \(for non-kana-kanji-conversion, or SKK user\)
+   irchat-pj-chanbuf-mode-line-format-simple
+   irchat-pj-chanbuf-mode-line-format-alt-simple
+ \(for Wnn user\)
+   irchat-pj-chanbuf-mode-line-format-for-egg
+   irchat-pj-chanbuf-mode-line-format-alt-egg
+ \(for Canna user\)
+   irchat-pj-chanbuf-mode-line-format-for-canna
+   irchat-pj-chanbuf-mode-line-format-alt-canna
+ So, choose above, or select your defined mode line.
+ 
+ ex.
+ \(setq irchat-pj-chanbuf-mode-line-format 'irchat-pj-chanbuf-mode-line-format-minor-mode\)
+ 
+ Default is irchat-pj-chanbuf-mode-line-format-default.
+ ")
diff -crN irchat-2.4jp23b/irchat-vars.el irchat-pj-2.4.23.19/irchat-vars.el
*** irchat-2.4jp23b/irchat-vars.el	Sun Aug  4 12:00:42 1996
--- irchat-pj-2.4.23.19/irchat-vars.el	Thu Nov 19 04:28:45 1998
***************
*** 145,150 ****
--- 145,197 ----
       garbage even if it is heavily optimized. You emacs will eat a lot of
       cpu if this is enabled.")
  
+ ;;
+ ;; additional variables for enhancement by irchat-PJ project
+ ;;
+ 
+ ;; added by simm, Sun, Nov 1, 1998
+ (defvar irchat-pj-filter-level 6
+   "Filtering level of Japanese input.
+ Set this variable integer. Its value means below.
+ 
+     0 : no process
+     1 : enable Emacs20 (same as irchat-2.4jp23b with qh1 and irchat-pj 2.4.23.8 fix)
+     2 : add some keybinds
+     3 : enable long topic (same as qh3)
+     4 : enable DCC chat (same as irchat-pj 2.4.23.11)
+     5 : enable SJIS code Japanese
+     6 : enable SJIS/EUC-JP code as Japanese (same as qh7)
+ 
+ If you set this variable greater than 6,
+ irchat-pj behaves this variable as 6.")
+ 
+ (defvar irchat-pj-code-verbose nil
+   "Output messages on minibuffer when received non-JIS code")
+ 
+ ;; added by simm, Sat, Oct 31, 1998
+ (defvar irchat-pj-beep-words-alist nil
+   "Beep list for irchat-pj.
+ Set a list of regular expression, and you get beep-sound if match.")
+ 
+ ;; added by simm, Mon, Nov 2, 1998
+ (defvar irchat-pj-beep-when-invited nil
+   "Output beep sound when invited.")
+ 
+ (defvar irchat-pj-beep-when-private nil
+   "Output beep sound when received private message.")
+ 
+ ;; added by simm, Thu, Nov 19, 1998 (pj18)
+ (defvar irchat-pj-rewrite-server-notice nil
+   "Rewrite notice message from server.
+ Default : =irc.kyoto.wide.ad.jp= gaga
+ If t    : === gaga")
+ 
+ (defvar irchat-pj-katakana-convert t
+   "Convert jisx0201 katakana characters to jisx0208.")
+ 
+ (defvar irchat-pj-fix-gaga-problem t
+   "When `gaga' problem occured, not join but warn.")
+ 
  ;;;
  ;;; eof
  ;;;
diff -crN irchat-2.4jp23b/irchat.el irchat-pj-2.4.23.19/irchat.el
*** irchat-2.4jp23b/irchat.el	Wed Jul  9 05:56:44 1997
--- irchat-pj-2.4.23.19/irchat.el	Thu Jan  7 10:58:30 1999
***************
*** 3,16 ****
  ;; irchat-2.4jp version by kick@wide.ad.jp (1994/03/17 - 1996/11/18)
  ;; Copyright (C) 1994,1995,1996 KIKUCHI Takahiro
  
! (defconst irchat-client-version-jp "jp23b(1997/07/09)")
  
  (require 'defsubst)
  (require 'irchat-commands)
  (require 'irchat-handle)
  (require 'irchat-inlines)
  (require 'irchat-filter)
! (require 'irchat-vars)
  
  (provide 'irchat)
  
--- 3,21 ----
  ;; irchat-2.4jp version by kick@wide.ad.jp (1994/03/17 - 1996/11/18)
  ;; Copyright (C) 1994,1995,1996 KIKUCHI Takahiro
  
! ;; irchat-pj 2.4.23.x version by simm-irc@fan.gr.jp (1998/04/04 - 1999/01/07)
! ;; Copyright (C) 1998-1999 irchat-PJ Project
! 
! (defconst irchat-client-version-jp ".23.19(1999/01/07)")
  
  (require 'defsubst)
+ (require 'irchat-vars)
  (require 'irchat-commands)
  (require 'irchat-handle)
  (require 'irchat-inlines)
  (require 'irchat-filter)
! (require 'irchat-pj-jisx0201)
! (require 'irchat-pj-mode-line-format)
  
  (provide 'irchat)
  
***************
*** 23,29 ****
  (defconst irchat-client-version-release "$Date: 1994/02/23 15:05:00 $"
    "version release date")
  
! (defconst irchat-client-name "irchat"
    "*Name of this program.")
  
  (defconst irchat-version
--- 28,34 ----
  (defconst irchat-client-version-release "$Date: 1994/02/23 15:05:00 $"
    "version release date")
  
! (defconst irchat-client-name "irchat-pj"
    "*Name of this program.")
  
  (defconst irchat-version
***************
*** 55,60 ****
--- 60,67 ----
  		 (substring mule-version (match-beginning 0) (match-end 0)))))
  
  (defconst irchat-emacs19 (= (string-to-int (substring emacs-version 0 2)) 19))
+ (defconst irchat-emacs20 (= (string-to-int (substring emacs-version 0 2)) 20))
+ (defconst irchat-xemacs  (string-match "XEmacs" emacs-version))
  
  (defvar irchat-system-fqdname (system-name)
    "*The fully qualified domain name of the system.
***************
*** 427,432 ****
--- 434,448 ----
    (define-key irchat-CTCP-command-map "0" 'irchat-Command-jump-channel10)
    (define-key irchat-CTCP-command-map "1" 'irchat-Command-jump-channel11)
    (define-key irchat-CTCP-command-map "2" 'irchat-Command-jump-channel12)
+   (if (>= irchat-pj-filter-level 2)
+       (progn
+ 	(define-key irchat-CTCP-command-map "3" 'irchat-Command-jump-channel13)
+ 	(define-key irchat-CTCP-command-map "4" 'irchat-Command-jump-channel14)
+ 	(define-key irchat-CTCP-command-map "5" 'irchat-Command-jump-channel15)
+ 	(define-key irchat-CTCP-command-map "6" 'irchat-Command-jump-channel16)
+ 	(define-key irchat-CTCP-command-map "7" 'irchat-Command-jump-channel17)
+ 	(define-key irchat-CTCP-command-map "8" 'irchat-Command-jump-channel18)
+ 	(define-key irchat-CTCP-command-map "9" 'irchat-Command-jump-channel19)))
    (define-key irchat-CTCP-command-map "g" 'irchat-Command-ctcp-generic)
    (define-key irchat-CTCP-command-map "v" 'irchat-Command-ctcp-version)
    (define-key irchat-CTCP-command-map "t" 'irchat-Command-ctcp-time)
***************
*** 449,454 ****
--- 465,482 ----
    (define-prefix-command 'irchat-DCC-command-map)
    (setq irchat-DCC-command-map (make-keymap))
    (fset 'irchat-DCC-command-prefix irchat-DCC-command-map)
+   (if (>= irchat-pj-filter-level 2)
+       (progn
+ 	(define-key irchat-DCC-command-map "0" 'irchat-Command-jump-channel20)
+ 	(define-key irchat-DCC-command-map "1" 'irchat-Command-jump-channel21)
+ 	(define-key irchat-DCC-command-map "2" 'irchat-Command-jump-channel22)
+ 	(define-key irchat-DCC-command-map "3" 'irchat-Command-jump-channel23)
+ 	(define-key irchat-DCC-command-map "4" 'irchat-Command-jump-channel24)
+ 	(define-key irchat-DCC-command-map "5" 'irchat-Command-jump-channel25)
+ 	(define-key irchat-DCC-command-map "6" 'irchat-Command-jump-channel26)
+ 	(define-key irchat-DCC-command-map "7" 'irchat-Command-jump-channel27)
+ 	(define-key irchat-DCC-command-map "8" 'irchat-Command-jump-channel28)
+ 	(define-key irchat-DCC-command-map "9" 'irchat-Command-jump-channel29)))
    (define-key irchat-DCC-command-map "c" 'irchat-Command-dcc-chat)
    (define-key irchat-DCC-command-map "g" 'irchat-Command-dcc-get)
    (define-key irchat-DCC-command-map "k" 'irchat-Command-dcc-kill)
***************
*** 599,605 ****
  If optional argument CONFIRM is non-nil, ask which IRC server to connect.
  If already connected, just pop up the windows."
    (interactive "P")
!   (if irchat-emacs19
        (add-hook 'kill-emacs-hook 'irchat-quit))
    (if (file-exists-p (expand-file-name irchat-variables-file))
        (load (expand-file-name irchat-variables-file)))
--- 627,633 ----
  If optional argument CONFIRM is non-nil, ask which IRC server to connect.
  If already connected, just pop up the windows."
    (interactive "P")
!   (if (or irchat-emacs19 irchat-emacs20)
        (add-hook 'kill-emacs-hook 'irchat-quit))
    (if (file-exists-p (expand-file-name irchat-variables-file))
        (load (expand-file-name irchat-variables-file)))
***************
*** 687,693 ****
  	(irchat-Channel-change)
  	(irchat-Command-describe-briefly)))))
  
- 
  (defun irchat-Command-mode ()
    "Major mode for IRCHAT.  Normal edit function are available.
  Typing Return or Linefeed enters the current line in the dialogue.
--- 715,720 ----
***************
*** 705,712 ****
  	irchat-private-indicator nil
  	irchat-away-indicator "-"
  	irchat-freeze-indicator "-"
! 	mode-line-format
! 	irchat-chanbuf-mode-line-format)
    (use-local-map irchat-Command-mode-map)
    (if irchat-blink-parens
        nil
--- 732,738 ----
  	irchat-private-indicator nil
  	irchat-away-indicator "-"
  	irchat-freeze-indicator "-"
! 	mode-line-format (symbol-value irchat-pj-chanbuf-mode-line-format))
    (use-local-map irchat-Command-mode-map)
    (if irchat-blink-parens
        nil
***************
*** 1000,1007 ****
  	    (setq irchat-after-registration t)
  	    (set-process-sentinel irchat-server-process
  				  'irchat-sentinel)
! 	    (set-process-filter irchat-server-process
! 				'irchat-filter)
  	    (if (or irchat-ask-for-password 
  		    irchat-reconnect-with-password)
  		(let (password)
--- 1026,1036 ----
  	    (setq irchat-after-registration t)
  	    (set-process-sentinel irchat-server-process
  				  'irchat-sentinel)
! 	    (if (and (boundp 'irchat-pj-filter-level) (>= irchat-pj-filter-level 3))
! 		(set-process-filter irchat-server-process 'irchat-pj-filter)
! 	      (set-process-filter irchat-server-process 'irchat-filter))
! ;;	    (set-process-filter irchat-server-process
! ;;				'irchat-pj-filter)
  	    (if (or irchat-ask-for-password 
  		    irchat-reconnect-with-password)
  		(let (password)
***************
*** 1211,1216 ****
--- 1240,1249 ----
          (orig-to-kanji-process to-kanji-process))
      (setq to-ascii-process ?B)
      (setq to-kanji-process ?B)
+     ;; begin : added by simm-irc@fan.gr.jp, Thu, Nov 19, 1998 (pj18)
+     (if (and item irchat-pj-katakana-convert)
+ 	(setq item (irchat-pj-zenkaku-katakana-string item)))
+     ;; end
      (process-send-string irchat-server-process
  			 (concat item "\n"))
      (if (and irchat-debug-buffer (get-buffer irchat-debug-buffer))
***************
*** 1262,1268 ****
  		      (setq visible t)))
  	    (let* ((buffer-read-only nil))
  	      (setq irchat-hoge (point))
! 	      (if (and (stringp pattern) (stringp irchat-previous-pattern)
  		       (string= pattern irchat-previous-pattern))
  		  (progn
  		    (previous-line 1)
--- 1295,1302 ----
  		      (setq visible t)))
  	    (let* ((buffer-read-only nil))
  	      (setq irchat-hoge (point))
! 	      (if (and (boundp 'pattern) (boundp 'irchat-previous-pattern)
! 		       (stringp pattern) (stringp irchat-previous-pattern)
  		       (string= pattern irchat-previous-pattern))
  		  (progn
  		    (previous-line 1)
***************
*** 1337,1347 ****
  
  
  (defun irchat-insert-private (to-me partner string)
!   (if (not (string-match "^[+&#]" partner))
        (if to-me
! 	  (irchat-insert (format "=%s= %s\n" partner string)
! 		      (or (irchat-Channel-exist partner) irchat-Private-buffer)
! 		      'privmsg)
  	;; my message to partner
  	(irchat-insert (format ">%s< %s\n" partner string)
  		      (or (irchat-Channel-exist partner) irchat-Private-buffer)
--- 1371,1385 ----
  
  
  (defun irchat-insert-private (to-me partner string)
!   (if (not (string-match "^[+&#!]" partner))
        (if to-me
! 	  (if (irchat-Channel-exist partner)
! 	      (irchat-insert (format "=%s= %s\n" partner string)
! 			     (irchat-Channel-exist partner) 'privmsg)
! 	    (if irchat-pj-beep-when-private
! 		(beep t))
! 	    (irchat-insert (format "=%s= %s\n" partner string)
! 			   irchat-Private-buffer 'privmsg))
  	;; my message to partner
  	(irchat-insert (format ">%s< %s\n" partner string)
  		      (or (irchat-Channel-exist partner) irchat-Private-buffer)
***************
*** 1356,1374 ****
  ;;; coding system handling
  ;;;
  (defun irchat-define-service-coding-system (service)
!   ;; patch for JIS Kanji.  Jan. 14th '90  ohm@kyoto.wide.ad.jp
!   (if (boundp 'MULE)
!       (if (fboundp 'define-service-coding-system)
!           (define-service-coding-system service nil (cons *junet* *junet*)))
!     (if (fboundp 'define-service-kanji-code)
!         (define-service-kanji-code service nil 2)))) ; JIS
  
  (defun irchat-set-process-coding-system (proc)
!   (if (boundp 'MULE)
!       (if (fboundp 'set-process-coding-system)
!           (set-process-coding-system proc *junet* *junet*))
!     (if (fboundp 'set-process-kanji-code)
!         (set-process-kanji-code proc 2)))) ; JIS
  
  ;;;
  ;;; this function handles default arguments more user friendly
--- 1394,1437 ----
  ;;; coding system handling
  ;;;
  (defun irchat-define-service-coding-system (service)
!   ;; patch for Emacs20,  Jul 2, 1998 simm-irc@fan.gr.jp
!   ;; patch for long-topic, Sep 6, 1998 simm-irc@fan.gr.jp
!   ;; enable process level, Nov 1, 1998 simm-irc@fan.gr.jp
!   (cond ((>= irchat-pj-filter-level 3)
! 	 (cond ((fboundp 'modify-coding-system-alist)          ; Emacs20
! 		(modify-coding-system-alist 'network service
! 					    (cons 'no-conversion 'iso-2022-jp)))
! 	       ((fboundp 'define-service-coding-system)        ; Mule2
! 		(define-service-coding-system service nil (cons *noconv* *junet*)))
! 	       ((fboundp 'define-service-kanji-code)           ; NEmacs
! 		(define-service-kanji-code service nil 2))))   ; JIS
! 	((>= irchat-pj-filter-level 1)
! 	 (cond ((fboundp 'modify-coding-system-alist)          ; Emacs20
! 		(modify-coding-system-alist 'network service
! 					    (cons 'iso-2022-jp 'iso-2022-jp)))
! 	       ((fboundp 'define-service-coding-system)        ; Mule2
! 		(define-service-coding-system service nil (cons *junet* *junet*)))
! 	       ((fboundp 'define-service-kanji-code)           ; NEmacs
! 		(define-service-kanji-code service nil 2)))))) ; JIS
  
  (defun irchat-set-process-coding-system (proc)
!   ;; patch for DCC, Sep 6, 1998 simm-irc@fan.gr.jp
!   ;; bug fix for 19.34 DCC, Sep 26, 1998 simm-irc@fan.gr.jp
!   (cond ((>= irchat-pj-filter-level 3)
! 	 (cond ((and irchat-emacs20 (fboundp 'set-process-coding-system))
! 		(set-process-coding-system proc 'no-conversion 'iso-2022-jp))   ; Emacs20
! 	       ((and irchat-emacs19 (fboundp 'set-process-coding-system))
! 		(set-process-coding-system proc *noconv* *junet*))              ; Mule2
! 	       ((fboundp 'set-process-kanji-code)              ; NEmacs
! 		(set-process-kanji-code service nil 2))))      ; JIS
! 	((>= irchat-pj-filter-level 1)
! 	 (cond ((and irchat-emacs20 (fboundp 'set-process-coding-system))
! 		(set-process-coding-system proc 'iso-2022-jp 'iso-2022-jp))     ; Emacs20
! 	       ((and irchat-emacs19 (fboundp 'set-process-coding-system))
! 		(set-process-coding-system proc *junet* *junet*))               ; Mule2
! 	       ((fboundp 'set-process-kanji-code)              ; NEmacs
! 		(set-process-kanji-code service nil 2))))))    ; JIS
! 
  
  ;;;
  ;;; this function handles default arguments more user friendly
