diff options
| -rw-r--r-- | interp/symbols.ml | 7 | ||||
| -rw-r--r-- | interp/symbols.mli | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/interp/symbols.ml b/interp/symbols.ml index a79d98495b..427524c74d 100644 --- a/interp/symbols.ml +++ b/interp/symbols.ml @@ -193,7 +193,7 @@ type num_uninterpreter = rawconstr list * (rawconstr -> bigint option) * (cases_pattern -> bigint option) option -type required_module = string list +type required_module = global_reference * string list let numeral_interpreter_tab = (Hashtbl.create 7 : (scope_name,required_module*num_interpreter) Hashtbl.t) @@ -206,10 +206,11 @@ let declare_numeral_interpreter sc dir interp (patl,uninterp,uninterpc) = (sc,uninterp,uninterpc)) patl -let check_required_module loc sc d = +let check_required_module loc sc (ref,d) = let d' = List.map id_of_string d in let dir = make_dirpath (List.rev d') in - if not (Library.library_is_loaded dir) then + try let _ = sp_of_global ref in () + with Not_found -> user_err_loc (loc,"numeral_interpreter", str ("Cannot interpret numbers in "^sc^" without requiring first module " ^(list_last d))) diff --git a/interp/symbols.mli b/interp/symbols.mli index 483c0b792d..051b0aa3cb 100644 --- a/interp/symbols.mli +++ b/interp/symbols.mli @@ -65,7 +65,7 @@ type num_uninterpreter = rawconstr list * (rawconstr -> bigint option) * (cases_pattern -> bigint option) option -type required_module = string list +type required_module = global_reference * string list val declare_numeral_interpreter : scope_name -> required_module -> num_interpreter -> num_uninterpreter -> unit |
