See the attachment — the condition in the directive
should be met, so the content should be rendered in a colored (red) form. Meanwhile, the content is rendered using the style intended for inactive code (darkened text, just
135 opacity). So, in short, the code highlighter suggests that the condition is not met, but the compiler correctly detects this condition as met and aborts compilation.
const
BUFFER_WIDTH = 128;
BUFFER_HEIGHT = 128;
const
WORLD_WIDTH = 96;
WORLD_HEIGHT = 128;
{$IF WORLD_WIDTH < BUFFER_WIDTH}
{$FATAL message to print}
{$ENDIF}
{$IF TRUE}
{$FATAL message to print}
{$ENDIF}
I added the second condition (this
$IF TRUE) just to illustrate what the style of the active code should look like.
This is how it looks in Lazarus 3.6 (official stable release). Can someone check how it looks in Lazarus 4.0 RC1 (or in the latest trunk) and confirm the existence of the problem? If so, I will report it to GitLab.