aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Melquiond2015-10-16 07:45:19 +0200
committerGuillaume Melquiond2015-10-16 07:45:19 +0200
commit4dd61c9459a7388078bbd2e1b6f07959c4c72001 (patch)
treeb7f73df72ac013739b723c59cbf79c76b3c42265
parent048b87502eced0a46a654f3f95de8f1968004db1 (diff)
Merge hint lists instead of appending them. (Fix bug #3199)
-rw-r--r--tactics/hints.ml8
1 files changed, 6 insertions, 2 deletions
diff --git a/tactics/hints.ml b/tactics/hints.ml
index 96c7d79ca5..2755ed9cb0 100644
--- a/tactics/hints.ml
+++ b/tactics/hints.ml
@@ -458,7 +458,9 @@ module Hint_db = struct
else List.exists (matches_mode args) modes
let merge_entry db nopat pat =
- let h = Sort.merge pri_order (List.map snd db.hintdb_nopat @ nopat) pat in
+ let h = List.sort pri_order_int (List.map snd db.hintdb_nopat) in
+ let h = List.merge pri_order_int h nopat in
+ let h = List.merge pri_order_int h pat in
List.map realize_tac h
let map_none db =
@@ -562,7 +564,9 @@ module Hint_db = struct
let remove_one gr db = remove_list [gr] db
- let get_entry se = List.map realize_tac (se.sentry_nopat @ se.sentry_pat)
+ let get_entry se =
+ let h = List.merge pri_order_int se.sentry_nopat se.sentry_pat in
+ List.map realize_tac h
let iter f db =
let iter_se k se = f (Some k) se.sentry_mode (get_entry se) in