src/Pure/Tools/thm_deps.ML
changeset 60103 d6b043ad7b3d
parent 60097 d20ca79d50e4
child 61336 fa4ebbd350ae
--- a/src/Pure/Tools/thm_deps.ML	Thu Apr 16 23:01:33 2015 +0200
+++ b/src/Pure/Tools/thm_deps.ML	Thu Apr 16 23:16:22 2015 +0200
@@ -104,22 +104,24 @@
       else q) new_thms ([], Inttab.empty);
   in rev thms' end;
 
+val thy_names =
+  Scan.repeat1 (Scan.unless Parse.minus (Parse.position Parse.theory_xname));
+
 val _ =
   Outer_Syntax.command @{command_keyword unused_thms} "find unused theorems"
-    (Scan.option ((Scan.repeat1 (Scan.unless Parse.minus Parse.name) --| Parse.minus) --
-       Scan.option (Scan.repeat1 (Scan.unless Parse.minus Parse.name))) >> (fn opt_range =>
-        Toplevel.keep (fn state =>
+    (Scan.option ((thy_names --| Parse.minus) -- Scan.option thy_names) >> (fn opt_range =>
+        Toplevel.keep (fn st =>
           let
-            val thy = Toplevel.theory_of state;
-            val ctxt = Toplevel.context_of state;
+            val thy = Toplevel.theory_of st;
+            val ctxt = Toplevel.context_of st;
             fun pretty_thm (a, th) = Proof_Context.pretty_fact ctxt (a, [th]);
-            val get_theory = Context.get_theory thy;
+            val check = Theory.check ctxt;
           in
             unused_thms
               (case opt_range of
                 NONE => (Theory.parents_of thy, [thy])
-              | SOME (xs, NONE) => (map get_theory xs, [thy])
-              | SOME (xs, SOME ys) => (map get_theory xs, map get_theory ys))
+              | SOME (xs, NONE) => (map check xs, [thy])
+              | SOME (xs, SOME ys) => (map check xs, map check ys))
             |> map pretty_thm |> Pretty.writeln_chunks
           end)));