Comment #0 by bus_dbugzilla — 2010-08-20T00:26:09Z
Created attachment 732
Patch against rdmd r1400
On Windows (XP Pro SP2 32-bit, not sure about other versions):
Expected:
------------------------
C:\myDir>rdmd helloworld.d
Hello, world!
C:\myDir>
------------------------
Actual:
------------------------
C:\myDir>rdmd helloworld.d
C:\myDir>Hello, world!
------------------------
This happens because execv fools the Windows command-line into thinking the
program is done and returning control back to the user.
Comment #1 by bus_dbugzilla — 2010-08-20T00:30:21Z
Note: The patch also fixes a minor issue where rdmd imports the "scheduled for deprecation" std.contracts instead of the (apparently) preferred std.exception.
Comment #2 by bus_dbugzilla — 2010-08-20T14:10:24Z
Created attachment 734
Fixed patch against rdmd r1400
Fixed an issue with the patch, too many backslashes were being escaped.
Comment #3 by bus_dbugzilla — 2010-08-21T13:54:45Z
Created attachment 735
Re-Fixed patch against rdmd r1400
Another fix for the patch: Double-quotes weren't properly escaped.
Comment #4 by bus_dbugzilla — 2010-08-24T21:42:18Z
Note that this bug is not just cosmetic: It causes problems for programs that launch rdmd through a "system()" call. The system() call will return *before* the rdmd'ed program runs which causes a (repeatable) race problem.
Comment #5 by bus_dbugzilla — 2010-09-24T13:58:53Z