送信エディタでのマクロの変な動作No.07137
Makkie さん 02/05/18 19:56
 
秀丸のマクロを鶴亀エディタで動かそうとしていて気づいた問題です。

  1.全般的な設定→エディタ→送信系で「ヘッダ部をスクロールしな
      い」ようにしている。

  2.ヘッダ部を簡略表示にしている。

  3.ヘッダ部をスクロールしない機能が実質的に働いている状態
      (メール本文の下の方を表示している状態)である。

  4.マクロの中で画面の書き換えを禁止(disabledraw)した。

この状態で秀丸マクロの goscreenend が正常に動作しません。何だか
変なところにカーソルが動きます。

V1.89( Windows2000 )です。よろしくお願いします。

[ ]
RE:07137 送信エディタでのマクロの変な動作No.07139
tnobu2 さん 02/05/18 22:44
 
>  4.マクロの中で画面の書き換えを禁止(disabledraw)した。
>
>この状態で秀丸マクロの goscreenend が正常に動作しません。何だか
>変なところにカーソルが動きます。

秀丸マクロのヘルプのdisabledraw、enabledraw文に

|  enabledrawが実行された時、カーソルが画面のどの位置に表示される
| かは秀丸側が適当に決めてしまいます。これをマクロ側で制御するには、
| enabledraw文のパラメタで画面の一番上の行番号(ワープロ的に計算し
| た行番号)を指定してください。

とあります。これのせいではないでしょうか?

[ ]
RE:07139 送信エディタでのマクロの変な動作No.07155
Makkie さん 02/05/19 19:09
 
えっと、これは enabledraw とは無関係です。

正確に言いますと、

disabledraw;
goscreenend;
message str(lineno);
endmacro;

というようなマクロ実行すると、ほとんどの場合(秀丸エディタも鶴亀
エディタも)は正常に動作します。つまりメッセージで表示されるのは、
画面の真の最下行(カーソルが移動しうる最下行ではなくて、今表示さ
れている一番下の行)の行番号です。

ところが、

    鶴亀エディタでヘッダーをスクロールしない機能が有効に働いてい
    る時に限って、上記マクロのメッセージで表示される行が画面の真
    の最下行ではない

というのが報告した問題点です。

ちなみに

goscreenend;
message str(lineno);
endmacro;

というようなマクロでメッセージ表示されるのは「カーソルが移動しう
る最下行」で、それは鶴亀エディタでヘッダーをスクロールしない場合
でも(ちゃんと)そうなります。

[ ]
RE:07155 送信エディタでのマクロの変な動作No.07168
秀まるお2 さん 02/05/20 16:09
 
 ソースコードを見直したら、鶴亀独自にやってる処理があって、それのせいで
disabledraw中のgoscreenendがうまく出来なくなっているようです。

 鶴亀独自に追加した処理は、何かのバグを修正するために入れた処理だと思うんで
すが、今となっては何のためだか分かりません。

 とりあえずその処理を外してみます。(外してもとりあえずうまく動作してるよう
で…)

 それでまたレベルダウンが起きたら考えないといけないです。

 とにかく例外中の例外処理がいろいろあって、僕もよく分かりません。

[ ]