On Thursday, 22 October 2015 at 19:25:43 UTC, Andrei Alexandrescu
wrote:
OK, I think I figured the problem: Unicode!
I have the following repro with DMD64 D Compiler v2.068.2 on
Ubuntu 15 (the default installation). If there's no ~/dmd.conf,
running 'dmd' alone displays the options.
If there's a zero byte dmd.conf, things still work.
If there's a dmd.conf in Unicode format (I suspect with the two
signature bytes), dmd crashes with:
dmd: inifile.c:141: void writeToEnv(StringTable*, char*):
Assertion `p' failed.
This was caused by the MonoDevelop editor, which saves files in
the format. Emacs also happily loads these files and signals
the format with a "U" in the status bar.
Andrei
The BOM was such a stupid thing. UTF-8 should have never allowed
a BOM and the byte order should have been defined for the other
formats.