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

メッセージ

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 {



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

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.187 sec.

OSDN