|
disabledraw 中の goscreentop の使用で秀丸担当氏が
慌てているのは、単に画面が書き換えされないだけではなく
ファイルのどの位置(screentop)を表示しているかという
情報の更新も行われていないからなんではないかと思います。
enabledraw;で画面の一番上の行番号が必要なのはそのため
だろうと思います。
これからすると本当は disabledraw 中は goscreentop は
使ってはいけないんでしょうね。
> Arimacさんは、disabledraw の状態も含めてどうなると
> 自然に感じるのでしょうか?
少ない法則に従った理路整然とした動作を自然に感じますが。
場合によって例外があるというのは人の意思が介在していて
自然じゃないです。また、プログラムを組む上では落とし穴
になって厄介です。
goscreentopの動作については自然な動作としては
・本当の画面の一番上にカーソルが行く。画面の表示位置は
スクロールダウンしてカーソルはマージンが掛かった位置
になる。
理由:gofiletop,golinetop,gowordtop等の同じ系統のコマンドは
カーソルの移動先がはっきりしているのに対し、
(現状の)goscreentopはあいまい。
(秀丸エディタとして)自然ではないけど自分の希望する動作
としては
・本当の画面の一番上にカーソルが行く。画面の表示位置は
変わらない。カーソルを移動すると画面の表示位置は
スクロールダウンしてカーソルはマージンが掛かった位置
になる。
理由:そんなにマージンに拘らなくてもいいんじゃないですか?(^^;
(昔使ってたWindexPRO68Kというエディタはこうだったような
気がするし)
現実的には、いまさら仕様を変えるほど重大な事じゃないし
本当の screentop の行番号を取得するキーワードの追加と
disabledraw 中は goscreentop, goscreenend の使用は
控えるということでよいのではないのでしょうか?
(現状では disabledraw 直後に限り goscreentop で
本当の画面の一番上の行番号が分かるということで・・・)
|
|