ViVi SPR System build 0025 project:
Mail: Pass:
[ 新規アカウント作成 | パスワード忘れ ]

Warning: pg_query(): Query failed: ERROR: could not extend file "base/31561/31562": ENOSPC HINT: Check free disk space. in /var/www/SPR/SPR.phtml on line 2729
[ 新規SPR | SPR一覧 | コメント一覧 | statistics | 最新ビルド:2.10.106 | crash履歴 | SPR DB 一覧 | ユーザ一覧 | 使い方 | レポートの書き方 ] [ ViVi Home ]
一覧表示: [ New | Pend | Open | Reopen | Fixed | NPTF | 問題優先順 | 問題vote順 | 優先順 | vote順 | 重要度順 | Ref,ToDo | Help不備 | 対処順 ]
[ 前のSPR | 次のSPR ]
SPR#0317 0 point voted
状態:Close結果: 優先度:C重要度:C
報告日:09/08/20build:2.10.024OS:WinXPby:ykn
概要:#if の判別結果が不良
詳細:■ 操作前状態:
以下のファイル(*.cpp)を作成
#if defined AAA
    #define zzz 1;
#else
    #define zzz 2;
#endif

#if !defined AAA
    #define zzz 2;
#else
    #define zzz 1;
#endif

1、この状態で全ての行が通常表示。
希望:2,10行目がコメント指定色
2、"AAA"の前の空白を2個以上にすると2,10行目がコメント指定色(正常)
3、空白を1つに戻し、":define"により、"AAA"を定義。4,8行目がコメント行の指定色(正常)。
4、"AAA"の前の空白を2個以上にすると、2,10行目がコメント指定色に変わる。
希望:4,8行目がコメント指定色

実際の複雑なソースでは、例とは異なった不可解な判別も有るようです。
添付画像:
point:20対処日: build: close日:09/08/20
#1 つだ (09/08/20 12:28:48)
確認ですが、AAA の定義はどうなっているのでしょうか?

わたしの環境で define ダイアログで AAA を定義した場合、添付画像のように正常に判定できているみたいです。
#2 つだ (09/08/20 12:29:46)
なお、AAA の定義が無い場合は全ての行が通常表示されるのは意図した動作です。
#3 ykn (09/08/20 12:48:39)
Cのプリプロセッサと同様に、値無しの定義も有効と考えていました。Cのプリプロ動作と合せたほうが良い様に感じますが、仕様であればOKです。ただ、であれば2、の動作は矛盾しませんか。
4、は0や1の値で定義してもAAAの前に空白やtabを2個以上入れると逆転しますが。
#4 つだ (09/08/20 13:17:53)
本件はクローズとします。
4. については紛らわしいので 別件として SPR#0318 と登録しておきました。
#5 ykn (09/08/20 13:19:49)
すみません。定義の意味が混乱しています。つださんがおっしゃる定義とは"val"無しの定義も含まれますか。#3での発言は、"val"無しでの定義は定義が無いと受取っての物ですが。
#6 つだ (09/08/20 13:54:47)
あいまいな書き方ですみません。
わたしが書いた「定義されている」とは「define ダイアログでシンボルを登録している」という意味です。
val あり、なしは関係しません。
[ 新規SPR | SPR一覧 | コメント一覧 | statistics | 最新ビルド:2.10.106 | crash履歴 | SPR DB 一覧 | ユーザ一覧 | 使い方 | レポートの書き方 ] [ ViVi Home ]
一覧表示: [ New | Pend | Open | Reopen | Fixed | NPTF | 問題優先順 | 問題vote順 | 優先順 | vote順 | 重要度順 | Ref,ToDo | Help不備 | 対処順 ]


優先度:重要度(Severity):
 A:最優先で対処  A:通常操作でのクラッシュ・無限ループ
 B:必ず対処  B:特殊な条件、環境でのクラッシュ・無限ループ、非常に重要な動作不良
 C:原則対処  C:機能が動作しないなどの普通の動作不良
 D:簡単であれば対処 D:些細な動作不良で、簡単な代替手段があるもの
 E:NPTF候補 E:ミススペルや誤った文章など、機能そのものの動作に影響を与えない、さほど重要ではないもの
  H:ヘルプの不備
  M:メモリリーク
  P:パフォーマンス問題
  R:リファクタリング
  T:機能強化要望(Enhancement)、ToDo
  X:XT(eXtreme Toolkit)に由来する問題