moveto, movetolineno の返り値No.10529
山紫水明 さん 06/05/31 20:30
 
秀丸担当さん,
ファイル先頭で up や left を実行したり,ファイル末尾で down や right を
実行したときには,result は false を返します。
しかし,先頭や末尾でそれぞれ,
moveto 0, y - 1;
movetolineno 1, lineno - 1;

moveto 0, y + 1;
movetolineno 1, lineno + 1;
を実行してカーソルが動かなくても,result は 1 を返します。
この場合に false を返すようにはできないでしょうか。
マクロの互換性には多分影響はないのではないかと思いますが,お考え頂けれ
ばと思います。
                 山紫水明

[ ]
RE:10529 moveto, movetolineno の返り値No.10535
秀丸担当 さん 06/06/01 11:50
 

>ファイル先頭で up や left を実行したり,ファイル末尾で down や right を
>実行したときには,result は false を返します。
>しかし,先頭や末尾でそれぞれ,
>moveto 0, y - 1;
>movetolineno 1, lineno - 1;
>や
>moveto 0, y + 1;
>movetolineno 1, lineno + 1;
>を実行してカーソルが動かなくても,result は 1 を返します。
>この場合に false を返すようにはできないでしょうか。
>マクロの互換性には多分影響はないのではないかと思いますが,お考え頂けれ
>ばと思います。

やってみようかと確認してみたところ、movetoはresultを変化させない文という
ことになっていました。
movetoを実行する前のresultの状態を維持します。

down;
moveto 0,0;
message str(result);

この例ではdownのresultを維持しています。
ヘルプのresultの説明にもこのあたりの説明があるので、もしかしたら互換性に
影響があるかもしれないので、このままとしておきたいです。

[ ]
RE:10535 moveto, movetolineno の返り値No.10542
山紫水明 さん 06/06/01 21:32
 
 秀丸担当さん,

>ヘルプのresultの説明にもこのあたりの説明があるので、もしかしたら互換性に
>影響があるかもしれないので、このままとしておきたいです。

ヘルプでは
「しかしそれは作者が意図してそうなったのではなくて、作者の手抜きによって
結果としてそうなっているものです。将来はresultの値を書き換えるような作り
に変更されるかもしれないです。」
ということなので,もしかしたらかまわないかなーと思ったのですが・・・
ともあれ,変えないということで了解です。
                                        山紫水明

[ ]