Nun, das entspricht doch eher einer verständlichen Logik.
Solange nun keiner einen "/undef" einbaut, bist du auf der sicheren Seite.

Mittel "/if" lassen sich auch "konfigurierbare" Copies erstellen.
Ich habe mehrere Gruppen von Funktionen in einem Copy.
Allerdings benötige ich nicht alle.

So kann ich in meiner Hauptquelle definieren:

/define FktBlock1
/define FktBlock2
:
/copy FktCopy

Ähnlich wird es in z.B. C++ auch gemacht (Dieter wird jetzt mal wieder dagegen sprechen).

Auch Versionen lassen sich so ggf. steuern.

/if Defined(Version_2)
d myCallProc pr extproc(MyCallProcV2)
d Parm1
d Parm2
/else
d myCallProc pr extproc(MyCallProc)
d Parm1
/endif

Solange also keiner explizit auf V2 verweist, wird die alte Funktion verwendet.
Dies vereinfacht die Kompilierung ins besonders bei längeren Copystrecken.

Dieter wird auch hier was dagegen haben.