summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc/ledit/files/ledit-2.04-ocaml4.09.patch')
-rw-r--r--app-misc/ledit/files/ledit-2.04-ocaml4.09.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/app-misc/ledit/files/ledit-2.04-ocaml4.09.patch b/app-misc/ledit/files/ledit-2.04-ocaml4.09.patch
new file mode 100644
index 000000000000..2ececde9e922
--- /dev/null
+++ b/app-misc/ledit/files/ledit-2.04-ocaml4.09.patch
@@ -0,0 +1,34 @@
+diff --git a/ext/pa_def.ml b/ext/pa_def.ml
+index 812240d..871bfe2 100644
+--- a/ext/pa_def.ml
++++ b/ext/pa_def.ml
+@@ -33,7 +33,7 @@ value subst mloc env =
+ loop where rec loop =
+ fun
+ [ <:expr< let $opt:rf$ $list:pel$ in $e$ >> ->
+- let pel = List.map (fun (p, e) -> (p, loop e)) pel in
++ let pel = List.map (fun (p, e, al) -> (p, loop e, al)) pel in
+ <:expr< let $opt:rf$ $list:pel$ in $loop e$ >>
+ | <:expr< if $e1$ then $e2$ else $e3$ >> ->
+ <:expr< if $loop e1$ then $loop e2$ else $loop e3$ >>
+diff --git a/ext/pa_local.ml b/ext/pa_local.ml
+index b65704d..3ef9cd1 100644
+--- a/ext/pa_local.ml
++++ b/ext/pa_local.ml
+@@ -23,13 +23,15 @@ value expr_of_patt p =
+ | _ -> Stdpp.raise_with_loc loc (Stream.Error "identifier expected") ]
+ ;
+
++value fst3 (a,b,c) = a ;
++
+ EXTEND
+ str_item:
+ [ [ "local"; rf = [ "rec" -> True | -> False ];
+ lb = LIST1 let_binding SEP "and"; "in"; "value";
+ rf1 = [ "rec" -> True | -> False ];
+ lb1 = LIST1 let_binding SEP "and" ->
+- let pl = List.map fst lb1 in
++ let pl = List.map fst3 lb1 in
+ let el = List.map expr_of_patt pl in
+ <:str_item<
+ value ($list:pl$) =