前: Simple Changes, 上: Change Logs
Cのプログラムはしばしばコンパイル時の#if
条件文を含む。たくさんの
変更は条件文だ。ときどき条件文に全体的に含まれている新しい定義を加える。
変更履歴にその変更が適用されるのがどれか条件を示すことは非常に役に立つ。
条件付きの変更を示す我々の慣習は条件の名前の周りに角括弧を使うことだ。
ここで、条件付きだが、それに付随する関数や実体の名前を持たない変更を記述 する、簡単な例を挙げる。
* xterm.c [SOLARIS2]: Include string.h.
ここで全部条件付きである新しい定義を記述する項目を挙げる。
FRAME_WINDOW_P
というマクロに対するこの新しい定義は
HAVE_X_WINDOWS
が定義されているときだけ使われる。
* frame.h [HAVE_X_WINDOWS] (FRAME_WINDOW_P): Macro defined.
ここに、全体として定義は無条件だが、変更自体は`#ifdef
HAVE_LIBNCURSES'条件に含まれる、init_display
という関数内での変更
に対する項目を挙げる。
* dispnew.c (init_display) [HAVE_LIBNCURSES]: If X, call tgetent.
ここであるマクロが定義されないときだけ影響を持つ変更の項目を挙げる。
(gethostname) [!HAVE_SOCKETS]: Replace with winsock version.