要望No.07762
さん 01/03/03 22:10
 
 秀丸たいへん高機能で、便利に使わせてもらっています。

 要望なのですが、マクロで検索をしたときに、
searchoption,searchbuffer,setsearchで、マクロ実行前の検索に戻せるのは大変便
利なのですが、マクロ実行前に、置換作業をしていた場合には、うまくいきません。
できれば、置換のバッファも参照できるようにしてほしいです。

 厚かましく、もう一つ要望します。
一連の作業をマクロにして使用しています。
マクロの実行を間違って行った場合に、マクロを実行する前に戻したいのですが、や
り直しで元に戻す場合、複数回やり直しを行わなければなりません。
 また、マクロを実行する直前の画面がわからない場合もあり、困っています。
 そこで、要望なのですが、マクロの一連の処理を一つの編集として、やり直し一回
で戻せるようにはできないでしょうか?
 あと、マクロ内の一部分をまとめて、一つの編集とみなせるような命令文なんかが
あるとありがたいです。

 可能であれば、よろしくお願いします。

[ ]
RE:07762 要望No.07763
TAKA さん 01/03/03 23:14
 
TAKA です。

> 要望なのですが、マクロで検索をしたときに、
>searchoption,searchbuffer,setsearchで、マクロ実行前の検索に戻せるのは大変便
>利なのですが、マクロ実行前に、置換作業をしていた場合には、うまくいきません。
>できれば、置換のバッファも参照できるようにしてほしいです。

少し、外しているかもしれませんが、現在、秀丸内部では置換時の
検索文字列と検索時の文字列は共有していますので、置換の文字列
用のバッファはありません。
以下の手順でそれを確認することが出来ます。

// テストファイル(ここから)

TEST
ABC
TEST
// テストファイル(ここまで)

// テストマクロ(ここから)
    searchdown searchbuffer;
    endmacro;
// テストマクロ(ここまで)

テストファイルの先頭に移動して、「検索→検索」で「ABC」を検
索。この時点でバッファは「ABC」

次に、ファイルの先頭に移動して、「検索→置換」で「TEST」を
「THIKAN」に置換。この時点でバッファは「TEST」

次に、ファイルの先頭に移動してマクロを実行すると、4行目の
「TEST」が検索されます。(バッファが「TEST」になっているため)

置換する時に、検索文字列のコンボボックスに「ABC」が入ってい
ることでも確認できます。

亮 さんの要望としては、検索と置換での検索文字列は別バッファ
にして欲しいということでしょうか?

検索ダイアログに出るコンボリストと置換ダイアログに出るコンボ
リストの内容も当然変わってきますので、今まで、同じものが出て
きた方が便利だと思っていた人が困るかもしれませんね。

私は、検索と置換での検索文字列は別バッファにしても良いとは思
います。


>一連の作業をマクロにして使用しています。
>マクロの実行を間違って行った場合に、マクロを実行する前に戻したいのですが、や
>り直しで元に戻す場合、複数回やり直しを行わなければなりません。
> また、マクロを実行する直前の画面がわからない場合もあり、困っています。
> そこで、要望なのですが、マクロの一連の処理を一つの編集として、やり直し一回
>で戻せるようにはできないでしょうか?
> あと、マクロ内の一部分をまとめて、一つの編集とみなせるような命令文なんかが
>あるとありがたいです。

以前、ニフティの方で話題になったことがあるのですが、私も欲し
いです。
現在は、マクロの中で新規ファイルを開いてそちらで一時的に作業
を行って、作業終了後に元のファイルに戻すということで実現も可
能と言えば可能なのですが、ファイルタイプ別の設定に依存して動
作して欲しい場合などは、新規ファイルと現在のファイルの設定が
ことなるため完璧とは言えません。
それに、新規ファイルを作ってまでやる大げさなマクロでない場合
には、一回のアンドゥで戻って欲しいものです。

私としては、以下のような仕様がいいです。
(以前話題になったものをまとめていました)

>●アンドゥのパッケージ化を行いたい
>アンドゥ(秀丸の「やり直し」とマクロの「undo」)での有効範囲
>の開始、終了位置が指定できる命令が欲しい。
>[理由]
>マクロの先頭で有効範囲の開始を実行、マクロの最後で有効範囲の
>終了を指定することで、マクロ終了時にアンドゥ1回でマクロ実行
>前の状態に戻すことが出来るため。
>[補足]
>同一マクロ内で開始と終了を数回(処理の区切りごと)指定するこ
>とで、数回(処理の区切りごと)のアンドゥも可能。

これは、マクロを作成したことのある人はみなさん欲しい機能だと
思います。
実現するのは非常に難しいとは思いますが、是非お願いします。

[ ]
RE:07763 要望No.07769
ひろ さん 01/03/04 03:32
 
 亮さん、TAKA さん今日は、ひろです。
> >一連の作業をマクロにして使用しています。
> >マクロの実行を間違って行った場合に、マクロを実行する前に戻したいのですが、や
> >り直しで元に戻す場合、複数回やり直しを行わなければなりません。
 確かにそうですね。
 以下は、あくまで代案というか、付け焼き刃的なやり方です。まず使用す
るマクロは必ず最初に save で保存する (新規作成状態だとどうにもなら無
い(^^;) ようにしておきます。つぎに
//------------- undo macro ------------------------------------------
while(1){
  if(updated){
    undo;
    if(!result){
      message "undo buffer over!!";
      endmacro;
    }
  }
  else break;
}
endmacro;
//--------------------------------------------------------------------
というマクロを使用すれば、「更新」マークが消えるまで戻れます。

 あとは自作マクロは常に何回編集したカウントしておき、それを ini ファ
イルにでも記録しておき、そのカウント分アンドゥするマクロを別途作って
おくのも一つの手です。

[ ]
RE:07769 要望No.07771
TAKA さん 01/03/04 04:24
 
TAKA です。

> あとは自作マクロは常に何回編集したカウントしておき、それを ini ファ
>イルにでも記録しておき、そのカウント分アンドゥするマクロを別途作って
>おくのも一つの手です。

この方法も、よく使用しますね。
で、通常の編集をアンドゥする時に、間違ってカウント分アンドゥ
するマクロを動かしてしまい、必要以上のアンドゥが効いてしまっ
て、やってしまった状態になることがありますね。

本当は、そういう時のために、カウント分リィドゥするマクロも作
っておくべきなんでしょうが、まだ作っていません。
簡単なんだから、早く作れよ。 > 自分。

どれが通常のアンドゥで、どれがマクロでのアンドゥが必要かを意
識するので、少し不便です。

ひろ さんも、今回の要望(アンドゥパック化)には賛成ですよね。

アンドゥパック化の対応は難しいでしょうね。
#でも、欲しいよー。

[ ]
RE:07771 何をしたいのか !!!No.07774
番頭++ さん 01/03/04 12:56
 
>どれが通常のアンドゥで、どれがマクロでのアンドゥが必要かを意
>識するので、少し不便です。

ほとんど同じだと思うのですが。

>アンドゥパック化の対応は難しいでしょうね。
>#でも、欲しいよー。

編集工程の話ですが、undo, redo の組み合わせである程度は逃げれます。「パ
ック化」というよりは「チェックポイント」で逃げます。ファイル名を .001 と
か、番号を自動的に振ってセーブする方法です。そんなマクロを作成したことも
あります。

一つのファイルの編集中に、工程を入れるのであれば、ありえない文字を埋め込
めば、undo, redo のチェックポイントを埋め込めるでしょう。undo の後に、そ
の文字を判定すれば、チェックポイントである印になります。最後にその文字を、
すべて削除する必要がありあります。

何らかの拡張がなされても、操作の指示を出す必要は残ります。現在のマクロが
簡単に書けるだけで、同じ問題が残ります。
「個人は、その時、何をしたいのか !!!」


    insertfix "\xFF";
...
    undo;
    if( code == 0xFF ){ message "Chceck Point !!!"; };
...
    replaceallfast ""\xFF", ""; saveexit;   //  おわり
endmacroall;

//  test redo - reset updated file
pp_test_redo2:
    #sw_shift = 1;
    while( updated ){
        if( ! #sw_shift ){
            question "redo ? - " + str(##i);
            if( ! result ){ endmacroall;    }
            #sw_shift = iskeydown(0x10);    //  [Shift]
        }
        redo;
        if( ! result ){
            message "redo failed !";    endmacroall;
            call pp_test_undo2;
        }
        ##i = ##i + 1;
    }
return;

//  test undo - reset updated file
pp_test_undo2:
    #sw_shift = 1;
    while( updated ){
        if( #sw_shift ){
            question "undo ? - " + str(##i);
            if( ! result ){ endmacroall;    }
            #sw_shift = ! iskeydown(0x10);  //  [Shift]
        }
        undo;
        if( ! result ){
            message "undo failed !";    endmacroall;
            call pp_test_redo2;
        }
        ##i = ##i + 1;
    }
return;

[ ]
RE:07774 何をしたいのか !!!No.07777
TAKA さん 01/03/04 14:46
 
TAKA です。

>何らかの拡張がなされても、操作の指示を出す必要は残ります。現在のマクロが
>簡単に書けるだけで、同じ問題が残ります。

パック化されたものは、普通のアンドゥを実行することで、パック
化されたもの全体がアンドゥされますますので、特別な操作の指示
を出す必要はありませんので、同じ問題(通常のアンドゥと特別な
アンドゥの切り分け)は残りません。

簡単に書けるというメリットと、ユーザーが普通のアンドゥと区別
する必要がなくなるというメリットがあります。

マクロの作者と使用者の両方にメリットがあるので、
亮 さんも、私も要望を出しています。
#きいろいまふらあ さんもかな。

制限や不便さはあるが、現状だけでも一括でアンドゥ出来る方法は
いろいろあることは、みなさん認識していますが、制限や不便さが
一切なくなればいいなーということです。

[ ]
RE:07771 要望No.07778
ひろ さん 01/03/04 14:56
 
 TAKA さん今日は、ひろです。
> ひろ さんも、今回の要望(アンドゥパック化)には賛成ですよね。
 もちろん「マクロ実行前までアンドゥ」は欲しいです。また「(更新) マー
クが消えるまでアンドゥ」という機能も欲しいですね。

[ ]
RE:07778 要望No.07780
TAKA さん 01/03/04 15:11
 
TAKA です。

>> ひろ さんも、今回の要望(アンドゥパック化)には賛成ですよね。
> もちろん「マクロ実行前までアンドゥ」は欲しいです。また「(更新) マー
>クが消えるまでアンドゥ」という機能も欲しいですね。

「マクロ実行前までアンドゥ」とは、マクロの先頭でパック化開始
の命令を発行、マクロの最後にパック化終了の命令を発行した場合
だけですよね。
私は以前、マクロの実行は無条件で1回のアンドゥで戻っても良い
と思っていたのですが、きいろいまふらあさんから、今までのマク
ロが違う動きをするということと、意図的にアンドゥを数回実行し
ないと戻らないように作ったマクロもあると思うので、アンドゥ1
回で戻って欲しい人のみが命令を発行すると良いと言われました。
私もその通りだと思いました。
処理の区切りごとにアンドゥがしたい人はその処理ごとに、開始と
終了の命令を書くことで、処理の区切りごとのアンドゥも可能です。

「(更新) マークが消えるまでアンドゥ」になると、通常のアンドゥ
と違うキーで命令を発行することになると思いますが、それなら、
そのキーにそういうマクロを割り当てておくのと変わらないと思い
ます。
ただ、そういう機能があれば、マクロ(数ステップだとは思います
が)を組まなくてもよいというメリットはありますね。

[ ]
RE:07777 何をしたいのか !!!No.07781
番頭++ さん 01/03/04 15:37
 
メリットが無いとは言ってはいません。いまは一つのファイルの編集、でそのや
り直しの話ですよね。作業単位とチェックポイント、そのノード(節目)の要望
もあるのだと思います。迷路を解く時に、どこに帰りたいのかを指定するには、
ノードを明示的に指定しておいて、そこに帰ります。その過程も見たいとの要望
があるかもしれません。packedundo, packedredo が出来ても undo, redo は必
要になると思うんですよ。区別する必要が出てきます。操作を増やせば、それだ
け複雑な操作もできます。「操作を忘れました」に対しては、救済策はないです。
ファイル名を変えて保存しても、時系列にそれを辿れますが。その人が意図した
復元は、その人のしかわかりません。そんな話です。

便利にはなりますが、根本的な解決は「個人にたよる」しかない。現実として、
複数のファイルを、お互いに関連した更新をしていく訳ですよね。undo, redo
はファイル単位であり。マクロは「秀丸」全体を制御している。この問題もあり
ありそうです。

論理的な作業単位は個人の操作の結果であり。どこまで帰るかも、個人の趣味だ
と思います。そんな気がしますが ...

[ ]
RE:07763 要望No.07783
TAKA さん 01/03/04 16:23
 
TAKA です。

>>●アンドゥのパッケージ化を行いたい
>>アンドゥ(秀丸の「やり直し」とマクロの「undo」)での有効範囲
>>の開始、終了位置が指定できる命令が欲しい。
>>[理由]
>>マクロの先頭で有効範囲の開始を実行、マクロの最後で有効範囲の
>>終了を指定することで、マクロ終了時にアンドゥ1回でマクロ実行
>>前の状態に戻すことが出来るため。
>>[補足]
>>同一マクロ内で開始と終了を数回(処理の区切りごと)指定するこ
>>とで、数回(処理の区切りごと)のアンドゥも可能。

いろいろな方法で、制限つきながら、処理の区切りごとにアンドゥ
出来ることは認識していますが、制限なしで利用したいので、要望
として出させてもらいます。

開始命令をpackstart、終了命令をpackendとした場合には、以下の
ようなマクロを作りたいと思っています。

// マクロ(ここから)
//  packstart;
   
    packstart;
    insert "a";
    insert "a";
    packend;

    packstart;
    insert "b";
    insert "b";
    packend;

//  packend;

    endmacro;
// マクロ(ここまで)

秀丸の内部では、以下のようになります。
現在のUNDOの記号を「@」、packstartを「{」、packendを「}」と
して説明します。
{@a@a}{@b@b}
となります。
で、アンドゥされた時に、}があれば、処理の区切りなので、秀丸
の内部で{の所までアンドゥされ、
{@a@a}
となります。

このマクロを一括でアンドゥしたい人もいると思いますので、
そういう人には、コメント行を解除してもらって、
{{@a@a}{@b@b}}
にします。

パックの階層に対応してもらえれば、1回のアンドゥで元に戻りま
す。

これらを実現するために、階層の対応と、{がアンドゥバッファか
らこぼれる時には、パック単位で捨てる処理を追加する必要がある
ので技術的には難しいと思っていますが、
これが実現されれば、非常に助かる人は多数いると思いますが、
困る人はいないと思います。

レスポンスの低下もないと思います。
アンドゥ時にif文で、「}」かどうかをチェックするという命令が
動くかどうかの違いだけですから。


あくまでも、私の個人的要望ということですが。

[ ]
RE:07783 要望No.07787
TAKA さん 01/03/04 17:20
 
TAKA です。

この要望とは別にもう一つ。

マクロの実行では無条件でパック化を行って、それ専用のアンドゥ
があると、今までのマクロも専用のアンドゥで戻すことが出来て便
利ですね。

無条件パックの開始を「[」、終了を「]」とした場合に

// test1.mac(ここから)
    packstart;

    packstart;
    insert "a";
    insert "a";
    packend;

    execmacro "test2.mac";

    packstart;
    insert "z";
    insert "z";
    packend;

    packend;
// test1.mac(ここまで)

// test2.mac(ここから)
    insert "b";
    insert "b";
// test2.mac(ここまで)

test1.macを動かした場合は、
[{{@a@a}[@b@b]{@z@z}}]

test2.macを単体で動かした場合は、
[@b@b]

となります。

で、通常のアンドゥでは、「]」をゴミ扱いとします。
専用のアンドゥでのみ「]」を「}」同様の扱いとします。

これで、今までのマクロ(test2.mac)のようなものも、1回のア
ンドゥで元に戻す方法の提供も出来るようになります。

秀丸内部での管理は大変ですが、これも実装されて助かる人はいて
も、困る人はいないと思います。


これも、私の個人的要望ということですが。

[ ]
RE:07781 何をしたいのか !!!No.07797
ひろ さん 01/03/04 22:31
 
 番頭++さん今日は、ひろです。
> packedundo, packedredo が出来ても undo, redo は必
> 要になると思うんですよ。
 こちらに対してはその通りです。

> undo, redo
> はファイル単位であり。マクロは「秀丸」全体を制御している。
 こちらもその通りです。マクロでファイルを閉じている場合などはどうしようも無い
(^^;。

 ただ今回の発言のスタートが、
> マクロの実行を間違って行った場合に、マクロを実行する前に戻したい
ですから、私はファイル単位のことしか考えていません。おそらく亮さんや
TAKA さんもそうだと思います。

 あと纏めてアンドゥをやりたいのは、全置換を間違えてやった場合ですね。

[ ]
RE:07780 要望No.07798
ひろ さん 01/03/04 22:31
 
 TAKA さん今日は、ひろです。
> 「(更新) マークが消えるまでアンドゥ」になると、通常のアンドゥ
> と違うキーで命令を発行することになると思いますが、それなら、
> そのキーにそういうマクロを割り当てておくのと変わらないと思い
 確かにそうですね。

> ただ、そういう機能があれば、マクロ(数ステップだとは思います
> が)を組まなくてもよいというメリットはありますね。
 こうすると秀丸の設計思想に反しそうなので、取り下げます。

[ ]
RE:07778 要望No.07799
きいろいまふらあ さん 01/03/04 22:58
 
> もちろん「マクロ実行前までアンドゥ」は欲しいです。また「(更新) マー
>クが消えるまでアンドゥ」という機能も欲しいですね。

これって単なる「最初からやり直し」ではないの?

[ ]
RE:07797 何をしたいのか !!!No.07804
番頭++ さん 01/03/05 08:00
 
マクロのテスト中はテストデータだと思うのでいいとして。間違いがありそうなマク
ロは、
if( update ){   endmacro;   } // で逃げるとか、reopen; もありますし。
危険なマクロは、開始を確認するとか。動かさないマクロには stop; を入れておく
とか。
「置換」を間違う時には、「置換の前に確認」そんで「一起」で逃げるとか。

個人的には、ある程度の間違いには、「秀丸」は対処は出来ていると思います。
痛い目に合うと、人間は学習するのかもしれません。<== 人には言えませんが ...

[ ]
RE:07799 要望No.07810
ひろ さん 01/03/05 11:54
 
 きいろいまふらあさん今日は、ひろです。
> これって単なる「最初からやり直し」ではないの?
 この「最初からやり直し」は「やり直し」というように、「ファイルの読
み直し」に近い機能ですよね。ですからそれをやるとそれ以上のアンドゥ、
若しくはリドゥが出来なくなるのが欠点です。

[ ]
RE:07810 要望No.07811
きいろいまふらあ さん 01/03/05 14:06
 
> > これって単なる「最初からやり直し」ではないの?
>  この「最初からやり直し」は「やり直し」というように、「ファイルの読
> み直し」に近い機能ですよね。ですからそれをやるとそれ以上のアンドゥ、
> 若しくはリドゥが出来なくなるのが欠点です。

「近い」というより「そのもの」ですね。
秀丸自身がダイアログでそう言ってます。:-)

で、欠点かどうかはおいといて、「最初からやり直し」では
用が足りないことは理解いたしました。ひっこみます。

あ、ひっこむ前に一つ。

while(updated){undo;}

でいいのかしらん?

[ ]
RE:07811 「要望」みたいですNo.07812
番頭++ さん 01/03/05 14:46
 
>while(updated){undo;}
>でいいのかしらん?

だめみたいです。とにかく「要望」みたいなんです。
代替案は、駄目みたいです。でも、本人不在状態みたいです。


[ ]
RE:07804 何をしたいのか !!!No.07814
ENCODINGSHIFTJIS さん 01/03/05 17:55
 

// CheckPoint.mac   SAVEはせずに 面でチェックポイント
//                  ファイル名を XXXX.eee → XXXX.99.eee にして進行
//                  毎回保存せず画面の名前を更新、で、5世代確保
// 作ってはみたが、使いやすくはないと実感,各面の区間毎にundoをします

       #dotpos=strstr(basename2,".");  // 拡張子は必要です
if(-1==#dotpos){message "ファイル名が作れない";endmacro}
#x=x;#y=y; selectall;copy;
              $basename2=basename2;
$ext=rightstr($basename2,strlen($basename2)-1-#dotpos);
$gen= leftstr($basename2,                     #dotpos);
              $basename2=$ext; $b  =$gen+".";$b2=$b;
//              
while(1){#dotpos=strstr($basename2,".");
  if(-1==#dotpos)break;
$ext=rightstr($basename2,strlen($basename2)-1-#dotpos);
$gen= leftstr($basename2,                     #dotpos);
              $basename2=$ext; $b=$b2; $b2=$b2+$gen+".";
  }
      #gen=val($gen);
if(0==#gen){ $gen="1";}else{ $gen=str(#gen+1);}
//      menu $b,$gen,$ext,str(#gen);
   #hwnd=hidemaruhandle(0);
openfile $b+$gen+"."+$ext;
if(#hwnd==hidemaruhandle(0)){// 新面を完全に開いて、旧面に戻る
              message "旧面新面の配置でOKする";prevhidemaru}
selectall;delete;   // やり直しする時は、この面が残っている
paste;
moveto #x,#y;
// save;  // こうすると undo で消えなくなるが,ディスクにゴミ溜まる
// 画面を閉じるのもわずらわしい。まとめ quit も必要か
// 最大5世代確保(デスクトップに)
if(4<#gen){#nwnd=findhidemaru($b+str(#gen-4)+"."+$ext);
    if(-1!=#nwnd){closehidemaruforced #nwnd;}  }
//
nexthidemaru;                // 旧面は最小化
#handle = hidemaruhandle(0);// 自画面
                           // WM_SYSCOMMAND SC_MINIMIZE
#result = sendmessage( #handle, 0x0112, 0xF020, 0 );// 最小化(N)
endmacro

[ ]
RE:07797 何をしたいのか !!!No.07815
TAKA さん 01/03/05 18:26
 
TAKA です。

> ただ今回の発言のスタートが、
>> マクロの実行を間違って行った場合に、マクロを実行する前に戻したい
>ですから、私はファイル単位のことしか考えていません。おそらく亮さんや
>TAKA さんもそうだと思います。

私は、その通りです。
ちなみに、マクロ内で複数ファイルに対して処理する場合に、その
ファイルもアンドゥで戻って欲しいなら、ファイル単位に開始と終
了の命令を発行するようになります。

1番の目的は以下のような場合です。

通常の編集(普通に文字入力など)

マクロを使っての編集

通常の編集(普通に文字入力など)

マクロを使っての編集

このような場合に、普通のアンドゥだけで、マクロを使っての編集、
                  ^^^^^^^^^^^^^^
が、1回のアンドゥで元に戻って欲しいです。
何故、普通のアンドゥにこだわるかというと、アンドゥする時に、
専用のアンドゥで戻す必要があるのか、普通のアンドゥで戻す必要
があるのかを意識させたくないですし、私も意識したくありません。

現在、これにもっとも近い方法として、ワークファイル上で作業を
行い元のファイルに戻すという方法がありますが、「7763」で書い
た通り制限事項があるのが難点です。
#今回の要望がだめなら、ファイルタイプ別のコンボリスト番号の
 取得とファイルタイプ別のコンボリスト番号のセットを行う命令
 を要望として出すつもりですが。

で、マクロも通常のアンドゥで戻すための実現方法が、「7783」の
発言になります。

[ ]
RE:07812 「要望」みたいですNo.07816
TAKA さん 01/03/05 18:27
 
TAKA です。

>>while(updated){undo;}
>>でいいのかしらん?
>
>だめみたいです。とにかく「要望」みたいなんです。
>代替案は、駄目みたいです。でも、本人不在状態みたいです。

ここで言う「本人」が誰のことか分かりませんでしたが、発言元の
ひろ さんは「while(updated){undo;}」でOKなのではないでしょ
うか?


「7778」で ひろ さんが、

>また「(更新) マー
>クが消えるまでアンドゥ」という機能も欲しいですね。


「7780」で 私が、

>「(更新) マークが消えるまでアンドゥ」になると、通常のアンドゥ
>と違うキーで命令を発行することになると思いますが、それなら、
>そのキーにそういうマクロを割り当てておくのと変わらないと思い
>ます。
>ただ、そういう機能があれば、マクロ(数ステップだとは思います
>が)を組まなくてもよいというメリットはありますね。

ここで言う数ステップのマクロとは、
// マクロ開始(ここから)
    while( updated )
    { // 更新状態の間はループ
        undo;
    }
    endmacro;
// マクロ開始(ここまで)
の5行のことです。


「7798」で ひろ さんが、

>> ただ、そういう機能があれば、マクロ(数ステップだとは思います
>> が)を組まなくてもよいというメリットはありますね。
> こうすると秀丸の設計思想に反しそうなので、取り下げます。

ここで言う「秀丸の設計思想に反しそうなので」は、マクロ命令の
組み合わせで全く同じことが出来るのに、新たにそれと同じ命令を
用意する必要はないということで、取り下げたのだと思います。


「7799」で きいろいまふらあ さんが、

>> もちろん「マクロ実行前までアンドゥ」は欲しいです。また「(更新) マー
>>クが消えるまでアンドゥ」という機能も欲しいですね。
>
>これって単なる「最初からやり直し」ではないの?

ここで言う「これ」は、「(更新) マークが消えるまでアンドゥ」
のことだけを指していると思います。


「7810」で ひろ さんが、

>> これって単なる「最初からやり直し」ではないの?
> この「最初からやり直し」は「やり直し」というように、「ファイルの読
>み直し」に近い機能ですよね。ですからそれをやるとそれ以上のアンドゥ、
>若しくはリドゥが出来なくなるのが欠点です。


「7811」で きいろいまふらあ さんが、

>で、欠点かどうかはおいといて、「最初からやり直し」では
>用が足りないことは理解いたしました。ひっこみます。
>
>あ、ひっこむ前に一つ。
>
>while(updated){undo;}
>
>でいいのかしらん?


と来ましたので、後は、ひろ さんが「それでOKです」の一言で
終了になりそうですね。
そうですよね。 > ひろ さん


今回の件((更新) マー>クが消えるまでアンドゥ)に関して、「代
替案は、駄目みたいです。」とは、誰も言っていないと思います。
私が、とんでもない勘違いをしているのかもしれませんが。

[ ]
RE:07816 「要望」みたいですNo.07817
きいろいまふらあ さん 01/03/05 18:58
 
ちゃちゃに転じます。:-p

> 今回の件((更新) マー>クが消えるまでアンドゥ)に関して、「代
> 替案は、駄目みたいです。」とは、誰も言っていないと思います。

番頭++さんがおっしゃってます。(^^;
「代替案は、駄目。」とは、誰も言ってないみたいです。

一連のやり取りの中で、複数ファイルを相手にしたアンドゥの話など、
番頭++さんの鋭いご指摘は非常に(私にとって)示唆に富んでます。

アンドゥのパッケージ化自体には非常に魅力を感じていますし、
昔の議論(ここだかniftyだか忘れましたが)のときにも、
色々なことを考慮していたつもりでしたが、
(少なくとも私は)単一ファイルに対する編集のことしか考えてなかった
と思います(もう憶えてないですが(^^;)。

本論に参加したいけど、(色々思い出す)気力が……。(^^;

[ ]
RE:07763 要望No.07818
TAKA さん 01/03/05 19:23
 
TAKA です。

>>●アンドゥのパッケージ化を行いたい
>>アンドゥ(秀丸の「やり直し」とマクロの「undo」)での有効範囲
>>の開始、終了位置が指定できる命令が欲しい。
>>[理由]
>>マクロの先頭で有効範囲の開始を実行、マクロの最後で有効範囲の
>>終了を指定することで、マクロ終了時にアンドゥ1回でマクロ実行
>>前の状態に戻すことが出来るため。
>>[補足]
>>同一マクロ内で開始と終了を数回(処理の区切りごと)指定するこ
>>とで、数回(処理の区切りごと)のアンドゥも可能。

マクロ内で複数のファイルは操作する場合には、
「7815」で書いた通り、

>その
>ファイルもアンドゥで戻って欲しいなら、ファイル単位に開始と終
>了の命令を発行するようになります。

です。

アンドゥで戻る必要のないファイルやアンドゥで戻って欲しくない
ファイルに対しては、開始と終了の命令は発行しません。

[ ]
RE:07811 要望No.07819
ひろ さん 01/03/05 19:31
 
 きいろいまふらあさん今日は、ひろです。
 結局、私自身は「まあ良いか」ということになったのですが、
> while(updated){undo;}
 大体これで良いですが、アンドゥ・バッファを超えるかもしれないで
す。「hidesoft.2:07769」を参照してください。

[ ]
RE:07817 「要望」みたいですNo.07822
番頭++ さん 01/03/05 22:00
 
>ちゃちゃに転じます。:-p

きいろいまふらあ 様へ のコメント。

>番頭++さんがおっしゃってます。(^^;

これっていやみっぽくないですか。。。冗談です。

現時点で、マクロを書けば、これらの、ほとんどのことは可能かもしれません。
でも、半端じゃないよね。そんで、世間に受けるか試すとか。.dll もかけるし。
あちきは .dll は、縁の無い、んですが。

# あちき、さいきん、おかしいすか ... 本人はまともだと見えますが。

[ ]
RE:07814 何をしたいのか !!! の次の話No.07823
番頭++ さん 01/03/05 22:09
 
もし、お会いできれば、お会いしたいです。秋葉原にて。あちきは50才まえの
オジンです。このまえ秋葉原でパソコン関連のアンケートにこたえました。50
で尾張みたいです。所詮、N中山さんとか、I−Fスマップには興味がないです。

あまりにも、「おぬし」の考えは難しくて、読めません。

# もも少し、仕様と、コメントを ... みづらいかも。
# おじん、いじめのロジックみたい。をこんないでね。

[ ]
RE:07822 「要望」みたいですNo.07825
きいろいまふらあ さん 01/03/06 01:19
 
>これっていやみっぽくないですか。。。冗談です。

一度「ひっこむ」と言ってしまったので、
一言書くためのダシに使わせていただきました。
#それにしちゃあんまり面白くなかったっすね。(^^;

[ ]
RE:07823 何をしたいのか !!! の次の話No.07826
きいろいまふらあ さん 01/03/06 09:18
 
> あまりにも、「おぬし」の考えは難しくて、読めません。

ENCODINGSHIFTJISさんの話とは関係ないんですけど、
率直に言えば、番頭++さんの発言、ちょっとわかりにくいです。
#この発言に限らずです。

わざとはぐらかしているわけじゃないんでしょうけど、
なんか禅問答みたいで……。(^^;

よかれと思って書きました。ご無礼ご容赦。
誹謗中傷のつもりはないです、本人(私)は。

このスレッドが爆発しないことを祈りつつ。

[ ]
RE:07826 何をしたいのか !!! の次の話No.07827
番頭++ さん 01/03/06 09:31
 
入力が遅いのでとか、いつも考えた過程が無いのだそうです。すみません。
文章がへただということ、だそうです。

>> あまりにも、「おぬし」の考えは難しくて、読めません。

ENCODINGSHIFTJIS さんの投稿は、いつもロジックしかないので、はじめの頃は
ロジックを読んでいましたが。その後読まなくなりました。意図が見えないんで
す。

水銀水さんが Nifty にきた頃を思い出します。そこまでマクロを書くの、と思
いました。「書きマクロ」見たいなものの始まりでした。

>このスレッドが爆発しないことを祈りつつ。

ですね。これから文章を見直してコメントすることにしましょう。

[ ]
RE:07763 要望No.07828
さん 01/03/06 13:50
 
TAKAさん補足いつもありがとうございます。

私の投稿はいつも説明不足ですいません。

>> 要望なのですが、マクロで検索をしたときに、
>>searchoption,searchbuffer,setsearchで、マクロ実行前の検索に戻せるのは大変便
>>利なのですが、マクロ実行前に、置換作業をしていた場合には、うまくいきません。
>>できれば、置換のバッファも参照できるようにしてほしいです。

>次に、ファイルの先頭に移動して、「検索→置換」で「TEST」を
>「THIKAN」に置換。この時点でバッファは「TEST」

私のいう置換バッファとは、ここでいう「THIKAN」です。

まず、「TEST」を「THIKAN」に置換する作業を実行した後に、

// テストマクロ(ここから)
    $sb=searchbuffer;
    #so=searchoption;

    replacedown "ABC","DEF";

    setserach $sb,#so;
    endmacro;
// テストマクロ(ここまで)

このテストマクロを実行し、その後に、下候補(F3)を実行した場合、
「TEST」が「DEF」に置換されます。

これを「TEST」を「THIKAN」に置換できるように、「THIKAN」の文字列をマクロで、
参照できるようにしていただいて、setserachでセットしたいということです。

[ ]
RE:07815 何をしたいのか !!!No.07829
さん 01/03/06 14:54
 
>TAKA です。
>
>> ただ今回の発言のスタートが、
>>> マクロの実行を間違って行った場合に、マクロを実行する前に戻したい
>>ですから、私はファイル単位のことしか考えていません。おそらく亮さんや
>>TAKA さんもそうだと思います。
>
>私は、その通りです。
私もその通りです。

iniファイルやレジストリを書き換えたりするマクロの場合、
マクロ実行前に戻すようなコマンドを用意してもらうには、
秀丸に、iniファイルやレジストリの書き換え履歴を用意してもらう
必要があると思いますが、あまり実用的でないと感じます。

複数のファイルを対象とするマクロの場合は、
秀丸全体でのやり直しができれば魅力的ですが、
秀丸全体の処理履歴を残すのは、バッファーがめちゃくちゃいりますよね。

実用的なTAKAさんのコメント7783に賛成です。

>何故、普通のアンドゥにこだわるかというと、アンドゥする時に、
>専用のアンドゥで戻す必要があるのか、普通のアンドゥで戻す必要
>があるのかを意識させたくないですし、私も意識したくありません。

私も普通のundoがいいです。

コメント7783のpackstartとpackendの機能による明示的なパック化と
コメント7787の自動的なパック化のTAKAさんは、2種類を提示していますが、
この2種類のパック化が実現されると、

@明示的なパック化と自動的なパック化の両方を無効とするundo
A明示的なパック化のみ有効とするundo
B自動的なパック化のみ有効とするundo
の3つが考えられますが、せっかく明示したパック化は有効に機能してもらいたいで
すし、
自動的なパック化が有効になると、明示したパック化が働かなくなってしまいます。

普通のundoは、Aにして欲しいです。
@とBを別途用意していただくのがいいです。(なくてもいいですが、)
パック化の目的は、undoの機能の拡張にありますので。

[ ]
RE:07829 何をしたいのか !!!No.07830
TAKA さん 01/03/06 15:43
 
TAKA です。
大丈夫だとは思いますが、念のために機種依存文字は別の文字に変
更させてもらいました。

>iniファイルやレジストリを書き換えたりするマクロの場合、
>マクロ実行前に戻すようなコマンドを用意してもらうには、
>秀丸に、iniファイルやレジストリの書き換え履歴を用意してもらう
>必要があると思いますが、あまり実用的でないと感じます。

私は、このことは考えていませんでしが、私も、実用的でないので、
この処理に対してはアンドゥが効く必要性はないと思います。
秀丸で開いているファイルだけが対象ですね。


>実用的なTAKAさんのコメント7783に賛成です。

ありがとうございます。


>コメント7783のpackstartとpackendの機能による明示的なパック化と
>コメント7787の自動的なパック化のTAKAさんは、2種類を提示していますが、
>この2種類のパック化が実現されると、
>
>1.明示的なパック化と自動的なパック化の両方を無効とするundo
>2.明示的なパック化のみ有効とするundo
>3.自動的なパック化のみ有効とするundo
>の3つが考えられますが、せっかく明示したパック化は有効に機能してもらいたいで
>すし、
>自動的なパック化が有効になると、明示したパック化が働かなくなってしまいます。
>
>普通のundoは、2にして欲しいです。
>1と3を別途用意していただくのがいいです。(なくてもいいですが、)

私は1と3は同じものと(3は1に含まれる)考えていましたが、
私も、なくてもいいとは思っています。おまけですので。


>パック化の目的は、undoの機能の拡張にありますので。

その通りです。拡張というキーワードが重要でしたね。
              ^^^^



置換バッファの件は、私の勘違いで申し訳ありません。「7828」の
説明で、置換後のバッファを取得したいことが分かりました。
今は取るすべがなかったですね。(多分)

[ ]
RE:07829 何をしたいのか !!! の次の話2No.07831
番頭++ さん 01/03/06 16:42
 
> iniファイルやレジストリを書き換えたりするマクロの場合、
> マクロ実行前に戻すようなコマンドを用意してもらうには、
> 秀丸に、iniファイルやレジストリの書き換え履歴を用意してもらう
> 必要があると思いますが、あまり実用的でないと感じます。
...
> 複数のファイルを対象とするマクロの場合は、
> 秀丸全体でのやり直しができれば魅力的ですが、
> 秀丸全体の処理履歴を残すのは、バッファーがめちゃくちゃいりますよね。

本人さん、ですね。
そこまで、考えれるんですね。もう少し。
「秀丸」の操作を考慮する、そして機能追加をお願いする。
マクロはそれを、手続きとして、実行する手段かも知れません。

[ ]
RE:07831 何をしたいのか !!!の次の話2No.07832
TAKA さん 01/03/06 17:19
 
TAKA です。

>本人さん、ですね。

本人とは、亮 さんのことだったのですね。
亮 さんか、秀丸担当 さんか、ひろ さんか、判断つきかねました
が、ようやく分かりました。


>そこまで、考えれるんですね。もう少し。

「もう少し」の意味が分かりませんが、何がもう少しなのでしょう
か?


>「秀丸」の操作を考慮する、そして機能追加をお願いする。
>マクロはそれを、手続きとして、実行する手段かも知れません。

意味がよく分かりませんが、ここで言う機能追加とは「7783」のこ
とでしょうか?
マクロプログラム内では、その機能追加(packstart、packend)を
処理の区切りとして実行するということでしょうか?

つまり、番頭++ さんも、今回の要望(「7783」)には賛成と取ら
せてもらいました。

私の勘違いでしたら、ごめんなさい。


以前の、「7338」の時にあった、
>タブの 2,4,8 の解釈の問題だとおもいますか
の意味をいまだに理解していないTAKAでした。
#秀丸内部の不具合として、タブの計算方法にミスがあるというこ
 とを言いたかったのかなー
##私の発言に対して、それはプログラム側の問題であるという発
  言だととらえたのですが。


読解力がなくて、すみません。

[ ]
RE:07828 置換バッファの操作No.07833
ひろ さん 01/03/06 17:32
 
 亮さん今日は、ひろです。
> >> 要望なのですが、マクロで検索をしたときに、
> >>searchoption,searchbuffer,setsearchで、マクロ実行前の検索に戻せるのは大変便
> >>利なのですが、マクロ実行前に、置換作業をしていた場合には、うまくいきませ
>ん。
> >>できれば、置換のバッファも参照できるようにしてほしいです。
 置換についての option は searchoption で実現できますので、要は
replacebuffer, setreplace (引数は 1 つでも良いかな?) が欲しいという
ことですね。
 賛成に一票

[ ]
RE:07829 パック化したアンドゥNo.07834
ひろ さん 01/03/06 17:32
 
 亮さん今日は、ひろです。
> >何故、普通のアンドゥにこだわるかというと、アンドゥする時に、
> >専用のアンドゥで戻す必要があるのか、普通のアンドゥで戻す必要
> >があるのかを意識させたくないですし、私も意識したくありません。
>
> 私も普通のundoがいいです。
 私は反対。別々のコマンドにしておいて欲しい。
 何故なら今までに書いたマクロとの整合性があるため。またメニューから
の選択のコマンドを packundo 相当に変更する手も考えられるが、今まで使
用していたユーザに混乱を招く恐れがある。
 ただし別途「キーの割り当て」項目に加えるなら、どちらでも良い。

[ ]
RE:07834 パック化したアンドゥNo.07835
TAKA さん 01/03/06 17:56
 
TAKA です。

> 亮さん今日は、ひろです。
>> >何故、普通のアンドゥにこだわるかというと、アンドゥする時に、
>> >専用のアンドゥで戻す必要があるのか、普通のアンドゥで戻す必要
>> >があるのかを意識させたくないですし、私も意識したくありません。
>>
>> 私も普通のundoがいいです。
> 私は反対。別々のコマンドにしておいて欲しい。
> 何故なら今までに書いたマクロとの整合性があるため。またメニューから
>の選択のコマンドを packundo 相当に変更する手も考えられるが、今まで使
>用していたユーザに混乱を招く恐れがある。
> ただし別途「キーの割り当て」項目に加えるなら、どちらでも良い。

多分、勘違いだと思いますので、コメントします。

今までに書いたマクロは、アンドゥの動作は変わりません。(複数
回のアンドゥが必要です)
アンドゥの動作が変わるのは、命令を発行した場合だけです。
今までに書いたマクロは、何も手を加えなければ、今までとまった
く同じ動きです。
今までのマクロを使用するユーザーからは何も変わりません。

今までのマクロを通常のアンドゥで一括で戻そうと思えば、今回の
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
要望(7783)にある通り、命令を発行しなければなりません。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
つまり、一括で戻ってほしくない人は、命令を使用しないだけです。


おまけ機能(7787)があれば、「キーの割り当て」を使って今まで
のマクロも一括で戻すことが可能です。
ひろさんは、これだけが欲しいのだと判断しましたので、
要望(7783)が実現されても、それを使用しないだけで済みます。

今回の要望は、拡張ですので、使用しなければ、今まで通りです。

[ ]
RE:07833 置換バッファの操作No.07836
TAKA さん 01/03/06 18:02
 
TAKA です。

>> >> 要望なのですが、マクロで検索をしたときに、
>> >>searchoption,searchbuffer,setsearchで、マクロ実行前の検索に戻せるのは大
>変便
>> >>利なのですが、マクロ実行前に、置換作業をしていた場合には、うまくいきませ
>>ん。
>> >>できれば、置換のバッファも参照できるようにしてほしいです。
> 置換についての option は searchoption で実現できますので、要は
>replacebuffer, setreplace (引数は 1 つでも良いかな?) が欲しいという
>ことですね。
> 賛成に一票

今回の要望は、置換後の文字列バッファのようでしたね。
今は使用しませんが、将来使用したくなることがあるかもしれませ
んので、私も、賛成に一票。

アンドゥのパック化と同様、使う必要がない人は使わないだけで、
あったら困る命令ではありませんし。

[ ]
RE:07835 パック化したアンドゥNo.07837
ひろ さん 01/03/06 18:06
 
 TAKA さん今日は、ひろです。
> 多分、勘違いだと思いますので、コメントします。
 それでは、以前の発言の
> このような場合に、普通のアンドゥだけで、マクロを使っての編集、
>                   ^^^^^^^^^^^^^^
> が、1回のアンドゥで元に戻って欲しいです。
はどういった意味なのでしょうか?

[ ]
RE:07837 パック化したアンドゥNo.07838
TAKA さん 01/03/06 18:20
 
TAKA です。

>> 多分、勘違いだと思いますので、コメントします。
> それでは、以前の発言の
>> このような場合に、普通のアンドゥだけで、マクロを使っての編集、
>>                   ^^^^^^^^^^^^^^
>> が、1回のアンドゥで元に戻って欲しいです。
>はどういった意味なのでしょうか?

「7815」の

>通常の編集(普通に文字入力など)
>↓
>マクロを使っての編集
>↓
>通常の編集(普通に文字入力など)
>↓
>マクロを使っての編集
>
>このような場合に、普通のアンドゥだけで、マクロを使っての編集、
>                  ^^^^^^^^^^^^^^
>が、1回のアンドゥで元に戻って欲しいです。

のことだと思いますが、


現状の、マクロを使っての編集を

// マクロ(ここから)
    insert "a";
    insert "b";
    endmacro;
// マクロ(ここまで)

とした場合、今回の要望(7783)で、

// マクロ(ここから)
    packstart;
    insert "a";
    insert "b";
    packend;
    endmacro;
// マクロ(ここまで)

とすることで、マクロを使っての編集が、1回のアンドゥで元に戻
って欲しいということです。

[ ]
RE:07763 要望No.07843
秀丸担当 さん 01/03/06 18:22
 
>>●アンドゥのパッケージ化を行いたい
>>アンドゥ(秀丸の「やり直し」とマクロの「undo」)での有効範囲
>>の開始、終了位置が指定できる命令が欲しい。
>>[理由]
>>マクロの先頭で有効範囲の開始を実行、マクロの最後で有効範囲の
>>終了を指定することで、マクロ終了時にアンドゥ1回でマクロ実行
>>前の状態に戻すことが出来るため。
>>[補足]
>>同一マクロ内で開始と終了を数回(処理の区切りごと)指定するこ
>>とで、数回(処理の区切りごと)のアンドゥも可能。

このアンドゥのパッケージ化の要望はずいぶん前にも頂いていた記憶
があります。
しかし実装されずに申し訳ありません。
今後もどうなるかわかりませんが、よろしくお願いします。

[ ]
RE:07828 要望No.07844
秀丸担当 さん 01/03/06 18:22
 
>これを「TEST」を「THIKAN」に置換できるように、「THIKAN」の文字列をマクロで、
>参照できるようにしていただいて、setserachでセットしたいということです。

つまりは現状では無い replacebuffer と setreplace のような感じの
ものがあればいいということですね。
確かに現状ではできません。
検討しておきます。

[ ]
RE:07838 パック化したアンドゥNo.07848
なんと さん 01/03/06 18:29
 
なんとです。

> // マクロ(ここから)
>     packstart;
>     insert "a";
>     insert "b";
>     packend;
>     endmacro;
> // マクロ(ここまで)
>
> とすることで、マクロを使っての編集が、1回のアンドゥで元に戻
> って欲しいということです。

さんせ〜い(^^)

自分に使いやすい整形マクロを作ってるんですけど、失敗した時の復
帰がとても楽になります。

[ ]
RE:07843 要望No.07849
TAKA さん 01/03/06 18:29
 
TAKA です。

>このアンドゥのパッケージ化の要望はずいぶん前にも頂いていた記憶
>があります。
>しかし実装されずに申し訳ありません。
>今後もどうなるかわかりませんが、よろしくお願いします。

はい、了解しました。
これで、今行われている論争も終わりそうです。

[ ]
RE:07838 パック化したアンドゥNo.07851
ひろ さん 01/03/06 18:54
 
 TAKA さん今日は、ひろです。
>     packstart;
>     insert "a";
>     insert "b";
>     packend;
 ようやく解りました。packundo を追加するのではなく、packstart と
packend を追加するのですね。

 しかしこれをやると、setactivehidemaru など他のウィンドをアクティブ
にしたり、別のファイルを開いたり、ini ファイルやレジストりへの読み書
きも当然記憶される事になり、「ファイル単位」という話とは外れてしまう
のではありませんか? またファイル単位に編集コマンドだけ記憶しておく等
という都合のよい仕様は難しいと思います(^^)。

[ ]
RE:07851 パック化したアンドゥNo.07852
TAKA さん 01/03/06 19:21
 
TAKA です。

>>     packstart;
>>     insert "a";
>>     insert "b";
>>     packend;
> ようやく解りました。packundo を追加するのではなく、packstart と
>packend を追加するのですね。

そうです。
最初(7763)に書いたとおり、開始と終了のセットです。


> しかしこれをやると、setactivehidemaru など他のウィンドをアクティブ
>にしたり、別のファイルを開いたり、ini ファイルやレジストりへの読み書
>きも当然記憶される事になり、「ファイル単位」という話とは外れてしまう
>のではありませんか? またファイル単位に編集コマンドだけ記憶しておく等
>という都合のよい仕様は難しいと思います(^^)。

「7830」で書いた通り、

>>iniファイルやレジストリを書き換えたりするマクロの場合、
>>マクロ実行前に戻すようなコマンドを用意してもらうには、
>>秀丸に、iniファイルやレジストリの書き換え履歴を用意してもらう
>>必要があると思いますが、あまり実用的でないと感じます。
>
>私は、このことは考えていませんでしが、私も、実用的でないので、
>この処理に対してはアンドゥが効く必要性はないと思います。
>秀丸で開いているファイルだけが対象ですね。

です。

「7818」で書いたとおり、

>マクロ内で複数のファイルは操作する場合には、
>「7815」で書いた通り、
>
>>その
>>ファイルもアンドゥで戻って欲しいなら、ファイル単位に開始と終
>>了の命令を発行するようになります。
>
>です。
>
>アンドゥで戻る必要のないファイルやアンドゥで戻って欲しくない
>ファイルに対しては、開始と終了の命令は発行しません。

というように、ファイル単位で考えています。
親のファイルに対しては、パックの階層化で対応出来ます。


今あるアンドゥバッファに対してのみ「{」と「}」を追加して欲し
いということです。私の要望は(7783)です。
アンドゥバッファにないものは、対象外です。

何にしろ、秀丸担当さんがコメントされたので、この論争は終わり
だと思っていますので、これ以上のコメントは控えさせて下さい。
すみません。 > ALL

[ ]
RE:07852 パック化したアンドゥNo.07862
ひろ さん 01/03/07 15:20
 
 TAKA さん今日は、ひろです。
 引用純情を買えました。
> 何にしろ、秀丸担当さんがコメントされたので、この論争は終わり
> だと思っています
 その通りだと思いますが、ちょっと誤解されているようなので、補足して
おきます。私が言いたかったのは、
> >>     packstart;
> >>     insert "a";
> >>     insert "b";
> >>     packend;
という仕様では、編集を行った一つ一つのファイルに対して別々に履歴を覚
えておく必要がでてくるので、
> >またファイル単位に編集コマンドだけ記憶しておく等
> >という都合のよい仕様は難しいと思います(^^)。
と書いただけです。

> >>ファイルもアンドゥで戻って欲しいなら、ファイル単位に開始と終
> >>了の命令を発行するようになります。
 ##この様にしてもファイル単位で packstart 命令を実行したかどうか記
憶させておく必要があり、実現の難しさではそれほど変わらないと考えてい
ますが実際どうなんだろう?

[ ]
RE:07862 パック化したアンドゥNo.07866
なんと さん 01/03/07 15:57
 
なんとです。

>  引用純情を買えました。

きゃ(*^_^*)。いえ、なんとなく(^^;

> という仕様では、編集を行った一つ一つのファイルに対して別々に履歴を覚
> えておく必要がでてくるので、
> > >またファイル単位に編集コマンドだけ記憶しておく等
> > >という都合のよい仕様は難しいと思います(^^)。
> と書いただけです。

あの、内部的な実現の難しさは別にして、ファイルごとなら、今の
undo/redoだってすでにファイルごとに記憶されてますよね。
その履歴の一部をパックして欲しい、ということであって、ひろさん
が考えられているほどには複雑なことではないと思います。

もちろんいろいろと内部的な都合はあるんでしょうけど。

[ ]
RE:07866 パック化したアンドゥNo.07869
ひろ さん 01/03/07 18:07
 
 なんとさん今日は、ひろです。
> あの、内部的な実現の難しさは別にして、ファイルごとなら、今の
> undo/redoだってすでにファイルごとに記憶されてますよね。
 これがマクロとなると、ini ファイル関係なども入ってくるので、通常の
undo よりも難しくなるのかなるのではと考えていました。またファイルご
とに、packstart が行われたかどうかのフラグなども必要になりますよね。

 実際実現されるとして、どの様な仕様になるか楽しみです。(実装は当分
先でしょうけど)

[ ]