かとう です。
返事が遅くなり申し訳ありません。
(2011/06/03 8:37), Yoshiharu ITO wrote:
揚げ足とりみたいでアレですけれども,</TIdxPgBegin> に対応する開きタグ
が無さそうです.ご確認いただけますか.
ご指摘ありがとうございます。
修正しておきました。
この手の細かいミス (typo 等も) は言われないと気付かないことが
多いので、是非遠慮なくご指摘下さい。
なお、ミラーも復旧しました (サーバー側の問題でした)。
3. イマドキの perl では文句を言われる
以下のような修正をいくつかのファイルで実施しないと,文句を言われてしま
います.この不具合自体は既知のもののようですが,修正はされていないよう
です.
...
以下のようなものです.
defined(%hash) is deprecated at lib/mhamain.pl line 1564.
(Maybe you should just omit the defined()?)
defined(%hash) is deprecated at lib/mhopt.pl line 867.
(Maybe you should just omit the defined()?)
perl のバージョンをいろいろ変えて試してみたところ,
- perl 5.10.[01] ではそうならない
- perl 5.12.[0-3] ではそうなる
- perl 5.14.0 でもそうなる
ようです.
情報ありがとうございます。
少し調べてみましたが、以下の影響のようですね。
perl 5.12.0 以降では全てこの現象が出ると思われます。
perl の仕様変更が原因ですので、MHonArc 側で対処するしかなさそ
うです。
対処としては、警告が出るところで単に defined を取ればよい (と
思う) のですが、5.6.0 以前の perl で影響があるかどうか、そも
そも 5.6.0 以前をサポート対象とするのか、あたりを決める必要が
ありそうです。
# 確認してませんが、古い perl で今の MHonArc は動くんですかね?
# 少なくとも UTF-8 に変換する場合は動かないと思いますが。
今のところ、こちらでできそうなのは、以下の情報を伝えるくらい
でしょうか。
あとで報告しておこうと思いますが、今、ちょっと時間が取れない
状態なので、少し遅くなるかもしれません (_o_)
perl-5.14.0/pod/perldelta.pod
| Stashes are now always defined
|
| "defined %Foo::" now always returns true, even when no symbols have yet
| been defined in that package.
|
| This is a side-effect of removing a special-case kludge in the
| tokeniser, added for 5.10.0, to hide side-effects of changes to the
| internal storage of hashes. The fix drastically reduces hashes' memory
| overhead.
|
| Calling defined on a stash has been deprecated since 5.6.0, warned on
| lexicals since 5.6.0, and warned for stashes and other package
| variables since 5.12.0. "defined %hash" has always exposed an
| implementation detail: emptying a hash by deleting all entries from it
| does not make "defined %hash" false. Hence "defined %hash" is not
| valid code to determine whether an arbitrary hash is empty. Instead,
| use the behaviour of an empty %hash always returning false in scalar
| context.
--
かとぺ / 加藤 貴司