diff --git a/mercurial/match.py b/mercurial/match.py
index 34e9b8b94f66db7ebe366f67cea7b64bd0ec6968_bWVyY3VyaWFsL21hdGNoLnB5..57d6c0c74b1bbc83e9a511a4a1fa8b57e2457046_bWVyY3VyaWFsL21hdGNoLnB5 100644
--- a/mercurial/match.py
+++ b/mercurial/match.py
@@ -38,7 +38,8 @@
     for kind, pat, source in kindpats:
         if kind == 'set':
             if not ctx:
-                raise error.Abort(_("fileset expression with no context"))
+                raise error.ProgrammingError("fileset expression with no "
+                                             "context")
             s = ctx.getfileset(pat)
             fset.update(s)
 
@@ -121,8 +122,8 @@
     normalize = _donormalize
     if icasefs:
         if exact:
-            raise error.Abort(_("a case-insensitive exact matcher doesn't "
-                                "make sense"))
+            raise error.ProgrammingError("a case-insensitive exact matcher "
+                                         "doesn't make sense")
         dirstate = ctx.repo().dirstate
         dsnormalize = dirstate.normalize