Summary: std.getopt erroneously splits arguments
           Product: D
           Version: 2.025
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Phobos

When you try:
rdmd --eval='printf("Hello world\n");'

You get an error. rdmd tried compiling the string 'printf("Hello'.

Looking into this further, std.getopt explicitly ignores shell escaping.
There's no way to pass in an argument with spaces using std.getopt.

The fix is to eliminate lines 312 to 327 inclusive in std/getopt.d, and rely on
the shell to split the arguments properly.


Reply via email to