KTBN さんが書きました:
追加の情報
(略)...再購読できる「ようです」。
meeyar さんが提示してくださった、
コード:
どちらもフォルダペイン上は「スラド」の表記です。
の時に、
従来の方法だと、
コード:
mailbox://nobody@Feeds/%E3%82%B9%E3%83%A9%E3%83%89
の部分を、
(2)で作成した時のmailbox URLの
コード:
mailbox://nobody@Feeds/%E3%82%B9%E3%83%A9%E3%83%88%E3%82%99
で置き換えればおしまい、という話です。
再起動後は、「(2)で作成した時のmailbox URL」で探しているのに、
フィードのtitleからファイルを作ってfeeds.rdfに登録した時点では、「従来の方法のmailbox URL」をfeeds.rdfに書いている、という問題です。
再起動前は、普通、ファイルのクローズ・オープンが入らなくて、「従来の方法のmailbox URL」で探すので見つかる。
「(2)で作成した時のmailbox URL」が、NFD(decompsed form)、
「従来の方法のmailbox URL」が、NFC(compsed form)。
そのために、再起動が入って一旦問題が起こると、
feeds.rdfのfz:feedのエントリーを見つけられないんだから、フィードを削除しても綺麗に消してくれるはずもなく、
再度購読しようにも、feeds.rdfのfz:feedのエントリーが残っているから、既にある、と拒否されて、
綺麗に消すのに思いっきり苦労させられる、と。
で、このNFD(decompsed form)と、そのutf-8形式と、それをfeeds.rdfで使っているエスケープ方式でエスケープした文字列を見つけるのに手間がかかるから、
先にフォルダー名を「SlashDot」に変えてしまえば、「mailbox://nobody@Feeds/SlashDot」に書き換えるだけで済んで楽、
というのが、meeyar さんが提示してくださった回復手順。
半角英数ならば、NFD(decompsed form)===NFC(compsed form)で、エスケープ不要。
そして、濁点・半濁点があると起こる
ようです、ではなくて、Unicodeにおいて、日本語の濁点・半濁点がある文字は、NFD(decompsed form) != NFC(compsed form) で定義されているから、起こって当然、ということになります。
KTBNさんがバグを開いてくれたおかげで alta88 がすぐに来てくれて、meeyar さんが的確なデータを直ぐに提示してくださったおかげで、想定外に早く現象の解析が出来て原因がわかって、alta88 がパッチを提示してくれました。
Linux/Winで再現しないからINCOMPLETEかINVALIDかWONTFIX、好きなようにしろ、と言われて、こっちも、意地でも証拠を叩きつけてやる、とムキになったけど(^^)
既に問題が明確になっているにも関わらず、feeds.rdfの中身を一切見ようともせずに、あぁでもない、こうでもない、~のようです、などと言うのは、もう止めにしませんか。