Про goto спроси у СКВОЗНЯКА
он его любит. А вообще он есть, правда, мое мнение, что нужно выпустить закон, запрещающий goto ;D
В Павкале есть {$DEFINE NAME}, но макросы так не определить - можно только потом использовать это в конструкциях типа {$IFDEF NAME}...{$ELSE}...{$ENDIF}. Это может пригодиться, например, для отладки - написАл в начале {$DEFINE DEBUG}, а дальше, если хочешь иметь в программе отладочные разные выводы на экран, или запись в лог, или еще чего-нибудь (но только на время отладки), пишешь их внутри условий {$IFDEF DEBUG}...{$ENDIF}. А чтобы потом их разом все убрать, просто стираешь в начале программы эту {$DEFINE DEBUG}, и все, что внутри этих ИФДЕФОВ, не компилируется.
н-да... объяснил, называется...