Index: CHANGES =================================================================== retrieving revision 6.41 retrieving revision 6.43 diff -c -r6.41 -r6.43 *** CHANGES 21 May 2011 13:22:19 -0000 6.41 --- CHANGES 20 Sep 2011 10:10:25 -0000 6.43 *************** *** 1,6 **** --- 1,8 ---- Camlp5 Version 6.02.3: ---------------------- + * [20 Sep 11] Added missing syntax "_" in ending patt records (rev: "_ = _"). + * [20 Sep 11] Fixed bug pattern -1L was refused in normal syntax. * [21 May 11] Fixed bug impacting files using q_ast.cmo extension (bad ast). * [03 May 11] Fixed bug: lexeme errors in revised syntax + utf8. * [24 Mar 11] Fixed bug: M.(a+b) was refused in normal syntax. Index: etc/pa_o.ml =================================================================== retrieving revision 6.35 retrieving revision 6.37 diff -c -r6.35 -r6.37 *** etc/pa_o.ml 24 Mar 2011 15:31:50 -0000 6.35 --- etc/pa_o.ml 20 Sep 2011 10:10:25 -0000 6.37 *************** *** 1,5 **** (* camlp5r *) ! (* $Id: pa_o.ml,v 6.35 2011-03-24 15:31:50 deraugla Exp $ *) (* Copyright (c) INRIA 2007-2011 *) #load "pa_extend.cmo"; --- 1,5 ---- (* camlp5r *) ! (* $Id: pa_o.ml,v 6.37 2011-09-20 10:10:25 deraugla Exp $ *) (* Copyright (c) INRIA 2007-2011 *) #load "pa_extend.cmo"; *************** *** 771,776 **** --- 771,779 ---- | s = V INT_L -> <:patt< $_int64:s$ >> | s = V INT_n -> <:patt< $_nativeint:s$ >> | "-"; s = INT -> <:patt< $int:"-" ^ s$ >> + | "-"; s = INT_l -> <:patt< $int32:"-" ^ s$ >> + | "-"; s = INT_L -> <:patt< $int64:"-" ^ s$ >> + | "-"; s = INT_n -> <:patt< $nativeint:"-" ^ s$ >> | "-"; s = FLOAT -> <:patt< $flo:"-" ^ s$ >> | s = V FLOAT -> <:patt< $_flo:s$ >> | s = V STRING -> <:patt< $_str:s$ >> *************** *** 812,818 **** | le = lbl_patt -> [le] ] ] ; lbl_patt: ! [ [ i = patt_label_ident; "="; p = patt -> (i, p) ] ] ; patt_label_ident: [ LEFTA --- 815,822 ---- | le = lbl_patt -> [le] ] ] ; lbl_patt: ! [ [ i = patt_label_ident; "="; p = patt -> (i, p) ! | "_" -> (<:patt< _ >>, <:patt< _ >>) ] ] ; patt_label_ident: [ LEFTA Index: etc/pr_o.ml =================================================================== retrieving revision 6.52 retrieving revision 6.53 diff -c -r6.52 -r6.53 *** etc/pr_o.ml 16 Mar 2011 16:52:42 -0000 6.52 --- etc/pr_o.ml 20 Sep 2011 10:10:25 -0000 6.53 *************** *** 1,5 **** (* camlp5r *) ! (* $Id: pr_o.ml,v 6.52 2011-03-16 16:52:42 deraugla Exp $ *) (* Copyright (c) INRIA 2007-2011 *) #directory "."; --- 1,5 ---- (* camlp5r *) ! (* $Id: pr_o.ml,v 6.53 2011-09-20 10:10:25 deraugla Exp $ *) (* Copyright (c) INRIA 2007-2011 *) #directory "."; *************** *** 1322,1329 **** pprintf pc "%p.%p" curr x curr y ] | "simple" [ <:patt< {$list:lpl$} >> -> let lxl = List.map (fun lx -> (lx, ";")) lpl in ! pprintf pc "@[<1>{%p}@]" (plist (binding patt) 0) lxl | <:patt< [| $list:pl$ |] >> -> if pl = [] then pprintf pc "[| |]" else --- 1322,1338 ---- pprintf pc "%p.%p" curr x curr y ] | "simple" [ <:patt< {$list:lpl$} >> -> + let (lpl, closed) = + List.fold_right + (fun lp (lpl, closed) -> + match lp with + [ (<:patt< _ >>, <:patt< _ >>) -> (lpl, True) + | lp -> ([lp :: lpl], closed) ]) + lpl ([], False) + in let lxl = List.map (fun lx -> (lx, ";")) lpl in ! pprintf pc "@[<1>{%p%s}@]" (plist (binding patt) 0) lxl ! (if closed then "; _" else "") | <:patt< [| $list:pl$ |] >> -> if pl = [] then pprintf pc "[| |]" else Index: lib/versdep.ml =================================================================== retrieving revision 6.15 retrieving revision 6.16 diff -c -r6.15 -r6.16 *** lib/versdep.ml 15 Mar 2011 13:49:11 -0000 6.15 --- lib/versdep.ml 20 Sep 2011 10:10:25 -0000 6.16 *************** *** 1,5 **** (* camlp5r pa_macro.cmo *) ! (* $Id: versdep.ml,v 6.15 2011-03-15 13:49:11 deraugla Exp $ *) (* Copyright (c) INRIA 2007-2011 *) open Parsetree; --- 1,5 ---- (* camlp5r pa_macro.cmo *) ! (* $Id: versdep.ml,v 6.16 2011-09-20 10:10:25 deraugla Exp $ *) (* Copyright (c) INRIA 2007-2011 *) open Parsetree; *************** *** 368,375 **** ELSE None END ; ! value ocaml_ppat_record lpl = ! IFDEF OCAML_VERSION >= OCAML_3_12 THEN Ppat_record lpl Closed ELSE Ppat_record lpl END ; --- 368,376 ---- ELSE None END ; ! value ocaml_ppat_record lpl closed = ! IFDEF OCAML_VERSION >= OCAML_3_12 THEN ! Ppat_record lpl (if closed then Closed else Open) ELSE Ppat_record lpl END ; Index: main/ast2pt.ml =================================================================== retrieving revision 6.34 retrieving revision 6.35 diff -c -r6.34 -r6.35 *** main/ast2pt.ml 17 Mar 2011 16:58:27 -0000 6.34 --- main/ast2pt.ml 20 Sep 2011 10:10:25 -0000 6.35 *************** *** 1,5 **** (* camlp5r *) ! (* $Id: ast2pt.ml,v 6.34 2011-03-17 16:58:27 deraugla Exp $ *) #load "q_MLast.cmo"; --- 1,5 ---- (* camlp5r *) ! (* $Id: ast2pt.ml,v 6.35 2011-09-20 10:10:25 deraugla Exp $ *) #load "q_MLast.cmo"; *************** *** 614,620 **** mkrangepat loc c1 c2 | _ -> error loc "range pattern allowed only for characters" ] | PaRec loc lpl -> ! mkpat loc (ocaml_ppat_record (List.map mklabpat (uv lpl))) | PaStr loc s -> mkpat loc (Ppat_constant (Const_string (string_of_string_token loc (uv s)))) --- 614,628 ---- mkrangepat loc c1 c2 | _ -> error loc "range pattern allowed only for characters" ] | PaRec loc lpl -> ! let (lpl, closed) = ! List.fold_right ! (fun lp (lpl, closed) -> ! match lp with ! [ (PaAny _, PaAny _) -> (lpl, True) ! | lp -> ([lp :: lpl], closed) ]) ! (uv lpl) ([], False) ! in ! mkpat loc (ocaml_ppat_record (List.map mklabpat lpl) closed) | PaStr loc s -> mkpat loc (Ppat_constant (Const_string (string_of_string_token loc (uv s)))) Index: meta/pa_r.ml =================================================================== retrieving revision 6.36 retrieving revision 6.37 diff -c -r6.36 -r6.37 *** meta/pa_r.ml 15 Mar 2011 13:49:12 -0000 6.36 --- meta/pa_r.ml 20 Sep 2011 10:10:26 -0000 6.37 *************** *** 1,5 **** (* camlp5r *) ! (* $Id: pa_r.ml,v 6.36 2011-03-15 13:49:12 deraugla Exp $ *) (* Copyright (c) INRIA 2007-2011 *) #load "pa_extend.cmo"; --- 1,5 ---- (* camlp5r *) ! (* $Id: pa_r.ml,v 6.37 2011-09-20 10:10:26 deraugla Exp $ *) (* Copyright (c) INRIA 2007-2011 *) #load "pa_extend.cmo"; *************** *** 530,536 **** [ p1 = SELF; "."; p2 = SELF -> <:patt< $p1$ . $p2$ >> ] | "simple" RIGHTA [ i = V UIDENT -> <:patt< $_uid:i$ >> ! | i = V LIDENT -> <:patt< $_lid:i$ >> ] ] ; ipatt: [ [ "{"; lpl = V (LIST1 label_ipatt SEP ";"); "}" -> --- 530,537 ---- [ p1 = SELF; "."; p2 = SELF -> <:patt< $p1$ . $p2$ >> ] | "simple" RIGHTA [ i = V UIDENT -> <:patt< $_uid:i$ >> ! | i = V LIDENT -> <:patt< $_lid:i$ >> ! | "_" -> <:patt< _ >> ] ] ; ipatt: [ [ "{"; lpl = V (LIST1 label_ipatt SEP ";"); "}" -> Index: meta/q_MLast.ml =================================================================== retrieving revision 6.33 retrieving revision 6.34 diff -c -r6.33 -r6.34 *** meta/q_MLast.ml 15 Mar 2011 13:49:12 -0000 6.33 --- meta/q_MLast.ml 20 Sep 2011 10:10:26 -0000 6.34 *************** *** 1,5 **** (* camlp5r *) ! (* $Id: q_MLast.ml,v 6.33 2011-03-15 13:49:12 deraugla Exp $ *) (* Copyright (c) INRIA 2007-2011 *) #load "pa_extend.cmo"; --- 1,5 ---- (* camlp5r *) ! (* $Id: q_MLast.ml,v 6.34 2011-09-20 10:10:26 deraugla Exp $ *) (* Copyright (c) INRIA 2007-2011 *) #load "pa_extend.cmo"; *************** *** 903,909 **** [ p1 = SELF; "."; p2 = SELF -> Qast.Node "PaAcc" [Qast.Loc; p1; p2] ] | "simple" RIGHTA [ i = SV UIDENT -> Qast.Node "PaUid" [Qast.Loc; i] ! | i = SV LIDENT -> Qast.Node "PaLid" [Qast.Loc; i] ] ] ; ipatt: [ [ "{"; lpl = SV (LIST1 label_ipatt SEP ";"); "}" -> --- 903,910 ---- [ p1 = SELF; "."; p2 = SELF -> Qast.Node "PaAcc" [Qast.Loc; p1; p2] ] | "simple" RIGHTA [ i = SV UIDENT -> Qast.Node "PaUid" [Qast.Loc; i] ! | i = SV LIDENT -> Qast.Node "PaLid" [Qast.Loc; i] ! | "_" -> Qast.Node "PaAny" [Qast.Loc] ] ] ; ipatt: [ [ "{"; lpl = SV (LIST1 label_ipatt SEP ";"); "}" -> Index: ocaml_src/lib/versdep/1.06.ml =================================================================== retrieving revision 6.11 retrieving revision 6.12 diff -c -r6.11 -r6.12 *** ocaml_src/lib/versdep/1.06.ml 15 Mar 2011 13:49:13 -0000 6.11 --- ocaml_src/lib/versdep/1.06.ml 20 Sep 2011 10:10:26 -0000 6.12 *************** *** 167,173 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = None;; --- 167,173 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = None;; Index: ocaml_src/lib/versdep/1.07.ml =================================================================== retrieving revision 6.11 retrieving revision 6.12 diff -c -r6.11 -r6.12 *** ocaml_src/lib/versdep/1.07.ml 15 Mar 2011 13:49:13 -0000 6.11 --- ocaml_src/lib/versdep/1.07.ml 20 Sep 2011 10:10:26 -0000 6.12 *************** *** 167,173 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = None;; --- 167,173 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = None;; Index: ocaml_src/lib/versdep/2.00.ml =================================================================== retrieving revision 6.11 retrieving revision 6.12 diff -c -r6.11 -r6.12 *** ocaml_src/lib/versdep/2.00.ml 15 Mar 2011 13:49:13 -0000 6.11 --- ocaml_src/lib/versdep/2.00.ml 20 Sep 2011 10:10:26 -0000 6.12 *************** *** 151,157 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = None;; --- 151,157 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = None;; Index: ocaml_src/lib/versdep/2.01.ml =================================================================== retrieving revision 6.11 retrieving revision 6.12 diff -c -r6.11 -r6.12 *** ocaml_src/lib/versdep/2.01.ml 15 Mar 2011 13:49:13 -0000 6.11 --- ocaml_src/lib/versdep/2.01.ml 20 Sep 2011 10:10:26 -0000 6.12 *************** *** 151,157 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = None;; --- 151,157 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = None;; Index: ocaml_src/lib/versdep/2.02.ml =================================================================== retrieving revision 6.11 retrieving revision 6.12 diff -c -r6.11 -r6.12 *** ocaml_src/lib/versdep/2.02.ml 15 Mar 2011 13:49:13 -0000 6.11 --- ocaml_src/lib/versdep/2.02.ml 20 Sep 2011 10:10:26 -0000 6.12 *************** *** 151,157 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = None;; --- 151,157 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = None;; Index: ocaml_src/lib/versdep/2.03.ml =================================================================== retrieving revision 6.11 retrieving revision 6.12 diff -c -r6.11 -r6.12 *** ocaml_src/lib/versdep/2.03.ml 15 Mar 2011 13:49:13 -0000 6.11 --- ocaml_src/lib/versdep/2.03.ml 20 Sep 2011 10:10:26 -0000 6.12 *************** *** 152,158 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = None;; --- 152,158 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = None;; Index: ocaml_src/lib/versdep/2.04.ml =================================================================== retrieving revision 6.11 retrieving revision 6.12 diff -c -r6.11 -r6.12 *** ocaml_src/lib/versdep/2.04.ml 15 Mar 2011 13:49:13 -0000 6.11 --- ocaml_src/lib/versdep/2.04.ml 20 Sep 2011 10:10:26 -0000 6.12 *************** *** 152,158 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = None;; --- 152,158 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = None;; Index: ocaml_src/lib/versdep/2.99.ml =================================================================== retrieving revision 6.11 retrieving revision 6.12 diff -c -r6.11 -r6.12 *** ocaml_src/lib/versdep/2.99.ml 15 Mar 2011 13:49:13 -0000 6.11 --- ocaml_src/lib/versdep/2.99.ml 20 Sep 2011 10:10:26 -0000 6.12 *************** *** 176,182 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = None;; --- 176,182 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = None;; Index: ocaml_src/lib/versdep/3.00.ml =================================================================== retrieving revision 6.11 retrieving revision 6.12 diff -c -r6.11 -r6.12 *** ocaml_src/lib/versdep/3.00.ml 15 Mar 2011 13:49:13 -0000 6.11 --- ocaml_src/lib/versdep/3.00.ml 20 Sep 2011 10:10:26 -0000 6.12 *************** *** 176,182 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 176,182 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.01.ml =================================================================== retrieving revision 6.11 retrieving revision 6.12 diff -c -r6.11 -r6.12 *** ocaml_src/lib/versdep/3.01.ml 15 Mar 2011 13:49:13 -0000 6.11 --- ocaml_src/lib/versdep/3.01.ml 20 Sep 2011 10:10:26 -0000 6.12 *************** *** 143,149 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 143,149 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.02.ml =================================================================== retrieving revision 6.11 retrieving revision 6.12 diff -c -r6.11 -r6.12 *** ocaml_src/lib/versdep/3.02.ml 15 Mar 2011 13:49:14 -0000 6.11 --- ocaml_src/lib/versdep/3.02.ml 20 Sep 2011 10:10:26 -0000 6.12 *************** *** 143,149 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 143,149 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.03.ml =================================================================== retrieving revision 6.11 retrieving revision 6.12 diff -c -r6.11 -r6.12 *** ocaml_src/lib/versdep/3.03.ml 15 Mar 2011 13:49:14 -0000 6.11 --- ocaml_src/lib/versdep/3.03.ml 20 Sep 2011 10:10:26 -0000 6.12 *************** *** 136,142 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 136,142 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.04.ml =================================================================== retrieving revision 6.11 retrieving revision 6.12 diff -c -r6.11 -r6.12 *** ocaml_src/lib/versdep/3.04.ml 15 Mar 2011 13:49:14 -0000 6.11 --- ocaml_src/lib/versdep/3.04.ml 20 Sep 2011 10:10:26 -0000 6.12 *************** *** 136,142 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 136,142 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.05.ml =================================================================== retrieving revision 6.11 retrieving revision 6.12 diff -c -r6.11 -r6.12 *** ocaml_src/lib/versdep/3.05.ml 15 Mar 2011 13:49:14 -0000 6.11 --- ocaml_src/lib/versdep/3.05.ml 20 Sep 2011 10:10:26 -0000 6.12 *************** *** 136,142 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 136,142 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.06.ml =================================================================== retrieving revision 6.11 retrieving revision 6.12 diff -c -r6.11 -r6.12 *** ocaml_src/lib/versdep/3.06.ml 15 Mar 2011 13:49:14 -0000 6.11 --- ocaml_src/lib/versdep/3.06.ml 20 Sep 2011 10:10:26 -0000 6.12 *************** *** 136,142 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 136,142 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.07.ml =================================================================== retrieving revision 6.12 retrieving revision 6.13 diff -c -r6.12 -r6.13 *** ocaml_src/lib/versdep/3.07.ml 15 Mar 2011 13:49:14 -0000 6.12 --- ocaml_src/lib/versdep/3.07.ml 20 Sep 2011 10:10:26 -0000 6.13 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.08.0.ml =================================================================== retrieving revision 6.12 retrieving revision 6.13 diff -c -r6.12 -r6.13 *** ocaml_src/lib/versdep/3.08.0.ml 15 Mar 2011 13:49:14 -0000 6.12 --- ocaml_src/lib/versdep/3.08.0.ml 20 Sep 2011 10:10:26 -0000 6.13 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.08.1.ml =================================================================== retrieving revision 6.12 retrieving revision 6.13 diff -c -r6.12 -r6.13 *** ocaml_src/lib/versdep/3.08.1.ml 15 Mar 2011 13:49:14 -0000 6.12 --- ocaml_src/lib/versdep/3.08.1.ml 20 Sep 2011 10:10:26 -0000 6.13 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.08.2.ml =================================================================== retrieving revision 6.12 retrieving revision 6.13 diff -c -r6.12 -r6.13 *** ocaml_src/lib/versdep/3.08.2.ml 15 Mar 2011 13:49:14 -0000 6.12 --- ocaml_src/lib/versdep/3.08.2.ml 20 Sep 2011 10:10:26 -0000 6.13 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.08.3.ml =================================================================== retrieving revision 6.12 retrieving revision 6.13 diff -c -r6.12 -r6.13 *** ocaml_src/lib/versdep/3.08.3.ml 15 Mar 2011 13:49:14 -0000 6.12 --- ocaml_src/lib/versdep/3.08.3.ml 20 Sep 2011 10:10:26 -0000 6.13 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.08.4.ml =================================================================== retrieving revision 6.12 retrieving revision 6.13 diff -c -r6.12 -r6.13 *** ocaml_src/lib/versdep/3.08.4.ml 15 Mar 2011 13:49:14 -0000 6.12 --- ocaml_src/lib/versdep/3.08.4.ml 20 Sep 2011 10:10:26 -0000 6.13 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.09.0.ml =================================================================== retrieving revision 6.13 retrieving revision 6.14 diff -c -r6.13 -r6.14 *** ocaml_src/lib/versdep/3.09.0.ml 15 Mar 2011 13:49:14 -0000 6.13 --- ocaml_src/lib/versdep/3.09.0.ml 20 Sep 2011 10:10:26 -0000 6.14 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.09.1.ml =================================================================== retrieving revision 6.13 retrieving revision 6.14 diff -c -r6.13 -r6.14 *** ocaml_src/lib/versdep/3.09.1.ml 15 Mar 2011 13:49:14 -0000 6.13 --- ocaml_src/lib/versdep/3.09.1.ml 20 Sep 2011 10:10:26 -0000 6.14 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.09.2.ml =================================================================== retrieving revision 6.13 retrieving revision 6.14 diff -c -r6.13 -r6.14 *** ocaml_src/lib/versdep/3.09.2.ml 15 Mar 2011 13:49:14 -0000 6.13 --- ocaml_src/lib/versdep/3.09.2.ml 20 Sep 2011 10:10:26 -0000 6.14 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.09.3.ml =================================================================== retrieving revision 6.13 retrieving revision 6.14 diff -c -r6.13 -r6.14 *** ocaml_src/lib/versdep/3.09.3.ml 15 Mar 2011 13:49:14 -0000 6.13 --- ocaml_src/lib/versdep/3.09.3.ml 20 Sep 2011 10:10:26 -0000 6.14 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.09.4.ml =================================================================== retrieving revision 6.13 retrieving revision 6.14 diff -c -r6.13 -r6.14 *** ocaml_src/lib/versdep/3.09.4.ml 15 Mar 2011 13:49:14 -0000 6.13 --- ocaml_src/lib/versdep/3.09.4.ml 20 Sep 2011 10:10:26 -0000 6.14 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.10.0.ml =================================================================== retrieving revision 6.13 retrieving revision 6.14 diff -c -r6.13 -r6.14 *** ocaml_src/lib/versdep/3.10.0.ml 15 Mar 2011 13:49:14 -0000 6.13 --- ocaml_src/lib/versdep/3.10.0.ml 20 Sep 2011 10:10:26 -0000 6.14 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.10.1.ml =================================================================== retrieving revision 6.13 retrieving revision 6.14 diff -c -r6.13 -r6.14 *** ocaml_src/lib/versdep/3.10.1.ml 15 Mar 2011 13:49:14 -0000 6.13 --- ocaml_src/lib/versdep/3.10.1.ml 20 Sep 2011 10:10:26 -0000 6.14 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.10.2.ml =================================================================== retrieving revision 6.13 retrieving revision 6.14 diff -c -r6.13 -r6.14 *** ocaml_src/lib/versdep/3.10.2.ml 15 Mar 2011 13:49:14 -0000 6.13 --- ocaml_src/lib/versdep/3.10.2.ml 20 Sep 2011 10:10:26 -0000 6.14 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.10.3.ml =================================================================== retrieving revision 6.13 retrieving revision 6.14 diff -c -r6.13 -r6.14 *** ocaml_src/lib/versdep/3.10.3.ml 15 Mar 2011 13:49:14 -0000 6.13 --- ocaml_src/lib/versdep/3.10.3.ml 20 Sep 2011 10:10:26 -0000 6.14 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.10.ml =================================================================== retrieving revision 6.13 retrieving revision 6.14 diff -c -r6.13 -r6.14 *** ocaml_src/lib/versdep/3.10.ml 15 Mar 2011 13:49:14 -0000 6.13 --- ocaml_src/lib/versdep/3.10.ml 20 Sep 2011 10:10:27 -0000 6.14 *************** *** 145,151 **** let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,151 ---- let ocaml_ppat_lazy = None;; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.11.0.ml =================================================================== retrieving revision 6.12 retrieving revision 6.13 diff -c -r6.12 -r6.13 *** ocaml_src/lib/versdep/3.11.0.ml 15 Mar 2011 13:49:14 -0000 6.12 --- ocaml_src/lib/versdep/3.11.0.ml 20 Sep 2011 10:10:27 -0000 6.13 *************** *** 143,149 **** let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 143,149 ---- let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.11.1.ml =================================================================== retrieving revision 6.12 retrieving revision 6.13 diff -c -r6.12 -r6.13 *** ocaml_src/lib/versdep/3.11.1.ml 15 Mar 2011 13:49:14 -0000 6.12 --- ocaml_src/lib/versdep/3.11.1.ml 20 Sep 2011 10:10:27 -0000 6.13 *************** *** 143,149 **** let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 143,149 ---- let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.11.2.ml =================================================================== retrieving revision 6.12 retrieving revision 6.13 diff -c -r6.12 -r6.13 *** ocaml_src/lib/versdep/3.11.2.ml 15 Mar 2011 13:49:14 -0000 6.12 --- ocaml_src/lib/versdep/3.11.2.ml 20 Sep 2011 10:10:27 -0000 6.13 *************** *** 143,149 **** let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 143,149 ---- let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.11.3.ml =================================================================== retrieving revision 6.12 retrieving revision 6.13 diff -c -r6.12 -r6.13 *** ocaml_src/lib/versdep/3.11.3.ml 15 Mar 2011 13:49:14 -0000 6.12 --- ocaml_src/lib/versdep/3.11.3.ml 20 Sep 2011 10:10:27 -0000 6.13 *************** *** 143,149 **** let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 143,149 ---- let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.11.ml =================================================================== retrieving revision 6.12 retrieving revision 6.13 diff -c -r6.12 -r6.13 *** ocaml_src/lib/versdep/3.11.ml 15 Mar 2011 13:49:14 -0000 6.12 --- ocaml_src/lib/versdep/3.11.ml 20 Sep 2011 10:10:27 -0000 6.13 *************** *** 143,149 **** let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 143,149 ---- let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl closed = Ppat_record lpl;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.12.0.ml =================================================================== retrieving revision 6.12 retrieving revision 6.13 diff -c -r6.12 -r6.13 *** ocaml_src/lib/versdep/3.12.0.ml 15 Mar 2011 13:49:14 -0000 6.12 --- ocaml_src/lib/versdep/3.12.0.ml 20 Sep 2011 10:10:27 -0000 6.13 *************** *** 143,149 **** let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl = Ppat_record (lpl, Closed);; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 143,151 ---- let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl closed = ! Ppat_record (lpl, (if closed then Closed else Open)) ! ;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.12.1.ml =================================================================== retrieving revision 6.12 retrieving revision 6.13 diff -c -r6.12 -r6.13 *** ocaml_src/lib/versdep/3.12.1.ml 15 Mar 2011 13:49:14 -0000 6.12 --- ocaml_src/lib/versdep/3.12.1.ml 20 Sep 2011 10:10:27 -0000 6.13 *************** *** 143,149 **** let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl = Ppat_record (lpl, Closed);; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 143,151 ---- let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl closed = ! Ppat_record (lpl, (if closed then Closed else Open)) ! ;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.13.0-gadt.ml =================================================================== retrieving revision 6.5 retrieving revision 6.6 diff -c -r6.5 -r6.6 *** ocaml_src/lib/versdep/3.13.0-gadt.ml 15 Mar 2011 13:49:14 -0000 6.5 --- ocaml_src/lib/versdep/3.13.0-gadt.ml 20 Sep 2011 10:10:27 -0000 6.6 *************** *** 132,138 **** let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl = Ppat_record (lpl, Closed);; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 132,140 ---- let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl closed = ! Ppat_record (lpl, (if closed then Closed else Open)) ! ;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/lib/versdep/3.13.0.ml =================================================================== retrieving revision 6.13 retrieving revision 6.14 diff -c -r6.13 -r6.14 *** ocaml_src/lib/versdep/3.13.0.ml 15 Mar 2011 13:49:14 -0000 6.13 --- ocaml_src/lib/versdep/3.13.0.ml 20 Sep 2011 10:10:27 -0000 6.14 *************** *** 145,151 **** let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl = Ppat_record (lpl, Closed);; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; --- 145,153 ---- let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ! let ocaml_ppat_record lpl closed = ! Ppat_record (lpl, (if closed then Closed else Open)) ! ;; let ocaml_ppat_type = Some (fun sl -> Ppat_type sl);; Index: ocaml_src/main/ast2pt.ml =================================================================== retrieving revision 6.34 retrieving revision 6.35 diff -c -r6.34 -r6.35 *** ocaml_src/main/ast2pt.ml 17 Mar 2011 16:58:27 -0000 6.34 --- ocaml_src/main/ast2pt.ml 20 Sep 2011 10:10:27 -0000 6.35 *************** *** 634,640 **** | _ -> error loc "range pattern allowed only for characters" end | PaRec (loc, lpl) -> ! mkpat loc (ocaml_ppat_record (List.map mklabpat (uv lpl))) | PaStr (loc, s) -> mkpat loc (Ppat_constant (Const_string (string_of_string_token loc (uv s)))) --- 634,648 ---- | _ -> error loc "range pattern allowed only for characters" end | PaRec (loc, lpl) -> ! let (lpl, closed) = ! List.fold_right ! (fun lp (lpl, closed) -> ! match lp with ! PaAny _, PaAny _ -> lpl, true ! | lp -> lp :: lpl, closed) ! (uv lpl) ([], false) ! in ! mkpat loc (ocaml_ppat_record (List.map mklabpat lpl) closed) | PaStr (loc, s) -> mkpat loc (Ppat_constant (Const_string (string_of_string_token loc (uv s)))) Index: ocaml_src/meta/pa_r.ml =================================================================== retrieving revision 6.36 retrieving revision 6.37 diff -c -r6.36 -r6.37 *** ocaml_src/meta/pa_r.ml 15 Mar 2011 13:49:15 -0000 6.36 --- ocaml_src/meta/pa_r.ml 20 Sep 2011 10:10:28 -0000 6.37 *************** *** 1524,1530 **** (loc : Ploc.t) -> (MLast.PaAcc (loc, p1, p2) : 'patt_label_ident))]; Some "simple", Some Gramext.RightA, ! [[Gramext.Stoken ("LIDENT", "")], Gramext.action (fun (i : string) (loc : Ploc.t) -> (MLast.PaLid (loc, i) : 'patt_label_ident)); --- 1524,1533 ---- (loc : Ploc.t) -> (MLast.PaAcc (loc, p1, p2) : 'patt_label_ident))]; Some "simple", Some Gramext.RightA, ! [[Gramext.Stoken ("", "_")], ! Gramext.action ! (fun _ (loc : Ploc.t) -> (MLast.PaAny loc : 'patt_label_ident)); ! [Gramext.Stoken ("LIDENT", "")], Gramext.action (fun (i : string) (loc : Ploc.t) -> (MLast.PaLid (loc, i) : 'patt_label_ident)); Index: ocaml_src/meta/q_MLast.ml =================================================================== retrieving revision 6.34 retrieving revision 6.35 diff -c -r6.34 -r6.35 *** ocaml_src/meta/q_MLast.ml 15 Mar 2011 13:49:15 -0000 6.34 --- ocaml_src/meta/q_MLast.ml 20 Sep 2011 10:10:28 -0000 6.35 *************** *** 3660,3666 **** (loc : Ploc.t) -> (Qast.Node ("PaAcc", [Qast.Loc; p1; p2]) : 'patt_label_ident))]; Some "simple", Some Gramext.RightA, ! [[Gramext.Sfacto (Gramext.srules [[Gramext.Stoken ("LIDENT", "")], Gramext.action --- 3660,3670 ---- (loc : Ploc.t) -> (Qast.Node ("PaAcc", [Qast.Loc; p1; p2]) : 'patt_label_ident))]; Some "simple", Some Gramext.RightA, ! [[Gramext.Stoken ("", "_")], ! Gramext.action ! (fun _ (loc : Ploc.t) -> ! (Qast.Node ("PaAny", [Qast.Loc]) : 'patt_label_ident)); ! [Gramext.Sfacto (Gramext.srules [[Gramext.Stoken ("LIDENT", "")], Gramext.action