From 69358a164f3dc348f965e8ccccf76fc9bfca6f42 Mon Sep 17 00:00:00 2001 From: morimoto Date: Fri, 29 Feb 2008 00:13:55 +0000 Subject: [PATCH] ::log_die() when error occurs at eval, closes #11984 --- ChangeLog | 68 +++++++++++++++++++++++++++++++++++++++++++++++++ lib/Keitairc/Plugins.pm | 9 +++---- 2 files changed, 72 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 716c1c2..5e02389 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,71 @@ +2008-02-29 Jun Morimoto + + * lib/Keitairc/Plugins.pm: プラグインファイルをevalしてエラーがでた + ら ::log_die するようにした + +2008-02-26 Jun Morimoto + + * keitairc 2.0b5: + - 10チャネル以上のチャネルを扱えてませんでした (最近エンバグしてた。 + みっともない…) + - チャネル名一覧のチャネルが文字化けしてた (最近エンバグしてた。みっ + ともない…) + - 住所っぽい文字列のリンクのマッチを多少改善しました。 + - さらに、住所っぽい文字列をクリックしたあと、 一段階かましてから + Google Mapに飛ぶようにしました。 この時点で、住所っぽい文字列の編集 + も可能なので、 余計な文字列を手で削ってGoogle Mapに再度飛ぶことも可 + 能です。 会話体も多いirc発言文字列から住所をばっちり抽出するのは か + なりむずかしいので、最後のツメは手編集にまかせたほうがよかろうと 割 + り切りました。 + - ついでに、住所っぽい文字列を自分にメールする機能もつけました。 + (メールアドレス, URL, 電話番号などは、すでに自分へのメール機能がつ + いてます) + - たまにチャネル名の末尾に空白が入ってしまってる場合の扱いを改善し + ました。 + - Softbank対応(具体的にはweb_rootオプション)復活 + - Softbank端末の端末シリアル認証対応 + - priv対応 (thanks to Makoto Matsushita) + - GPS測位やiエリアなど現在位置を取得して発言。 movatwitterのパクり + です ^^; + - 各チャネルのnick一覧 + - 発言中のURLに飛ぶ際、リファラ逆探知をされないよう セッションを作 + り直してからリンクを出す機能を追加 + - 2.0系用の dot.keitairc も同梱 + - xchatカラー指定シーケンス対応 + - 各チャネルの最終発言からの経過時間を表示 + - 発言中の電話番号やメールアドレス、URLなどを自分にメール可能に + - プラグイン、テンプレートのサーチパスを複数指定可能に + - チャネルpartがおかしかったのを修正 + - 発言中に地名らしきものがあるとGoogle Mapにリンク (要改良) + - /robots.txtをリクエストされたら返す + - ライブラリ、テンプレート、プラグインなどファイルを分離しました。 + - 認証方法としてhttp basic authやめました。 パスワード認証後はオン + メモリのセッションを保持して動きます。 web_usernameオプションはもう + 不要です。 + - web_passwordオプションは必須になりました。 + - NTT DoCoMo FOMA端末で、FOMAカード番号も認証に使えるようにしました。 + docomo_foma_iccオプションに iccXXXXXXXXXXXXXXXXXXXXXXXX といった + icc文字列を指定します。 初回アクセスの際にFOMAカード番号の送信許可 + を求めてきます。 + - use_cookieオプションは廃止。DoCoMo端末以外では自動的にCookie使います。 + - use Unicode::Japaneseやめてuse Encodeにしました。 + - 発言中のURLは、クリックするとそれをどう処理するか選択可能にしまし + た。 現在、直接アクセス、ポケットはてな経由、(livedoor)モバウザーβ + 経由、 PCサイトビューア経由、URLコピーを選べます。 + - 発言中の電話番号は、クリックするとそれをどう処理するか選択可能に + しました。 現在、通常の電話、TV電話(NTT DoCoMo FOMA端末のみ), 電話 + 番号コピーを選べます。 + - 発言中のメールアドレスは、クリックするとそれをどう処理するか選択 + 可能にしました。 現在、メール機能起動、メールアドレスコピーを選べま + す。 + - 全発言一覧、未読発言一覧、URL処理、電話番号処理、メール処理といっ + た 処理場面(action)や、発言中のURL/電話番号/メールアドレスといった + 文字列を どう拾ってどう処理するか(regexp replacer)をプラグインとし + て実装しました。 プラグインファイルの追加や変更で、これらの振る舞い + を追加・変更できます。 + - CVS rcsidすなわちkeitaircのバージョン番号、とかモノグサはやめて、 + ちゃんとリリースマネージメント(もどき)するようにします。 + 2007-10-17 Jun Morimoto * keitairc 1.33: iPhone/iPod touch対応 diff --git a/lib/Keitairc/Plugins.pm b/lib/Keitairc/Plugins.pm index 914c4e5..27efb03 100644 --- a/lib/Keitairc/Plugins.pm +++ b/lib/Keitairc/Plugins.pm @@ -1,6 +1,6 @@ # -*-perl-*- # Keitairc::Plugins -# $Id: Plugins.pm,v 1.2 2008-01-13 09:30:39 morimoto Exp $ +# $Id: Plugins.pm,v 1.3 2008-02-29 00:13:55 morimoto Exp $ # $Source: /home/ishikawa/work/keitairc/tmp/keitairc/lib/Keitairc/Plugins.pm,v $ # # Copyright (c) 2008 Jun Morimoto @@ -61,18 +61,17 @@ sub load_plugins{ my $e = eval join('',

); close(P); if($@ || !defined($e)){ - ::log("Error in plugin $dir/$file"); - ::log($@); + ::log_die("Error in plugin $dir/$file\n" . $@); next; } unless($plugin->{name} =~ /^[a-z][a-z0-9_]+/){ - ::log("Illegal plugin name $plugin->{name}"); + ::log_die("Illegal plugin name $plugin->{name}"); next; } if(defined $plugins->{$plugin->{name}}){ - ::log("Plugin $plugin->{name} has already loaded"); + ::log_die("Plugin $plugin->{name} has already loaded"); next; } -- 2.11.0