秀丸エディタ c言語用インデントNo.13918
ばん さん 03/01/25 14:16
 
秀丸エディタでC言語用インデントを有効にしても
「}」の字上げをしないようです。
例えば「{」「a」「}」の順にキー入力をすると
以前のバージョンでは

{
(tab) a
}

となっていましたが、
Ver.3.19では

{
(tab) a
(tab) }

となります。
仕様が変更されたのでしょうか?
それとも、私の設定に間違いがあるのでしょうか?

[ ]
RE:13918 秀丸エディタ c言語用インデンNo.13919
ばん さん 03/01/25 14:36
 
すいません。
別のPCでは問題ありませんでした。

でも、私のPCではなぜか「}」の字上げをしないのです。
なぜなのでしょう?

[ ]
RE:13919 秀丸エディタ c言語用インデンNo.13920
ばん さん 03/01/25 14:49
 
またまたすいません。
過去ログに同じものがありました。
http://www.maruo.co.jp/hidesoft/2/m021219.html#13713

まったく同じ症状です。

一度閉じて開きなおすと正常になり、
どうすれば再現するのかは不明です。


[ ]
RE:13920 秀丸エディタ c言語用インデンNo.13940
秀丸担当 さん 03/01/27 18:00
 
>まったく同じ症状です。
>
>一度閉じて開きなおすと正常になり、
>どうすれば再現するのかは不明です。

どうも、再現しづらい現象のようです。
こちらで詳しく調査してみるしかないようです。
何か手がかりがありましたら報告お願いします。

[ ]
RE:13940 秀丸エディタ c言語用インデンNo.13963
やまと さん 03/01/30 14:05
 
横からおじゃまします。やまとといいます。

はずしてたらすみません。

もしかしてこんな手順では?
1.全角入力の状態で'{'と打つ(ここではまだ未確定状態)
2.半角に変換して確定(インデントされる)
3.全角入力の状態で'}'と打つ(ここではまだ未確定状態)
4.半角に変換して確定(インデントされない)

この手順だと'{'の場合ではインデントされますが、
'}'ではインデントされないようです。

[ ]
RE:13963 秀丸エディタ c言語用インデンNo.13964
秀丸担当 さん 03/01/30 19:20
 
>もしかしてこんな手順では?
>1.全角入力の状態で'{'と打つ(ここではまだ未確定状態)
>2.半角に変換して確定(インデントされる)
>3.全角入力の状態で'}'と打つ(ここではまだ未確定状態)
>4.半角に変換して確定(インデントされない)

なるほど、確かにこの手順だとインデントされません。
確実に再現するのではずしているわけではないです。
しかし報告とは別の問題だと思います。
これはこれで修正しようと思います。

[ ]
RE:13963 秀丸エディタ c言語用インデンNo.13981
ばん さん 03/02/04 10:34
 
>はずしてたらすみません。
>
>もしかしてこんな手順では?
>1.全角入力の状態で'{'と打つ(ここではまだ未確定状態)
>2.半角に変換して確定(インデントされる)
>3.全角入力の状態で'}'と打つ(ここではまだ未確定状態)
>4.半角に変換して確定(インデントされない)

正解ではないものの、まんざらはずれでもないです。
このような、全角入力−半角変換で{}を入力したあと
半角入力にして{}を入力すると
100%再現します。

さらに発見。
全角文字(任意)を入力したあとは、
この現象が発生するモードに入るようです。
したがって
{
<tab>全角日本語
<tab>}
で、確実に再現します。

日本語入力はIME2000を使用しています。

[ ]
RE:13981 秀丸エディタ c言語用インデンNo.13987
秀丸担当 さん 03/02/04 19:03
 
>さらに発見。
>全角文字(任意)を入力したあとは、
>この現象が発生するモードに入るようです。
>したがって
>{
><tab>全角日本語
><tab>}
>で、確実に再現します。

こちらは、再現しませんでした。
xpに付属のIMEです。
ひょっとしたら、何かの拍子にIMEからの入力方法が変わることが
あるのかもしれないですね。
そうだとしたら「}」を半角に変換するのにも対応することで
解決できるかもしれません。

[ ]
RE:13987 秀丸エディタ c言語用インデンNo.14000
ばん さん 03/02/06 09:38
 
再現条件が判明しました。

「}」を入力するときのIMEのモードで変化します。
入力モードが【直接入力】(IMEがオフというイメージ?)では
正常にインデントしますが
入力モードが【半角英数】、変換モード【無変換】では
うまくいきません。
どちらの入力モードでも、同じように入力できるので
普段はどちらの入力モードになっているかまったく気にしません。

IMEのキー設定をATOKにすると、「変換」キーで
この半角英数無変換モードとカナ入力モードをトグル
ことができます。

多分、ATOKまたはIMEのキー設定をATOKで使用している人が
遭遇する現象なのでしょう。

まあ、直接入力で「}」を入力すれば大丈夫だということが判明し、
回避できるようになったので、とりあえずは問題なくなりました。


[ ]
RE:14000 秀丸エディタ c言語用インデンNo.14001
舩橋幸雄 さん 03/02/06 09:58
 
ばん殿

舩橋です。

IMEの場合、オートコレクトで、(){}[]「」の全角/半角が指定
できるように成っているはずです。
この設定が、"常に全角に変換する"とかになっていたりしませんか?


>再現条件が判明しました。
>
>「}」を入力するときのIMEのモードで変化します。
>入力モードが【直接入力】(IMEがオフというイメージ?)では
>正常にインデントしますが
>入力モードが【半角英数】、変換モード【無変換】では
>うまくいきません。
>どちらの入力モードでも、同じように入力できるので
>普段はどちらの入力モードになっているかまったく気にしません。
>
>IMEのキー設定をATOKにすると、「変換」キーで
>この半角英数無変換モードとカナ入力モードをトグル
>ことができます。
>
>多分、ATOKまたはIMEのキー設定をATOKで使用している人が
>遭遇する現象なのでしょう。
>
>まあ、直接入力で「}」を入力すれば大丈夫だということが判明し、
>回避できるようになったので、とりあえずは問題なくなりました。
>

[ ]
RE:14001 秀丸エディタ c言語用インデンNo.14004
ばん さん 03/02/06 14:25
 

>IMEの場合、オートコレクトで、(){}[]「」の全角/半角が指定
>できるように成っているはずです。
>この設定が、"常に全角に変換する"とかになっていたりしませんか?

変換モードは無変換なので、半角入力は半角のままです。
また、全角}はコンパイラでエラーになります。

[ ]
RE:14000 秀丸エディタ c言語用インデンNo.14005
秀丸担当 さん 03/02/06 18:31
 
>入力モードが【半角英数】、変換モード【無変換】では
>うまくいきません。

なるほど。再現できました。
これならば、入力している人にとってどちらかわかりませんね。
これが確実な再現手順だと思います。
ありがとうございます。修正させていただきます。

[ ]
RE:14005 秀丸エディタ c言語用インデンNo.14022
ひろ さん 03/02/08 17:46
 
 秀丸担当さん今日は、ひろです。
> これが確実な再現手順だと思います。
 スレッドとは別、つまり IME が OFF でも
if( #n ){#Nagai_Shiki_De_Orikaeshi=#N+1//何か長い式やコメントがかかれ
ていて、折り返されている←実際は一行
というテキストの、一行目の開く括弧「{」の後に改行をすると、インデント
無効です。

[ ]
RE:14022 秀丸エディタ c言語用インデンNo.14035
秀丸担当 さん 03/02/12 18:29
 
> スレッドとは別、つまり IME が OFF でも
>if( #n ){#Nagai_Shiki_De_Orikaeshi=#N+1//何か長い式やコメントがかかれ
>ていて、折り返されている←実際は一行
>というテキストの、一行目の開く括弧「{」の後に改行をすると、インデント
>無効です。

再現することができました。
これはまた別の問題のようですね。
対策を検討します。

[ ]
RE:14035 秀丸エディタ c言語用インデンNo.14039
ひろ さん 03/02/12 18:45
 
 秀丸担当さん今日は、ひろです。
> これはまた別の問題のようですね。
> 対策を検討します。
 宜しくお願いします。

[ ]