◀ANSI版開発トップへ
  • 3030 コメント色分けの不具合
    • 3039 Re:コメント色分けの不具合
  • [3030] コメント色分けの不具合 げんた 2003年08月19日 22:28

    コメントの色分けで本来コメントでない場所がコメント色になってしまう現象が発生しますが,[EOF]のみの行で発生することから行の新規挿入で設定しているコメントモードが変な気がします.

    CLayoutMgr::DoLayout_Range()でコメントモードを設定していますが,なんとなく行の最終状態ではなく1つ前の状態をもとに新しい行を作っているように見えるのですが...

    この関数自体複雑なのと,nCOMMENTMODE_Prevの表すものが不明確なのでこれ以上は調べられていません.
    • [3039] Re:コメント色分けの不具合 novice 2003年08月29日 21:42

      再投稿です。

      ▼ げんたさん
      > コメントの色分けで本来コメントでない場所がコメント色になってしまう現象が発生しますが,[EOF]のみの行で発生することから行の新規挿入で設定しているコメントモードが変な気がします.

      不具合の再現条件を調べました。

      ■ssrc_2002-10-06.tar.bz2(1.3.5.1)
      ・パターン1→再現しない。
      ・パターン2→再現しない。
      ・パターン3→再現する。

      ■ssrc_2002-10-10.tar.bz2(1.3.5.2)
      ・パターン1→再現する。
      ・パターン2→再現する。
      ・パターン3→再現する。

      原因を調査してみましたが、[EOF]がある行の色指定が(1.3.5.1)では、CLayoutクラスのm_nTypeNextで管理されていましたが、(1.3.5.2)ではCLayoutMgrクラスのm_nLineTypeBotで管理するように変更されているようです。
      (変更履歴を見ましたが、理由は分かりません)

      ssrc_2003-08-20.tar.bz2(1.4.3.0)から上記変更(m_nLineTypeBot→m_nTypeNext)を元に戻してみたところ、
      ・パターン1→再現しない。
      ・パターン2→再現しない。
      ・パターン3→再現する。
      となりました。

      差分ソースを下記に置きます。
      /Developer/Source/diff_ssrc_2003-08-20.lzh