Ampita-0.16

バグフィックスユニコードフラグが立ったテンプレートを渡したとき、コメント、CDATAセクション中にユニコードのコードページ 0 以外が含まれているときに、正規表現がうまく拾い上げていませんでした。
ポカミス防止のための挙動修正。コード・リファレンス呼び出し時に渡すパラメータを変更し、メソッドに渡されるパラーメータと同じにしました。
https://tociyuki.sakura.ne.jp/archive/Ampita-0.16.tar.gz
https://tociyuki.sakura.ne.jp/archive/Ampita-0.16.pm (1ファイル版ソース)
https://tociyuki.sakura.ne.jp/archive/Ampita/Ampita.html (マニュアル 修正)
⇒ 前の版:Ampita-0.15

変更点

  1. コードリファレンス呼び出し時のパラメータ渡しをメソッドに渡すものにそろえました。
    • 変更前: {foo => sub { my($ampita, $node) = @_; ... }}
    • 変更後: {foo => sub { my($self, $ampita, $node) = @_; ... }}
    • $self には、上の場合、{foo => sub {}} のハッシュリファレンスが渡されます。
  2. XMLParser の正規表現を変更しました。
    • コメント、CDATAセクション中に漢字が含まれていてもマッチするようになりました。
    • m/\G/gc を使って、ソースを読みやすくしました。
  3. ModifierMixin の正規表現を変更しました。
    • パイプ記号、コロン記号の前後にスペースをおけるようにしました。
    • m/\G/gc を使って、ソースを読みやすくしました。
  4. Compositor のコード・リファレンス呼び出しタイミングを変更し、ハッシュの値参照直後に呼び出すようにしました。また、コード・リファレンスの実行中に $node->process または $node->process_child が実行された場合は、コード・リファレンスの戻り値によらず、値の種類によるノード処理をおこなわないようにしました。