◀Unicode版開発トップへ
  • 1489 V2での上書き禁止について
    • 1490 Re:V2での上書き禁止について
    • 1491 Re:V2での上書き禁止について
      • 1492 Re2:V2での上書き禁止について
    • 1493 Re:V2での上書き禁止について
    • 1494 以前の動作も可能にするパッチを作成しました
      • 1495 Re:以前の動作も可能にするパッチを作成しました
        • 1496 排他制御のデフォルトは変更したほうがいい?
          • 1497 Re:排他制御のデフォルトは変更したほうがいい?
      • 1546 Re:以前の動作も可能にするパッチを作成しました
        • 1547 Re2:以前の動作も可能にするパッチを作成しました
  • [1489] V2での上書き禁止について 醤油 2011年02月15日 00:53

    V2早速使わせてもらっています。
    ANSI版では[共通設定]で[排他制御しない]のときは「上書き禁止」の状態を取得できず、そのかわりに編集は可能でした。
    V2では[排他制御しない]でも上書き禁止の状態を取得しているようです。
    これはV2の仕様でしょうか?
    バグでしたら、以前と同じ動作にしてもらえるとありがたいです。
    • [1490] Re:V2での上書き禁止について Coward 2011年02月15日 10:53

      過去ログに、

      >>unicode:310 「Commit報告:(Chg) 更新の監視でファイル書込可否も監視するようにした」

      というのを見つけました。

      更新の監視(=排他制御しない)の際に書込み可否も監視(=編集可否を設定)するように仕様変更されています。
      これは、「排他制御しない」の場合でも上書き禁止なら編集不可にする、という暗黙の前提があってのことと思われます。
      以前と同じ動作にするなら上の仕様変更も破棄する必要がありますね。

      ということで、バグではなく意図した仕様変更なのではないかと。
    • [1491] Re:V2での上書き禁止について Coward 2011年02月15日 13:52

      >>unicode:300 「Re2:Commit報告:(Fix) ファイル書込時バグ修正」

      というのもありますね~。

      > そもそもファイルの排他制御をオフにすると、
      > 本家ANSI版では、「上書き禁止」モード自体にならなないんですよね…。

      ANSI 版の動作は知っているがそれに合わせようとはしなかった(今のV2の動作で良いと判断した >>unicode:304)、ということでしょうね。
      • [1492] Re2:V2での上書き禁止について 醤油 2011年02月17日 11:29

        なるほど、そういう仕様になったんですね。
        ANSI版の動作(Windowsで読み取り専用属性がついていても、保存はできないが編集は可能)
        に慣れていたので、できれば設定でANSI版の動作も選択できるようにしてもらえると嬉しいです。
    • [1493] Re:V2での上書き禁止について ds14050 2011年02月17日 16:31

      賛成に一票です。
      前々から不満を感じていました。ANSI版はそうではなかったと知ってしまっては
      以前の動作の復活を希望します。
      上書き保存→書き込み不可と判明→名前を付けて保存へ移行
      という動作も気がきいていると思います。

      排他されていたり読み取り専用属性がついているファイルを開いたときは
      上書き禁止モードになり、これはビューモードとは別みたいなのですが
      どうしてどちらも同じように編集行為が不可能になってしまったのでしょう。
    • [1494] 以前の動作も可能にするパッチを作成しました ryoji 2011年02月20日 03:24

      サクラが他プロセスに施す排他制御とは別に、外的要因で保存不可になっている(タイトルバーに「上書き禁止」が表示されている)ときに編集まで不可にするかどうかを指定するオプションを追加するパッチを作成してみました。
      → PatcheUnicode#3186997

      [上書き禁止検出時は編集禁止にする]オプションです。
      ON: 現在のV2動作と同じ
      OFF: 「ビューモード」以外の状況ならどんなときでも編集可能

      にしています。
      こういうのでいいでしょうか?
      #僕はOFFが好みです (^^;

      他エディタを見ると保存不可でも編集まで不可にするものは少ないようです。TeraPad あたりは編集不可がデフォルトになってますが、(今回の提案パッチと同様に)編集可能にもできるオプションがありますね。
      • [1495] Re:以前の動作も可能にするパッチを作成しました ds14050 2011年02月20日 05:00

        試してみました。
        読み取り専用属性が付いていても排他されていても編集できるのが期待通りです。
        今回のオプション化には余計な苦労があったんじゃないでしょうか。お疲れ様です。

        >他エディタを見ると編集まで不可にするものは少ないようです。
        仮に、エディタでの編集までを不可能にするのであれば、それはファイルシステムと
        エディタが直結しているということで、排他制御をするとともに随時エディタと
        ファイルを同期する(=自動保存)使い方が想定できます。自分のメンタルモデルは
        それとは違いエディタ上のテキストとファイルは切り離されていますし、オプションで
        そういう使い方も許容されているのに、不可能ではないことをあえて禁止されることに
        不満を感じていました。

        V2を使い始めて動作の違いに戸惑う醤油さんのような人が多くないうちに取り込まれ
        たらいいなと思います。これは、上書き不可能な時に編集を禁止する、のチェックの
        デフォルトは OFFのほうがいいのではないかという提案でもあります。
        • [1496] 排他制御のデフォルトは変更したほうがいい? ryoji 2011年02月20日 15:09

          > デフォルトは OFFのほうがいいのではないかという提案でもあります。
          新設オプションのデフォルトを ON にしたのは、[排他制御]のデフォルトが「他プロセスからの上書きを禁止」になっているから、という理由です。この場合は V1 でも保存不可能なら編集も禁止だったので、最初のまっさらな状態からの使い始めだけみると V1, V2, 新設オプション追加後のいずれも挙動は同じになります。従来挙動をできるだけ踏襲するというだけの理由。

          なので、もともとのデフォルトが「排他制御なし」だったら新設オプションのほうのデフォルトは OFF にしていたと思います。

          従来オプションのデフォルト値に関する妥当性検討は、してもいいとは思いますが、なんだか億劫で。誰か主導してやってくれないかなぁ。。。

          #軟弱に、自分の希望だけ気軽に言える立場でいたかったりする自分
          (-_-;;;
          • [1497] Re:排他制御のデフォルトは変更したほうがいい? ds14050 2011年02月20日 16:14

            >最初のまっさらな状態からの使い始めだけみると V1, V2, 新設オプション追加後のいずれも挙動は同じになります。
            理解しました。すべての V1ユーザーではなく、排他制御を OFFにしていた人だけが上書き禁止モードの挙動の変化に戸惑っていたのですね。
      • [1546] Re:以前の動作も可能にするパッチを作成しました 福生 2011年05月01日 13:12

        ▼ ryojiさん
        > 他エディタを見ると保存不可でも編集まで不可にするものは少ないようです。TeraPad あたりは編集不可がデフォルトになってますが、(今回の提案パッチと同様に)編集可能にもできるオプションがありますね。

        秀丸の場合はファイルを開くダイアログで、
        上書き不可モードと編集不可モードが別オプションとなっています。
        http://hide.maruo.co.jp/software/hidemaru810/new3.html

        サクラもそれにならって、開くダイアログに併用可能なチェックボタンを2つ並べて、
        コマンドラインオプションも、-Rオプションの動作を上書き不可モードに限定し、
        新設の-Vオプションを編集不可モード(ビューモード)とするというのはいかがでしょうか?
        • [1547] Re2:以前の動作も可能にするパッチを作成しました ds14050 2011年05月01日 14:55

          整理してみました。

          !!現状(追試歓迎!)
          *-Rオプション、Editor.ReadOnly()マクロともエディタをビューモードにする。
          *上書き禁止モードはファイルの読み取り専用属性によって(のみ?)セットされる。
          *オプションで上書き禁止とビューモードを連動させることができる。
          ビューモードはユーザーの意思を反映し、上書き禁止は外部からの要請といえる。

          !!上書き禁止モードをユーザーの意思でオンにできるとどうか。
          *編集も上書きもしないことが保証できる。(※ビューモードと併用)
          「ビューモードでは同一ファイルへの保存はできません。」というメッセージが出て
          すでに禁止されている。

          *編集はするが上書きはしないことを保証できる。(最初に「名前をつけて保存する」まで有効)
          ファイルの読み取り専用属性とビューモードと、UNDO+再保存で足りることも多そう。
          「俺はビューモードは使わない上書き禁止モードで十分だ」という選択はあるかも。

          !!(番外)ビューモードに伴う強制的上書き禁止をオフにできるとどうか。
          変更のないファイルを保存してタイムスタンプの更新ができる。


          ビューモードの編集禁止は自分が望むより制限が厳しいと思う人には有用かも。