diff -urN tiarra-20031024/ChangeLog tiarra-20031108/ChangeLog
--- tiarra-20031024/ChangeLog	2003-11-08 04:38:31.000000000 +0900
+++ tiarra-20031108/ChangeLog	2003-11-08 15:13:54.000000000 +0900
@@ -1,3 +1,13 @@
+2003-11-08  Topia  <topia@clovery.jp>
+
+	* module/Log/Recent.pm (client_attached): bugfix/need reload.
+	single-server-mode 時に、送信チャンネル名から network-suffix
+	をはずす。
+
+	* main/RunLoop.pm (run): bugfix/need reboot.
+	single-server-mode 時に、クライアントから送られて来るメッセージに
+	network-suffix を付けるようにした。
+
 2003-10-25  phonohawk  <phonohawk@lycos.co.uk>
 
 	* main/IRCMessage.pm (serialize):
@@ -1008,7 +1018,7 @@
 
 	* これ以前のログは書いていません。
 
-#       Id: $Id: ChangeLog,v 1.113 2003/10/24 15:57:48 admin Exp $
-#   Author: $Author: admin $
-#     Date: $Date: 2003/10/24 15:57:48 $
-# Revision: $Revision: 1.113 $
+#       Id: $Id: ChangeLog,v 1.114 2003/11/08 06:12:56 topia Exp $
+#   Author: $Author: topia $
+#     Date: $Date: 2003/11/08 06:12:56 $
+# Revision: $Revision: 1.114 $
diff -urN tiarra-20031024/NEWS tiarra-20031108/NEWS
--- tiarra-20031024/NEWS	2003-11-08 04:38:31.000000000 +0900
+++ tiarra-20031108/NEWS	2003-11-08 15:13:54.000000000 +0900
@@ -1,3 +1,9 @@
+2003-11-08  Topia  <topia@clovery.jp>
+
+	* single-server-mode の bugfix です。
+	single-server-mode を使う予定が無い場合は再起動は不要です。
+	single-server-mode を使っている方は、アップデートして再起動して下さい。
+
 2003-10-16  phonohawk  <phonohawk@lycos.co.uk>
 
 	* System::Raw
diff -urN tiarra-20031024/main/RunLoop.pm tiarra-20031108/main/RunLoop.pm
--- tiarra-20031024/main/RunLoop.pm	2003-11-08 04:38:32.000000000 +0900
+++ tiarra-20031108/main/RunLoop.pm	2003-11-08 15:13:55.000000000 +0900
@@ -1,5 +1,5 @@
 # -----------------------------------------------------------------------------
-# $Id: RunLoop.pm,v 1.47 2003/10/15 16:23:42 admin Exp $
+# $Id: RunLoop.pm,v 1.48 2003/11/08 06:12:56 topia Exp $
 # -----------------------------------------------------------------------------
 # このクラスはTiarraのメインループを実装します。
 # select()を実行し、サーバーやクライアントとのI/Oを行うのはこのクラスです。
@@ -264,7 +264,7 @@
     # 送信する必要のあるIrcIOだけを抜き出し、そのソケットを送信セレクタに登録する。
 
     #my $add_or_remove = sub {
-    #	my $io = shift;	
+    #	my $io = shift;
     #	my $action = ($io->need_to_send ? 'add' : 'remove');
     #	$this->{send_selector}->$action($io->sock);
     #};
@@ -279,7 +279,7 @@
     # どうもこの動作が怪しい。無理に再利用しなくても良いような気がする。
     my $sel = $this->{send_selector} = IO::Select->new;
     foreach my $io (values %{$this->{networks}}) {
-    	if ($io->need_to_send) {
+	if ($io->need_to_send) {
 	    $sel->add($io->sock);
 	}
     }
@@ -852,13 +852,13 @@
 	limit => 100,
 	minimum_to_reset => 2,
 	interval => 10,
-	
+
 	count => 0,
 	last_warned => 0,
     };
     my $zerotime_warn = sub {
 	my $elapsed = shift;
-	
+
 	if ($elapsed == 0) {
 	    $zerotime->{count}++;
 	    if ($zerotime->{count} >= $zerotime->{limit}) {
@@ -875,7 +875,7 @@
 	    $zerotime->{count} = 0;
 	}
     };
-    
+
     while (1) {
 	# 処理の流れ
 	#
@@ -943,11 +943,11 @@
 				last;
 			    }
 			}
-			
+
 			if (!defined $msg) {
 			    next;
 			}
-			
+
 			if ($io->isa("IrcIO::Server")) {
 			    # このメッセージがPONGであればpong-drop-counterを見る。
 			    if ($msg->command eq 'PONG') {
@@ -978,8 +978,12 @@
 				} @$filtered_messages);
 			}
 			else {
+			    # シングルサーバーモードなら、メッセージをMulticastのフィルタに通す。
+			    my @received_messages =
+				(!$this->{multi_server_mode}) ? Multicast::from_server_to_client($msg,$this->networks_list) : $msg;
+
 			    # モジュールを通す。
-			    my $filtered_messages = $this->_apply_filters([$msg],$io);		    
+			    my $filtered_messages = $this->_apply_filters(\@received_messages,$io);
 			    # 対象となる鯖に送る。
 			    # NOTICE及びPRIVMSGは返答が返ってこないので、同時にこれ以外のクライアントに転送する。
 			    # 註釈do-not-send-to-servers => 1が付いているメッセージはここで破棄する。
@@ -987,7 +991,7 @@
 				if ($msg->remark('do-not-send-to-servers')) {
 				    next;
 				}
-				
+
 				my $cmd = $msg->command;
 				if ($cmd eq 'PRIVMSG' || $cmd eq 'NOTICE') {
 				    my $new_msg = undef; # 本当に必要になったら作る。
@@ -1002,7 +1006,7 @@
 					}
 				    }
 				}
-				
+
 				Multicast::from_client_to_server($msg,$io);
 			    }
 			}
diff -urN tiarra-20031024/module/Log/Recent.pm tiarra-20031108/module/Log/Recent.pm
--- tiarra-20031024/module/Log/Recent.pm	2003-11-08 04:38:32.000000000 +0900
+++ tiarra-20031108/module/Log/Recent.pm	2003-11-08 15:13:55.000000000 +0900
@@ -1,5 +1,5 @@
 # -----------------------------------------------------------------------------
-# $Id: Recent.pm,v 1.5 2003/09/23 15:26:10 admin Exp $
+# $Id: Recent.pm,v 1.6 2003/11/08 06:12:56 topia Exp $
 # -----------------------------------------------------------------------------
 # Local: $Clovery: tiarra/module/Log/Recent.pm,v 1.5 2003/02/11 07:59:32 topia Exp $
 package Log::Recent;
@@ -53,12 +53,16 @@
 	    # ログはあるか？
 	    my $vec = $ch->remarks('recent-log');
 	    if (defined $vec) {
+		my $ch_name;
 		foreach my $elem (@$vec) {
+		    $ch_name =
+			RunLoop->shared->multi_server_mode_p ?
+			    $elem->[0] : $ch->name;
 		    $client->send_message(
 			IRCMessage->new(
 			    Prefix => 'Tiarra',
 			    Command => 'NOTICE',
-			    Params => [$elem->[0],$elem->[1]]));
+			    Params => [$ch_name,$elem->[1]]));
 		}
 	    }
 	}
@@ -92,7 +96,7 @@
 	}
 	else {
 	    my $format = do {
-		if ($this->config->distinguish_myself && $sender->isa('IrcIO::Client')) {		    
+		if ($this->config->distinguish_myself && $sender->isa('IrcIO::Client')) {
 		    $cmd eq 'PRIVMSG' ? '>%s< %s' : ')%s( %s';
 		}
 		else {
