不具合?:gokakkoがうまく動かないことがNo.01225
dszhm さん 07/07/05 21:44
 
環境は
OS=WinXP Pro SP2
Hme=V7.00 Beta 13
または、
OS=WinXP Home SP2
Hme=V7.00 Beta 15
です。

C/Java/JScript などのファイルで、
画面分割していて

「}」に対する「{」
(つまり、上の方にある)
が画面内に見えないときには、
gokakko で意図した移動ができるのに、

「{」に対する「}」
(つまり、下の方にある)
が画面内に見えないときには、
gokakko では少しずれて移動するようです。

追試参考情報
  [] () <>  でも、
  {}[] () でも
同様に移動できないようです。

ご確認願います。


[ ]
RE:01225 不具合?:gokakkoがうまく動かNo.01228
秀丸担当 さん 07/07/06 10:53
 

>「{」に対する「}」
>(つまり、下の方にある)
>が画面内に見えないときには、
>gokakko では少しずれて移動するようです。

いろいろ試してみましたが、問題を確認することはできませんでした。
お手数ですが、サンプルとなるテキストや、より詳しい再現手順を教えていただ
けるとこちらでも再現させることができるかもしれません。

あと、[ファイルタイプ別の設定]→[デザイン]→[複数行コメント]の状態と、
[ファイルタイプ別の設定]→[デザイン]の中の「対応する括弧の強調表示」の状
態はどのようになっているでしょうか。

[ ]
RE:01228 不具合?:gokakkoがうまく動かNo.01234
dszhm さん 07/07/06 23:00
 
>>「{」に対する「}」
>>(つまり、下の方にある)
>>が画面内に見えないときには、
>>gokakko では少しずれて移動するようです。
>
>いろいろ試してみましたが、問題を確認することはできませんでした。
>お手数ですが、サンプルとなるテキストや、より詳しい再現手順を教えていただ
>けるとこちらでも再現させることができるかもしれません。
  こちらで再現する条件を細かく探った結果を元に
 追加情報を報告します。

  再現サンプルはいたってシンプルなものです。
 新規作成したあと

  insert "{\n\t[\n\t\t(\n\t\t\t<\n";
  #line = 1;
  while(#line < 1000)
  {
    insert "\n";
    #line = #line + 1;
  }
  insert "\t\t\t>\n\t\t)\n\t]\n}\n";
  if (splitstate == 0)
  {
    split;
  }

  のマクロで作成できます。
 次に下の移動用に

  #draw = no;
  if ( #draw == no )
  {
    disabledraw;
  }
  disableerrormsg;
  #ox = x;
  #oy = y;
  gokakko;
  #rtn = result;
  enableerrormsg;
  if ( #draw == no )
  {
    enabledraw;
  }
  endmacro;

 のマクロを用意します。

 { や [ や < や ( にカーソルを置いて、
 上の移動用のマクロを実行すると
  ) や > や ] や } の1行上までしか移動しない、
 という状態になります。

>あと、[ファイルタイプ別の設定]→[デザイン]→[複数行コメント]の状態と、
 ↑の再現では、「自動判定」でグレーアウトされた「言語」内は
 「なし」になっています。

>[ファイルタイプ別の設定]→[デザイン]の中の「対応する括弧の強調表示」の状
>態はどのようになっているでしょうか。
 ↑の再現では、チェックを入れてあります。

[ ]
RE:01234 不具合?:gokakkoがうまく動かNo.01236
dszhm さん 07/07/06 23:33
 
> 次に下の移動用に
>
>  #draw = no;
 これを「#draw = yes;」にすると、正しく移動できるので、
 enabledraw の
 「カーソルが画面のどの位置に表示されるかは
  秀丸エディタ側が適当に決めてしまいます。」ということで、
 現象が発生するようです。
  「#draw = no;」でも
>  if ( #draw == no )
>  {
>    disabledraw;
>  }
>  disableerrormsg;
>  #ox = x;
>  #oy = y;
>  gokakko;
>  #rtn = result;
>  enableerrormsg;
>  if ( #draw == no )
>  {
>    enabledraw;
   が
   enabledraw screentopy;
   でも
  思ったように移動できないようです。
  やはり、「disabledraw」中は「screentopy」は
  有効ではない、ということでしょうか?
>  }
>  endmacro;

[ ]
RE:01228 不具合?:gokakkoがうまく動かNo.01237
白雲斎 さん 07/07/07 00:20
 
白雲斎です。
こちらでも再現しました。

再現の条件:
・ウインドウ分割する(上下どちらで実行しても同じ)
・disabledraw, enabledraw 双方を設定する
・gokakko または gorightkakko
・対応する括弧の画面位置はマクロのコメント参照

// 再現マクロ
#draw = no;
newfile;
//changename "foo.c";
setwindowsize 80, 20;
insert "{\n";

// 私の環境では、
// ・上限を 8 以下で問題なし
// ・上限を 9 以上で問題あり
while( lineno < 10 ) insertreturn;

insert "}\n";
split;
gofiletop;
if( #draw == no ) disabledraw;
gokakko;
$s = "描画禁止中の行番号: " + str(y) + "\n";
if( #draw == no ) enabledraw;
message $s + "解除後の行番号  : " + str(y);
clearupdated;
endmacro;

[ ]
RE:01236 不具合?:gokakkoがうまく動かNo.01242
秀丸担当 さん 07/07/09 13:57
 

> enabledraw の
> 「カーソルが画面のどの位置に表示されるかは
>  秀丸エディタ側が適当に決めてしまいます。」ということで、
> 現象が発生するようです。

手順どおりにして再現させることができました。
disabledrawしてからenabledrawするときに位置のずれが発生する場合があるよ
うです。
修正させていただきます。

>   enabledraw screentopy;
>   でも
>  思ったように移動できないようです。
>  やはり、「disabledraw」中は「screentopy」は
>  有効ではない、ということでしょうか?

disabledraw中は、ウィンドウの高さを無視しているので、スクロール発生に伴
うscreentopyはあまりアテにならない値が入っていることになります。
今回の問題の原因というわけではないです。

[ ]
RE:01242 不具合?:gokakkoがうまく動かNo.01248
dszhm さん 07/07/09 23:06
 
>> enabledraw の
>> 「カーソルが画面のどの位置に表示されるかは
>>  秀丸エディタ側が適当に決めてしまいます。」ということで、
>> 現象が発生するようです。
>
>手順どおりにして再現させることができました。
>disabledrawしてからenabledrawするときに位置のずれが発生する場合があるよ
>うです。
>修正させていただきます。
  よろしくお願いします。

>> 「カーソルが画面のどの位置に表示されるかは
>>  秀丸エディタ側が適当に決めてしまいます。」
 というのがあるので「仕様」かな、とは思ったのですが、
 対応していただいてありがとうございます。

>>   enabledraw screentopy;
>>   でも
>>  思ったように移動できないようです。
>>  やはり、「disabledraw」中は「screentopy」は
>>  有効ではない、ということでしょうか?
>
>disabledraw中は、ウィンドウの高さを無視しているので、スクロール発生に伴
>うscreentopyはあまりアテにならない値が入っていることになります。
>今回の問題の原因というわけではないです。
 disabledraw中にはアテにならないのは、
 「screentopy」だけでしょうか?
 「goscreentop」や「goscreenend」も同様なのでしょうか?

 

[ ]
RE:01248 不具合?:gokakkoがうまく動かNo.01252
秀丸担当 さん 07/07/10 15:14
 

>>> 「カーソルが画面のどの位置に表示されるかは
>>>  秀丸エディタ側が適当に決めてしまいます。」
> というのがあるので「仕様」かな、とは思ったのですが、
> 対応していただいてありがとうございます。

ヘルプのこの意味は、スクロール位置が不定になるということで、カーソル位置
は変わるべきではなかったです。

> disabledraw中にはアテにならないのは、
> 「screentopy」だけでしょうか?
> 「goscreentop」や「goscreenend」も同様なのでしょうか?

goscreentopやgoscreenendも同様に、意味が無いものになります。

[ ]
RE:01242 不具合?:gokakkoがうまく動かNo.01259
dszhm さん 07/07/12 22:51
 
>手順どおりにして再現させることができました。
>disabledrawしてからenabledrawするときに位置のずれが発生する場合があるよ
>うです。
>修正させていただきます。
  本件ですが、
  OS:WinXP Home SP2
  秀丸エディタ:V7.00 Beta 16
  で修正されていることを確認させていただきました。
 ありがとうございました。


[ ]