Improve parsing for bang patterns (fixes Trac #1041)