@PascalDragon,
I don't know if you saw the bug report I created about these invalid control characters, my points are:
1. that Delphi accepts it does not make it right.
2. the ASCII standard defines the set of valid control characters and ^( , ^) are not in the set, thus they are invalid.
Lastly, presuming the character "f" is ^%, the character "o" is ^$ and "r" is ^1 then whoever wants to argue that those control sequences are valid has to explain why neither FPC nor Delphi accepts:
^%^$^! ^(:= 1 to 5 do begin end; { for i := 1 to 5 ... etc }
For some "odd" reason the compiler's scanner doesn't accept these "valid" control characters but has no problems accepting those defined by the standard. (t accepts them in a writeln statement.)
PS: I didn't, nor will I, take the time to figure out what invalid control characters represent the string "for" (not worth the time.)