diff options
Diffstat (limited to 'dev-ml/eliom/files/camlp4.patch')
-rw-r--r-- | dev-ml/eliom/files/camlp4.patch | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/dev-ml/eliom/files/camlp4.patch b/dev-ml/eliom/files/camlp4.patch deleted file mode 100644 index 59e94ab462a2..000000000000 --- a/dev-ml/eliom/files/camlp4.patch +++ /dev/null @@ -1,48 +0,0 @@ -commit f157a5b913451b85e8cfe7549c66e5c98669233b -Author: Vasilis Papavasileiou <git@vasilis.airpost.net> -Date: Wed Mar 2 14:23:02 2016 +0100 - - Compile against Camlp4 4.02+7 - -diff --git a/src/syntax/pa_eliom_seed.ml b/src/syntax/pa_eliom_seed.ml -index c101ff8..dc31caa 100644 ---- a/src/syntax/pa_eliom_seed.ml -+++ b/src/syntax/pa_eliom_seed.ml -@@ -632,8 +632,26 @@ module Register(Id : sig val name: string end)(Pass : Pass) = struct - | None -> - Printf.ksprintf (Syntax_error.raise loc) fmt - -- module E2 = Camlp4.ErrorHandler.Register(Syntax_error) -- DELETE_RULE Gram expr: "{"; TRY [label_expr_list; "}"] END; -+ module E2 = Camlp4.ErrorHandler.Register(Syntax_error) ;; -+ -+ try -+ DELETE_RULE Gram expr: "{"; TRY [label_expr_list; "}"] END -+ with Camlp4.Struct.Grammar.Delete.Rule_not_found _ -> -+ (let test_record_field = -+ Gram.Entry.of_parser "record_field" (fun strm -> -+ let rec loop = function -+ | [] -> () -+ | (UIDENT _, _) :: (KEYWORD ".", _) :: rest -> loop rest -+ | (LIDENT _, _) :: (KEYWORD "=", _) :: _ -> () -+ | (LIDENT _, _) :: (KEYWORD ";", _) :: _ -> () -+ | [LIDENT _, _] -> () -+ | _ -> raise Stream.Failure -+ in -+ loop (Stream.npeek 100 strm)) -+ in -+ DELETE_RULE Gram expr: -+ "{"; test_record_field; label_expr_list; "}" END) ;; -+ - DELETE_RULE Gram expr: "{"; TRY [expr LEVEL "."; "with"]; label_expr_list; "}" END; - - (* Extending syntax *) -@@ -812,7 +830,7 @@ module Register(Id : sig val name: string end)(Pass : Pass) = struct - expr: LEVEL "simple" - - [ [ KEYWORD "{"; lel = TRY [lel = label_expr_list; "}" -> lel] -> -- <:expr< { $lel$ } >> -+ Ast.ExRec (_loc, lel, Ast.ExNil _loc) - | KEYWORD "{shared#"; - typ = TRY [ typ = OPT ctyp; KEYWORD "{" -> typ]; - opt_lvl = dummy_set_level_shared_value_expr ; |