]>
Commit | Line | Data |
---|---|---|
f0df40ac JR |
1 | Index: CHANGES |
2 | =================================================================== | |
3 | retrieving revision 6.36 | |
4 | retrieving revision 6.38 | |
5 | diff -c -r6.36 -r6.38 | |
6 | *** CHANGES 15 Mar 2011 12:36:08 -0000 6.36 | |
7 | --- CHANGES 16 Mar 2011 16:52:42 -0000 6.38 | |
8 | *************** | |
9 | *** 1,3 **** | |
10 | --- 1,11 ---- | |
11 | + Camlp5 Version 6.02.3: | |
12 | + ---------------------- | |
13 | + | |
14 | + * [16 Mar 11] Fixed bug: incorrect compilation of label patterns of the | |
15 | + form ~a:b (or ~{a = b} in revised syntax) in class declarations. | |
16 | + * [16 Mar 11] Fixed bug: error while printing label patterns ~a:b with | |
17 | + pr_o.cmo (error message "labels not pretty printed (in patt)"). | |
18 | + | |
19 | Camlp5 Version 6.02.2: | |
20 | ---------------------- | |
21 | ||
22 | Index: etc/pr_o.ml | |
23 | =================================================================== | |
24 | retrieving revision 6.51 | |
25 | diff -c -r6.51 pr_o.ml | |
26 | *** etc/pr_o.ml 15 Mar 2011 13:49:10 -0000 6.51 | |
27 | --- etc/pr_o.ml 16 Mar 2011 15:18:58 -0000 | |
28 | *************** | |
29 | *** 1363,1369 **** | |
30 | | <:patt< _ >> -> pprintf pc "_" | |
31 | | <:patt:< ?{$_$} >> | <:patt:< ?{$_$ = $_$} >> | <:patt:< ?{$_$} >> | | |
32 | <:patt:< ?{$_$ = ?{$_$ = $_$}} >> | <:patt:< ?{$_$ = $_$} >> | | |
33 | ! <:patt:< ~{$_$} >> | <:patt:< ~{$_$ = $_$} >> -> | |
34 | error loc "labels not pretty printed (in patt)" | |
35 | | <:patt< `$s$ >> -> | |
36 | failwith "polymorphic variants not pretty printed; add pr_ro.cmo" | |
37 | --- 1363,1369 ---- | |
38 | | <:patt< _ >> -> pprintf pc "_" | |
39 | | <:patt:< ?{$_$} >> | <:patt:< ?{$_$ = $_$} >> | <:patt:< ?{$_$} >> | | |
40 | <:patt:< ?{$_$ = ?{$_$ = $_$}} >> | <:patt:< ?{$_$ = $_$} >> | | |
41 | ! <:patt:< ~{$list:_$} >> -> | |
42 | error loc "labels not pretty printed (in patt)" | |
43 | | <:patt< `$s$ >> -> | |
44 | failwith "polymorphic variants not pretty printed; add pr_ro.cmo" | |
45 | Index: main/ast2pt.ml | |
46 | =================================================================== | |
47 | retrieving revision 6.32 | |
48 | diff -c -r6.32 ast2pt.ml | |
49 | *** main/ast2pt.ml 15 Mar 2011 12:36:08 -0000 6.32 | |
50 | --- main/ast2pt.ml 16 Mar 2011 15:57:40 -0000 | |
51 | *************** | |
52 | *** 1326,1341 **** | |
53 | [ Some pcl_fun -> | |
54 | match uv lppo with | |
55 | [ [(p, po)] -> do { | |
56 | - let _ = | |
57 | - match uv po with | |
58 | - [ Some _ -> error loc "label not implemented in that case 1" | |
59 | - | None -> None ] | |
60 | - in | |
61 | let lab = | |
62 | match p with | |
63 | [ PaLid _ s -> uv s | |
64 | | p -> error loc "label not implemented in that case 2" ] | |
65 | in | |
66 | mkpcl loc (pcl_fun lab None (patt p) (class_expr ce)) | |
67 | } | |
68 | | [] | [_ :: _] -> error ploc "case class multi lab not yet impl" ] | |
69 | --- 1326,1341 ---- | |
70 | [ Some pcl_fun -> | |
71 | match uv lppo with | |
72 | [ [(p, po)] -> do { | |
73 | let lab = | |
74 | match p with | |
75 | [ PaLid _ s -> uv s | |
76 | | p -> error loc "label not implemented in that case 2" ] | |
77 | in | |
78 | + let p = | |
79 | + match uv po with | |
80 | + [ Some p -> p | |
81 | + | None -> p ] | |
82 | + in | |
83 | mkpcl loc (pcl_fun lab None (patt p) (class_expr ce)) | |
84 | } | |
85 | | [] | [_ :: _] -> error ploc "case class multi lab not yet impl" ] | |
86 | Index: ocaml_src/main/ast2pt.ml | |
87 | =================================================================== | |
88 | retrieving revision 6.32 | |
89 | diff -c -r6.32 ast2pt.ml | |
90 | *** ocaml_src/main/ast2pt.ml 15 Mar 2011 12:36:09 -0000 6.32 | |
91 | --- ocaml_src/main/ast2pt.ml 16 Mar 2011 16:05:41 -0000 | |
92 | *************** | |
93 | *** 1522,1537 **** | |
94 | Some pcl_fun -> | |
95 | begin match uv lppo with | |
96 | [p, po] -> | |
97 | - let _ = | |
98 | - match uv po with | |
99 | - Some _ -> error loc "label not implemented in that case 1" | |
100 | - | None -> None | |
101 | - in | |
102 | let lab = | |
103 | match p with | |
104 | PaLid (_, s) -> uv s | |
105 | | p -> error loc "label not implemented in that case 2" | |
106 | in | |
107 | mkpcl loc (pcl_fun lab None (patt p) (class_expr ce)) | |
108 | | [] | _ :: _ -> error ploc "case class multi lab not yet impl" | |
109 | end | |
110 | --- 1522,1537 ---- | |
111 | Some pcl_fun -> | |
112 | begin match uv lppo with | |
113 | [p, po] -> | |
114 | let lab = | |
115 | match p with | |
116 | PaLid (_, s) -> uv s | |
117 | | p -> error loc "label not implemented in that case 2" | |
118 | in | |
119 | + let p = | |
120 | + match uv po with | |
121 | + Some p -> p | |
122 | + | None -> p | |
123 | + in | |
124 | mkpcl loc (pcl_fun lab None (patt p) (class_expr ce)) | |
125 | | [] | _ :: _ -> error ploc "case class multi lab not yet impl" | |
126 | end |