xとxviewの値No.36601
K'zawa さん 18/06/03 23:37
 
こんにちは、K'zawaです。

タブ文字でないところで x と xview の値が異なる場合があります。
100近くの差があることもあります。
どちらも行の長さを超えたりします。
際限方法はいまいち分からないのですが、選択中に気がつくことが多いです。
というのは、読み上げマクロの中で、選択中はカーソルを動かしたりするので、
元の位置に戻れず、ずれていくからなのですが。

[ ]
RE:36601 xとxviewの値No.36605
秀丸担当 さん 18/06/04 10:32
 

xとxviewが同じ値になるべき場所で、違う値になることがあるとしたら、何らかのバ
グがあるということで間違いないと思います。
こちらで幾つかのパターンを試してみた限りでは、いまのところ再現できていないの
ですが、もし再現する方法がわかるようでしたら教えていただけると助かります。
そういう可能性が無いか調べてみます。


[ ]
RE:36605 xとxviewの値No.36610
K'zawa さん 18/06/04 22:44
 
秀丸担当さん、こんにちは。
K'zawaです。

>こちらで幾つかのパターンを試してみた限りでは、いまのところ再現できていないので
すが、もし再現する方法がわかるようでしたら教えていただけると助かります。

・TSVモード
・shiftleft/shiftright

が必須条件のようです。


config "xTabMode:1";
while ( unicode != eof ) {
    shiftright;
    if ( x != xview ) {
        beep;
        break;
    }
}
message str(x) + "\t" + str(xview);

[ ]
RE:36610 xとxviewの値No.36611
K'zawa さん 18/06/04 22:57
 
タブ貫通ではない状態で実行しています。

[ ]
RE:36611 xとxviewの値No.36612
秀丸担当 さん 18/06/05 08:57
 

再現条件の情報ありがとうございます。
TSVモードで確かにずれることが確認できました。
プロポーショナルフォントでも同様でした。

xキーワードはもともとプロポーショナルフォントではタブ文字は1文字としてカウ
ントされるという仕様がありました。
TSVモードでもプロポーショナルフォントと同じように1文字として数えられます。

xviewキーワードについては、プロポーショナルフォントであっても見た目上の位置
で表されます。
xviewで違いが出るのはタブ文字が貫通するときだけでなくプロポーショナルフォン
トやTSVモードもあるのでヘルプの説明不足でした。その点も追記したいと思います。
xviewで得た位置に移動するには、movetoview文を使うと移動できます。
タブ文字が貫通する設定がOFFであっても、xviewで得たものはmovetoview文を使うよ
うにするといいと思います。

[ ]
RE:36612 xとxviewの値No.36613
K'zawa さん 18/06/05 11:54
 
秀丸担当さん、こんにちは。
K'zawaです。

>xviewキーワードについては、プロポーショナルフォントであっても見た目上の位置
>で表されます。
>xviewで違いが出るのはタブ文字が貫通するときだけでなくプロポーショナルフォン
>トやTSVモードもあるのでヘルプの説明不足でした。その点も追記したいと思います。

なるほど、xとcolumnを混ぜてはいけないように、xとxviewも混ぜてはいけないとい
うことですね。
わかりました。

タブ貫通に設定すると、CSVモードのカンマの部分も貫通するのですね!

[ ]