Perlが5.26より古いときに categories フィールドで正のlastn属性を指定すると警告が出る

Description

より具体的には t/mt7/tag/content-field.t を実行したときに Warning was 'Argument "2/8" isn't numeric in numeric ge (>=) at lib/MT/ContentFieldType/Categories.pm line 261. のような警告が Test::FailWarnings に捉えられてエラーになる(cf. https://metacpan.org/dist/perl/view/pod/perl5260delta.pod#scalar(%hash)-return-signature-changed)。

CentOS7 も退役したので、現行のほとんどの環境ではすでに問題にはならなくなっているはずだが、まだPerlのサポート下限は5.16.3なのだから、機会を見て手入れしておいた方がよさそう。

Checklists

None

Activity

Show:

Kenichi IshigakiAugust 16, 2024 at 10:39 AM

ありがとうございます。マージしました。

Reiko SatoAugust 16, 2024 at 2:07 AM


ログに警告が出ていない事を確認。

Kenichi IshigakiAugust 13, 2024 at 2:24 AM

ありがとうございます。

https://github.com/movabletype/movabletype/pull/3300 で修正しました。以下の手順でご確認おねがいします。

  • Perl 5.16 (CentOS7) 環境を利用してmt-devを立ち上げる

  • categoriesという名前のカテゴリフィールドをふくむコンテンツタイプ test content data を用意する

  • 以下のようなコンテンツタイプアーカイブテンプレートを作成する

    <mt:Contents content_type="test content data"><mt:ContentField content_field="categories" lastn="1"><mt:ContentFieldHeader>Header</mt:C ontentFieldHeader> <mt:CategoryLabel> <mt:ContentFieldFooter>Footer</mt:ContentFieldFooter></mt:ContentField></mt:Contents>
  • 適当なコンテンツデータを作成して保存、再構築する

  • movabletype.log に説明文のような警告が残っていないことを確認する

Keita SugamaAugust 9, 2024 at 7:30 PM

確認しました。良さそうです。

Kenichi IshigakiAugust 9, 2024 at 12:42 PM

https://github.com/movabletype/movabletype/pull/3300 で対応しました。レビューおねがいします。

Implemented

Details

Assignee

Reporter

Fix versions

Priority

Smart Checklist

Created August 9, 2024 at 11:25 AM
Updated August 16, 2024 at 10:39 AM
Resolved August 16, 2024 at 10:39 AM