フリーカーソル時のタブ自由配置No.06253
jechabon さん 10/11/25 16:59
 
お世話になります。

今まで「タブの文字数」を4で使用していましたが、
タブ上のマウスカーソル枠(ボックス表示)をタブ全体で
表示したいので自由配置のタブストップ[4]に変更しました。
すると、以下のよな現象が発生しました。

フリーカーソルモードで改行より右に文字を入力すると、通常は
入力した桁までタブが自動挿入されますが、タブ自由配置にすると
タブと半角スペースが混在して挿入され、入力した文字が左に移動
してしまいます。
そちらでも再現しますか?

環境:XP(SP3)+秀丸8.03β2

[ ]
RE:06253 フリーカーソル時のタブ自由配置No.06254
秀丸担当 さん 10/11/25 17:34
 

>フリーカーソルモードで改行より右に文字を入力すると、通常は
>入力した桁までタブが自動挿入されますが、タブ自由配置にすると
>タブと半角スペースが混在して挿入され、入力した文字が左に移動
>してしまいます。
>そちらでも再現しますか?

言われている通りに再現させることができました。
TSVモード時はこの挙動用にタブストップを考慮した特別な処理をしていました
が、自由配置のときはしていませんでした。
自由配置のときもできるように修正させていただきます。

[ ]
RE:06254 フリーカーソル時のタブ自由配置No.06270
jechabon さん 10/12/02 16:52
 
> TSVモード時はこの挙動用にタブストップを考慮した特別な処理をしていました
> が、自由配置のときはしていませんでした。
> 自由配置のときもできるように修正させていただきます。

V8.03β3で修正内容を確認してみましたが、少し動作がおかしいようです。

タブ位置−1のフリーカーソル桁位置で文字を挿入すると
半角スペースが挿入されず、挿入文字が左にずれてしまいます。
例えば自由配置で4タブに設定し、改行のみの空行でカーソル
位置を4桁目に移動して半角文字を挿入すると、1桁目に文字
が挿入されてしまいます。

また、文字挿入後にUNDO(やり直し)をする場合、2回UNDO
しないと元に戻りませんでした。

[ ]
RE:06270 フリーカーソル時のタブ自由配置No.06271
秀丸担当 さん 10/12/02 17:25
 

>タブ位置−1のフリーカーソル桁位置で文字を挿入すると
>半角スペースが挿入されず、挿入文字が左にずれてしまいます。
>例えば自由配置で4タブに設定し、改行のみの空行でカーソル
>位置を4桁目に移動して半角文字を挿入すると、1桁目に文字
>が挿入されてしまいます。

TSVモード用の処理のため、確かにそうなってしまいました。
自由配置の場合は、固定のときに近い幅の空白を入れるように修正させていただ
きます。

いま手元で直してみた限りでは大丈夫そうです。
あくまでプロポーショナルフォントという扱いのため、もしかしたら幅の都合に
よって完全には同じ数にならない場合があるかもしれません。

>また、文字挿入後にUNDO(やり直し)をする場合、2回UNDO
>しないと元に戻りませんでした。

こちらも確かにそうなりました。
タブ幅が固定のときも従来からそうだったようです。
もしかしたら互換性で何らかの問題が起きるかもしれないので、申し訳ありませ
んが、V8.03においてはこのままにさせていただこうと思います。
一度にやり直しできたらいいということで課題にさせていただきます。

[ ]
RE:06271 フリーカーソル時のタブ自由配置No.06299
jechabon さん 10/12/13 14:29
 
> 自由配置の場合は、固定のときに近い幅の空白を入れるように修正させていただ
> きます。

8.03β4でで修正内容を確認しました。
新たに下記の不具合が見つかりましたので報告します。

自由配置タブで行末(正規表現で\n)を検索すると、カーソル形状が
おかしくなります。
例えば、\nのヒットした行末文字(CR+LFの直前文字)が全角だと
改行コード上のカーソルも全角になり、行末文字がタブだと、
改行コード上のカーソルもタブサイズ(横長)になります。
また、行末文字が全角の罫線「┃」(0x84AB)だとカーソルが
消えてしまいます。

ご確認お願いします。

[ ]
RE:06299 フリーカーソル時のタブ自由配置No.06300
秀丸担当 さん 10/12/13 15:21
 

>自由配置タブで行末(正規表現で\n)を検索すると、カーソル形状が
>おかしくなります。
>例えば、\nのヒットした行末文字(CR+LFの直前文字)が全角だと
>改行コード上のカーソルも全角になり、行末文字がタブだと、
>改行コード上のカーソルもタブサイズ(横長)になります。
>また、行末文字が全角の罫線「┃」(0x84AB)だとカーソルが
>消えてしまいます。

報告ありがとうございます。
確かに検索にヒットしたときのキャレット幅がおかしくなっていることが確認で
きました。
プロポーショナルフォントを使っているときは以前からおかしかったようです。
次のβ版で修正させていただきます。

[ ]
RE:06300 フリーカーソル時のタブ自由配置No.06301
jechabon さん 10/12/14 10:30
 
追加報告です。

自由配置タブにすると } を入力した時のC言語用の自動インデントが
効かなくなってしまいます。

[ ]
RE:06301 フリーカーソル時のタブ自由配置No.06302
秀丸担当 さん 10/12/14 11:25
 

>自由配置タブにすると } を入力した時のC言語用の自動インデントが
>効かなくなってしまいます。

報告ありがとうございます。
確かにうまくいっていませんでした。
次のβ版で修正させていただきます。

[ ]