1 |
commit: f2518d6d2f139f677c63c9edc39511dc83c9c852 |
2 |
Author: Alexis Ballier <aballier <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Oct 10 14:03:22 2016 +0000 |
4 |
Commit: Alexis Ballier <aballier <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Oct 10 14:03:34 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2518d6d |
7 |
|
8 |
dev-ml/eliom: fix build with js of ocaml 2.8.2, bug #593978. |
9 |
|
10 |
Also, make all patches mandatory and bump required versions in deps. |
11 |
|
12 |
Package-Manager: portage-2.3.1 |
13 |
|
14 |
dev-ml/eliom/eliom-5.0.0-r2.ebuild | 13 +- |
15 |
dev-ml/eliom/files/jsofocaml-282.patch | 361 +++++++++++++++++++++++++++++++++ |
16 |
2 files changed, 367 insertions(+), 7 deletions(-) |
17 |
|
18 |
diff --git a/dev-ml/eliom/eliom-5.0.0-r2.ebuild b/dev-ml/eliom/eliom-5.0.0-r2.ebuild |
19 |
index 36923d1..6b4ae4b 100644 |
20 |
--- a/dev-ml/eliom/eliom-5.0.0-r2.ebuild |
21 |
+++ b/dev-ml/eliom/eliom-5.0.0-r2.ebuild |
22 |
@@ -15,10 +15,10 @@ SLOT="0/${PV}" |
23 |
KEYWORDS="~amd64" |
24 |
IUSE="doc +ocamlopt +ppx" |
25 |
|
26 |
-RDEPEND=">=dev-lang/ocaml-4.00:=[ocamlopt?] |
27 |
- >=dev-ml/js_of_ocaml-2.5-r1:= |
28 |
+RDEPEND=">=dev-lang/ocaml-4.03:=[ocamlopt?] |
29 |
+ >=dev-ml/js_of_ocaml-2.8.2:= |
30 |
>=www-servers/ocsigenserver-2.5:= |
31 |
- >=dev-ml/tyxml-3.6:= |
32 |
+ >=dev-ml/tyxml-4:= |
33 |
>=dev-ml/deriving-0.6:= |
34 |
>=dev-ml/reactiveData-0.2:= |
35 |
dev-ml/ocaml-ipaddr:= |
36 |
@@ -33,10 +33,9 @@ DEPEND="${RDEPEND} |
37 |
dev-ml/opam" |
38 |
|
39 |
src_prepare() { |
40 |
- if has_version '>=dev-lang/ocaml-4.03' ; then |
41 |
- epatch "${FILESDIR}/"{camlp4,oc43,oc43-2}.patch |
42 |
- fi |
43 |
- has_version '>=dev-ml/tyxml-4' && epatch "${FILESDIR}/tyxml4.patch" |
44 |
+ epatch "${FILESDIR}/"{camlp4,oc43,oc43-2}.patch \ |
45 |
+ "${FILESDIR}/tyxml4.patch" \ |
46 |
+ "${FILESDIR}/jsofocaml-282.patch" |
47 |
} |
48 |
|
49 |
src_compile() { |
50 |
|
51 |
diff --git a/dev-ml/eliom/files/jsofocaml-282.patch b/dev-ml/eliom/files/jsofocaml-282.patch |
52 |
new file mode 100644 |
53 |
index 00000000..985432f |
54 |
--- /dev/null |
55 |
+++ b/dev-ml/eliom/files/jsofocaml-282.patch |
56 |
@@ -0,0 +1,361 @@ |
57 |
+Backported from: |
58 |
+ |
59 |
+commit 4edaf2275e2f7a027f3c7dc52e1e295a6e56b19a |
60 |
+Author: Vasilis Papavasileiou <git@×××××××××××××××.net> |
61 |
+Date: Thu Aug 18 19:40:56 2016 +0200 |
62 |
+ |
63 |
+ Fix ocsigen/js_of_ocaml#518 |
64 |
+ |
65 |
+upstream. |
66 |
+ |
67 |
+Index: eliom-5.0.0/src/lib/eliom_client.client.ml |
68 |
+=================================================================== |
69 |
+--- eliom-5.0.0.orig/src/lib/eliom_client.client.ml |
70 |
++++ eliom-5.0.0/src/lib/eliom_client.client.ml |
71 |
+@@ -461,23 +461,29 @@ let raw_event_handler value = |
72 |
+ |
73 |
+ let closure_name_prefix = Eliom_lib_base.RawXML.closure_name_prefix |
74 |
+ let closure_name_prefix_len = String.length closure_name_prefix |
75 |
+-let reify_caml_event name node ce : string * (#Dom_html.event Js.t -> bool) = |
76 |
++let reify_caml_event name node ce = |
77 |
+ match ce with |
78 |
+- | Xml.CE_call_service None -> name,(fun _ -> true) |
79 |
++ | Xml.CE_call_service None -> name, `Other (fun _ -> true) |
80 |
+ | Xml.CE_call_service (Some (`A, cookies_info, tmpl)) -> |
81 |
+- name, (fun ev -> |
82 |
++ name, `Other (fun ev -> |
83 |
+ let node = Js.Opt.get (Dom_html.CoerceTo.a node) |
84 |
+ (fun () -> Lwt_log.raise_error ~section "not an anchor element") |
85 |
+ in |
86 |
+ raw_a_handler node cookies_info tmpl ev) |
87 |
+ | Xml.CE_call_service |
88 |
+ (Some ((`Form_get | `Form_post) as kind, cookies_info, tmpl)) -> |
89 |
+- name, (fun ev -> |
90 |
++ name, `Other (fun ev -> |
91 |
+ let form = Js.Opt.get (Dom_html.CoerceTo.form node) |
92 |
+ (fun () -> Lwt_log.raise_error ~section "not a form element") in |
93 |
+ raw_form_handler form kind cookies_info tmpl ev) |
94 |
+ | Xml.CE_client_closure f -> |
95 |
+- name, (fun ev -> try f ev; true with False -> false) |
96 |
++ name, `Other (fun ev -> try f ev; true with False -> false) |
97 |
++ | Xml.CE_client_closure_keyboard f -> |
98 |
++ name, |
99 |
++ `Keyboard (fun ev -> try f ev; true with Eliom_lib.False -> false) |
100 |
++ | Xml.CE_client_closure_mouse f -> |
101 |
++ name, |
102 |
++ `Mouse (fun ev -> try f ev; true with Eliom_lib.False -> false) |
103 |
+ | Xml.CE_registered_closure (_, cv) -> |
104 |
+ let name = |
105 |
+ let len = String.length name in |
106 |
+@@ -485,16 +491,27 @@ let reify_caml_event name node ce : stri |
107 |
+ then String.sub name closure_name_prefix_len |
108 |
+ (len - closure_name_prefix_len) |
109 |
+ else name in |
110 |
+- name, raw_event_handler cv |
111 |
++ name, `Other (raw_event_handler cv) |
112 |
+ |
113 |
+ let register_event_handler, flush_load_script = |
114 |
+ let add, _, flush = create_buffer () in |
115 |
+ let register node (name, ev) = |
116 |
+- let name,f = reify_caml_event name node ev in |
117 |
+- if name = "onload" |
118 |
+- then add f |
119 |
+- else Js.Unsafe.set node (Js.bytestring name) |
120 |
+- (Dom_html.handler (fun ev -> Js.bool (f ev))) |
121 |
++ match reify_caml_event name node ev with |
122 |
++ | "onload", `Other f -> |
123 |
++ add f |
124 |
++ | "onload", `Keyboard _ -> |
125 |
++ failwith "keyboard event handler for onload" |
126 |
++ | "onload", `Mouse _ -> |
127 |
++ failwith "keyboard event handler for onload" |
128 |
++ | name, `Other f -> |
129 |
++ Js.Unsafe.set node (Js.bytestring name) |
130 |
++ (Dom_html.handler (fun ev -> Js.bool (f ev))) |
131 |
++ | name, `Keyboard f -> |
132 |
++ Js.Unsafe.set node (Js.bytestring name) |
133 |
++ (Dom_html.handler (fun ev -> Js.bool (f ev))) |
134 |
++ | name, `Mouse f -> |
135 |
++ Js.Unsafe.set node (Js.bytestring name) |
136 |
++ (Dom_html.handler (fun ev -> Js.bool (f ev))) |
137 |
+ in |
138 |
+ let flush () = |
139 |
+ let fs = flush () in |
140 |
+Index: eliom-5.0.0/src/lib/eliom_content.server.mli |
141 |
+=================================================================== |
142 |
+--- eliom-5.0.0.orig/src/lib/eliom_content.server.mli |
143 |
++++ eliom-5.0.0/src/lib/eliom_content.server.mli |
144 |
+@@ -114,7 +114,7 @@ module Xml : sig |
145 |
+ example {% <<a_api project="js_of_ocaml" | type |
146 |
+ Dom_html.mouseEvent>>%} or {% <<a_api project="js_of_ocaml" | type |
147 |
+ Dom_html.keyboardEvent >>%}. *) |
148 |
+- type -'a caml_event_handler constraint 'a = #Dom_html.event |
149 |
++ type caml_event_handler |
150 |
+ |
151 |
+ (**/**) |
152 |
+ |
153 |
+@@ -129,18 +129,14 @@ module Xml : sig |
154 |
+ val make_event_handler_table : elt -> Eliom_lib.RawXML.event_handler_table |
155 |
+ val make_client_attrib_table : elt -> Eliom_lib.RawXML.client_attrib_table |
156 |
+ |
157 |
+- val caml_event_handler : ((#Dom_html.event as 'a) Js.t -> unit) Eliom_lib.client_value -> 'a caml_event_handler |
158 |
+- |
159 |
+- class type biggest_event = object |
160 |
+- inherit Dom_html.event |
161 |
+- inherit Dom_html.mouseEvent |
162 |
+- inherit Dom_html.keyboardEvent |
163 |
+- end |
164 |
++ val caml_event_handler : |
165 |
++ (Dom_html.event Js.t -> unit) Eliom_lib.client_value -> |
166 |
++ caml_event_handler |
167 |
+ |
168 |
+ type racontent = |
169 |
+ | RA of acontent |
170 |
+ | RAReact of acontent option React.signal |
171 |
+- | RACamlEventHandler of biggest_event caml_event_handler |
172 |
++ | RACamlEventHandler of caml_event_handler |
173 |
+ | RALazyStr of string Eliom_lazy.request |
174 |
+ | RALazyStrL of separator * string Eliom_lazy.request list |
175 |
+ | RAClient of string * attrib option * Eliom_lib.poly |
176 |
+Index: eliom-5.0.0/src/lib/eliom_content_core.client.ml |
177 |
+=================================================================== |
178 |
+--- eliom-5.0.0.orig/src/lib/eliom_content_core.client.ml |
179 |
++++ eliom-5.0.0/src/lib/eliom_content_core.client.ml |
180 |
+@@ -87,21 +87,19 @@ module Xml = struct |
181 |
+ let node ?(a = []) name children = make (Node (name, a, children)) |
182 |
+ let lazy_node ?a name children = node ?a name (Eliom_lazy.force children) |
183 |
+ |
184 |
+- type biggest_event_handler = biggest_event Js.t -> unit |
185 |
+- |
186 |
+ type event_handler = Dom_html.event Js.t -> unit |
187 |
+ type mouse_event_handler = Dom_html.mouseEvent Js.t -> unit |
188 |
+ type keyboard_event_handler = Dom_html.keyboardEvent Js.t -> unit |
189 |
+ |
190 |
+ let event_handler_attrib name (value : event_handler) = |
191 |
+ internal_event_handler_attrib name |
192 |
+- (Caml (CE_client_closure (value :> biggest_event_handler))) |
193 |
++ (Caml (CE_client_closure value)) |
194 |
+ let mouse_event_handler_attrib name (value : mouse_event_handler) = |
195 |
+ internal_event_handler_attrib name |
196 |
+- (Caml (CE_client_closure (value :> biggest_event_handler))) |
197 |
++ (Caml (CE_client_closure_mouse value)) |
198 |
+ let keyboard_event_handler_attrib name (value : keyboard_event_handler) = |
199 |
+ internal_event_handler_attrib name |
200 |
+- (Caml (CE_client_closure (value :> biggest_event_handler))) |
201 |
++ (Caml (CE_client_closure_keyboard value)) |
202 |
+ |
203 |
+ let node_react_children ?(a = []) name children = |
204 |
+ {elt = Lazy.from_val (ReactChildren (Node (name,a,[]),children)); node_id=NoId} |
205 |
+Index: eliom-5.0.0/src/lib/eliom_content_core.client.mli |
206 |
+=================================================================== |
207 |
+--- eliom-5.0.0.orig/src/lib/eliom_content_core.client.mli |
208 |
++++ eliom-5.0.0/src/lib/eliom_content_core.client.mli |
209 |
+@@ -35,24 +35,21 @@ module Xml : sig |
210 |
+ type aname = string |
211 |
+ type attrib |
212 |
+ |
213 |
+- type -'a caml_event_handler = |
214 |
++ type caml_event_handler = |
215 |
+ | CE_registered_closure of string * Eliom_lib.poly |
216 |
+ (* 'a Js.t -> unit) client_value_server *) |
217 |
+- | CE_client_closure of ((#Dom_html.event as 'a) Js.t -> unit) |
218 |
++ | CE_client_closure of |
219 |
++ (Dom_html.event Js.t -> unit) (* Client side-only *) |
220 |
++ | CE_client_closure_mouse of |
221 |
++ (Dom_html.mouseEvent Js.t -> unit) (* Client side-only *) |
222 |
++ | CE_client_closure_keyboard of |
223 |
++ (Dom_html.keyboardEvent Js.t -> unit) (* Client side-only *) |
224 |
+ | CE_call_service of |
225 |
+ ([ `A | `Form_get | `Form_post] * (bool * string list) option * string option) option Eliom_lazy.request |
226 |
+ |
227 |
+- (* Inherit from all events. |
228 |
+- Necessary for subtyping since caml_event_handler is contravariant. *) |
229 |
+- class type biggest_event = object |
230 |
+- inherit Dom_html.event |
231 |
+- inherit Dom_html.mouseEvent |
232 |
+- inherit Dom_html.keyboardEvent |
233 |
+- end |
234 |
+- |
235 |
+ type internal_event_handler = |
236 |
+ | Raw of string |
237 |
+- | Caml of biggest_event caml_event_handler |
238 |
++ | Caml of caml_event_handler |
239 |
+ type event_handler = Dom_html.event Js.t -> unit |
240 |
+ type mouse_event_handler = Dom_html.mouseEvent Js.t -> unit |
241 |
+ type keyboard_event_handler = Dom_html.keyboardEvent Js.t -> unit |
242 |
+@@ -89,7 +86,7 @@ module Xml : sig |
243 |
+ type racontent = |
244 |
+ | RA of acontent |
245 |
+ | RAReact of acontent option React.signal |
246 |
+- | RACamlEventHandler of biggest_event caml_event_handler |
247 |
++ | RACamlEventHandler of caml_event_handler |
248 |
+ | RALazyStr of string Eliom_lazy.request |
249 |
+ | RALazyStrL of separator * string Eliom_lazy.request list |
250 |
+ | RAClient of string * attrib option * Eliom_lib.poly |
251 |
+Index: eliom-5.0.0/src/lib/eliom_content_core.server.ml |
252 |
+=================================================================== |
253 |
+--- eliom-5.0.0.orig/src/lib/eliom_content_core.server.ml |
254 |
++++ eliom-5.0.0/src/lib/eliom_content_core.server.ml |
255 |
+@@ -114,7 +114,6 @@ module Xml = struct |
256 |
+ let lazy_node ?(a = []) name children = |
257 |
+ make_lazy (Eliom_lazy.from_fun (fun () -> (Node (name, a, Eliom_lazy.force children)))) |
258 |
+ |
259 |
+- type biggest_event_handler = (biggest_event Js.t -> unit) Eliom_lib.client_value |
260 |
+ type event_handler = (Dom_html.event Js.t -> unit) Eliom_lib.client_value |
261 |
+ type mouse_event_handler = (Dom_html.mouseEvent Js.t -> unit) Eliom_lib.client_value |
262 |
+ type keyboard_event_handler = (Dom_html.keyboardEvent Js.t -> unit) Eliom_lib.client_value |
263 |
+@@ -133,11 +132,11 @@ module Xml = struct |
264 |
+ let biggest_event_handler_attrib name cf = |
265 |
+ internal_event_handler_attrib name (event_handler cf) |
266 |
+ let event_handler_attrib name (cf : event_handler) = |
267 |
+- biggest_event_handler_attrib name (cf :> biggest_event_handler) |
268 |
++ biggest_event_handler_attrib name cf |
269 |
+ let mouse_event_handler_attrib name (cf : mouse_event_handler) = |
270 |
+- biggest_event_handler_attrib name (cf :> biggest_event_handler) |
271 |
++ biggest_event_handler_attrib name cf |
272 |
+ let keyboard_event_handler_attrib name (cf : keyboard_event_handler) = |
273 |
+- biggest_event_handler_attrib name (cf :> biggest_event_handler) |
274 |
++ biggest_event_handler_attrib name cf |
275 |
+ |
276 |
+ let client_attrib ?init (x : attrib Eliom_lib.client_value) = |
277 |
+ let crypto = make_cryptographic_safe_string () in |
278 |
+Index: eliom-5.0.0/src/lib/eliom_content_core.server.mli |
279 |
+=================================================================== |
280 |
+--- eliom-5.0.0.orig/src/lib/eliom_content_core.server.mli |
281 |
++++ eliom-5.0.0/src/lib/eliom_content_core.server.mli |
282 |
+@@ -28,7 +28,7 @@ module Xml : sig |
283 |
+ and type mouse_event_handler = (Dom_html.mouseEvent Js.t -> unit) Eliom_lib.client_value |
284 |
+ and type keyboard_event_handler = (Dom_html.keyboardEvent Js.t -> unit) Eliom_lib.client_value |
285 |
+ |
286 |
+- type -'a caml_event_handler constraint 'a = #Dom_html.event |
287 |
++ type caml_event_handler |
288 |
+ |
289 |
+ (**/**) |
290 |
+ |
291 |
+@@ -43,15 +43,9 @@ module Xml : sig |
292 |
+ val make_event_handler_table : elt -> Eliom_lib.RawXML.event_handler_table |
293 |
+ val make_client_attrib_table : elt -> Eliom_lib.RawXML.client_attrib_table |
294 |
+ |
295 |
+- class type biggest_event = object |
296 |
+- inherit Dom_html.event |
297 |
+- inherit Dom_html.mouseEvent |
298 |
+- inherit Dom_html.keyboardEvent |
299 |
+- end |
300 |
+- |
301 |
+ type internal_event_handler = |
302 |
+ | Raw of string |
303 |
+- | Caml of biggest_event caml_event_handler |
304 |
++ | Caml of caml_event_handler |
305 |
+ |
306 |
+ val internal_event_handler_attrib : aname -> internal_event_handler -> attrib |
307 |
+ val internal_event_handler_of_service : |
308 |
+@@ -59,12 +53,14 @@ module Xml : sig |
309 |
+ * (bool * string list) option |
310 |
+ * string option) option Eliom_lazy.request -> internal_event_handler |
311 |
+ |
312 |
+- val caml_event_handler : ((#Dom_html.event as 'a) Js.t -> unit) Eliom_lib.client_value -> 'a caml_event_handler |
313 |
++ val caml_event_handler : |
314 |
++ (Dom_html.event Js.t -> unit) Eliom_lib.client_value -> |
315 |
++ caml_event_handler |
316 |
+ |
317 |
+ type racontent = |
318 |
+ | RA of acontent |
319 |
+ | RAReact of acontent option React.signal |
320 |
+- | RACamlEventHandler of biggest_event caml_event_handler |
321 |
++ | RACamlEventHandler of caml_event_handler |
322 |
+ | RALazyStr of string Eliom_lazy.request |
323 |
+ | RALazyStrL of separator * string Eliom_lazy.request list |
324 |
+ | RAClient of string * attrib option * Eliom_lib.poly |
325 |
+Index: eliom-5.0.0/src/lib/eliom_lib_base.shared.ml |
326 |
+=================================================================== |
327 |
+--- eliom-5.0.0.orig/src/lib/eliom_lib_base.shared.ml |
328 |
++++ eliom-5.0.0/src/lib/eliom_lib_base.shared.ml |
329 |
+@@ -70,26 +70,22 @@ module RawXML = struct |
330 |
+ |
331 |
+ type cookie_info = (bool * string list) deriving (Json) |
332 |
+ |
333 |
+- type -'a caml_event_handler = |
334 |
++ type caml_event_handler = |
335 |
+ | CE_registered_closure of |
336 |
+ string * poly (* 'a Js.t -> unit) client_value *) |
337 |
+ | CE_client_closure of |
338 |
+- ((#Dom_html.event as 'a) Js.t -> unit) (* Client side-only *) |
339 |
++ (Dom_html.event Js.t -> unit) (* Client side-only *) |
340 |
++ | CE_client_closure_mouse of |
341 |
++ (Dom_html.mouseEvent Js.t -> unit) (* Client side-only *) |
342 |
++ | CE_client_closure_keyboard of |
343 |
++ (Dom_html.keyboardEvent Js.t -> unit) (* Client side-only *) |
344 |
+ | CE_call_service of |
345 |
+ ([ `A | `Form_get | `Form_post] * (cookie_info option) * string option) |
346 |
+ option Eliom_lazy.request |
347 |
+ |
348 |
+- (* Inherit from all events. |
349 |
+- Necessary for subtyping since caml_event_handler is contravariant. *) |
350 |
+- class type biggest_event = object |
351 |
+- inherit Dom_html.event |
352 |
+- inherit Dom_html.mouseEvent |
353 |
+- inherit Dom_html.keyboardEvent |
354 |
+- end |
355 |
+- |
356 |
+ type internal_event_handler = |
357 |
+ | Raw of string |
358 |
+- | Caml of biggest_event caml_event_handler |
359 |
++ | Caml of caml_event_handler |
360 |
+ |
361 |
+ type uri = string Eliom_lazy.request |
362 |
+ let string_of_uri = Eliom_lazy.force |
363 |
+@@ -128,7 +124,7 @@ module RawXML = struct |
364 |
+ type racontent = |
365 |
+ | RA of acontent |
366 |
+ | RAReact of acontent option React.signal |
367 |
+- | RACamlEventHandler of biggest_event caml_event_handler |
368 |
++ | RACamlEventHandler of caml_event_handler |
369 |
+ | RALazyStr of string Eliom_lazy.request |
370 |
+ | RALazyStrL of separator * string Eliom_lazy.request list |
371 |
+ | RAClient of string * attrib option * poly (*attrib client_value *) |
372 |
+Index: eliom-5.0.0/src/lib/eliom_lib_base.shared.mli |
373 |
+=================================================================== |
374 |
+--- eliom-5.0.0.orig/src/lib/eliom_lib_base.shared.mli |
375 |
++++ eliom-5.0.0/src/lib/eliom_lib_base.shared.mli |
376 |
+@@ -73,24 +73,21 @@ module RawXML : sig |
377 |
+ |
378 |
+ type cookie_info = (bool * string list) deriving (Json) |
379 |
+ |
380 |
+- type -'a caml_event_handler = |
381 |
++ type caml_event_handler = |
382 |
+ | CE_registered_closure of |
383 |
+ string * poly (* 'a Js.t -> unit) client_value *) |
384 |
+- | CE_client_closure of ((#Dom_html.event as 'a) Js.t -> unit) |
385 |
++ | CE_client_closure of |
386 |
++ (Dom_html.event Js.t -> unit) (* Client side-only *) |
387 |
++ | CE_client_closure_mouse of |
388 |
++ (Dom_html.mouseEvent Js.t -> unit) (* Client side-only *) |
389 |
++ | CE_client_closure_keyboard of |
390 |
++ (Dom_html.keyboardEvent Js.t -> unit) (* Client side-only *) |
391 |
+ | CE_call_service of |
392 |
+ ([ `A | `Form_get | `Form_post] * (cookie_info option) * string option) option Eliom_lazy.request |
393 |
+ |
394 |
+- (* Inherit from all events. |
395 |
+- Necessary for subtyping since caml_event_handler is contravariant. *) |
396 |
+- class type biggest_event = object |
397 |
+- inherit Dom_html.event |
398 |
+- inherit Dom_html.mouseEvent |
399 |
+- inherit Dom_html.keyboardEvent |
400 |
+- end |
401 |
+- |
402 |
+ type internal_event_handler = |
403 |
+ | Raw of string |
404 |
+- | Caml of biggest_event caml_event_handler |
405 |
++ | Caml of caml_event_handler |
406 |
+ |
407 |
+ type uri = string Eliom_lazy.request |
408 |
+ val string_of_uri : uri -> string |
409 |
+@@ -127,7 +124,7 @@ module RawXML : sig |
410 |
+ type racontent = |
411 |
+ | RA of acontent |
412 |
+ | RAReact of acontent option React.signal |
413 |
+- | RACamlEventHandler of biggest_event caml_event_handler |
414 |
++ | RACamlEventHandler of caml_event_handler |
415 |
+ | RALazyStr of string Eliom_lazy.request |
416 |
+ | RALazyStrL of separator * string Eliom_lazy.request list |
417 |
+ | RAClient of string * attrib option * poly (* attrib client_value *) |