上検索/下検索 の非対称 などNo.00776
カモノハシ さん 07/04/28 00:24
 
こんばんは、いつもお世話になっております、カモノハシです。
7.0への要望などいくつかまとめて投稿させていただきます。
以前から気になっていたので既出かもしれません。その場合は流していただいて結構
です。

[上検索/下検索の非対称]
上検索は常に最短一致のような動作になっていますが、最長一致になるようになりま
せんでしょうか。
例:
 (.)\1{10,}
 を使って
 aaaaaaaaaaaa
 を検索

[変換によるマークの解除]
マークされた行の行末の改行を含む範囲を変換するとマークが解除されてしまいます。
なんとなく、ソートの場合を考えてマークを解除しているような気もしますが、解除
されて困ることはあっても、解除されないで困るって場面はあまりないように思えま
す。
実際に中身が変化したかどうかに関わらず単純に行番号でマークを続けていただける
とうれしいです。

[disabledraw中にそれらしい表示]
マクロにて、disabledrawを使って長時間かかる処理をしている際、エディタ部分が
背景色のみになりますが、ここに「マクロ実行中」なり「処理中」なりを表示できる
と便利だと思います。
任意の文字列が指定できなくてもいいです。

[マーク可能ヵ所の増量など]
・マーク可能ヵ所
・マクロの変数制限
労力の割に華やかさがないためか、いつも却下されていますが、もう少し増えるとう
れしいです。

[改行マークの完全な?ぶら下げ?]
ウィンドウ幅で折り返して表示する際、改行のみの行があるのはあまり美しくありま
せん。
改行マークを幅0で計算していただけるとうれしいです。
新バージョンで改行マークの種類が増えてるので、無理かもと思いつつも、とりあえ
ず要望として挙げさせていただきます。

以上です。
よろしくお願い致します。

[ ]
RE:00776 上検索/下検索 の非対称 などNo.00778
アルビレオ さん 07/04/28 01:46
 
ユーザーのアルビレオです。

>[上検索/下検索の非対称]
>上検索は常に最短一致のような動作になっていますが、最長一致になるようになりま
>せんでしょうか。
>例:
> (.)\1{10,}
> を使って
> aaaaaaaaaaaa
> を検索

これは単に検索する順序のせいでそう見えるだけで、非対称の挙動ではないと思
います。

対象文字列: aaa
検索パターン: a+
検索開始位置: |
マッチした文字列: [...]

とすると、先頭から下検索なら
 |[aaa] → a|[aa] → aa|[a]
末尾から上検索すると
 aa|[a] → a|[aa] → |[aaa]
となります。
どちらも「検索開始位置より後ろで、最長一致したもの」ということには変わり
ありません。

[ ]
RE:00778 上検索/下検索 の非対称 などNo.00784
カモノハシ さん 07/04/29 01:06
 
こんばんは、いつもお世話になっております、カモノハシです。
アルビレオさんコメントありがとうございます。

>これは単に検索する順序のせいでそう見えるだけで、非対称の挙動ではないと思
>います。
<snip>
>どちらも「検索開始位置より後ろで、最長一致したもの」ということには変わり
>ありません。

あぁ、なるほど。
そう考えると確かに対称性がありますね。
しかも最短一致って表現も拙かったです。せめて上方向に最短、くらいにしない
とダメでした。
秀丸の正規表現での検索は行単位が基本、ってイメージが強すぎたことと、上候
補/下候補って名前のせいで、上検索/下検索の「検索」のイメージが、自分の中
で薄れたため、直感的でないと感じてしまったようです。

これは一般的な要望ではなさそうですね。
とりあえず、取り下げさせていただきます。
まぁなにか大きな改変の時にでも思い出していただけるとうれしいです。

[ ]
RE:00776 上検索/下検索 の非対称 などNo.00789
秀丸担当 さん 07/05/01 14:04
 

>[変換によるマークの解除]
>マークされた行の行末の改行を含む範囲を変換するとマークが解除されてしまいます。
>なんとなく、ソートの場合を考えてマークを解除しているような気もしますが、解除
>されて困ることはあっても、解除されないで困るって場面はあまりないように思えま
>す。
>実際に中身が変化したかどうかに関わらず単純に行番号でマークを続けていただける
>とうれしいです。

これは、V7.00で要望によって削除された範囲のマークは消えるという動作をし
たために、このようになってしまったようです。
やっぱりマークは消えるという動作はやめておこうとかと。
V6.50βの途中のバージョンでも一時やろうとして、別のところで問題があって
やっぱりやめたという経緯もあるので、マークが消える動作はいろいろ問題があ
りそうです。

>[disabledraw中にそれらしい表示]
>マクロにて、disabledrawを使って長時間かかる処理をしている際、エディタ部分が
>背景色のみになりますが、ここに「マクロ実行中」なり「処理中」なりを表示できる
>と便利だと思います。
>任意の文字列が指定できなくてもいいです。

disabledrawは、背景色のみというより、基本的に描画しないで、画面が何も書
き換わったように見えないままというのが理想的なのではないかと思います。
disabledrawをすることで画面がちらつくと、逆に困るということになる人がい
るのではないでしょうか。
必要であればtitle文でタイトルバーを変えるというふうにするといいのではな
いかと思います。

>[マーク可能ヵ所の増量など]
>・マーク可能ヵ所
>・マクロの変数制限
>労力の割に華やかさがないためか、いつも却下されていますが、もう少し増えるとう
>れしいです。

一応過去にV4.10くらいで20個から64個に増やしていますが、128個くらいに増や
してみようかと。
あまり増えすぎると負荷となるので、際限なく増やしてしまうようなことにはし
たくないところです。

>[改行マークの完全な?ぶら下げ?]
>ウィンドウ幅で折り返して表示する際、改行のみの行があるのはあまり美しくありま
>せん。
>改行マークを幅0で計算していただけるとうれしいです。
>新バージョンで改行マークの種類が増えてるので、無理かもと思いつつも、とりあえ
>ず要望として挙げさせていただきます。

改行文字のぶら下げになっていれば、折り返して改行だけになるような行は現れ
ないと思いますが、どうでしょうか。
ウィンドウ幅で折り返しであっても同じだと思います。
禁則処理の設定は句読点のぶら下げではなく、「改行文字のぶら下げ」にチェッ
クを入れておく必要があります。
設定されているのにそうなっていないとしたら、何か不具合があるのかもしれな
いので詳しいことを教えていただけると助かります。

[ ]
RE:00789 上検索/下検索 の非対称 などNo.00791
カモノハシ さん 07/05/01 15:25
 
こんにちは、いつもお世話になっております、カモノハシです。

> >[変換によるマークの解除]
> やっぱりマークは消えるという動作はやめておこうとかと。
よろしくお願い致します。

> >[disabledraw中にそれらしい表示]
> disabledrawをすることで画面がちらつくと、逆に困るということになる人がい
> るのではないでしょうか。
あ、短時間しか処理されないdisabledrawのことを考えていませんでした。
ある程度以上に処理時間のかかる場合のことを考えていました。
ちなみに、時間のかかる場合にメニューが再描画されないときがあるとか、フォ
ーカスを切り替えるとタスクバーが点滅するのを回避することはできないのでし
ょうか?

> 必要であればtitle文でタイトルバーを変えるというふうにするといいのではな
> いかと思います。
ええ、それはやっているのですが、やはりタイトルバーは文字の大きさの問題で
目立たないのが難点です。
マクロで長時間の動作をさせることがナンセンスってこともあるでしょうが、も
う少し処理中であることを、はっきりと示すことができると便利だと思います。
処理中に勝手に背景色を書き換えるって手もあるんでしょうが、エラーなどでキ
ャンセルされたときに問題が残ります。
なにか良い方法はありませんでしょうか。

> >[マーク可能ヵ所の増量など]
> 一応過去にV4.10くらいで20個から64個に増やしていますが、128個くらいに増や
> してみようかと。
よろしくお願い致します。
> あまり増えすぎると負荷となるので、際限なく増やしてしまうようなことにはし
> たくないところです。
100位有ると大抵の人間が管理しきれなくなって、あまりがでるでしょうから、マ
クロで一時的なマーキングが容易になります。

やはりマクロの変数制限は無理でしょうか。


> >[改行マークの完全な?ぶら下げ?]
あっと、確認不足で自分の中で混ざってしまっていたようです。
空行ができるのは嘘でした。申し訳ありませんでした。
禁則でぶら下げをすると、表示される文字列の桁数が狭くなるのが不満でした。
これを回避するために禁則を切っていたのを忘れていました。

表示できるだけの幅があるのに、次の行に追いだされることになります。
これは回避可能なのでしょうか?

[IMEの変換中文字列の表示]
いま返信を書いていて気づいたのですが、範囲を選択して、その上に文字を上書
きしようとするときに、カーソル位置にIMEの編集中の文字列がでますが、その時
にカーソルが selendx , selendy の位置にいない場合、一旦選択範囲の末尾に表
示されてから一瞬遅れてカーソル位置に移動します。
この動作は前からでしたでしょうか。

[ ]
RE:00789 上検索/下検索 の非対称 などNo.00795
Iranoan さん 07/05/01 16:10
 
 秀丸担当さん今日は、Iranoan です。
> これは、V7.00で要望によって削除された範囲のマークは消えるという動作をし
> たために、このようになってしまったようです。
> やっぱりマークは消えるという動作はやめておこうとかと。
 「削除した時は消し、変換では消さない」ということは出来ませんか?
 以前の仕様ですと、消したときだけでなく、削除後のアンドゥで別の位置に
マークが来るので、どうしても違和感があります。

[ ]
RE:00791 上検索/下検索 の非対称 などNo.00796
秀丸担当 さん 07/05/01 17:41
 

>ちなみに、時間のかかる場合にメニューが再描画されないときがあるとか、フォ
>ーカスを切り替えるとタスクバーが点滅するのを回避することはできないのでし
>ょうか?

普通はそうはならないと思うのですが、どういうときにそうなるでしょうか。

>処理中に勝手に背景色を書き換えるって手もあるんでしょうが、エラーなどでキ
>ャンセルされたときに問題が残ります。
>なにか良い方法はありませんでしょうか。

一応 title文がそのための良い方法だと思うのですが、あとはステータスバーや
タブも変えるとか。
あとマクロサーバや田楽を使ってダイアログを出しておくとか。

>やはりマクロの変数制限は無理でしょうか。

これはマークとは別の話でしょうか?

>表示できるだけの幅があるのに、次の行に追いだされることになります。
>これは回避可能なのでしょうか?

禁則処理を「追い出し」だけにすると、禁則処理のための追加の折り返しが半角
1個ぶんだけになって比較的見やすいですが、どうでしょうか。
完全にゼロにすることはできないです。

>[IMEの変換中文字列の表示]
>いま返信を書いていて気づいたのですが、範囲を選択して、その上に文字を上書
>きしようとするときに、カーソル位置にIMEの編集中の文字列がでますが、その時
>にカーソルが selendx , selendy の位置にいない場合、一旦選択範囲の末尾に表
>示されてから一瞬遅れてカーソル位置に移動します。
>この動作は前からでしたでしょうか。

V7.00で追加されたIMEの前後フィードバック対応の影響でちらつくようになって
しまっていました。
ご指摘ありがとうございます。
修正させていただきます。

[ ]
RE:00795 上検索/下検索 の非対称 などNo.00797
秀丸担当 さん 07/05/01 18:00
 

> 「削除した時は消し、変換では消さない」ということは出来ませんか?
> 以前の仕様ですと、消したときだけでなく、削除後のアンドゥで別の位置に
>マークが来るので、どうしても違和感があります。

それでもいいといえばいいですが、削除という動作は至るところにあるので、他
にも不都合が出てしまいそうです。
では次のバージョンではとりあえず変換のときだけ従来通りとなるようにしてみ
ようかと。

[ ]
RE:00797 上検索/下検索 の非対称 などNo.00798
Iranoan さん 07/05/01 18:40
 
 秀丸担当さん今日は、Iranoan です。
> では次のバージョンではとりあえず変換のときだけ従来通りとなるようにしてみ
> ようかと。
 どうも有り難うございます。

[ ]
RE:00796 上検索/下検索 の非対称 などNo.00800
カモノハシ さん 07/05/01 22:42
 
こんばんは、いつもお世話になっております、カモノハシです。

>普通はそうはならないと思うのですが、どういうときにそうなるでしょうか。
公開できるデータでの再現が今ひとつなのですが、別途メールにて添付した「再描画
関係」ってフォルダに入っているマクロを、
・一行が100文字程度以上ある行が過半数
・一万行程度
・半角全角混在
あたりを満たす、ある程度以上複雑なファイルで実行してください。
よほど処理速度のすごい環境でなければ、いろいろ処理に時間がかかると思いますの
で、その状態で秀丸以外のウィンドウをフォアグランドにしてみたりすると、タスク
バーの点滅が起こるかも知れません。
また、希にメニューが再描画されなくなったりします。
不確かで申し訳ありません。

>あとマクロサーバや田楽を使ってダイアログを出しておくとか。
やはりこれがいいんでしょうね。
少々大げさで面倒だったんですが、あきらめます。

>>やはりマクロの変数制限は無理でしょうか。
>
>これはマークとは別の話でしょうか?
はい。そうです。例の8Kの制限です。
分かりづらくて申し訳ないです。


>禁則処理を「追い出し」だけにすると、禁則処理のための追加の折り返しが半角
>1個ぶんだけになって比較的見やすいですが、どうでしょうか。
>完全にゼロにすることはできないです。
あ、これには気づいていませんでした。「ぶら下げ」って思いこんでいました。
非常に満足です。ありがとうございます。

これの実験中におかしな現象に出会いました。
別途メールに添付した「折り返し」ってフォルダの中にある設定で「いいい.txt」を
開き、マクロを数回実行してください。
「無題.bmp」のような現象が起こります。
その状態で行末へ移動すると、「ウィンドウ幅に合わせる」状態なのに横スクロール
バーが出現します。

>V7.00で追加されたIMEの前後フィードバック対応の影響でちらつくようになって
>しまっていました。
>ご指摘ありがとうございます。
>修正させていただきます。
よろしくお願い致します。

[レジストリに不要なデータ]
一つの設定に複数の拡張子が登録されている場合など、「ファイルタイプ別の設定」
のウィンドウを呼び出したときの、拡張子の拡張子に対するファイルタイプ別の設定
の関連づけのデータがレジストリに残るようです。
設定を削除するときにその設定を参照している拡張子を全て削除していただければう
れしいです。

耐久テストのごとき変な条件でしか再現しないものなど、細かいところで恐縮ですが、
よろしくお願い致します。

[ ]
RE:00800 上検索/下検索 の非対称 などNo.00801
カモノハシ さん 07/05/01 22:57
 
>これの実験中におかしな現象に出会いました。
>別途メールに添付した「折り返し」ってフォルダの中にある設定で「いいい.txt」
>を開き、マクロを数回実行してください。
>「無題.bmp」のような現象が起こります。
>その状態で行末へ移動すると、「ウィンドウ幅に合わせる」状態なのに横スクロー
>ルバーが出現します。

書き忘れました。
マクロを実行するとウィンドウ幅が勝手に狭くなり、その分だけ隠れるようです。

[ ]
RE:00801 上検索/下検索 の非対称 などNo.00811
秀丸担当 さん 07/05/02 14:00
 


>あたりを満たす、ある程度以上複雑なファイルで実行してください。
>よほど処理速度のすごい環境でなければ、いろいろ処理に時間がかかると思いますの
>で、その状態で秀丸以外のウィンドウをフォアグランドにしてみたりすると、タスク
>バーの点滅が起こるかも知れません。
>また、希にメニューが再描画されなくなったりします。
>不確かで申し訳ありません。

ファイルを頂きました。ありがとうございます。
いまいち再現することができませんでしたが、filter文などで秀丸エディタが無
応答の状態になっているのかもしれません。
filter文で無応答状態になっている場合、改善するのは難しいです。

>はい。そうです。例の8Kの制限です。
>分かりづらくて申し訳ないです。

文字列変数サイズの上限を今から変えるというのは、ちょっと難しいかもしれな
いです。

>これの実験中におかしな現象に出会いました。
>別途メールに添付した「折り返し」ってフォルダの中にある設定で「いいい.txt」を
>開き、マクロを数回実行してください。
>「無題.bmp」のような現象が起こります。
>その状態で行末へ移動すると、「ウィンドウ幅に合わせる」状態なのに横スクロール
>バーが出現します。

手順通りにして確認することができました。
行番号表示の桁数の変動の関係で、ウィンドウ幅に合わせる計算がずれる場合が
あるようです。
次で改善してみようと思います。


>[レジストリに不要なデータ]
>一つの設定に複数の拡張子が登録されている場合など、「ファイルタイプ別の設定」
>のウィンドウを呼び出したときの、拡張子の拡張子に対するファイルタイプ別の設定
>の関連づけのデータがレジストリに残るようです。
>設定を削除するときにその設定を参照している拡張子を全て削除していただければう
>れしいです。

そのように修正してみます。

[ ]
RE:00811 上検索/下検索 の非対称 などNo.00829
カモノハシ さん 07/05/05 00:38
 
こんばんは、いつもお世話になっております、カモノハシです。
>いまいち再現することができませんでしたが、filter文などで秀丸エディタが無
>応答の状態になっているのかもしれません。
>filter文で無応答状態になっている場合、改善するのは難しいです。
了解です。まぁそれほど大きな問題ではないですので気にしないことにします。


>文字列変数サイズの上限を今から変えるというのは、ちょっと難しいかもしれな
>いです。
非常に残念ですが、一度作ったものを作り替えるのは、さらから作るよりも面倒なこ
とが
ありますからね。

>手順通りにして確認することができました。
>行番号表示の桁数の変動の関係で、ウィンドウ幅に合わせる計算がずれる場合が
>あるようです。
>次で改善してみようと思います。
よろしくお願い致します。

>>[レジストリに不要なデータ]
>そのように修正してみます。
よろしくお願い致します。


ちなみに、少し気になったのでお聞きしたいのですが、マクロの disabledraw は計算コ
ストとしてはどの程度でしょうか。
もしもほとんど発生しないのであれば、Box貼り付けなど処理に時間がかかる可能性があ
るものに、disabledraw相当の命令をセットで発行するようにしてみるってのはどうでし
ょうか。
先日1000行くらいのBox貼り付けをしたところ画面がだらーっと流れて冗長な印象を受け
ました。そこでマクロでdisabledrawをくっつけて同じ動作をさせたところ、軽快な印象
を受けるレベルには実行時間が短縮されました。
いかがでしょうか。

[ ]
RE:00829 上検索/下検索 の非対称 などNo.00844
秀丸担当 さん 07/05/07 12:34
 

>ちなみに、少し気になったのでお聞きしたいのですが、マクロの disabledraw は計算
>コ
>ストとしてはどの程度でしょうか。
>もしもほとんど発生しないのであれば、Box貼り付けなど処理に時間がかかる可能性が
>あ
>るものに、disabledraw相当の命令をセットで発行するようにしてみるってのはどうで
>し
>ょうか。
>先日1000行くらいのBox貼り付けをしたところ画面がだらーっと流れて冗長な印象を受
>け
>ました。そこでマクロでdisabledrawをくっつけて同じ動作をさせたところ、軽快な印
>象
>を受けるレベルには実行時間が短縮されました。
>いかがでしょうか。

BOX貼り付けでdisabledraw相当の状態にすることは簡単です。
貼り付けている仮定を表示している理由は特に無いと思います。
というわけでそのようにしてみようと思います。

[ ]