Now I noticed that it introduces inconsistency, but due to a second problem - that grep prints lines even when there were no matching strings. For example if I run: $ echo "a" | grep -E "{1,3}" $ echo "a" | grep -i "\a" then it returns the string "a" even though it doesn't match anything. With my patch it correctly does not print the string but I think for consistency it also requires adaptations in case --color was not passed. I'll try to work on that. Best regards, Tomasz Dziendzielski