[要望] 改行コード混在時の保存動作

  1. Kuro さん、こんばんは。YU-TANG です。

    Mery で開いたファイルの改行コードが混在していた場合、現状だと下記のような動作をしているように見えます。

    1. ファイルを開いた時点でステータスバーには最初に検出された改行コード(e.g. LF)が表示される。混在の事実は見て取れない。
    2. 上書き保存時に警告無く改行コードが統一される。

    もし可能でしたら、将来的に次のような処理を検討していただけると有りがたいです。

    1. 改行コードが混在していた場合、ファイルを開いた時点でステータスバーにその旨を表示してほしい。
    2. 上書き保存時に警告を上げて、改行コードを統一するかしないか、ユーザーに選択の余地を与えてほしい(あるいはオプションで設定可能にしてほしい)。

    念のために書いておくと、ほとんどの場合において、自分は Mery の改行コード混在時の処理に満足しており、むしろ好ましいとすら感じていますが、最近例外的な処理に遭遇して、そこではこの処理が問題になりました。

    つまり、あるファイルを修正してコミットする前に diff を取ったところ、自分が修正していない箇所に差分が見つかったのです。最終的に、元のファイルの改行コード LF の中に一部 CR が混じっており(元のファイルが何でそんなことになっているのかは、作成者が自分ではないので知りません)、Mery で保存した際にその CR が LF に統一されたために想定外の差分が出たことが判明しました。この件は、結局のところ修正箇所が対象範囲外に及ぶといろいろ面倒なので、元の改行コードをそのまま残すことで決着しました。

    ただ個人的には、混在改行コードのまま保存するにあたり、Mery ではなく、3.11 の際に「アフリカじゃもっと死んでるだろ。日本なんかで騒ぎ杉」とか公式サイトでほざいた Notepad++ を使わざるを得なかったことが、大変心残りです。
    どうかご検討ください。

     |  YU-TANG  |  返信
  2. YU-TANG さん、こんばんは。

    改行コードの扱いについて、Mery は現状、おっしゃる通りの動作です。改行コード混在のテキストを扱うことができないのは現在の Mery の仕様です。内部ではすべて LF で保持しております。

    建前としては、正規表現での検索のときに改行を \n でキチンと検索できるようにということと、そもそも改行コードが混在してたら好ましくないですよということですね。内部の話になると改行コードが統一されていたほうが作りやすいというのもあります。さらにこちらの話になりますと、テキストエディタエンジンの TNotePad がそういう仕様だから、ということになってしまいますが、私もこの仕様が好ましいと思っております。

    > 1. 改行コードが混在していた場合、ファイルを開いた時点でステータスバーにその旨を表示してほしい。
    > 2. 上書き保存時に警告を上げて、改行コードを統一するかしないか、ユーザーに選択の余地を与えてほしい(あるいはオプションで設定可能にしてほしい)。

    これららは、そもそも改行コード混在に対応しない仕様の上ではあまり意味がなくなってしまいますね・・・。

    > 念のために書いておくと、ほとんどの場合において、自分は Mery の改行コード混在時の処理に満足しており、むしろ好ましいとすら感じていますが、最近例外的な処理に遭遇して、そこではこの処理が問題になりました。

    わかります。一部分を変更しただけなのに DIFF を取ると大半が差分になってたりするとイラっとしますね。テキストエディタを使う側からするとまさにそのとおりですし、作る側からすると、いい加減に世界的に改行コード統一してくれよ、って思ったりします・・・。

    >Mery で保存した際にその CR が LF に統一されたために想定外の差分が出たことが判明しました。この件は、結局のところ修正箇所が対象範囲外に及ぶといろいろ面倒なので、元の改行コードをそのまま残すことで決着しました。

    うまく稼働しているシステムの修正は必要最低限にとどめたいものですからね。私でもそうすると思います。自分ひとりで作ったものなら全部統一すると思いますが^^;

    > ただ個人的には、混在改行コードのまま保存するにあたり、Mery ではなく、3.11 の際に「アフリカじゃもっと死んでるだろ。日本なんかで騒ぎ杉」とか公式サイトでほざいた Notepad++ を使わざるを得なかったことが、大変心残りです。

    あれは問題発言でしたね。私が日本人だからなのかもしれませんが、それでも日本で被災された多くの人たちのことを思うとさすがに腹が立ちますね。もちろんアフリカの子供たちのこともわかりますが。Notepad++ を使わざるを得ないのは悔しいです。改行コード混在なら国産のサクラエディタを、、、なんてことでお茶を濁すつもりではありませんが、一応、今のところ Mery で改行コード混在に対応する予定はありません (簡単に言うと技術的に無理ぽ) 、ごめんなさい。

     |  Kuro  |  返信
  3. Kuro さん、ありがとうございます。

    非常に例外的な状況下の話で(そもそも改行混在させている元ファイルが悪い)、基本的には Mery の現行仕様で満足しておりますので、技術的に困難でしたらもちろん対応不要です。
    Notepad++ を使ってしまった後味の悪さから思わず無理押ししてしまって、反省しております。

    > 改行コード混在なら国産のサクラエディタを、、、

    あ、できるんですか。使っていないので知りませんでしたが、次回同じ状況に遭遇したら(しないことを祈りますが)、ぜひとも国産で対応したいと思います。
    ありがとうございました!

     |  YU-TANG  |  返信