AutoLink 対象のページが0のとき、存在しないWikiNameの記述が WikiName? にならない

  • ページ: BugTrack
  • 投稿者: 名無しさん
  • 優先順位: 重要
  • 状態: 完了
  • カテゴリー: 本体バグ
  • 投稿日: 2008-06-15 (日) 01:07:43
  • バージョン: 1.4.7
  • リリース予定バージョン: 1.5.2

メッセージ

BugTrack2/44 のように、AutoLink 対象のページが無いようにすると、次の処理でWikiName がヒットするようになっています。(WikiName が有効の時)

	if (empty($auto_pages)) {
		$result = $result_a = $nowikiname ? '(?!)' : $WikiName;
	} else {

そして、InlineConverter クラスでの処理順は、AutoLink → WikiName → AutoLink(Alphabet) となっているので、WikiName はすべてAutoLink として処理されてしまい、存在しないページへのリンクが表示されなくなります。

どうやら昔、WikiNameとAutoLinkの処理を分割後、同じような問題が起こりBugTrack/271で対処した時に、対象ページが無い時の処理部分を見逃していたようです。

次のように修正するとうまくいきました。

 	if (empty($auto_pages)) {
-		$result = $result_a = $nowikiname ? '(?!)' : $WikiName;
+		$result = $result_a = '(?!)';
 	} else {

  • 修正しました commit:9718389717 -- umorigu 2017-10-30 (月) 01:36:39


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-10-30 (月) 01:37:05
Site admin: PukiWiki Development Team

PukiWiki 1.5.1+ © 2001-2016 PukiWiki Development Team. Powered by PHP 5.6.33-0+deb8u1. HTML convert time: 0.215 sec.

OSDN