On 20.08.2011 11:40, Dmitry Olshansky wrote:
On 20.08.2011 12:39, Rainer Schuetze wrote:
Hi,
I recently updated to the latest revision from github and tried to
compile my main project visuald with it. Here are some complications
that have hit me:
[...]
2. std.regexp is deprecated now, which is good, because there is no
reason to have two different implementations of regular expressions.
Unfortunately, std.regex seems to have some problems with rather
simple regular expressions like r"^(.*)\(([0-9]+)\):(.*)$" that is
supposed to match error messages like "file.d(37): huhu". std.regexp
worked for this expression.
That's most likely my fault, since there is a special casing for .* in
std.regex which very well might be at fault here. Honestly, at a
certain point I just gave up on trying to fix current std.regex,
apparently a bit early. A quick test on this would be
r"^([\x00-\x80]*)\(([0-9]+)\):([\x00-\x80]*)$".
Thanks for confirming. Your workaround works for this regular
expression. But I also have a user input field that can be a regular
expression, where ".*" would be nice to work out of the box. I could
replace it with the range as a workaround, though.
Dmitry Olshansky's new std.regex also works, but it does not compile
with warnings enabled (even not with -wi) (
http://d.puremagic.com/issues/show_bug.cgi?id=6518 ).
Btw I thought -wi is supposed to just list it as warning.
I thought so, too. But the check is only done when warnings are enabled,
but an error is issued instead of a warning (statement.c, line 676).
_______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta