wadman писал(а):Endf? Не должен быть endif?
Да, вы правы. Опечатался.
zub писал(а):у меня не работает. откуда предпологается редактор должен брать опции компилятора? из исходников? из настроек лазаря? или из fpc.cfg?
гм ... Лазарус формирует список опций для компилятора ... наверно как-то должен знать, что он там понаписал 

При настройке проекта, я имею возможность поставить галочку "Генерировать отладочную информацию", которая успешно трансформируется в параметры командной строки 
fpc.exe..-g. При этом работа компилятора верная, сам 
FPC прекрасно разруливает 
{$IFOPT D+} и 
{$IFOPT D-} в зависимости от параметра 
-g.
Вчера копался в исходниках Лазаруса. Функционал расположен 
..components\codetools\LinkScaner.pas:TLinkScanner.IfOptDirective.
Мои предположения о внутренней работе: На основе настроек проекта, "парсинга" исходников, создается список "переменных" отражающий параметры компиляции. Однако, галочка "Генерировать отладочную информацию" в этих переменных никак не отражается, по этому редактор Лазаруса не корректно определяет активную ветку 
{$IFOPT D+}. Баг это или фича, для меня не ясно ... как и где повлиять на формирование списка, я пока тоже не нашел )))