Compiler: Directive {$WARN} does not accept "+"/"-" instead of "ON"/"OFF"

Summary

The documentation gives an example of usage that does not compile:

This directive allows to selectively turn on or off the emission of warnings. It takes the following form

{$WARN IDENTIFIER ON}
{$WARN IDENTIFIER OFF}
{$WARN IDENTIFIER +}
{$WARN IDENTIFIER -}
{$WARN IDENTIFIER ERROR}
ON or + turns on emission of the warning. The OFF or - values suppress the warning. ERROR promotes the warning to an error, and the compiler will treat it as such.

Another question is, is there a need for a space between the number and the plus/minus (see documentation#39390 (closed))?

Example

program Project1;

// id
{$WARN 5023 ON}    // compiles
{$WARN 5023 OFF}   // compiles
{$WARN 5023 +}     // ERROR
{$WARN 5023 -}     // ERROR
{$WARN 5023+}      // ERROR
{$WARN 5023-}      // ERROR
{$WARN 5023 ERROR} // compiles

// name
{$WARN NO_RETVAL ON}    // compiles
{$WARN NO_RETVAL OFF}   // compiles
{$WARN NO_RETVAL +}     // ERROR
{$WARN NO_RETVAL -}     // ERROR
{$WARN NO_RETVAL+}      // ERROR
{$WARN NO_RETVAL-}      // ERROR
{$WARN NO_RETVAL ERROR} // compiles

begin
end.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information