diff -urN tiarra-20050330/.svnversion tiarra-20050410/.svnversion
--- tiarra-20050330/.svnversion	2005-03-31 00:54:35.000000000 +0900
+++ tiarra-20050410/.svnversion	2005-04-10 00:15:32.000000000 +0900
@@ -1 +1 @@
-886
+890
diff -urN tiarra-20050330/ChangeLog.svn tiarra-20050410/ChangeLog.svn
--- tiarra-20050330/ChangeLog.svn	2005-03-31 00:55:00.000000000 +0900
+++ tiarra-20050410/ChangeLog.svn	2005-04-10 00:15:53.000000000 +0900
@@ -1,4 +1,34 @@
 ------------------------------------------------------------------------
+r890 | topia | 2005-04-10 00:13:28 +0900 (Sun, 10 Apr 2005) | 2 lines
+Changed paths:
+   M /trunk/tiarra
+
+* improve startup process: make unknown config with quiet to error.
+
+------------------------------------------------------------------------
+r889 | topia | 2005-04-06 13:35:43 +0900 (Wed, 06 Apr 2005) | 2 lines
+Changed paths:
+   M /trunk/module/System/PrivTranslator.pm
+
+* long cache time.
+
+------------------------------------------------------------------------
+r888 | topia | 2005-04-03 17:34:07 +0900 (Sun, 03 Apr 2005) | 2 lines
+Changed paths:
+   M /trunk/main/Tiarra/IRC/Message.pm
+
+* fix remark index bug.
+
+------------------------------------------------------------------------
+r887 | topia | 2005-04-03 16:50:31 +0900 (Sun, 03 Apr 2005) | 4 lines
+Changed paths:
+   M /trunk/main/Tiarra/IRC/Prefix.pm
+
+* add user method alias (I'm stupid...).
+
+* add name to ->new argument.
+
+------------------------------------------------------------------------
 r886 | topia | 2005-03-30 21:59:54 +0900 (Wed, 30 Mar 2005) | 2 lines
 Changed paths:
    M /trunk/main/Mask.pm
diff -urN tiarra-20050330/main/Tiarra/IRC/Message.pm tiarra-20050410/main/Tiarra/IRC/Message.pm
--- tiarra-20050330/main/Tiarra/IRC/Message.pm	2005-03-31 00:54:36.000000000 +0900
+++ tiarra-20050410/main/Tiarra/IRC/Message.pm	2005-04-10 00:15:33.000000000 +0900
@@ -1,5 +1,5 @@
 # -----------------------------------------------------------------------------
-# $Id: Message.pm 884 2005-03-30 07:14:01Z topia $
+# $Id: Message.pm 888 2005-04-03 08:34:07Z topia $
 # -----------------------------------------------------------------------------
 # Tiarra::IRC::MessageはIRCのメッセージを表わすクラスです。実際のメッセージはUTF-8で保持します。
 # 生のメッセージのパース、シリアライズ、そしてメッセージの生成をサポートします。
@@ -652,10 +652,10 @@
 	$this->[REMARKS];
     } else {
 	my $key = shift;
-	if (@_ > 2) {
+	if (@_ > 1) {
 	    # have 3rd argument 'delete'
 	    delete $this->[REMARKS]->{$key};
-	} elsif (@_ > 1) {
+	} elsif (@_ > 0) {
 	    # have value
 	    $this->[REMARKS]->{$key} = shift;
 	} else {
diff -urN tiarra-20050330/main/Tiarra/IRC/Prefix.pm tiarra-20050410/main/Tiarra/IRC/Prefix.pm
--- tiarra-20050330/main/Tiarra/IRC/Prefix.pm	2005-03-31 00:54:36.000000000 +0900
+++ tiarra-20050410/main/Tiarra/IRC/Prefix.pm	2005-04-10 00:15:33.000000000 +0900
@@ -1,7 +1,5 @@
 # -----------------------------------------------------------------------------
-# $Id: Prefix.pm 870 2005-03-27 10:41:55Z topia $
-# -----------------------------------------------------------------------------
-# Tiarra::
+# $Id: Prefix.pm 887 2005-04-03 07:50:31Z topia $
 # -----------------------------------------------------------------------------
 # copyright (C) 2005 Topia <topia@clovery.jp>. all rights reserved.
 package Tiarra::IRC::Prefix;
@@ -17,6 +15,8 @@
 utils->define_array_attr_notify_accessor(
     0, '$this->_parse_prefix', qw(prefix));
 
+*user = \&name;
+
 sub new {
     my ($class,%args) = @_;
     my $obj = bless [] => $class;
@@ -25,7 +25,7 @@
     $obj->[NAME] = undef;
     $obj->[HOST] = undef;
 
-    foreach (qw(Prefix Nick User Host)) {
+    foreach (qw(Prefix Nick User Name Host)) {
 	if (exists $args{$_}) {
 	    my $method = lc($_);
 	    $obj->$method($args{$_});
diff -urN tiarra-20050330/module/System/PrivTranslator.pm tiarra-20050410/module/System/PrivTranslator.pm
--- tiarra-20050330/module/System/PrivTranslator.pm	2005-03-31 00:54:37.000000000 +0900
+++ tiarra-20050410/module/System/PrivTranslator.pm	2005-04-10 00:15:34.000000000 +0900
@@ -1,5 +1,5 @@
 # -----------------------------------------------------------------------------
-# $Id: PrivTranslator.pm 872 2005-03-27 12:16:02Z topia $
+# $Id: PrivTranslator.pm 889 2005-04-06 04:35:43Z topia $
 # -----------------------------------------------------------------------------
 # copyright (C) 2003 phonohawk <phonohawk@ps.sakura.ne.jp>. all rights reserved.
 # copyright (C) 2004-2005 Topia <topia@clovery.jp>. all rights reserved.
@@ -9,7 +9,7 @@
 use base qw(Module);
 use Multicast;
 
-sub NICK_CACHE_EXPIRE_TIME (){ 5 * 60 }
+sub NICK_CACHE_EXPIRE_TIME (){ 20 * 60 }
 sub NICK_CACHE_EXPIRE_KEY (){ __PACKAGE__ . '/nick-avails' }
 sub REMARK_NICK_ATTACHED_KEY (){ __PACKAGE__ . '/nick-attached' }
 
diff -urN tiarra-20050330/tiarra tiarra-20050410/tiarra
--- tiarra-20050330/tiarra	2005-03-31 00:54:35.000000000 +0900
+++ tiarra-20050410/tiarra	2005-04-10 00:15:32.000000000 +0900
@@ -5,7 +5,7 @@
 # This is free software; you can redistribute it and/or modify it
 #   under the same terms as Perl itself.
 # -----------------------------------------------------------------------------
-# $Id: tiarra 882 2005-03-29 12:53:35Z topia $
+# $Id: tiarra 890 2005-04-09 15:13:28Z topia $
 # -----------------------------------------------------------------------------
 require 5.006;
 use strict;
@@ -256,48 +256,52 @@
     my $quiet = &find_option('quiet');
     my $no_fork = &find_option('no-fork');
 
-    my $load_config = sub {
-	local($|) = 1;
-
-	if (defined $conf_file) {
-	    print "Reading configuration from ${conf_file}... ";
-	} else {
-	    $conf_file = IO::Handle->new->fdopen(fileno(STDIN),'r');
-	    print "Reading configuration from stdin... ";
-	}
-
+    my $boot = sub  {
 	eval {
-	    Configuration->shared_conf->load($conf_file);
+	    RunLoop->shared_loop->run;
 	}; if ($@) {
-	    die "ERROR: $@\n";
+	    die "Tiarra aborted: $@\n";
 	} else {
-	    print "ok\n";
+	    print "Tiarra successfully finished.\n";
 	}
     };
 
-    my $boot = sub  {
+    my $print = $quiet ? sub {} : sub { print @_ };
+
+    if (!$quiet) {
 	foreach my $line (get_credit()) {
-	    print $line,"\n";
+	    $print->($line,"\n");
 	}
-	print "\n";
-	$load_config->();
-	eval {
-	    RunLoop->shared_loop->run;
-	}; if ($@) {
-	    die "Tiarra aborted: $@\n";
+	$print->("\n");
+    }
+
+    do {
+	local($|) = 1;
+
+	if (defined $conf_file) {
+	    $print->("Reading configuration from ${conf_file}... ");
 	} else {
-	    print "Tiarra successfully finished.\n";
+	    $conf_file = IO::Handle->new->fdopen(fileno(STDIN),'r');
+	    $print->("Reading configuration from stdin... ");
+	}
+
+	if (!$quiet) {
+	    Configuration->shared_conf->load($conf_file);
+	} else {
+	    eval {
+		Configuration->shared_conf->load($conf_file);
+	    }; if ($@) {
+		die "an error occoured on config read: $@";
+	    }
 	}
+	$print->("ok\n");
     };
 
     # quietモードならSTDIN, STDOUT, STDERRを閉じる。
-    # config の read の関連(STDIN)で boot の寸前に。
     if ($quiet) {
 	close STDIN;
 	close STDOUT;
 	close STDERR;
-	#open(STDOUT,"> /dev/null");
-	#open(STDERR,"> /dev/null");
     }
 
     # quietモードであり、且つno-forkオプションが指定されなかったらfork。
