トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

BugTrack-wiki/330

ページの作成や編集にはユーザ登録が必要です。

ブロックプラグインの複数行引数に Wiki 見出し書式があると、パート編集のソース分割で誤りが発生する。

  • 投稿者: ぐうます
  • カテゴリ: プラグイン
  • 優先度: 低
  • 状態: 提案
  • 日時: 2009年06月20日 19時04分04秒

 内容

ブロックプラグインの複数行引数に Wiki 見出し書式があると、パート編集のソース分割で誤りが発生します。

不具合例

例えば、ブロックプラグイン{{pre}}を使用して次のような整形済みテキストを実現すると、その Wiki ソースのパート編集をしようとしてもパートの一部しか編集対象になりません。試しに、このパートのパート編集リンクをクリックしてみて下さい。

!!!大見出し
!!中見出し
!小見出し

また、以降のパートの編集対象位置がずれてしまいます。

原因

パート編集の Wiki ソース分割処理が、ブロックプラグインに対応していないため。

対策案

Wiki::Parser を継承した専用のパーサを作るのが正しいのでしょうけれど、少々大げさなので、Wiki::Parser::parse() から必要な部分だけを取り出して、

  • plugin::core::EditPage::read_by_part()
  • plugin::core::EditPage::make_save_source()

とマージし、対応させたものを、EditPage.pm.20090621.zip(277) として添付致します。

なお、改造元ファイルは、FSWiki 3.6.3.1 のものを使用しました。

対象となる FSWiki バージョン

ブロックプラグインが使用できるバージョン

履歴

2009-06-21 版:EditPage.pm.20090621.zip(277)
初版のバグ(「行頭にあるインラインプラグインをブロックプラグインと誤認する」というバグ)を修正しました。しかし、現状の Wiki::Parser::parse() とまったく同じパースアルゴリズムにしただけなので、BugTrack-wiki/331:「ブロックプラグインの複数行引数内の行頭にあるインラインプラグインをブロックプラグインと誤認する」というバグは Wiki::Parser::parse() と同じく未解決のままです。
2009-06-20 版:EditPage.pm.20090620.zip
初版。「行頭にあるインラインプラグインをブロックプラグインと誤認する」というバグがあります。

 コメント

  • すみません。EditPage.pm.20090620.zip には、「行頭にあるインラインプラグインをブロックプラグインと誤認する」というバグがありました。本件一時保留願います。 - ぐうます (2009年06月20日 19時41分15秒)
  • 修正版を添付しましたが、BugTrack-wiki/331 と同じバグは未解決のままです。 - ぐうます (2009年06月21日 03時43分26秒)
お名前: コメント:
EditPage.pm.20090620.zip EditPage.pm.20090621.zip

最終更新時間:2009年06月24日 23時02分12秒