パスワードを忘れた? アカウント作成
13426597 journal
BSD

taka2の日記: nvi-m17n、16年ごしのバグが修正される 5

日記 by taka2

なんかちょっと煽るようなタイトルをつけてしまいましたが、FreeBSDの nvi-m17n がこの8月に更新されてます。
ISO-2022-JP/ISO-2022-JP-2のどちらとも満たす場合に、文字コード判定に失敗するという問題の修正。
(素のnvi-m17nでは各文字コードごとに判定ルーチンがあり、「文字コード判定でどれか一つがtrueになった場合のみ、その文字コードと判定確定させる」ので、複数該当すると判定失敗します。portsの修正では「文字コード判定で最初にtrueになった文字コードで確定させる」というものになっています。)
ports/pkgのベースになっているのが nvi-m17n-20040608 で、今までに周辺状況の変化に応じた更新は入ってましたが、本体に修正を入れてなかったので、13年ぶりぐらいの本体修正ですかね。

…それはいいんですが、この問題は既知/修正済のものじゃなかったのか…って感じで。
nvi-m17n は、19991117→20011024→20040401→20040608 と更新されていますが、この問題の混入は20011024。ISO-2022-JP-3対応での修正が元凶です。

私は2004年6月にこの問題に気づきまして、itojunさんに報告、
なんどかメールをやりとりした結果、itojunさんから「これで直りますか?」とパッチが送られてきて、
「まだiso-2022-JP/ISO-2022-JP-2のどちらも満たす場合に失敗します。」って返事を返したところでやりとりは終わり、
その後出たのが 20040608 なので、てっきり問題は修正されたものだと思いました。

あと、今回のports側の修正は、たぶんitojunさんの意にそぐわない改修と言えるのがちょっと気になってます。今となってはもう確認するすべはありませんが…
上述のitojunさんとのやりとりで、私が最初にitojunさんに送ったメールには、今回のports修正と同じようなパッチを付けてました。
ですが、お気に召さなかったようで採用されず、「ISO-2022-JP-3の判定はあきらめます」という返事が返ってきてたんです。
複数の候補がある状況では、特定の文字コードと決めつけたくはなかったんでしょうねぇ…

以上、10年以上昔の記憶に頼った昔語りでした。

  • by Anonymous Coward on 2017年10月08日 9時55分 (#3292502)

    Firefox 56から、文字コード変換機能のencoding_rsへの置き換えに伴いISO-2022-JP-2のサポートが廃止されました。Webブラウザーではほとんど関係ないと思いますが、Thunderbird 59にも影響します。

    ここに返信
  • by Anonymous Coward on 2017年10月08日 10時36分 (#3292517)

    とっくの昔にVim派やNeoVim派に駆逐されたと思っていたよ
    それどころか、今や元のVimを全く知らないでNeovimを使い始める人までいるほどだもの
    nviを知らないどころか、むしろNeoVimのnvimとnvi-m17nを混同してる人すら出てきそう・・・
    16年ごしのバグも何も、16年以上ぶりにnviの名前聞いた人の方が多いだろもう

    ここに返信
    • nvi-m17n については、まあその通りだと思いますが、

      nvi は、BSD が 4.4 で AT&T 由来のコードを排除する過程で生まれた、
      「AT&T 由来のコードを使っていない vi 」という立ち位置の vi クローンであり、
      そういう経緯から FreeBSD など BSD 系の OS の多くでは、vi として nvi が入ってます。
      # macOS は以前は nvi でしたけど、今は vim だったりするので、「BSD 系はすべて nvi」とは言えないのですが…

      まあ、そういうわけで、利用者は nvi であるとは意識してないでしょうけど、nvi の利用者はそれなりにいるかと。

    • by Anonymous Coward

      そもそも更新自体が13年越しであることから察しろと

  • nkf や mosaic-l10n なんかで大成功したもんだから、あちこちのアプリケーションで文字コードの自動判定をするようになったけど、判定間違いや、UTF-8 ごときに BOM なんかを付けてくる糞、UTF-8 ごときに動かなくなるコンパイラなどなど、いまだに混乱しているのを見るにつけ、自動判定なんかすべきじゃなかったでないの、と思う今日この頃というよりここ数年。
    なんだ、元凶が出てきてから四半世紀ぐらいたつのか。

    ここに返信
typodupeerror

海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs

読み込み中...