diff -Naur grep-2.5.4.183-9159.orig/configure grep-2.5.4.183-9159/configure --- grep-2.5.4.183-9159.orig/configure 2010-03-17 17:01:06.000000000 +0000 +++ grep-2.5.4.183-9159/configure 2010-03-19 22:13:34.000000000 +0000 @@ -14652,7 +14652,7 @@ return 1; /* Ensure that [b-a] is diagnosed as invalid. */ - re_set_syntax (RE_SYNTAX_POSIX_EGREP); + re_set_syntax (RE_SYNTAX_POSIX_EGREP | RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("a[b-a]", 6, ®ex); if (s == 0) diff -Naur grep-2.5.4.183-9159.orig/src/search.c grep-2.5.4.183-9159/src/search.c --- grep-2.5.4.183-9159.orig/src/search.c 2010-03-17 10:23:12.000000000 +0000 +++ grep-2.5.4.183-9159/src/search.c 2010-03-19 22:14:06.000000000 +0000 @@ -368,7 +368,7 @@ COMPILE_FCT(Ecompile) { - return GEAcompile (pattern, size, RE_SYNTAX_POSIX_EGREP); + return GEAcompile (pattern, size, RE_SYNTAX_POSIX_EGREP | RE_NO_EMPTY_RANGES); } #endif /* !EGREP_PROGRAM */