mercurial/commands.py
changeset 4879 da8640113b5a
parent 4868 192cd95c2ba8
parent 4877 242026115e6a
child 4888 2d545b98a7bc
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -1107,7 +1107,11 @@ def grep(ui, repo, pattern, *pats, **opt
     reflags = 0
     if opts['ignore_case']:
         reflags |= re.I
-    regexp = re.compile(pattern, reflags)
+    try:
+        regexp = re.compile(pattern, reflags)
+    except Exception, inst:
+        ui.warn(_("grep: invalid match pattern: %s!\n") % inst)
+        return None
     sep, eol = ':', '\n'
     if opts['print0']:
         sep = eol = '\0'