summaryrefslogtreecommitdiff
path: root/dev-ml/ppx_tools/files/ocaml404.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ml/ppx_tools/files/ocaml404.patch')
-rw-r--r--dev-ml/ppx_tools/files/ocaml404.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/dev-ml/ppx_tools/files/ocaml404.patch b/dev-ml/ppx_tools/files/ocaml404.patch
new file mode 100644
index 000000000000..8a2ccee071e4
--- /dev/null
+++ b/dev-ml/ppx_tools/files/ocaml404.patch
@@ -0,0 +1,47 @@
+Index: ppx_tools-5.0-4.03.0/ast_mapper_class.ml
+===================================================================
+--- ppx_tools-5.0-4.03.0.orig/ast_mapper_class.ml
++++ ppx_tools-5.0-4.03.0/ast_mapper_class.ml
+@@ -335,6 +335,7 @@ module P = struct
+ | Ppat_unpack s -> unpack ~loc ~attrs (map_loc sub s)
+ | Ppat_exception p -> exception_ ~loc ~attrs (sub # pat p)
+ | Ppat_extension x -> extension ~loc ~attrs (sub # extension x)
++ | Ppat_open (l, p) -> open_ ~loc ~attrs (map_loc sub l) (sub # pat p)
+ end
+
+ module CE = struct
+Index: ppx_tools-5.0-4.03.0/genlifter.ml
+===================================================================
+--- ppx_tools-5.0-4.03.0.orig/genlifter.ml
++++ ppx_tools-5.0-4.03.0/genlifter.ml
+@@ -49,8 +49,8 @@ module Main : sig end = struct
+ let rec gen ty =
+ if Hashtbl.mem printed ty then ()
+ else let tylid = Longident.parse ty in
+- let (_, td) =
+- try Env.lookup_type tylid env
++ let td =
++ try Env.find_type (Env.lookup_type tylid env) env
+ with Not_found ->
+ Format.eprintf "** Cannot resolve type %s@." ty;
+ exit 2
+Index: ppx_tools-5.0-4.03.0/rewriter.ml
+===================================================================
+--- ppx_tools-5.0-4.03.0.orig/rewriter.ml
++++ ppx_tools-5.0-4.03.0/rewriter.ml
+@@ -92,13 +92,13 @@ let () =
+ | `Struct ->
+ let pstr = Parse.implementation lexer in
+ let pstr = Pparse.apply_rewriters (* ~restore:true *) ~tool_name:!tool_name
+- Config.ast_impl_magic_number pstr in
++ Pparse.Structure pstr in
+ Pprintast.structure fmt pstr;
+ Format.pp_print_newline fmt ()
+ | `Sig ->
+ let psig = Parse.interface lexer in
+ let psig = Pparse.apply_rewriters (* ~restore:true *) ~tool_name:!tool_name
+- Config.ast_intf_magic_number psig in
++ Pparse.Signature psig in
+ Pprintast.signature fmt psig;
+ Format.pp_print_newline fmt ())
+ with exn ->