From 1d50e0d72850d62965b8ed07c01238b2aacfd6c5 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 1 Mar 2008 18:59:37 +0000 Subject: [PATCH 01/79] Initial import. --- .cvsignore | 1 + camlp5-META | 95 +++++++++++++++++++++++++++++++++++++ ocaml-camlp5.spec | 117 ++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 4 files changed, 214 insertions(+) create mode 100644 camlp5-META create mode 100644 ocaml-camlp5.spec diff --git a/.cvsignore b/.cvsignore index e69de29..18fddef 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +camlp5-5.08.tgz diff --git a/camlp5-META b/camlp5-META new file mode 100644 index 0000000..5f326b9 --- /dev/null +++ b/camlp5-META @@ -0,0 +1,95 @@ +# Specifications for the "camlp5" preprocessor: +requires = "" +version = "[distributed with Ocaml]" +description = "Base for Camlp5 syntax extensions" +directory = "+camlp5" + +# For the toploop: +archive(byte,toploop,camlp5o) = "camlp5o.cma" +archive(byte,toploop,camlp5r) = "camlp5r.cma" + +# Scheme-like syntax: +# Do #predicates "syntax,camlp5scheme", followed by #require "camlp5" +archive(byte,toploop,camlp5scheme) = "camlp5sch.cma" + +# Standard ML-like syntax: +# Do #predicates "syntax,camlp5sml", followed by #require "camlp5" +archive(byte,toploop,camlp5sml) = "gramlib.cma camlp5_top.cma pa_sml.cmo" + +# Lisp-like syntax: +# Do #predicates "syntax,camlp5lisp", followed by #require "camlp5" +archive(byte,toploop,camlp5lisp) = "gramlib.cma camlp5_top.cma pa_lisp.cmo" + +# For the preprocessor itself: +archive(syntax,preprocessor,camlp5o) = "pa_o.cmo pa_op.cmo pr_dump.cmo" +archive(syntax,preprocessor,camlp5r) = "pa_r.cmo pa_rp.cmo pr_dump.cmo" +archive(syntax,preprocessor,camlp5sml) = "pa_sml.cmo pr_dump.cmo" +archive(syntax,preprocessor,camlp5scheme) = "pa_scheme.cmo pr_dump.cmo" +archive(syntax,preprocessor,camlp5lisp) = "pa_lisp.cmo pr_dump.cmo" +preprocessor = "camlp5 -nolib" + +package "gramlib" ( + requires(toploop) = "camlp5" + version = "[distributed with Ocaml]" + description = "Grammar library to create syntax extensions" + archive(byte) = "gramlib.cma" + archive(byte,toploop) = "" # already contained in camlp5*.cma + archive(native) = "gramlib.cmxa" +) + +package "quotations" ( + requires = "camlp5" + version = "[distributed with Ocaml]" + description = "Syntax extension: Quotations to create AST nodes" + archive(syntax,preprocessor) = "q_MLast.cmo" + archive(syntax,toploop) = "q_MLast.cmo" +) + +package "phony_quotations" ( + requires = "camlp5" + version = "[distributed with Ocaml]" + description = "Syntax extension: Phony quotations" + archive(syntax,preprocessor) = "q_phony.cmo" + archive(syntax,toploop) = "q_phony.cmo" +) + +package "extend" ( + requires = "camlp5" + version = "[distributed with Ocaml]" + description = "Syntax extension: EXTEND the camlp5 grammar" + archive(syntax,preprocessor) = "pa_extend.cmo" + archive(syntax,toploop) = "pa_extend.cmo" +) + +package "extfun" ( + requires = "camlp5" + version = "[distributed with Ocaml]" + description = "Syntax extension: Extensible functions" + archive(syntax,preprocessor) = "pa_extfun.cmo" + archive(syntax,toploop) = "pa_extfun.cmo" +) + +package "fstream" ( + requires = "camlp5" + version = "[distributed with Ocaml]" + description = "Syntax extension: Functional stream parsers" + archive(syntax,preprocessor) = "pa_fstream.cmo" + archive(syntax,toploop) = "pa_fstream.cmo" +) + +package "macro" ( + requires = "camlp5" + version = "[distributed with Ocaml]" + description = "Syntax extension: Conditional compilation" + archive(syntax,preprocessor) = "pa_macro.cmo" + archive(syntax,toploop) = "pa_macro.cmo" +) + +package "unit_constraints" ( + requires = "camlp5" + version = "[distributed with Ocaml]" + description = "Syntax extension: Type constraints of type unit (revised syntax only)" + archive(syntax,preprocessor,camlp5r) = "pa_ru.cmo" + archive(syntax,toploop,camlp5r) = "pa_ru.cmo" + error(syntax,-camlp5r) = "Not available" +) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec new file mode 100644 index 0000000..85945db --- /dev/null +++ b/ocaml-camlp5.spec @@ -0,0 +1,117 @@ +%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) +%define debug_package %{nil} + +Name: ocaml-camlp5 +Version: 5.08 +Release: 1%{?dist} +Summary: Classical version of camlp4 OCaml preprocessor + +Group: Development/Libraries +License: BSD +URL: http://pauillac.inria.fr/~ddr/camlp5/ +Source0: http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-%{version}.tgz +Source1: camlp5-META +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +ExcludeArch: ppc64 + +BuildRequires: ocaml >= 3.10.1, ocaml-ocamldoc + +%define _use_internal_dependency_generator 0 +%define __find_requires /usr/lib/rpm/ocaml-find-requires.sh -i Asttypes -i Parsetree +%define __find_provides /usr/lib/rpm/ocaml-find-provides.sh -i Pa_extend + +%description +Camlp5 is a preprocessor-pretty-printer of OCaml. + +It is the continuation of the classical camlp4 with new features. + +OCaml 3.10 and above have an official camlp4 which is incompatible +with classical (<= 3.09) versions. You can find that in the +ocaml-camlp4 package. + + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + + +%description devel +The %{name}-devel package contains libraries and signature files for +developing applications that use %{name}. + + +%prep +%setup -q -n camlp5-%{version} +./configure + + +%build +make all +%if %opt +make opt +strip meta/camlp5r.opt etc/camlp5o.opt +%endif + + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT%{_libdir}/ocaml +mkdir -p $RPM_BUILD_ROOT%{_bindir} +mkdir -p $RPM_BUILD_ROOT%{_mandir} +make install \ + LIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml \ + OLIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml \ + BINDIR=$RPM_BUILD_ROOT%{_bindir} \ + MANDIR=$RPM_BUILD_ROOT%{_mandir} +cp %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/ocaml/camlp5/META + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%files +%defattr(-,root,root,-) +%doc README LICENSE +%{_libdir}/ocaml/camlp5 +%if %opt +%exclude %{_libdir}/ocaml/camlp5/*.a +%exclude %{_libdir}/ocaml/camlp5/*.cmxa +%exclude %{_libdir}/ocaml/camlp5/*.cmx +%endif +%exclude %{_libdir}/ocaml/camlp5/*.mli +%{_libdir}/ocaml/camlp5/META + + +%files devel +%defattr(-,root,root,-) +%doc README LICENSE CHANGES ICHANGES DEVEL UPGRADING +%if %opt +%{_libdir}/ocaml/camlp5/*.a +%{_libdir}/ocaml/camlp5/*.cmxa +%{_libdir}/ocaml/camlp5/*.cmx +%endif +%{_libdir}/ocaml/camlp5/*.mli +%{_bindir}/camlp5* +%{_bindir}/mkcamlp5* +%{_bindir}/ocpp5 +%{_mandir}/man1/*.1* + + +%changelog +* Thu Feb 21 2008 Richard W.M. Jones - 5.08-1 +- New upstream version 5.08. +- BR ocaml >= 3.10.1. + +* Tue Feb 12 2008 Richard W.M. Jones - 5.04-2 +- Strip the *.opt binaries. + +* Thu Dec 13 2007 Stijn Hoop - 5.04-1 +- Update to 5.04 + +* Wed Aug 8 2007 Richard W.M. Jones - 4.07-2 +- Add a META file. + +* Wed Aug 8 2007 Richard W.M. Jones - 4.07-1 +- Initial RPM release. diff --git a/sources b/sources index e69de29..504afb0 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +61f617f11eedb26ad8607fe21413f920 camlp5-5.08.tgz From c0422271212f99e8737817af58d6d1c9bb9f272b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 1 Mar 2008 19:03:19 +0000 Subject: [PATCH 02/79] - Build on ppc64. --- ocaml-camlp5.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 85945db..b20412c 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -3,7 +3,7 @@ Name: ocaml-camlp5 Version: 5.08 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -12,7 +12,6 @@ URL: http://pauillac.inria.fr/~ddr/camlp5/ Source0: http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-%{version}.tgz Source1: camlp5-META BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -ExcludeArch: ppc64 BuildRequires: ocaml >= 3.10.1, ocaml-ocamldoc @@ -100,6 +99,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sat Mar 1 2008 Richard W.M. Jones - 5.08-2 +- Build on ppc64. + * Thu Feb 21 2008 Richard W.M. Jones - 5.08-1 - New upstream version 5.08. - BR ocaml >= 3.10.1. From 0234360a9fd4b46f7d3e6b0a83f3df7fe82be55d Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 23 Apr 2008 10:26:05 +0000 Subject: [PATCH 03/79] Rebuild for OCaml 3.10.2. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index b20412c..ccd7cb6 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -3,7 +3,7 @@ Name: ocaml-camlp5 Version: 5.08 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -99,6 +99,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Apr 23 2008 Richard W.M. Jones - 5.08-3 +- Rebuild for OCaml 3.10.2. + * Sat Mar 1 2008 Richard W.M. Jones - 5.08-2 - Build on ppc64. From a0872c1bee104333ffd411f0b526dfcc2efdbc81 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 31 Aug 2008 09:39:06 +0000 Subject: [PATCH 04/79] New upstream version 5.09. --- .cvsignore | 2 +- import.log | 1 + ocaml-camlp5.spec | 7 +++++-- sources | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 import.log diff --git a/.cvsignore b/.cvsignore index 18fddef..f53096c 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -camlp5-5.08.tgz +camlp5-5.09.tgz diff --git a/import.log b/import.log new file mode 100644 index 0000000..a556a0b --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +ocaml-camlp5-5_09-1_fc10:HEAD:ocaml-camlp5-5.09-1.fc10.src.rpm:1220175515 diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index ccd7cb6..1be9dbc 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,8 +2,8 @@ %define debug_package %{nil} Name: ocaml-camlp5 -Version: 5.08 -Release: 3%{?dist} +Version: 5.09 +Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -99,6 +99,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sun Aug 31 2008 Richard W.M. Jones - 5.09-1 +- New upstream version 5.09. + * Wed Apr 23 2008 Richard W.M. Jones - 5.08-3 - Rebuild for OCaml 3.10.2. diff --git a/sources b/sources index 504afb0..3a05dac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -61f617f11eedb26ad8607fe21413f920 camlp5-5.08.tgz +bf0953d94f085e61c2f0cc6e08f723e5 camlp5-5.09.tgz From 6a00d13f73327501a990be686e7fa22ff2427d4f Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 20 Nov 2008 16:20:18 +0000 Subject: [PATCH 05/79] New upstream version 5.10. --- .cvsignore | 2 +- ocaml-camlp5.spec | 8 +++++++- sources | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index f53096c..0517d68 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -camlp5-5.09.tgz +camlp5-5.10.tgz diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 1be9dbc..ca9a5cd 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,7 +2,7 @@ %define debug_package %{nil} Name: ocaml-camlp5 -Version: 5.09 +Version: 5.10 Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor @@ -99,6 +99,12 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Nov 20 2008 Richard W.M. Jones - 5.10-1 +- New upstream version 5.10. + +* Wed Nov 19 2008 Richard W.M. Jones - 5.09-2 +- Rebuild for OCaml 3.11.0 + * Sun Aug 31 2008 Richard W.M. Jones - 5.09-1 - New upstream version 5.09. diff --git a/sources b/sources index 3a05dac..61a2f0a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bf0953d94f085e61c2f0cc6e08f723e5 camlp5-5.09.tgz +9abeac35a046d7576d116d1557e2aae7 camlp5-5.10.tgz From 963d05962a99ea1490b9f0cf419cb890eac10a6a Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 4 Dec 2008 16:47:49 +0000 Subject: [PATCH 06/79] Rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index ca9a5cd..b0e8903 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -3,7 +3,7 @@ Name: ocaml-camlp5 Version: 5.10 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -99,6 +99,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Nov 26 2008 Richard W.M. Jones - 5.10-2 +- Rebuild for OCaml 3.11.0+rc1. + * Thu Nov 20 2008 Richard W.M. Jones - 5.10-1 - New upstream version 5.10. From 55eb1438e3b9b2b0a56ab58553cc586d526343ae Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Thu, 26 Feb 2009 06:52:26 +0000 Subject: [PATCH 07/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index b0e8903..277d87c 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -3,7 +3,7 @@ Name: ocaml-camlp5 Version: 5.10 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -99,6 +99,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Feb 25 2009 Fedora Release Engineering - 5.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Wed Nov 26 2008 Richard W.M. Jones - 5.10-2 - Rebuild for OCaml 3.11.0+rc1. From 5a5606ea80a26dc13ff865bb1ec921c73c912ff3 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 16 Apr 2009 09:06:02 +0000 Subject: [PATCH 08/79] - ExcludeArch sparc64, s390, s390x as we don't have OCaml on those archs (added sparc64 per request from the sparc maintainer) --- ocaml-camlp5.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 277d87c..417e2a3 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -12,6 +12,7 @@ URL: http://pauillac.inria.fr/~ddr/camlp5/ Source0: http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-%{version}.tgz Source1: camlp5-META BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +ExcludeArch: sparc64 s390 s390x BuildRequires: ocaml >= 3.10.1, ocaml-ocamldoc @@ -99,6 +100,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Apr 16 2009 S390x secondary arch maintainer +- ExcludeArch sparc64, s390, s390x as we don't have OCaml on those archs + (added sparc64 per request from the sparc maintainer) + * Wed Feb 25 2009 Fedora Release Engineering - 5.10-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild From 056ae723cbe4c8aba51c1baf63eac4af9c24fd0f Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 23 May 2009 07:29:36 +0000 Subject: [PATCH 09/79] Rebuild for OCaml 3.11.1 --- .cvsignore | 2 +- ocaml-camlp5.spec | 10 +++++++--- sources | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.cvsignore b/.cvsignore index 0517d68..5473269 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -camlp5-5.10.tgz +camlp5-5.11.tgz diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 417e2a3..d7e1701 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,8 +2,8 @@ %define debug_package %{nil} Name: ocaml-camlp5 -Version: 5.10 -Release: 3%{?dist} +Version: 5.11 +Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -81,7 +81,6 @@ rm -rf $RPM_BUILD_ROOT %exclude %{_libdir}/ocaml/camlp5/*.cmx %endif %exclude %{_libdir}/ocaml/camlp5/*.mli -%{_libdir}/ocaml/camlp5/META %files devel @@ -100,6 +99,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sat May 23 2009 Richard W.M. Jones - 5.11-1 +- Rebuild for OCaml 3.11.1 +- New upstream version 5.11. +- Remove META file listed twice in %%files. + * Thu Apr 16 2009 S390x secondary arch maintainer - ExcludeArch sparc64, s390, s390x as we don't have OCaml on those archs (added sparc64 per request from the sparc maintainer) diff --git a/sources b/sources index 61a2f0a..fa57f9e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9abeac35a046d7576d116d1557e2aae7 camlp5-5.10.tgz +26d69abd669c5fda43dbf35074debc81 camlp5-5.11.tgz From a75605f2ff84b4c728585b658d964ec67cac4aec Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 23 May 2009 11:44:56 +0000 Subject: [PATCH 10/79] New upstream version 5.12, excepted to fix 3.11.1 build problems. --- .cvsignore | 2 +- ocaml-camlp5.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 5473269..b0322eb 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -camlp5-5.11.tgz +camlp5-5.12.tgz diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index d7e1701..159e697 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,7 +2,7 @@ %define debug_package %{nil} Name: ocaml-camlp5 -Version: 5.11 +Version: 5.12 Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor @@ -99,6 +99,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sat May 23 2009 Richard W.M. Jones - 5.12-1 +- New upstream version 5.12, excepted to fix 3.11.1 build problems. + * Sat May 23 2009 Richard W.M. Jones - 5.11-1 - Rebuild for OCaml 3.11.1 - New upstream version 5.11. diff --git a/sources b/sources index fa57f9e..ed8ca49 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -26d69abd669c5fda43dbf35074debc81 camlp5-5.11.tgz +28a86d4f1da8983b7fc773262fa52f1f camlp5-5.12.tgz From bce37dd17a5d8d9394b8951720e7c4327291f8bc Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Sat, 25 Jul 2009 19:52:51 +0000 Subject: [PATCH 11/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 159e697..998aac3 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -3,7 +3,7 @@ Name: ocaml-camlp5 Version: 5.12 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -99,6 +99,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sat Jul 25 2009 Fedora Release Engineering - 5.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Sat May 23 2009 Richard W.M. Jones - 5.12-1 - New upstream version 5.12, excepted to fix 3.11.1 build problems. From 9545c0e3b121126b43ebdbe323b5818109d89b80 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Nov 2009 22:56:27 +0000 Subject: [PATCH 12/79] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 91f8ba8..3f20394 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: ocaml-camlp5 -# $Id$ +# $Id: Makefile,v 1.1 2008/03/01 18:31:57 kevin Exp $ NAME := ocaml-camlp5 SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 8988429b733408000a993c9c138605ecafe1f932 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 30 Dec 2009 13:48:18 +0000 Subject: [PATCH 13/79] Rebuild for OCaml 3.11.2 --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 998aac3..e51e773 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -3,7 +3,7 @@ Name: ocaml-camlp5 Version: 5.12 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -99,6 +99,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Dec 30 2009 Richard W.M. Jones - 5.12-3 +- Rebuild for OCaml 3.11.2. + * Sat Jul 25 2009 Fedora Release Engineering - 5.12-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From 35db57463e8e0519d753f02d8e9ea8988d118550 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 5 Jan 2010 18:15:56 +0000 Subject: [PATCH 14/79] - Include Debian patch to fix support for OCaml 3.11.2. - Include Debian patch to fix typos in man page. - Replace %%define with %%global. - Use upstream RPM 4.8 OCaml dependency generator. - Put ./configure in %%build section. --- 0001-Add-partial-OCaml-3.11.2-support.patch | 46 +++++++++++++++++++++ 0002-Fix-typos-in-manpage.patch | 31 ++++++++++++++ ocaml-camlp5.spec | 43 ++++++++++++++----- 3 files changed, 110 insertions(+), 10 deletions(-) create mode 100644 0001-Add-partial-OCaml-3.11.2-support.patch create mode 100644 0002-Fix-typos-in-manpage.patch diff --git a/0001-Add-partial-OCaml-3.11.2-support.patch b/0001-Add-partial-OCaml-3.11.2-support.patch new file mode 100644 index 0000000..542ef44 --- /dev/null +++ b/0001-Add-partial-OCaml-3.11.2-support.patch @@ -0,0 +1,46 @@ +From: Stephane Glondu +Date: Tue, 5 Jan 2010 17:17:57 +0100 +Subject: [PATCH] Add (partial) OCaml 3.11.2 support + +The full support is achieved by running the following commands after +extracting the tarball of version 5.12, before runing ./configure: + + cp -a ocaml_stuff/3.11.1 ocaml_stuff/3.11.2 + sed -i \ + -e 's/let ocaml_version = "3.11.1"/let ocaml_version = "3.11.2"/' \ + ocaml_stuff/3.11.2/utils/pconfig.ml + cp -a ocaml_src/main/ast2pt.ml_3.11.1 ocaml_src/main/ast2pt.ml_3.11.2 + +Signed-off-by: Stephane Glondu +--- + main/ast2pt.ml | 2 +- + top/rprint.ml | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/main/ast2pt.ml b/main/ast2pt.ml +index 3c1ae43..9f3af38 100644 +--- a/main/ast2pt.ml ++++ b/main/ast2pt.ml +@@ -14,7 +14,7 @@ THEN + END; + + IFDEF +- OCAML_3_11 OR OCAML_3_11_0 OR OCAML_3_11_1 OR OCAML_3_12_0 ++ OCAML_3_11 OR OCAML_3_11_0 OR OCAML_3_11_1 OR OCAML_3_11_2 OR OCAML_3_12_0 + THEN + DEFINE AFTER_OCAML_3_11 + END; +diff --git a/top/rprint.ml b/top/rprint.ml +index c011b07..1a67480 100644 +--- a/top/rprint.ml ++++ b/top/rprint.ml +@@ -11,7 +11,7 @@ THEN + DEFINE OCAML_3_08 + END; + +-IFDEF OCAML_3_11 OR OCAML_3_11_0 OR OCAML_3_11_1 OR OCAML_3_12_0 THEN ++IFDEF OCAML_3_11 OR OCAML_3_11_0 OR OCAML_3_11_1 OR OCAML_3_11_2 OR OCAML_3_12_0 THEN + DEFINE AFTER_OCAML_3_11 + END; + +-- diff --git a/0002-Fix-typos-in-manpage.patch b/0002-Fix-typos-in-manpage.patch new file mode 100644 index 0000000..d410cc7 --- /dev/null +++ b/0002-Fix-typos-in-manpage.patch @@ -0,0 +1,31 @@ +From: Stephane Glondu +Date: Tue, 5 Jan 2010 17:27:36 +0100 +Subject: [PATCH] Fix typos in manpage + +--- + man/camlp5.1.tpl | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/man/camlp5.1.tpl b/man/camlp5.1.tpl +index 9fdf2ab..a10d718 100644 +--- a/man/camlp5.1.tpl ++++ b/man/camlp5.1.tpl +@@ -107,7 +107,7 @@ object files (ending with .cmo or .cma). Several usage of these options + are authorized. They must precede the other options. + + .LP +-An optionnal ++An optional + .B \-\- + may end the load options. + +@@ -300,7 +300,7 @@ the command line as ".cmi" files. For example, how to add the the + OCaml module "str": + .nf + .ta 1c +- mkcamlp5 -custom str.cmi str.cma -cclib -lstr -o camlp5str ++ mkcamlp5 \-custom str.cmi str.cma \-cclib \-lstr \-o camlp5str + .fi + .LP + +-- diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index e51e773..d3987ec 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -1,24 +1,30 @@ -%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) -%define debug_package %{nil} +%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) +%global debug_package %{nil} Name: ocaml-camlp5 Version: 5.12 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries License: BSD URL: http://pauillac.inria.fr/~ddr/camlp5/ -Source0: http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-%{version}.tgz -Source1: camlp5-META BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) ExcludeArch: sparc64 s390 s390x -BuildRequires: ocaml >= 3.10.1, ocaml-ocamldoc +Source0: http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-%{version}.tgz +Source1: camlp5-META -%define _use_internal_dependency_generator 0 -%define __find_requires /usr/lib/rpm/ocaml-find-requires.sh -i Asttypes -i Parsetree -%define __find_provides /usr/lib/rpm/ocaml-find-provides.sh -i Pa_extend +# Support for OCaml 3.11.2 from Debian, not upstream yet. +Patch0: 0001-Add-partial-OCaml-3.11.2-support.patch +# Various fixes to the man page (from Debian, not upstream yet). +Patch1: 0002-Fix-typos-in-manpage.patch + +BuildRequires: ocaml >= 3.11.2 +BuildRequires: ocaml-ocamldoc + +%global __ocaml_requires_opts -i Asttypes -i Parsetree +%global __ocaml_provides_opts -i Pa_extend %description Camlp5 is a preprocessor-pretty-printer of OCaml. @@ -43,10 +49,20 @@ developing applications that use %{name}. %prep %setup -q -n camlp5-%{version} -./configure + +%patch0 -p1 +%patch1 -p1 + +# See top of Patch0 for details: +cp -a ocaml_stuff/3.11.1 ocaml_stuff/3.11.2 +sed -i \ + -e 's/let ocaml_version = "3.11.1"/let ocaml_version = "3.11.2"/' \ + ocaml_stuff/3.11.2/utils/pconfig.ml +cp -a ocaml_src/main/ast2pt.ml_3.11.1 ocaml_src/main/ast2pt.ml_3.11.2 %build +./configure make all %if %opt make opt @@ -99,6 +115,13 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Jan 5 2010 Richard W.M. Jones - 5.12-4 +- Include Debian patch to fix support for OCaml 3.11.2. +- Include Debian patch to fix typos in man page. +- Replace %%define with %%global. +- Use upstream RPM 4.8 OCaml dependency generator. +- Put ./configure in %%build section. + * Wed Dec 30 2009 Richard W.M. Jones - 5.12-3 - Rebuild for OCaml 3.11.2. From 51290466f9ac4ae314c5c876918f5fb55de335ef Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 6 Jan 2010 14:43:13 +0000 Subject: [PATCH 15/79] Ignore ocaml(Pa_extend) bogus generated requires and provides. --- ocaml-camlp5.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index d3987ec..33f075e 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -3,7 +3,7 @@ Name: ocaml-camlp5 Version: 5.12 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -23,7 +23,7 @@ Patch1: 0002-Fix-typos-in-manpage.patch BuildRequires: ocaml >= 3.11.2 BuildRequires: ocaml-ocamldoc -%global __ocaml_requires_opts -i Asttypes -i Parsetree +%global __ocaml_requires_opts -i Asttypes -i Parsetree -i Pa_extend %global __ocaml_provides_opts -i Pa_extend %description @@ -115,6 +115,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Jan 6 2010 Richard W.M. Jones - 5.12-5 +- Ignore ocaml(Pa_extend) bogus generated requires and provides. + * Tue Jan 5 2010 Richard W.M. Jones - 5.12-4 - Include Debian patch to fix support for OCaml 3.11.2. - Include Debian patch to fix typos in man page. From dc581fee4b2e5df7618ec0a6a203a2113c0be090 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 13 Jan 2010 17:29:30 +0000 Subject: [PATCH 16/79] Ignore bogus provides Dynlink and Dynlinkaux. --- ocaml-camlp5.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 33f075e..5766b12 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -3,7 +3,7 @@ Name: ocaml-camlp5 Version: 5.12 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -24,7 +24,7 @@ BuildRequires: ocaml >= 3.11.2 BuildRequires: ocaml-ocamldoc %global __ocaml_requires_opts -i Asttypes -i Parsetree -i Pa_extend -%global __ocaml_provides_opts -i Pa_extend +%global __ocaml_provides_opts -i Dynlink -i Dynlinkaux -i Pa_extend %description Camlp5 is a preprocessor-pretty-printer of OCaml. @@ -115,6 +115,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Jan 13 2010 Richard W.M. Jones - 5.12-6 +- Ignore bogus provides Dynlink and Dynlinkaux. + * Wed Jan 6 2010 Richard W.M. Jones - 5.12-5 - Ignore ocaml(Pa_extend) bogus generated requires and provides. From 6f1ecee27e49d7b8a58c50e03e5f5a69b9f47dd0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 04:43:05 +0000 Subject: [PATCH 17/79] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- import.log | 1 - 3 files changed, 22 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 import.log diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 3f20394..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: ocaml-camlp5 -# $Id: Makefile,v 1.1 2008/03/01 18:31:57 kevin Exp $ -NAME := ocaml-camlp5 -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/import.log b/import.log deleted file mode 100644 index a556a0b..0000000 --- a/import.log +++ /dev/null @@ -1 +0,0 @@ -ocaml-camlp5-5_09-1_fc10:HEAD:ocaml-camlp5-5.09-1.fc10.src.rpm:1220175515 From 40a889c7fd564c572a33a484bc683ee55153a451 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 6 Jan 2011 17:37:04 +0000 Subject: [PATCH 18/79] New upstream version 6.02.1. --- .gitignore | 1 + 0001-Add-partial-OCaml-3.11.2-support.patch | 46 --------------------- 0002-Fix-typos-in-manpage.patch | 31 -------------- ocaml-camlp5.spec | 26 ++++-------- sources | 2 +- 5 files changed, 10 insertions(+), 96 deletions(-) delete mode 100644 0001-Add-partial-OCaml-3.11.2-support.patch delete mode 100644 0002-Fix-typos-in-manpage.patch diff --git a/.gitignore b/.gitignore index b0322eb..386d663 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ camlp5-5.12.tgz +/camlp5-6.02.1.tgz diff --git a/0001-Add-partial-OCaml-3.11.2-support.patch b/0001-Add-partial-OCaml-3.11.2-support.patch deleted file mode 100644 index 542ef44..0000000 --- a/0001-Add-partial-OCaml-3.11.2-support.patch +++ /dev/null @@ -1,46 +0,0 @@ -From: Stephane Glondu -Date: Tue, 5 Jan 2010 17:17:57 +0100 -Subject: [PATCH] Add (partial) OCaml 3.11.2 support - -The full support is achieved by running the following commands after -extracting the tarball of version 5.12, before runing ./configure: - - cp -a ocaml_stuff/3.11.1 ocaml_stuff/3.11.2 - sed -i \ - -e 's/let ocaml_version = "3.11.1"/let ocaml_version = "3.11.2"/' \ - ocaml_stuff/3.11.2/utils/pconfig.ml - cp -a ocaml_src/main/ast2pt.ml_3.11.1 ocaml_src/main/ast2pt.ml_3.11.2 - -Signed-off-by: Stephane Glondu ---- - main/ast2pt.ml | 2 +- - top/rprint.ml | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/main/ast2pt.ml b/main/ast2pt.ml -index 3c1ae43..9f3af38 100644 ---- a/main/ast2pt.ml -+++ b/main/ast2pt.ml -@@ -14,7 +14,7 @@ THEN - END; - - IFDEF -- OCAML_3_11 OR OCAML_3_11_0 OR OCAML_3_11_1 OR OCAML_3_12_0 -+ OCAML_3_11 OR OCAML_3_11_0 OR OCAML_3_11_1 OR OCAML_3_11_2 OR OCAML_3_12_0 - THEN - DEFINE AFTER_OCAML_3_11 - END; -diff --git a/top/rprint.ml b/top/rprint.ml -index c011b07..1a67480 100644 ---- a/top/rprint.ml -+++ b/top/rprint.ml -@@ -11,7 +11,7 @@ THEN - DEFINE OCAML_3_08 - END; - --IFDEF OCAML_3_11 OR OCAML_3_11_0 OR OCAML_3_11_1 OR OCAML_3_12_0 THEN -+IFDEF OCAML_3_11 OR OCAML_3_11_0 OR OCAML_3_11_1 OR OCAML_3_11_2 OR OCAML_3_12_0 THEN - DEFINE AFTER_OCAML_3_11 - END; - --- diff --git a/0002-Fix-typos-in-manpage.patch b/0002-Fix-typos-in-manpage.patch deleted file mode 100644 index d410cc7..0000000 --- a/0002-Fix-typos-in-manpage.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Stephane Glondu -Date: Tue, 5 Jan 2010 17:27:36 +0100 -Subject: [PATCH] Fix typos in manpage - ---- - man/camlp5.1.tpl | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/man/camlp5.1.tpl b/man/camlp5.1.tpl -index 9fdf2ab..a10d718 100644 ---- a/man/camlp5.1.tpl -+++ b/man/camlp5.1.tpl -@@ -107,7 +107,7 @@ object files (ending with .cmo or .cma). Several usage of these options - are authorized. They must precede the other options. - - .LP --An optionnal -+An optional - .B \-\- - may end the load options. - -@@ -300,7 +300,7 @@ the command line as ".cmi" files. For example, how to add the the - OCaml module "str": - .nf - .ta 1c -- mkcamlp5 -custom str.cmi str.cma -cclib -lstr -o camlp5str -+ mkcamlp5 \-custom str.cmi str.cma \-cclib \-lstr \-o camlp5str - .fi - .LP - --- diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 5766b12..eab385d 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,8 +2,8 @@ %global debug_package %{nil} Name: ocaml-camlp5 -Version: 5.12 -Release: 6%{?dist} +Version: 6.02.1 +Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -15,12 +15,7 @@ ExcludeArch: sparc64 s390 s390x Source0: http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-%{version}.tgz Source1: camlp5-META -# Support for OCaml 3.11.2 from Debian, not upstream yet. -Patch0: 0001-Add-partial-OCaml-3.11.2-support.patch -# Various fixes to the man page (from Debian, not upstream yet). -Patch1: 0002-Fix-typos-in-manpage.patch - -BuildRequires: ocaml >= 3.11.2 +BuildRequires: ocaml >= 3.12.0 BuildRequires: ocaml-ocamldoc %global __ocaml_requires_opts -i Asttypes -i Parsetree -i Pa_extend @@ -50,16 +45,6 @@ developing applications that use %{name}. %prep %setup -q -n camlp5-%{version} -%patch0 -p1 -%patch1 -p1 - -# See top of Patch0 for details: -cp -a ocaml_stuff/3.11.1 ocaml_stuff/3.11.2 -sed -i \ - -e 's/let ocaml_version = "3.11.1"/let ocaml_version = "3.11.2"/' \ - ocaml_stuff/3.11.2/utils/pconfig.ml -cp -a ocaml_src/main/ast2pt.ml_3.11.1 ocaml_src/main/ast2pt.ml_3.11.2 - %build ./configure @@ -115,6 +100,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Jan 6 2011 Richard W.M. Jones - 6.02.1-1 +- New upstream version 6.02.1. +- Remove upstream patches (both upstream). +- Rebuild for OCaml 3.12.0. + * Wed Jan 13 2010 Richard W.M. Jones - 5.12-6 - Ignore bogus provides Dynlink and Dynlinkaux. diff --git a/sources b/sources index ed8ca49..589ea8b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -28a86d4f1da8983b7fc773262fa52f1f camlp5-5.12.tgz +58913a5a581a3ce9cdad7d6bae5b6709 camlp5-6.02.1.tgz From 99a5833028a0f602f82b6fc7ff1d66911a23ab7e Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 8 Feb 2011 19:40:18 -0600 Subject: [PATCH 19/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index eab385d..829721c 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -3,7 +3,7 @@ Name: ocaml-camlp5 Version: 6.02.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -100,6 +100,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Feb 08 2011 Fedora Release Engineering - 6.02.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Thu Jan 6 2011 Richard W.M. Jones - 6.02.1-1 - New upstream version 6.02.1. - Remove upstream patches (both upstream). From 55d9cda45a20c29de361433cf7812f038260d653 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Thu, 27 Oct 2011 14:29:35 -0600 Subject: [PATCH 20/79] New upstream version 6.02.3 (bz 691913). Switch from ExcludeArch to ExclusiveArch %{ocaml_arches}. Drop unnecessary spec file elements (BuildRoot, etc.). Preserve timestamp on META. --- .gitignore | 2 +- ocaml-camlp5.spec | 22 ++++++++++------------ sources | 2 +- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 386d663..1ec80d8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -camlp5-5.12.tgz /camlp5-6.02.1.tgz +/camlp5-6.02.3.tgz diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 829721c..29d9276 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,15 +2,14 @@ %global debug_package %{nil} Name: ocaml-camlp5 -Version: 6.02.1 -Release: 2%{?dist} +Version: 6.02.3 +Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries License: BSD URL: http://pauillac.inria.fr/~ddr/camlp5/ -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -ExcludeArch: sparc64 s390 s390x +ExclusiveArch: %{ocaml_arches} Source0: http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-%{version}.tgz Source1: camlp5-META @@ -56,7 +55,6 @@ strip meta/camlp5r.opt etc/camlp5o.opt %install -rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_libdir}/ocaml mkdir -p $RPM_BUILD_ROOT%{_bindir} mkdir -p $RPM_BUILD_ROOT%{_mandir} @@ -65,15 +63,10 @@ make install \ OLIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml \ BINDIR=$RPM_BUILD_ROOT%{_bindir} \ MANDIR=$RPM_BUILD_ROOT%{_mandir} -cp %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/ocaml/camlp5/META - - -%clean -rm -rf $RPM_BUILD_ROOT +cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/ocaml/camlp5/META %files -%defattr(-,root,root,-) %doc README LICENSE %{_libdir}/ocaml/camlp5 %if %opt @@ -85,7 +78,6 @@ rm -rf $RPM_BUILD_ROOT %files devel -%defattr(-,root,root,-) %doc README LICENSE CHANGES ICHANGES DEVEL UPGRADING %if %opt %{_libdir}/ocaml/camlp5/*.a @@ -100,6 +92,12 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Oct 27 2011 Jerry James - 6.02.3-1 +- New upstream version 6.02.3 (bz 691913). +- Switch from ExcludeArch to ExclusiveArch %%{ocaml_arches}. +- Drop unnecessary spec file elements (BuildRoot, etc.). +- Preserve timestamp on META. + * Tue Feb 08 2011 Fedora Release Engineering - 6.02.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild diff --git a/sources b/sources index 589ea8b..4010795 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -58913a5a581a3ce9cdad7d6bae5b6709 camlp5-6.02.1.tgz +a4f5e0dc13c43d50eb655c8e929f556e camlp5-6.02.3.tgz From 0e6d1b4912789d2f16cb0401ea7fdd250fdfafb4 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 6 Jan 2012 14:55:17 +0000 Subject: [PATCH 21/79] Rebuild for OCaml 3.12.1. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 29d9276..e7a3fa1 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -3,7 +3,7 @@ Name: ocaml-camlp5 Version: 6.02.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -92,6 +92,9 @@ cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/ocaml/camlp5/META %changelog +* Fri Jan 06 2012 Richard W.M. Jones - 6.02.3-2 +- Rebuild for OCaml 3.12.1. + * Thu Oct 27 2011 Jerry James - 6.02.3-1 - New upstream version 6.02.3 (bz 691913). - Switch from ExcludeArch to ExclusiveArch %%{ocaml_arches}. From acfe8e9bc7e891f7d34acdd7c166a4f129834455 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 8 Jun 2012 15:42:41 -0600 Subject: [PATCH 22/79] New upstream version 6.06 (provides OCaml 4.0 support). Add HTML documentation to the -devel package. --- .gitignore | 3 +-- ocaml-camlp5.spec | 11 ++++++++--- sources | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 1ec80d8..499e22c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -/camlp5-6.02.1.tgz -/camlp5-6.02.3.tgz +/camlp5-6.06.tgz diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index e7a3fa1..9367229 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,8 +2,8 @@ %global debug_package %{nil} Name: ocaml-camlp5 -Version: 6.02.3 -Release: 2%{?dist} +Version: 6.06 +Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -64,6 +64,7 @@ make install \ BINDIR=$RPM_BUILD_ROOT%{_bindir} \ MANDIR=$RPM_BUILD_ROOT%{_mandir} cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/ocaml/camlp5/META +rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %files @@ -78,7 +79,7 @@ cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/ocaml/camlp5/META %files devel -%doc README LICENSE CHANGES ICHANGES DEVEL UPGRADING +%doc CHANGES ICHANGES DEVEL UPGRADING doc/html doc/htmlp %if %opt %{_libdir}/ocaml/camlp5/*.a %{_libdir}/ocaml/camlp5/*.cmxa @@ -92,6 +93,10 @@ cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/ocaml/camlp5/META %changelog +* Fri Jun 8 2012 Jerry James - 6.06-1 +- New upstream version 6.06 (provides OCaml 4.0 support) +- Add HTML documentation to the -devel package + * Fri Jan 06 2012 Richard W.M. Jones - 6.02.3-2 - Rebuild for OCaml 3.12.1. diff --git a/sources b/sources index 4010795..cd4de5d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a4f5e0dc13c43d50eb655c8e929f556e camlp5-6.02.3.tgz +8de69094d73d24768844a5017a2bd04b camlp5-6.06.tgz From 5b63fa885c48471b58477ee8d711c29484fffb7d Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 10 Jun 2012 22:09:43 +0100 Subject: [PATCH 23/79] Rebuild for OCaml 4.00.0. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 9367229..d57256f 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -3,7 +3,7 @@ Name: ocaml-camlp5 Version: 6.06 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -93,6 +93,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Sun Jun 10 2012 Richard W.M. Jones - 6.06-2 +- Rebuild for OCaml 4.00.0. + * Fri Jun 8 2012 Jerry James - 6.06-1 - New upstream version 6.06 (provides OCaml 4.0 support) - Add HTML documentation to the -devel package From 636218128216efc168405a1c7f71b70a42af852b Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 20 Jul 2012 00:52:28 -0500 Subject: [PATCH 24/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index d57256f..bc1bb93 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -3,7 +3,7 @@ Name: ocaml-camlp5 Version: 6.06 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -93,6 +93,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Fri Jul 20 2012 Fedora Release Engineering - 6.06-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Sun Jun 10 2012 Richard W.M. Jones - 6.06-2 - Rebuild for OCaml 4.00.0. From 83658c433db5ce6724f90c1f4ce2d79d99af9a4c Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 28 Jul 2012 16:00:51 +0100 Subject: [PATCH 25/79] Rebuild for OCaml 4.00.0 official release. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index bc1bb93..30f5ec6 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -3,7 +3,7 @@ Name: ocaml-camlp5 Version: 6.06 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -93,6 +93,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Sun Jun 10 2012 Richard W.M. Jones - 6.06-4 +- Rebuild for OCaml 4.00.0 official release. + * Fri Jul 20 2012 Fedora Release Engineering - 6.06-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild From e0c0b7c375a3c4c8496dd88b211a4a5d201166ad Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 28 Jul 2012 16:01:28 +0100 Subject: [PATCH 26/79] Fix changelog. --- ocaml-camlp5.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 30f5ec6..610d765 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -93,7 +93,7 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog -* Sun Jun 10 2012 Richard W.M. Jones - 6.06-4 +* Sat Jul 28 2012 Richard W.M. Jones - 6.06-4 - Rebuild for OCaml 4.00.0 official release. * Fri Jul 20 2012 Fedora Release Engineering - 6.06-3 From dfccee17463c7515561b3cb3b209dd1df282cc93 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Wed, 17 Oct 2012 16:23:06 -0600 Subject: [PATCH 27/79] New upstream version 6.07 (provides OCaml 4.00.1 support). --- .gitignore | 2 +- ocaml-camlp5.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 499e22c..de621ef 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/camlp5-6.06.tgz +/camlp5-6.07.tgz diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 610d765..3fe8945 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,8 +2,8 @@ %global debug_package %{nil} Name: ocaml-camlp5 -Version: 6.06 -Release: 4%{?dist} +Version: 6.07 +Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -14,7 +14,7 @@ ExclusiveArch: %{ocaml_arches} Source0: http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-%{version}.tgz Source1: camlp5-META -BuildRequires: ocaml >= 3.12.0 +BuildRequires: ocaml BuildRequires: ocaml-ocamldoc %global __ocaml_requires_opts -i Asttypes -i Parsetree -i Pa_extend @@ -93,6 +93,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Wed Oct 17 2012 Jerry James - 6.07-1 +- New upstream version 6.07 (provides OCaml 4.00.1 support) + * Sat Jul 28 2012 Richard W.M. Jones - 6.06-4 - Rebuild for OCaml 4.00.0 official release. diff --git a/sources b/sources index cd4de5d..cc6d305 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8de69094d73d24768844a5017a2bd04b camlp5-6.06.tgz +e6ab7d29cbd851f6f99c4e5a9010178f camlp5-6.07.tgz From 77ebc57e80cc984df2939a91dd4b387e8bbcc2d2 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Wed, 17 Oct 2012 16:44:10 -0600 Subject: [PATCH 28/79] Add -typevar patch to fix the build. --- camlp5-typevar.patch | 30 ++++++++++++++++++++++++++++++ ocaml-camlp5.spec | 3 +++ 2 files changed, 33 insertions(+) create mode 100644 camlp5-typevar.patch diff --git a/camlp5-typevar.patch b/camlp5-typevar.patch new file mode 100644 index 0000000..f7e75cc --- /dev/null +++ b/camlp5-typevar.patch @@ -0,0 +1,30 @@ +--- ./etc/pa_schemer.ml.orig 2012-10-08 04:09:25.000000000 -0600 ++++ ./etc/pa_schemer.ml 2012-10-17 16:41:24.782055116 -0600 +@@ -5,9 +5,9 @@ + open Pcaml; + open Exparser; + +-type choice α β = +- [ Left of α +- | Right of β ] ++type choice 'a 'b = ++ [ Left of 'a ++ | Right of 'b ] + ; + + (* Buffer *) +--- ./etc/pa_lispr.ml.orig 2012-10-08 04:09:25.000000000 -0600 ++++ ./etc/pa_lispr.ml 2012-10-17 16:41:41.275721761 -0600 +@@ -4,9 +4,9 @@ + + open Pcaml; + +-type choice α β = +- [ Left of α +- | Right of β ] ++type choice 'a 'b = ++ [ Left of 'a ++ | Right of 'b ] + ; + + (* Buffer *) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 3fe8945..a91936e 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -13,6 +13,8 @@ ExclusiveArch: %{ocaml_arches} Source0: http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-%{version}.tgz Source1: camlp5-META +# Not yet sent upstream: experimental patch to fix the build with OCaml 4.00.1 +Patch0: camlp5-typevar.patch BuildRequires: ocaml BuildRequires: ocaml-ocamldoc @@ -95,6 +97,7 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog * Wed Oct 17 2012 Jerry James - 6.07-1 - New upstream version 6.07 (provides OCaml 4.00.1 support) +- Add -typevar patch to fix the build * Sat Jul 28 2012 Richard W.M. Jones - 6.06-4 - Rebuild for OCaml 4.00.0 official release. From ffb7336cb5f311e6927fe7bdb4273f16ff0379ce Mon Sep 17 00:00:00 2001 From: Jerry James Date: Wed, 17 Oct 2012 16:54:00 -0600 Subject: [PATCH 29/79] Patches work better when they are applied. --- ocaml-camlp5.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index a91936e..03bc696 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -45,6 +45,7 @@ developing applications that use %{name}. %prep %setup -q -n camlp5-%{version} +%patch0 %build From 4f5c34022ac4c95e7f986a0cb9b1150421d46936 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 14 Feb 2013 02:55:44 -0600 Subject: [PATCH 30/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 03bc696..f7a7b44 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -3,7 +3,7 @@ Name: ocaml-camlp5 Version: 6.07 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -96,6 +96,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Thu Feb 14 2013 Fedora Release Engineering - 6.07-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Wed Oct 17 2012 Jerry James - 6.07-1 - New upstream version 6.07 (provides OCaml 4.00.1 support) - Add -typevar patch to fix the build From cc93a96521b7c6f86fa0b20ab8f62f39ac62eccd Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 3 Aug 2013 09:49:09 -0500 Subject: [PATCH 31/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index f7a7b44..4637438 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -3,7 +3,7 @@ Name: ocaml-camlp5 Version: 6.07 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -96,6 +96,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Sat Aug 03 2013 Fedora Release Engineering - 6.07-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Thu Feb 14 2013 Fedora Release Engineering - 6.07-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild From 2fb75ff39602d201f922c16b30cbe9bddf9d921e Mon Sep 17 00:00:00 2001 From: Jerry James Date: Sun, 15 Sep 2013 21:30:55 -0600 Subject: [PATCH 32/79] New upstream version 6.11 (provides OCaml 4.01.0 support). Build with debug information. Drop upstreamed -typevar patch. Upstream now provides its own META file. --- .gitignore | 2 +- camlp5-META | 95 -------------------------------------------- camlp5-typevar.patch | 30 -------------- ocaml-camlp5.spec | 38 ++++++++++++------ sources | 2 +- 5 files changed, 27 insertions(+), 140 deletions(-) delete mode 100644 camlp5-META delete mode 100644 camlp5-typevar.patch diff --git a/.gitignore b/.gitignore index de621ef..83579c1 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/camlp5-6.07.tgz +/camlp5-6.11.tgz diff --git a/camlp5-META b/camlp5-META deleted file mode 100644 index 5f326b9..0000000 --- a/camlp5-META +++ /dev/null @@ -1,95 +0,0 @@ -# Specifications for the "camlp5" preprocessor: -requires = "" -version = "[distributed with Ocaml]" -description = "Base for Camlp5 syntax extensions" -directory = "+camlp5" - -# For the toploop: -archive(byte,toploop,camlp5o) = "camlp5o.cma" -archive(byte,toploop,camlp5r) = "camlp5r.cma" - -# Scheme-like syntax: -# Do #predicates "syntax,camlp5scheme", followed by #require "camlp5" -archive(byte,toploop,camlp5scheme) = "camlp5sch.cma" - -# Standard ML-like syntax: -# Do #predicates "syntax,camlp5sml", followed by #require "camlp5" -archive(byte,toploop,camlp5sml) = "gramlib.cma camlp5_top.cma pa_sml.cmo" - -# Lisp-like syntax: -# Do #predicates "syntax,camlp5lisp", followed by #require "camlp5" -archive(byte,toploop,camlp5lisp) = "gramlib.cma camlp5_top.cma pa_lisp.cmo" - -# For the preprocessor itself: -archive(syntax,preprocessor,camlp5o) = "pa_o.cmo pa_op.cmo pr_dump.cmo" -archive(syntax,preprocessor,camlp5r) = "pa_r.cmo pa_rp.cmo pr_dump.cmo" -archive(syntax,preprocessor,camlp5sml) = "pa_sml.cmo pr_dump.cmo" -archive(syntax,preprocessor,camlp5scheme) = "pa_scheme.cmo pr_dump.cmo" -archive(syntax,preprocessor,camlp5lisp) = "pa_lisp.cmo pr_dump.cmo" -preprocessor = "camlp5 -nolib" - -package "gramlib" ( - requires(toploop) = "camlp5" - version = "[distributed with Ocaml]" - description = "Grammar library to create syntax extensions" - archive(byte) = "gramlib.cma" - archive(byte,toploop) = "" # already contained in camlp5*.cma - archive(native) = "gramlib.cmxa" -) - -package "quotations" ( - requires = "camlp5" - version = "[distributed with Ocaml]" - description = "Syntax extension: Quotations to create AST nodes" - archive(syntax,preprocessor) = "q_MLast.cmo" - archive(syntax,toploop) = "q_MLast.cmo" -) - -package "phony_quotations" ( - requires = "camlp5" - version = "[distributed with Ocaml]" - description = "Syntax extension: Phony quotations" - archive(syntax,preprocessor) = "q_phony.cmo" - archive(syntax,toploop) = "q_phony.cmo" -) - -package "extend" ( - requires = "camlp5" - version = "[distributed with Ocaml]" - description = "Syntax extension: EXTEND the camlp5 grammar" - archive(syntax,preprocessor) = "pa_extend.cmo" - archive(syntax,toploop) = "pa_extend.cmo" -) - -package "extfun" ( - requires = "camlp5" - version = "[distributed with Ocaml]" - description = "Syntax extension: Extensible functions" - archive(syntax,preprocessor) = "pa_extfun.cmo" - archive(syntax,toploop) = "pa_extfun.cmo" -) - -package "fstream" ( - requires = "camlp5" - version = "[distributed with Ocaml]" - description = "Syntax extension: Functional stream parsers" - archive(syntax,preprocessor) = "pa_fstream.cmo" - archive(syntax,toploop) = "pa_fstream.cmo" -) - -package "macro" ( - requires = "camlp5" - version = "[distributed with Ocaml]" - description = "Syntax extension: Conditional compilation" - archive(syntax,preprocessor) = "pa_macro.cmo" - archive(syntax,toploop) = "pa_macro.cmo" -) - -package "unit_constraints" ( - requires = "camlp5" - version = "[distributed with Ocaml]" - description = "Syntax extension: Type constraints of type unit (revised syntax only)" - archive(syntax,preprocessor,camlp5r) = "pa_ru.cmo" - archive(syntax,toploop,camlp5r) = "pa_ru.cmo" - error(syntax,-camlp5r) = "Not available" -) diff --git a/camlp5-typevar.patch b/camlp5-typevar.patch deleted file mode 100644 index f7e75cc..0000000 --- a/camlp5-typevar.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- ./etc/pa_schemer.ml.orig 2012-10-08 04:09:25.000000000 -0600 -+++ ./etc/pa_schemer.ml 2012-10-17 16:41:24.782055116 -0600 -@@ -5,9 +5,9 @@ - open Pcaml; - open Exparser; - --type choice α β = -- [ Left of α -- | Right of β ] -+type choice 'a 'b = -+ [ Left of 'a -+ | Right of 'b ] - ; - - (* Buffer *) ---- ./etc/pa_lispr.ml.orig 2012-10-08 04:09:25.000000000 -0600 -+++ ./etc/pa_lispr.ml 2012-10-17 16:41:41.275721761 -0600 -@@ -4,9 +4,9 @@ - - open Pcaml; - --type choice α β = -- [ Left of α -- | Right of β ] -+type choice 'a 'b = -+ [ Left of 'a -+ | Right of 'b ] - ; - - (* Buffer *) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 4637438..f86ec98 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -1,9 +1,8 @@ %global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) -%global debug_package %{nil} Name: ocaml-camlp5 -Version: 6.07 -Release: 3%{?dist} +Version: 6.11 +Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -12,9 +11,6 @@ URL: http://pauillac.inria.fr/~ddr/camlp5/ ExclusiveArch: %{ocaml_arches} Source0: http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-%{version}.tgz -Source1: camlp5-META -# Not yet sent upstream: experimental patch to fix the build with OCaml 4.00.1 -Patch0: camlp5-typevar.patch BuildRequires: ocaml BuildRequires: ocaml-ocamldoc @@ -45,17 +41,27 @@ developing applications that use %{name}. %prep %setup -q -n camlp5-%{version} -%patch0 + +# Build with debug information +sed -i 's,WARNERR="-warn-error A",WARNERR="-g -warn-error A",' configure +sed -i 's,-linkall,& -g,g' top/Makefile +for fil in compile/compile.sh $(find . -name Makefile); do + sed -i 's,\$(OCAMLN)c,& -g,;s,\$(OCAMLN)opt,& -g,;s,LINKFLAGS=,&-g ,' $fil +done + +# But don't build pa_lisp with debug information because it triggers this: +# Fatal error: exception Assert_failure("asmcomp/emitaux.ml", 226, 4) +sed -i 's/$(WARNERR)/-warn-error A/' etc/Makefile.withnew %build ./configure -make all %if %opt -make opt -strip meta/camlp5r.opt etc/camlp5o.opt +make world.opt +%else +make world %endif - +make -C doc/htmlp %install mkdir -p $RPM_BUILD_ROOT%{_libdir}/ocaml @@ -66,7 +72,7 @@ make install \ OLIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml \ BINDIR=$RPM_BUILD_ROOT%{_bindir} \ MANDIR=$RPM_BUILD_ROOT%{_mandir} -cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/ocaml/camlp5/META +cp -p etc/META $RPM_BUILD_ROOT%{_libdir}/ocaml/camlp5 rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} @@ -82,7 +88,7 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %files devel -%doc CHANGES ICHANGES DEVEL UPGRADING doc/html doc/htmlp +%doc CHANGES ICHANGES DEVEL UPGRADING doc/html %if %opt %{_libdir}/ocaml/camlp5/*.a %{_libdir}/ocaml/camlp5/*.cmxa @@ -96,6 +102,12 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Sat Sep 14 2013 Jerry James - 6.11-1 +- New upstream version 6.11 (provides OCaml 4.01.0 support) +- Build with debug information +- Drop upstreamed -typevar patch +- Upstream now provides its own META file + * Sat Aug 03 2013 Fedora Release Engineering - 6.07-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild diff --git a/sources b/sources index cc6d305..e88d35b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e6ab7d29cbd851f6f99c4e5a9010178f camlp5-6.07.tgz +5bd3d0e8a32d762b28107caef631f860 camlp5-6.11.tgz From 257252e7b6aebfcfaf6e68fbf5abe5a64ab0eb1c Mon Sep 17 00:00:00 2001 From: Michel Normand Date: Wed, 9 Apr 2014 09:54:47 -0400 Subject: [PATCH 33/79] increase stack size to compile on ppc64/ppc64le archi in fact required for ppc64le but do the same type of change and comment as done in ocaml.spec Signed-off-by: Michel Normand --- ocaml-camlp5.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index f86ec98..437ad36 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,7 +2,7 @@ Name: ocaml-camlp5 Version: 6.11 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -57,6 +57,14 @@ sed -i 's/$(WARNERR)/-warn-error A/' etc/Makefile.withnew %build ./configure %if %opt +# For ppc64 we need a larger stack than default to compile some files +# because the stages in the OCaml compiler are not mutually tail +# recursive. +%ifarch ppc64 ppc64le +ulimit -a +ulimit -Hs 65536 +ulimit -Ss 65536 +%endif make world.opt %else make world @@ -102,6 +110,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Thu Apr 10 2014 Michel Normand 6.11-2 +- increase stack size for ppc64/ppc64le (RHBZ#1085850) + * Sat Sep 14 2013 Jerry James - 6.11-1 - New upstream version 6.11 (provides OCaml 4.01.0 support) - Build with debug information From 1e66b3d1a42e4f33164c03a2abdceab20e18f49f Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 15 Apr 2014 13:38:22 +0100 Subject: [PATCH 34/79] Remove ocaml_arches macro (RHBZ#1087794). --- ocaml-camlp5.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 437ad36..05d7b89 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,13 +2,12 @@ Name: ocaml-camlp5 Version: 6.11 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries License: BSD URL: http://pauillac.inria.fr/~ddr/camlp5/ -ExclusiveArch: %{ocaml_arches} Source0: http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-%{version}.tgz @@ -110,6 +109,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Tue Apr 15 2014 Richard W.M. Jones - 6.11-3 +- Remove ocaml_arches macro (RHBZ#1087794). + * Thu Apr 10 2014 Michel Normand 6.11-2 - increase stack size for ppc64/ppc64le (RHBZ#1085850) From 035eb4bf5ee8ea07ee8a21232687a0293b7680c3 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 7 Jun 2014 10:32:46 -0500 Subject: [PATCH 35/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 05d7b89..4dd2146 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,7 +2,7 @@ Name: ocaml-camlp5 Version: 6.11 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -109,6 +109,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Sat Jun 07 2014 Fedora Release Engineering - 6.11-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Tue Apr 15 2014 Richard W.M. Jones - 6.11-3 - Remove ocaml_arches macro (RHBZ#1087794). From 3bfde46e4f752284ac81fc967b25d744bcb85971 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 21 Jul 2014 11:22:26 +0100 Subject: [PATCH 36/79] OCaml 4.02.0 beta rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 4dd2146..ab0fb19 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,7 +2,7 @@ Name: ocaml-camlp5 Version: 6.11 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Classical version of camlp4 OCaml preprocessor Group: Development/Libraries @@ -109,6 +109,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Mon Jul 21 2014 Richard W.M. Jones - 6.11-5 +- OCaml 4.02.0 beta rebuild. + * Sat Jun 07 2014 Fedora Release Engineering - 6.11-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild From c6e3b00a580b5b070e306cb5f5d1473df43e3d49 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 1 Aug 2014 10:29:37 +0100 Subject: [PATCH 37/79] Rebase to 6.12 prerelease which supports OCaml 4.02. - OCaml 4.02.0 beta rebuild. - New source URL. --- camlp5-6.12-63a8c30f.patch | 20986 +++++++++++++++++++++++++++++++++++ ocaml-camlp5.spec | 22 +- 2 files changed, 21001 insertions(+), 7 deletions(-) create mode 100644 camlp5-6.12-63a8c30f.patch diff --git a/camlp5-6.12-63a8c30f.patch b/camlp5-6.12-63a8c30f.patch new file mode 100644 index 0000000..1820949 --- /dev/null +++ b/camlp5-6.12-63a8c30f.patch @@ -0,0 +1,20986 @@ +diff -urN camlp5-6.11/boot/.cvsignore camlp5-6.12-63a8c30f/boot/.cvsignore +--- camlp5-6.11/boot/.cvsignore 2010-09-15 17:00:18.000000000 +0100 ++++ camlp5-6.12-63a8c30f/boot/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1,5 +0,0 @@ +-*.cm[oia] +-camlp5 +-camlp5o +-camlp5r +-SAVED +diff -urN camlp5-6.11/boot/.gitignore camlp5-6.12-63a8c30f/boot/.gitignore +--- camlp5-6.11/boot/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/boot/.gitignore 2014-08-01 10:14:54.283065418 +0100 +@@ -0,0 +1,5 @@ ++*.cm[oia] ++camlp5 ++camlp5o ++camlp5r ++SAVED +diff -urN camlp5-6.11/CHANGES camlp5-6.12-63a8c30f/CHANGES +--- camlp5-6.11/CHANGES 2013-07-22 10:53:23.000000000 +0100 ++++ camlp5-6.12-63a8c30f/CHANGES 2014-08-01 10:14:54.283065418 +0100 +@@ -1,3 +1,17 @@ ++Camlp5 Version 6.12: ++-------------------- ++ ++* [17 Apr 14] Updated for ocaml trunk (4.02.0) svn rev 14621. ++* [14 Apr 14] Updated for ocaml version 4.01.1. ++* [19 Dec 13] Dummy line numbers are now 1 instead of -1 to prevent ++ errors that sometimes happen later at assembling phase. ++* [19 Dec 13] Fixed problem in top/Makefile when OCLIBDIR contains spaces. ++* [06 Sep 13] Added flag Grammar.utf8_print to print grammars entries ++ (with Grammar.Entry.print) displaying strings in utf-8 (default: True). ++ Usefull e.g. for Coq in command 'Print Grammar constr' when using utf8. ++* [27 Aug 13] Fixed bug in normal syntax: "let f { x } = ...", "{ x }" ++ and "let open ..." were refused. ++ + Camlp5 Version 6.11: + -------------------- + +diff -urN camlp5-6.11/compile/comp_head.ml.tpl camlp5-6.12-63a8c30f/compile/comp_head.ml.tpl +--- camlp5-6.11/compile/comp_head.ml.tpl 2012-01-09 14:22:19.000000000 +0000 ++++ camlp5-6.12-63a8c30f/compile/comp_head.ml.tpl 2014-08-01 10:14:54.284065419 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: comp_head.ml.tpl,v 6.5 2012-01-09 14:22:19 deraugla Exp $ *) ++(* comp_head.ml.tpl,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "q_MLast.cmo"; +diff -urN camlp5-6.11/compile/compile.ml camlp5-6.12-63a8c30f/compile/compile.ml +--- camlp5-6.11/compile/compile.ml 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/compile/compile.ml 2014-08-01 10:14:54.284065419 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: compile.ml,v 6.6 2012-01-09 14:22:20 deraugla Exp $ *) ++(* compile.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "q_MLast.cmo"; +diff -urN camlp5-6.11/compile/.cvsignore camlp5-6.12-63a8c30f/compile/.cvsignore +--- camlp5-6.11/compile/.cvsignore 2010-09-15 17:00:18.000000000 +0100 ++++ camlp5-6.12-63a8c30f/compile/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1,7 +0,0 @@ +-*.cm[oix] +-*.fast +-*.fast.opt +-o_fast.ml.tmp +-r_fast.ml.tmp +-pa_o_fast.ml +-pa_r_fast.ml +diff -urN camlp5-6.11/compile/.gitignore camlp5-6.12-63a8c30f/compile/.gitignore +--- camlp5-6.11/compile/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/compile/.gitignore 2014-08-01 10:14:54.283065418 +0100 +@@ -0,0 +1,7 @@ ++*.cm[oix] ++*.fast ++*.fast.opt ++o_fast.ml.tmp ++r_fast.ml.tmp ++pa_o_fast.ml ++pa_r_fast.ml +diff -urN camlp5-6.11/compile/Makefile camlp5-6.12-63a8c30f/compile/Makefile +--- camlp5-6.11/compile/Makefile 2012-03-07 08:55:31.000000000 +0000 ++++ camlp5-6.12-63a8c30f/compile/Makefile 2014-08-01 10:14:54.283065418 +0100 +@@ -1,4 +1,4 @@ +-# $Id: Makefile,v 6.6 2012-03-07 08:55:31 deraugla Exp $ ++# Makefile,v + + TOP=.. + include ../config/Makefile +diff -urN camlp5-6.11/config/.cvsignore camlp5-6.12-63a8c30f/config/.cvsignore +--- camlp5-6.11/config/.cvsignore 2010-09-15 17:00:18.000000000 +0100 ++++ camlp5-6.12-63a8c30f/config/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1,2 +0,0 @@ +-Makefile.cnf +-Makefile +diff -urN camlp5-6.11/config/.gitignore camlp5-6.12-63a8c30f/config/.gitignore +--- camlp5-6.11/config/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/config/.gitignore 2014-08-01 10:14:54.284065419 +0100 +@@ -0,0 +1,2 @@ ++Makefile.cnf ++Makefile +diff -urN camlp5-6.11/config/Makefile.tpl camlp5-6.12-63a8c30f/config/Makefile.tpl +--- camlp5-6.11/config/Makefile.tpl 2012-03-02 18:49:56.000000000 +0000 ++++ camlp5-6.12-63a8c30f/config/Makefile.tpl 2014-08-01 10:14:54.284065419 +0100 +@@ -1,4 +1,4 @@ +-# $Id: Makefile.tpl,v 6.4 2012-03-02 18:49:56 deraugla Exp $ ++# Makefile.tpl,v + + CAMLP5_COMM=OPT=$(OPT) EXE=$(EXE) OCAMLN=$(OCAMLN) MODE=$(MODE) COMPWITH=$(COMPWITH) CAMLP5N=$(CAMLP5N) ../tools/camlp5_comm.sh + OCAMLC=@OPT=$(OPT) EXE=$(EXE) OCAMLN=$(OCAMLN) ../tools/ocamlc.sh +diff -urN camlp5-6.11/configure camlp5-6.12-63a8c30f/configure +--- camlp5-6.11/configure 2012-07-01 02:27:07.000000000 +0100 ++++ camlp5-6.12-63a8c30f/configure 2014-08-01 10:14:54.284065419 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: configure,v 6.16 2012-07-01 01:27:07 deraugla Exp $ ++# configure,v + + prefix='' + bindir='' +diff -urN camlp5-6.11/.cvsignore camlp5-6.12-63a8c30f/.cvsignore +--- camlp5-6.11/.cvsignore 2010-09-15 17:00:18.000000000 +0100 ++++ camlp5-6.12-63a8c30f/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-myconfig +diff -urN camlp5-6.11/doc/.cvsignore camlp5-6.12-63a8c30f/doc/.cvsignore +--- camlp5-6.11/doc/.cvsignore 2010-09-15 17:00:19.000000000 +0100 ++++ camlp5-6.12-63a8c30f/doc/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1,6 +0,0 @@ +-*.aux +-*.bbl +-*.blg +-*.dvi +-*.log +-*.toc +diff -urN camlp5-6.11/doc/.gitignore camlp5-6.12-63a8c30f/doc/.gitignore +--- camlp5-6.11/doc/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/doc/.gitignore 2014-08-01 10:14:54.284065419 +0100 +@@ -0,0 +1,6 @@ ++*.aux ++*.bbl ++*.blg ++*.dvi ++*.log ++*.toc +diff -urN camlp5-6.11/doc/html/.cvsignore camlp5-6.12-63a8c30f/doc/html/.cvsignore +--- camlp5-6.11/doc/html/.cvsignore 2010-09-15 17:00:19.000000000 +0100 ++++ camlp5-6.12-63a8c30f/doc/html/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1,2 +0,0 @@ +-*.html +-rss +diff -urN camlp5-6.11/doc/html/.gitignore camlp5-6.12-63a8c30f/doc/html/.gitignore +--- camlp5-6.11/doc/html/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/doc/html/.gitignore 2014-08-01 10:14:54.284065419 +0100 +@@ -0,0 +1,2 @@ ++*.html ++rss +Binary files camlp5-6.11/doc/html/images/valid-xhtml11.png and camlp5-6.12-63a8c30f/doc/html/images/valid-xhtml11.png differ +diff -urN camlp5-6.11/doc/html/styles/base.css camlp5-6.12-63a8c30f/doc/html/styles/base.css +--- camlp5-6.11/doc/html/styles/base.css 2010-09-15 17:00:19.000000000 +0100 ++++ camlp5-6.12-63a8c30f/doc/html/styles/base.css 2014-08-01 10:14:54.284065419 +0100 +@@ -1,4 +1,4 @@ +-/* $Id: base.css,v 6.1 2010-09-15 16:00:19 deraugla Exp $ */ ++/* base.css,v */ + + body { margin: 0 0 1px 0; background-color: rgb(189,225,255) } + body { border: 0 } +diff -urN camlp5-6.11/doc/htmlp/about.html camlp5-6.12-63a8c30f/doc/htmlp/about.html +--- camlp5-6.11/doc/htmlp/about.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/about.html 2014-08-01 10:14:54.285065419 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + About Camlp5 + +diff -urN camlp5-6.11/doc/htmlp/ast_strict.html camlp5-6.12-63a8c30f/doc/htmlp/ast_strict.html +--- camlp5-6.11/doc/htmlp/ast_strict.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/ast_strict.html 2014-08-01 10:14:54.285065419 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + AST - strict + +diff -urN camlp5-6.11/doc/htmlp/ast_transi.html camlp5-6.12-63a8c30f/doc/htmlp/ast_transi.html +--- camlp5-6.11/doc/htmlp/ast_transi.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/ast_transi.html 2014-08-01 10:14:54.286065420 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + AST - transitional + +diff -urN camlp5-6.11/doc/htmlp/bparsers.html camlp5-6.12-63a8c30f/doc/htmlp/bparsers.html +--- camlp5-6.11/doc/htmlp/bparsers.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/bparsers.html 2014-08-01 10:14:54.286065420 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + backtracking parsers + +diff -urN camlp5-6.11/doc/htmlp/commands.html camlp5-6.12-63a8c30f/doc/htmlp/commands.html +--- camlp5-6.11/doc/htmlp/commands.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/commands.html 2014-08-01 10:14:54.286065420 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Commands and Files + +diff -urN camlp5-6.11/doc/htmlp/conclusion.html camlp5-6.12-63a8c30f/doc/htmlp/conclusion.html +--- camlp5-6.11/doc/htmlp/conclusion.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/conclusion.html 2014-08-01 10:14:54.286065420 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Conclusion + +diff -urN camlp5-6.11/doc/htmlp/.cvsignore camlp5-6.12-63a8c30f/doc/htmlp/.cvsignore +--- camlp5-6.11/doc/htmlp/.cvsignore 2010-09-15 17:00:19.000000000 +0100 ++++ camlp5-6.12-63a8c30f/doc/htmlp/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1,9 +0,0 @@ +-camlp5.aux +-camlp5.dvi +-camlp5.info* +-camlp5.log +-camlp5.pdf +-camlp5.ps +-camlp5.tex +-camlp5.texi +-camlp5.toc +diff -urN camlp5-6.11/doc/htmlp/directives.html camlp5-6.12-63a8c30f/doc/htmlp/directives.html +--- camlp5-6.11/doc/htmlp/directives.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/directives.html 2014-08-01 10:14:54.286065420 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Directives + +diff -urN camlp5-6.11/doc/htmlp/extfun.html camlp5-6.12-63a8c30f/doc/htmlp/extfun.html +--- camlp5-6.11/doc/htmlp/extfun.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/extfun.html 2014-08-01 10:14:54.286065420 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Extensible functions + +diff -urN camlp5-6.11/doc/htmlp/fparsers.html camlp5-6.12-63a8c30f/doc/htmlp/fparsers.html +--- camlp5-6.11/doc/htmlp/fparsers.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/fparsers.html 2014-08-01 10:14:54.286065420 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + functional parsers + +diff -urN camlp5-6.11/doc/htmlp/.gitignore camlp5-6.12-63a8c30f/doc/htmlp/.gitignore +--- camlp5-6.11/doc/htmlp/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/doc/htmlp/.gitignore 2014-08-01 10:14:54.284065419 +0100 +@@ -0,0 +1,9 @@ ++camlp5.aux ++camlp5.dvi ++camlp5.info* ++camlp5.log ++camlp5.pdf ++camlp5.ps ++camlp5.tex ++camlp5.texi ++camlp5.toc +diff -urN camlp5-6.11/doc/htmlp/grammars.html camlp5-6.12-63a8c30f/doc/htmlp/grammars.html +--- camlp5-6.11/doc/htmlp/grammars.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/grammars.html 2014-08-01 10:14:54.287065420 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + extensible grammars + +diff -urN camlp5-6.11/doc/htmlp/html2latex camlp5-6.12-63a8c30f/doc/htmlp/html2latex +--- camlp5-6.11/doc/htmlp/html2latex 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/html2latex 2014-08-01 10:14:54.287065420 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: html2latex,v 6.4 2012-01-09 14:22:20 deraugla Exp $ ++# html2latex,v + + FILES1="index.html strict.html ptools.html" + FILES2="parsers.html lexers.html fparsers.html bparsers.html grammars.html" +diff -urN camlp5-6.11/doc/htmlp/html2texi camlp5-6.12-63a8c30f/doc/htmlp/html2texi +--- camlp5-6.11/doc/htmlp/html2texi 2010-09-15 17:00:19.000000000 +0100 ++++ camlp5-6.12-63a8c30f/doc/htmlp/html2texi 2014-08-01 10:14:54.287065420 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: html2texi,v 6.1 2010-09-15 16:00:19 deraugla Exp $ ++# html2texi,v + + FILES1="index.html strict.html ptools.html" + FILES2="parsers.html lexers.html fparsers.html bparsers.html grammars.html" +diff -urN camlp5-6.11/doc/htmlp/htmlp2html camlp5-6.12-63a8c30f/doc/htmlp/htmlp2html +--- camlp5-6.11/doc/htmlp/htmlp2html 2010-09-15 17:00:19.000000000 +0100 ++++ camlp5-6.12-63a8c30f/doc/htmlp/htmlp2html 2014-08-01 10:14:54.287065420 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: htmlp2html,v 6.1 2010-09-15 16:00:19 deraugla Exp $ ++# htmlp2html,v + + FILE=$1 + VERSION="$(grep "value version =" ../../main/pcaml.ml | sed -e 's/^[^"]*"\([^"]*\).*$/\1/')" +diff -urN camlp5-6.11/doc/htmlp/index.html camlp5-6.12-63a8c30f/doc/htmlp/index.html +--- camlp5-6.11/doc/htmlp/index.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/index.html 2014-08-01 10:14:54.287065420 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Camlp5 + +diff -urN camlp5-6.11/doc/htmlp/lexers.html camlp5-6.12-63a8c30f/doc/htmlp/lexers.html +--- camlp5-6.11/doc/htmlp/lexers.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/lexers.html 2014-08-01 10:14:54.287065420 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + lexers + +diff -urN camlp5-6.11/doc/htmlp/library.html camlp5-6.12-63a8c30f/doc/htmlp/library.html +--- camlp5-6.11/doc/htmlp/library.html 2013-01-28 09:27:12.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/library.html 2014-08-01 10:14:54.287065420 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Library + +diff -urN camlp5-6.11/doc/htmlp/locations.html camlp5-6.12-63a8c30f/doc/htmlp/locations.html +--- camlp5-6.11/doc/htmlp/locations.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/locations.html 2014-08-01 10:14:54.287065420 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Locations + +diff -urN camlp5-6.11/doc/htmlp/macros.html camlp5-6.12-63a8c30f/doc/htmlp/macros.html +--- camlp5-6.11/doc/htmlp/macros.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/macros.html 2014-08-01 10:14:54.288065421 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + macros + +diff -urN camlp5-6.11/doc/htmlp/Makefile camlp5-6.12-63a8c30f/doc/htmlp/Makefile +--- camlp5-6.11/doc/htmlp/Makefile 2010-09-29 03:32:05.000000000 +0100 ++++ camlp5-6.12-63a8c30f/doc/htmlp/Makefile 2014-08-01 10:14:54.285065419 +0100 +@@ -1,4 +1,4 @@ +-# $Id: Makefile,v 6.2 2010-09-29 02:32:05 deraugla Exp $ ++# Makefile,v + + H=../html + OBJS=$H/index.html $H/about.html $H/ast_strict.html $H/ast_transi.html $H/bparsers.html $H/commands.html $H/conclusion.html $H/directives.html $H/extfun.html $H/fparsers.html $H/grammars.html $H/lexers.html $H/library.html $H/locations.html $H/macros.html $H/ml_ast.html $H/opretty.html $H/parsers.html $H/pcaml.html $H/pprintf.html $H/pragma.html $H/pretty.html $H/printers.html $H/ptools.html $H/q_ast.html $H/quot.html $H/redef.html $H/revsynt.html $H/scheme.html $H/sources.html $H/strict.html $H/syntext.html +diff -urN camlp5-6.11/doc/htmlp/mkstri.sh camlp5-6.12-63a8c30f/doc/htmlp/mkstri.sh +--- camlp5-6.11/doc/htmlp/mkstri.sh 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/mkstri.sh 2014-08-01 10:14:54.288065421 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: mkstri.sh,v 6.16 2012-01-09 14:22:20 deraugla Exp $ ++# mkstri.sh,v + + top=../.. + file=$top/test/quot_r.ml +@@ -12,7 +12,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + AST - strict + +diff -urN camlp5-6.11/doc/htmlp/mktrans.sh camlp5-6.12-63a8c30f/doc/htmlp/mktrans.sh +--- camlp5-6.11/doc/htmlp/mktrans.sh 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/mktrans.sh 2014-08-01 10:14:54.288065421 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: mktrans.sh,v 6.17 2012-01-09 14:22:20 deraugla Exp $ ++# mktrans.sh,v + + top=../.. + file=$top/test/quot_r.ml +@@ -12,7 +12,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + AST - transitional + +diff -urN camlp5-6.11/doc/htmlp/ml_ast.html camlp5-6.12-63a8c30f/doc/htmlp/ml_ast.html +--- camlp5-6.11/doc/htmlp/ml_ast.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/ml_ast.html 2014-08-01 10:14:54.288065421 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Abstract tree in concrete syntax + +diff -urN camlp5-6.11/doc/htmlp/opretty.html camlp5-6.12-63a8c30f/doc/htmlp/opretty.html +--- camlp5-6.11/doc/htmlp/opretty.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/opretty.html 2014-08-01 10:14:54.288065421 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Extensions of printing + +diff -urN camlp5-6.11/doc/htmlp/parsers.html camlp5-6.12-63a8c30f/doc/htmlp/parsers.html +--- camlp5-6.11/doc/htmlp/parsers.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/parsers.html 2014-08-01 10:14:54.288065421 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + parsers + +diff -urN camlp5-6.11/doc/htmlp/pcaml.html camlp5-6.12-63a8c30f/doc/htmlp/pcaml.html +--- camlp5-6.11/doc/htmlp/pcaml.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/pcaml.html 2014-08-01 10:14:54.288065421 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Pcaml + +diff -urN camlp5-6.11/doc/htmlp/pprintf.html camlp5-6.12-63a8c30f/doc/htmlp/pprintf.html +--- camlp5-6.11/doc/htmlp/pprintf.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/pprintf.html 2014-08-01 10:14:54.288065421 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + pprintf + +diff -urN camlp5-6.11/doc/htmlp/pragma.html camlp5-6.12-63a8c30f/doc/htmlp/pragma.html +--- camlp5-6.11/doc/htmlp/pragma.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/pragma.html 2014-08-01 10:14:54.289065422 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + pragma + +diff -urN camlp5-6.11/doc/htmlp/pretty.html camlp5-6.12-63a8c30f/doc/htmlp/pretty.html +--- camlp5-6.11/doc/htmlp/pretty.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/pretty.html 2014-08-01 10:14:54.289065422 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Pretty print + +diff -urN camlp5-6.11/doc/htmlp/printers.html camlp5-6.12-63a8c30f/doc/htmlp/printers.html +--- camlp5-6.11/doc/htmlp/printers.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/printers.html 2014-08-01 10:14:54.289065422 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + extensible printers + +diff -urN camlp5-6.11/doc/htmlp/ptools.html camlp5-6.12-63a8c30f/doc/htmlp/ptools.html +--- camlp5-6.11/doc/htmlp/ptools.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/ptools.html 2014-08-01 10:14:54.289065422 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + parsing and printing tools + +diff -urN camlp5-6.11/doc/htmlp/q_ast.html camlp5-6.12-63a8c30f/doc/htmlp/q_ast.html +--- camlp5-6.11/doc/htmlp/q_ast.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/q_ast.html 2014-08-01 10:14:54.289065422 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + q_ast.cmo + +diff -urN camlp5-6.11/doc/htmlp/quot.html camlp5-6.12-63a8c30f/doc/htmlp/quot.html +--- camlp5-6.11/doc/htmlp/quot.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/quot.html 2014-08-01 10:14:54.289065422 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + quotations + +diff -urN camlp5-6.11/doc/htmlp/redef.html camlp5-6.12-63a8c30f/doc/htmlp/redef.html +--- camlp5-6.11/doc/htmlp/redef.html 2010-09-15 17:00:20.000000000 +0100 ++++ camlp5-6.12-63a8c30f/doc/htmlp/redef.html 2014-08-01 10:14:54.289065422 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Redefining OCaml syntax + +diff -urN camlp5-6.11/doc/htmlp/revsynt.html camlp5-6.12-63a8c30f/doc/htmlp/revsynt.html +--- camlp5-6.11/doc/htmlp/revsynt.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/revsynt.html 2014-08-01 10:14:54.289065422 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + revised syntax + +diff -urN camlp5-6.11/doc/htmlp/scheme.html camlp5-6.12-63a8c30f/doc/htmlp/scheme.html +--- camlp5-6.11/doc/htmlp/scheme.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/scheme.html 2014-08-01 10:14:54.289065422 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Scheme + +diff -urN camlp5-6.11/doc/htmlp/sources.html camlp5-6.12-63a8c30f/doc/htmlp/sources.html +--- camlp5-6.11/doc/htmlp/sources.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/sources.html 2014-08-01 10:14:54.290065422 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Camlp5 sources + +diff -urN camlp5-6.11/doc/htmlp/strict.html camlp5-6.12-63a8c30f/doc/htmlp/strict.html +--- camlp5-6.11/doc/htmlp/strict.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/strict.html 2014-08-01 10:14:54.290065422 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Camlp5 + +diff -urN camlp5-6.11/doc/htmlp/syntext.html camlp5-6.12-63a8c30f/doc/htmlp/syntext.html +--- camlp5-6.11/doc/htmlp/syntext.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/syntext.html 2014-08-01 10:14:54.290065422 +0100 +@@ -2,7 +2,7 @@ + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + + +- ++ + + Extensions of syntax + +diff -urN camlp5-6.11/doc/htmlp/trailer.html camlp5-6.12-63a8c30f/doc/htmlp/trailer.html +--- camlp5-6.11/doc/htmlp/trailer.html 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/doc/htmlp/trailer.html 2014-08-01 10:14:54.290065422 +0100 +@@ -5,7 +5,6 @@ + +

+ Valid XHTML 1.1 +

+ +diff -urN camlp5-6.11/etc/.cvsignore camlp5-6.12-63a8c30f/etc/.cvsignore +--- camlp5-6.11/etc/.cvsignore 2010-09-15 17:00:20.000000000 +0100 ++++ camlp5-6.12-63a8c30f/etc/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1,7 +0,0 @@ +-*.cm[oiax] +-camlp5o +-camlp5sch +-camlp5o.opt +-mkcamlp5.sh +-mkcamlp5.opt.sh +-META +diff -urN camlp5-6.11/etc/elexer.ml camlp5-6.12-63a8c30f/etc/elexer.ml +--- camlp5-6.11/etc/elexer.ml 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/elexer.ml 2014-08-01 10:14:54.290065422 +0100 +@@ -1,11 +1,13 @@ + (* camlp5r *) +-(* $Id: elexer.ml,v 6.3 2012-01-09 14:22:20 deraugla Exp $ *) ++(* elexer.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* lexer written with extensible grammars; experimental *) + + #load "pa_extend.cmo"; + ++open Versdep; ++ + value lexlex cs = (cs, fun i -> Plexing.make_loc (i, i + 1)); + + value next_char s i = +@@ -100,7 +102,7 @@ + ; + + value implode l = +- let s = String.create (List.length l) in ++ let s = string_create (List.length l) in + loop 0 l where rec loop i = + fun + [ [c :: l] -> do { String.unsafe_set s i c; loop (i + 1) l } +diff -urN camlp5-6.11/etc/.gitignore camlp5-6.12-63a8c30f/etc/.gitignore +--- camlp5-6.11/etc/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/etc/.gitignore 2014-08-01 10:14:54.290065422 +0100 +@@ -0,0 +1,7 @@ ++*.cm[oiax] ++camlp5o ++camlp5sch ++camlp5o.opt ++mkcamlp5.sh ++mkcamlp5.opt.sh ++META +diff -urN camlp5-6.11/etc/lib.sml camlp5-6.12-63a8c30f/etc/lib.sml +--- camlp5-6.11/etc/lib.sml 2010-09-15 17:00:21.000000000 +0100 ++++ camlp5-6.12-63a8c30f/etc/lib.sml 2014-08-01 10:14:54.290065422 +0100 +@@ -1,4 +1,4 @@ +-(* $Id: lib.sml,v 6.1 2010-09-15 16:00:21 deraugla Exp $ *) ++(* lib.sml,v *) + + datatype 'a option = SOME of 'a | NONE + exception Fail of string +diff -urN camlp5-6.11/etc/Makefile camlp5-6.12-63a8c30f/etc/Makefile +--- camlp5-6.11/etc/Makefile 2012-03-03 02:47:04.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/Makefile 2014-08-01 10:14:54.290065422 +0100 +@@ -1,4 +1,4 @@ +-# $Id: Makefile,v 6.7 2012-03-03 02:47:04 deraugla Exp $ ++# Makefile,v + + include ../config/Makefile + +diff -urN camlp5-6.11/etc/Makefile.withnew camlp5-6.12-63a8c30f/etc/Makefile.withnew +--- camlp5-6.11/etc/Makefile.withnew 2010-09-15 17:00:21.000000000 +0100 ++++ camlp5-6.12-63a8c30f/etc/Makefile.withnew 2014-08-01 10:14:54.290065422 +0100 +@@ -1,4 +1,4 @@ +-# $Id: Makefile.withnew,v 6.1 2010-09-15 16:00:21 deraugla Exp $ ++# Makefile.withnew,v + + include ../config/Makefile + +diff -urN camlp5-6.11/etc/mkcamlp5.opt.sh.tpl camlp5-6.12-63a8c30f/etc/mkcamlp5.opt.sh.tpl +--- camlp5-6.11/etc/mkcamlp5.opt.sh.tpl 2012-03-03 02:47:04.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/mkcamlp5.opt.sh.tpl 2014-08-01 10:14:54.290065422 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: mkcamlp5.opt.sh.tpl,v 6.2 2012-03-03 02:47:04 deraugla Exp $ ++# mkcamlp5.opt.sh.tpl,v + + OLIB=`OCAMLNc -where` + LIB=LIBDIR/CAMLP5N +diff -urN camlp5-6.11/etc/mkcamlp5.sh.tpl camlp5-6.12-63a8c30f/etc/mkcamlp5.sh.tpl +--- camlp5-6.11/etc/mkcamlp5.sh.tpl 2012-03-03 02:47:04.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/mkcamlp5.sh.tpl 2014-08-01 10:14:54.290065422 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: mkcamlp5.sh.tpl,v 6.2 2012-03-03 02:47:04 deraugla Exp $ ++# mkcamlp5.sh.tpl,v + + OLIB=`OCAMLNc -where` + LIB=LIBDIR/CAMLP5N +diff -urN camlp5-6.11/etc/pa_extfold.ml camlp5-6.12-63a8c30f/etc/pa_extfold.ml +--- camlp5-6.11/etc/pa_extfold.ml 2010-09-15 17:00:21.000000000 +0100 ++++ camlp5-6.12-63a8c30f/etc/pa_extfold.ml 2014-08-01 10:14:54.290065422 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_extfold.ml,v 6.1 2010-09-15 16:00:21 deraugla Exp $ *) ++(* pa_extfold.ml,v *) + + #load "pa_extend.cmo"; + #load "q_MLast.cmo"; +diff -urN camlp5-6.11/etc/pa_extfun.ml camlp5-6.12-63a8c30f/etc/pa_extfun.ml +--- camlp5-6.11/etc/pa_extfun.ml 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pa_extfun.ml 2014-08-01 10:14:54.291065423 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_extfun.ml,v 6.3 2012-01-09 14:22:20 deraugla Exp $ *) ++(* pa_extfun.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "q_MLast.cmo"; +diff -urN camlp5-6.11/etc/pa_extprint.ml camlp5-6.12-63a8c30f/etc/pa_extprint.ml +--- camlp5-6.11/etc/pa_extprint.ml 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pa_extprint.ml 2014-08-01 10:14:54.291065423 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_extprint.ml,v 6.3 2012-01-09 14:22:20 deraugla Exp $ *) ++(* pa_extprint.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_extend.cmo"; +diff -urN camlp5-6.11/etc/pa_lefteval.ml camlp5-6.12-63a8c30f/etc/pa_lefteval.ml +--- camlp5-6.11/etc/pa_lefteval.ml 2013-07-02 17:12:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/etc/pa_lefteval.ml 2014-08-01 10:14:54.291065423 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_lefteval.ml,v 6.4 2013-07-02 16:12:43 deraugla Exp $ *) ++(* pa_lefteval.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "q_MLast.cmo"; +diff -urN camlp5-6.11/etc/pa_lex.ml camlp5-6.12-63a8c30f/etc/pa_lex.ml +--- camlp5-6.11/etc/pa_lex.ml 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pa_lex.ml 2014-08-01 10:14:54.291065423 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_lex.ml,v 6.3 2012-01-09 14:22:20 deraugla Exp $ *) ++(* pa_lex.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_extend.cmo"; +diff -urN camlp5-6.11/etc/pa_lisp.ml camlp5-6.12-63a8c30f/etc/pa_lisp.ml +--- camlp5-6.11/etc/pa_lisp.ml 2012-01-09 14:22:20.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pa_lisp.ml 2014-08-01 10:14:54.291065423 +0100 +@@ -1,8 +1,9 @@ + ;; camlp5 ./pa_lispr.cmo pa_extend.cmo q_MLast.cmo pr_dump.cmo +-;; $Id: pa_lisp.ml,v 6.9 2012-01-09 14:22:20 deraugla Exp $ ++;; pa_lisp.ml,v + ;; Copyright (c) INRIA 2007-2012 + + (open Pcaml) ++(open Versdep) + + (type (choice 'a 'b) (sum (Left 'a) (Right 'b))) + +@@ -10,13 +11,13 @@ + + (module Buff + (struct +- (value buff (ref (String.create 80))) ++ (value buff (ref (string_create 80))) + (value store (lambda (len x) + (if (>= len (String.length buff.val)) + (:= buff.val + (^ buff.val +- (String.create (String.length buff.val))))) +- (:= ([] buff.val len) x) ++ (string_create (String.length buff.val))))) ++ (string_set buff.val len x) + (succ len))) + (value get (lambda len (String.sub buff.val 0 len))))) + +diff -urN camlp5-6.11/etc/pa_lispr.ml camlp5-6.12-63a8c30f/etc/pa_lispr.ml +--- camlp5-6.11/etc/pa_lispr.ml 2013-05-20 06:56:33.000000000 +0100 ++++ camlp5-6.12-63a8c30f/etc/pa_lispr.ml 2014-08-01 10:14:54.291065423 +0100 +@@ -1,8 +1,9 @@ + (* camlp5 pa_r.cmo pa_rp.cmo pa_extend.cmo q_MLast.cmo pr_dump.cmo *) +-(* File generated by pretty print; do not edit! *) ++(* pa_lisp.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Pcaml; ++open Versdep; + + type choice α β = + [ Left of α +@@ -13,12 +14,12 @@ + + module Buff = + struct +- value buff = ref (String.create 80); ++ value buff = ref (string_create 80); + value store len x = do { + if len >= String.length buff.val then +- buff.val := buff.val ^ String.create (String.length buff.val) ++ buff.val := buff.val ^ string_create (String.length buff.val) + else (); +- buff.val.[len] := x; ++ string_set buff.val len x; + succ len + }; + value get len = String.sub buff.val 0 len; +diff -urN camlp5-6.11/etc/pa_mkast.ml camlp5-6.12-63a8c30f/etc/pa_mkast.ml +--- camlp5-6.11/etc/pa_mkast.ml 2012-03-06 14:57:58.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pa_mkast.ml 2014-08-01 10:14:54.291065423 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_mkast.ml,v 6.5 2012-03-06 14:57:58 deraugla Exp $ *) ++(* pa_mkast.ml,v *) + + (* + meta/camlp5r etc/pa_mkast.cmo etc/pr_r.cmo -impl main/mLast.mli +diff -urN camlp5-6.11/etc/pa_mktest.ml camlp5-6.12-63a8c30f/etc/pa_mktest.ml +--- camlp5-6.11/etc/pa_mktest.ml 2010-11-12 23:23:59.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pa_mktest.ml 2014-08-01 10:14:54.291065423 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_mktest.ml,v 6.15 2010-11-12 23:23:59 deraugla Exp $ *) ++(* pa_mktest.ml,v *) + + (* + meta/camlp5r etc/pa_mktest.cmo etc/pr_r.cmo -flag D -impl main/mLast.mli +diff -urN camlp5-6.11/etc/pa_o.ml camlp5-6.12-63a8c30f/etc/pa_o.ml +--- camlp5-6.11/etc/pa_o.ml 2013-07-02 17:12:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/etc/pa_o.ml 2014-08-01 10:14:54.292065424 +0100 +@@ -1,9 +1,10 @@ +-(* camlp5r pa_macro.cmo *) +-(* $Id: pa_o.ml,v 6.50 2013-07-02 16:12:43 deraugla Exp $ *) ++(* camlp5r *) ++(* pa_o.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_extend.cmo"; + #load "q_MLast.cmo"; ++#load "pa_macro.cmo"; + + open Pcaml; + +@@ -253,7 +254,7 @@ + [ Some (("UIDENT", _) | ("LIDENT", _) | ("", ".")) -> + test (lev + 1) strm + | Some ("ANTIQUOT_LOC", _) -> () +- | Some ("", "=") -> () ++ | Some ("", "=" | ";" | "}") -> () + | _ -> raise Stream.Failure ]) + ; + +@@ -356,6 +357,13 @@ + Reloc.expr floc 0 e + ; + ++value expr_of_patt p = ++ let loc = MLast.loc_of_patt p in ++ match p with ++ [ <:patt< $lid:x$ >> -> <:expr< $lid:x$ >> ++ | _ -> Ploc.raise loc (Stream.Error "identifier expected") ] ++; ++ + EXTEND + GLOBAL: sig_item str_item ctyp patt expr module_type module_expr + signature structure class_type class_expr class_sig_item class_str_item +@@ -525,6 +533,8 @@ + | "let"; "module"; m = V UIDENT; mb = mod_fun_binding; "in"; + e = expr LEVEL "top" -> + <:expr< let module $_uid:m$ = $mb$ in $e$ >> ++ | "let"; "open"; m = V UIDENT; "in"; e = expr LEVEL "top" -> ++ <:expr< $_uid:m$ . ($e$) >> + | "function"; OPT "|"; l = V (LIST1 match_case SEP "|") -> + <:expr< fun [ $_list:l$ ] >> + | "fun"; p = patt LEVEL "simple"; (eo, e) = fun_def -> +@@ -697,7 +707,8 @@ + | le = lbl_expr -> [le] ] ] + ; + lbl_expr: +- [ [ i = patt_label_ident; "="; e = expr LEVEL "expr1" -> (i, e) ] ] ++ [ [ i = patt_label_ident; "="; e = expr LEVEL "expr1" -> (i, e) ++ | i = patt_label_ident -> (i, expr_of_patt i) ] ] + ; + expr1_semi_list: + [ [ el = LIST1 (expr LEVEL "expr1") SEP ";" OPT_SEP -> el ] ] +@@ -817,6 +828,7 @@ + ; + lbl_patt: + [ [ i = patt_label_ident; "="; p = patt -> (i, p) ++ | i = patt_label_ident -> (i, i) + | "_" -> (<:patt< _ >>, <:patt< _ >>) ] ] + ; + patt_label_ident: +diff -urN camlp5-6.11/etc/pa_oop.ml camlp5-6.12-63a8c30f/etc/pa_oop.ml +--- camlp5-6.11/etc/pa_oop.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pa_oop.ml 2014-08-01 10:14:54.292065424 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_oop.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* pa_oop.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_extend.cmo"; +diff -urN camlp5-6.11/etc/pa_op.ml camlp5-6.12-63a8c30f/etc/pa_op.ml +--- camlp5-6.11/etc/pa_op.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pa_op.ml 2014-08-01 10:14:54.292065424 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_op.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* pa_op.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_extend.cmo"; +diff -urN camlp5-6.11/etc/pa_pprintf.ml camlp5-6.12-63a8c30f/etc/pa_pprintf.ml +--- camlp5-6.11/etc/pa_pprintf.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pa_pprintf.ml 2014-08-01 10:14:54.292065424 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_pprintf.ml,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) ++(* pa_pprintf.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_extend.cmo"; +@@ -7,6 +7,7 @@ + #load "q_MLast.cmo"; + + open Pcaml; ++open Versdep; + + (** Types and Functions for the [pprintf] statement *) + +@@ -33,10 +34,10 @@ + ; + + value implode l = +- let s = String.create (List.length l) in ++ let s = string_create (List.length l) in + loop 0 l where rec loop i = + fun +- [ [c :: l] -> do { String.set s i c; loop (i + 1) l } ++ [ [c :: l] -> do { string_set s i c; loop (i + 1) l } + | [] -> s ] + ; + +diff -urN camlp5-6.11/etc/pa_pragma.ml camlp5-6.12-63a8c30f/etc/pa_pragma.ml +--- camlp5-6.11/etc/pa_pragma.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pa_pragma.ml 2014-08-01 10:14:54.292065424 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_pragma.ml,v 6.6 2012-01-09 14:22:21 deraugla Exp $ *) ++(* pa_pragma.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_macro.cmo"; +@@ -999,7 +999,7 @@ + ("String.set", + fun loc -> + {ctyp = <:ctyp< string -> int -> char -> unit >>; +- expr = Obj.repr String.set; ++ expr = Obj.repr string_set; + patt = no_patt loc}); + ("String.sub", + fun loc -> +diff -urN camlp5-6.11/etc/pa_reloc.ml camlp5-6.12-63a8c30f/etc/pa_reloc.ml +--- camlp5-6.11/etc/pa_reloc.ml 2012-03-06 14:57:58.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pa_reloc.ml 2014-08-01 10:14:54.292065424 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_reloc.ml,v 6.6 2012-03-06 14:57:58 deraugla Exp $ *) ++(* pa_reloc.ml,v *) + + (* + meta/camlp5r etc/pa_reloc.cmo etc/pr_r.cmo -impl main/mLast.mli +diff -urN camlp5-6.11/etc/pa_scheme.ml camlp5-6.12-63a8c30f/etc/pa_scheme.ml +--- camlp5-6.11/etc/pa_scheme.ml 2013-07-02 17:12:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/etc/pa_scheme.ml 2014-08-01 10:14:54.293065424 +0100 +@@ -1,9 +1,10 @@ + ; camlp5 ./pa_schemer.cmo pa_extend.cmo q_MLast.cmo pr_dump.cmo +-; $Id: pa_scheme.ml,v 6.10 2013-07-02 16:12:43 deraugla Exp $ ++; pa_scheme.ml,v + ; Copyright (c) INRIA 2007-2012 + + (open Pcaml) + (open Exparser) ++(open Versdep) + + (type (choice 'a 'b) + (sum +@@ -14,12 +15,12 @@ + + (module Buff + (struct +- (define buff (ref (String.create 80))) ++ (define buff (ref (string_create 80))) + (define (store len x) + (begin + (if (>= len (String.length buff.val)) +- (:= buff.val (^ buff.val (String.create (String.length buff.val))))) +- (:= buff.val.[len] x) ++ (:= buff.val (^ buff.val (string_create (String.length buff.val))))) ++ (string_set buff.val len x) + (succ len))) + (define (mstore len s) + (letrec +diff -urN camlp5-6.11/etc/pa_schemer.ml camlp5-6.12-63a8c30f/etc/pa_schemer.ml +--- camlp5-6.11/etc/pa_schemer.ml 2013-07-02 17:12:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/etc/pa_schemer.ml 2014-08-01 10:14:54.293065424 +0100 +@@ -1,9 +1,10 @@ + (* camlp5 pa_r.cmo pa_rp.cmo pa_extend.cmo q_MLast.cmo pr_dump.cmo *) +-(* File generated by pretty print; do not edit! *) ++(* pa_scheme.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Pcaml; + open Exparser; ++open Versdep; + + type choice α β = + [ Left of α +@@ -14,12 +15,12 @@ + + module Buff = + struct +- value buff = ref (String.create 80); ++ value buff = ref (string_create 80); + value store len x = do { + if len >= String.length buff.val then +- buff.val := buff.val ^ String.create (String.length buff.val) ++ buff.val := buff.val ^ string_create (String.length buff.val) + else (); +- buff.val.[len] := x; ++ string_set buff.val len x; + succ len + }; + value mstore len s = +diff -urN camlp5-6.11/etc/pa_sml.ml camlp5-6.12-63a8c30f/etc/pa_sml.ml +--- camlp5-6.11/etc/pa_sml.ml 2013-07-02 17:12:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/etc/pa_sml.ml 2014-08-01 10:14:54.293065424 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_sml.ml,v 6.7 2013-07-02 16:12:43 deraugla Exp $ *) ++(* pa_sml.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_extend.cmo"; +diff -urN camlp5-6.11/etc/pr_depend.ml camlp5-6.12-63a8c30f/etc/pr_depend.ml +--- camlp5-6.11/etc/pr_depend.ml 2013-07-02 17:12:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/etc/pr_depend.ml 2014-08-01 10:14:54.293065424 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pr_depend.ml,v 6.17 2013-07-02 16:12:43 deraugla Exp $ *) ++(* pr_depend.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_macro.cmo"; +diff -urN camlp5-6.11/etc/pr_extend.ml camlp5-6.12-63a8c30f/etc/pr_extend.ml +--- camlp5-6.11/etc/pr_extend.ml 2012-03-09 14:01:54.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pr_extend.ml 2014-08-01 10:14:54.293065424 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pr_extend.ml,v 6.5 2012-03-09 14:01:54 deraugla Exp $ *) ++(* pr_extend.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #directory "."; +diff -urN camlp5-6.11/etc/pr_extfun.ml camlp5-6.12-63a8c30f/etc/pr_extfun.ml +--- camlp5-6.11/etc/pr_extfun.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pr_extfun.ml 2014-08-01 10:14:54.294065425 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pr_extfun.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* pr_extfun.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #directory "."; +diff -urN camlp5-6.11/etc/pr_extprint.ml camlp5-6.12-63a8c30f/etc/pr_extprint.ml +--- camlp5-6.11/etc/pr_extprint.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pr_extprint.ml 2014-08-01 10:14:54.294065425 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pr_extprint.ml,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) ++(* pr_extprint.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #directory "."; +diff -urN camlp5-6.11/etc/pr_null.ml camlp5-6.12-63a8c30f/etc/pr_null.ml +--- camlp5-6.11/etc/pr_null.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pr_null.ml 2014-08-01 10:14:54.294065425 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pr_null.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* pr_null.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + Pcaml.print_interf.val := fun _ -> (); +diff -urN camlp5-6.11/etc/pr_o.ml camlp5-6.12-63a8c30f/etc/pr_o.ml +--- camlp5-6.11/etc/pr_o.ml 2013-07-02 17:12:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/etc/pr_o.ml 2014-08-01 10:14:54.294065425 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pr_o.ml,v 6.63 2013-07-02 16:12:43 deraugla Exp $ *) ++(* pr_o.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #directory "."; +@@ -251,7 +251,7 @@ + if i = String.length s then String.sub s 0 j + else if s.[i] = '_' then loop (i + 1) j + else do { +- s.[j] := s.[i]; ++ string_set s j s.[i]; + loop (i + 1) (j + 1) + } + }; +diff -urN camlp5-6.11/etc/pr_op.ml camlp5-6.12-63a8c30f/etc/pr_op.ml +--- camlp5-6.11/etc/pr_op.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pr_op.ml 2014-08-01 10:14:54.294065425 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pr_op.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* pr_op.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #directory "."; +diff -urN camlp5-6.11/etc/pr_r.ml camlp5-6.12-63a8c30f/etc/pr_r.ml +--- camlp5-6.11/etc/pr_r.ml 2013-07-02 17:12:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/etc/pr_r.ml 2014-08-01 10:14:54.295065425 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pr_r.ml,v 6.79 2013-07-02 16:12:43 deraugla Exp $ *) ++(* pr_r.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #directory "."; +diff -urN camlp5-6.11/etc/pr_ro.ml camlp5-6.12-63a8c30f/etc/pr_ro.ml +--- camlp5-6.11/etc/pr_ro.ml 2012-03-09 12:43:14.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pr_ro.ml 2014-08-01 10:14:54.295065425 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pr_ro.ml,v 6.20 2012-03-09 12:43:14 deraugla Exp $ *) ++(* pr_ro.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #directory "."; +diff -urN camlp5-6.11/etc/pr_rp.ml camlp5-6.12-63a8c30f/etc/pr_rp.ml +--- camlp5-6.11/etc/pr_rp.ml 2013-03-15 16:17:17.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pr_rp.ml 2014-08-01 10:14:54.295065425 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pr_rp.ml,v 6.12 2013-03-15 16:17:17 deraugla Exp $ *) ++(* pr_rp.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #directory "."; +diff -urN camlp5-6.11/etc/pr_scheme.ml camlp5-6.12-63a8c30f/etc/pr_scheme.ml +--- camlp5-6.11/etc/pr_scheme.ml 2013-07-02 17:12:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/etc/pr_scheme.ml 2014-08-01 10:14:54.296065426 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pr_scheme.ml,v 6.9 2013-07-02 16:12:43 deraugla Exp $ *) ++(* pr_scheme.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #directory "."; +@@ -1445,12 +1445,12 @@ + + module Buff = + struct +- value buff = ref (String.create 80); ++ value buff = ref (string_create 80); + value store len x = do { + if len >= String.length buff.val then +- buff.val := buff.val ^ String.create (String.length buff.val) ++ buff.val := buff.val ^ string_create (String.length buff.val) + else (); +- buff.val.[len] := x; ++ string_set buff.val len x; + succ len + }; + value mstore len s = +diff -urN camlp5-6.11/etc/pr_schemep.ml camlp5-6.12-63a8c30f/etc/pr_schemep.ml +--- camlp5-6.11/etc/pr_schemep.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/pr_schemep.ml 2014-08-01 10:14:54.296065426 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pr_schemep.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* pr_schemep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #directory "."; +diff -urN camlp5-6.11/etc/q_phony.ml camlp5-6.12-63a8c30f/etc/q_phony.ml +--- camlp5-6.11/etc/q_phony.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/etc/q_phony.ml 2014-08-01 10:14:54.296065426 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: q_phony.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* q_phony.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #directory "."; +diff -urN camlp5-6.11/.gitignore camlp5-6.12-63a8c30f/.gitignore +--- camlp5-6.11/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/.gitignore 2014-08-01 10:14:54.283065418 +0100 +@@ -0,0 +1,2 @@ ++*.o ++myconfig +diff -urN camlp5-6.11/ICHANGES camlp5-6.12-63a8c30f/ICHANGES +--- camlp5-6.11/ICHANGES 2010-12-05 00:58:48.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ICHANGES 2014-08-01 10:14:54.283065418 +0100 +@@ -1,6 +1,12 @@ + Internal, very small, undocumented, or invisible changes + ******************************************************** + ++Camlp5 Version 6.12: ++-------------------- ++* [20 Jan 14] Removed W3C icon image (in documentation) that should ++ not be in Camlp5 distribution (violates Debian guidelines, in ++ particular). ++ + Camlp5 Version 6.02.1: + ---------------------- + +diff -urN camlp5-6.11/lib/.cvsignore camlp5-6.12-63a8c30f/lib/.cvsignore +--- camlp5-6.11/lib/.cvsignore 2010-09-15 17:00:22.000000000 +0100 ++++ camlp5-6.12-63a8c30f/lib/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1,4 +0,0 @@ +-*.a +-*.cm[oiax] +-*.cmxa +-*.lib +diff -urN camlp5-6.11/lib/.depend camlp5-6.12-63a8c30f/lib/.depend +--- camlp5-6.11/lib/.depend 2010-09-15 17:00:22.000000000 +0100 ++++ camlp5-6.12-63a8c30f/lib/.depend 2014-08-01 10:14:54.296065426 +0100 +@@ -19,8 +19,8 @@ + plexer.cmo: plexer.cmi plexing.cmi ploc.cmi versdep.cmo + plexer.cmx: plexer.cmi plexing.cmx ploc.cmx versdep.cmx + plexer.cmi: plexing.cmi +-plexing.cmo: plexing.cmi ploc.cmi +-plexing.cmx: plexing.cmi ploc.cmx ++plexing.cmo: plexing.cmi ploc.cmi versdep.cmo ++plexing.cmx: plexing.cmi ploc.cmx versdep.cmx + plexing.cmi: ploc.cmi + ploc.cmo: ploc.cmi + ploc.cmx: ploc.cmi +diff -urN camlp5-6.11/lib/diff.ml camlp5-6.12-63a8c30f/lib/diff.ml +--- camlp5-6.11/lib/diff.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/diff.ml 2014-08-01 10:14:54.296065426 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: diff.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* diff.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* Parts of Code of GNU diff (analyze.c) translated from C to OCaml +diff -urN camlp5-6.11/lib/diff.mli camlp5-6.12-63a8c30f/lib/diff.mli +--- camlp5-6.11/lib/diff.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/diff.mli 2014-08-01 10:14:54.296065426 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: diff.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* diff.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Differences between two arrays. *) +diff -urN camlp5-6.11/lib/eprinter.ml camlp5-6.12-63a8c30f/lib/eprinter.ml +--- camlp5-6.11/lib/eprinter.ml 2012-03-08 10:43:30.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/eprinter.ml 2014-08-01 10:14:54.296065426 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: eprinter.ml,v 6.4 2012-03-08 10:43:30 deraugla Exp $ *) ++(* eprinter.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_macro.cmo"; +diff -urN camlp5-6.11/lib/eprinter.mli camlp5-6.12-63a8c30f/lib/eprinter.mli +--- camlp5-6.11/lib/eprinter.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/eprinter.mli 2014-08-01 10:14:54.296065426 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: eprinter.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* eprinter.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Extensible printers. +diff -urN camlp5-6.11/lib/extfold.ml camlp5-6.12-63a8c30f/lib/extfold.ml +--- camlp5-6.11/lib/extfold.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/extfold.ml 2014-08-01 10:14:54.296065426 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: extfold.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* extfold.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type t 'te 'a 'b = +diff -urN camlp5-6.11/lib/extfold.mli camlp5-6.12-63a8c30f/lib/extfold.mli +--- camlp5-6.11/lib/extfold.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/extfold.mli 2014-08-01 10:14:54.296065426 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: extfold.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* extfold.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type t 'te 'a 'b = +diff -urN camlp5-6.11/lib/extfun.ml camlp5-6.12-63a8c30f/lib/extfun.ml +--- camlp5-6.11/lib/extfun.ml 2012-03-08 14:01:06.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/extfun.ml 2014-08-01 10:14:54.296065426 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: extfun.ml,v 6.4 2012-03-08 14:01:06 deraugla Exp $ *) ++(* extfun.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* Extensible Functions *) +diff -urN camlp5-6.11/lib/extfun.mli camlp5-6.12-63a8c30f/lib/extfun.mli +--- camlp5-6.11/lib/extfun.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/extfun.mli 2014-08-01 10:14:54.296065426 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: extfun.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* extfun.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Extensible functions. +diff -urN camlp5-6.11/lib/fstream.ml camlp5-6.12-63a8c30f/lib/fstream.ml +--- camlp5-6.11/lib/fstream.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/fstream.ml 2014-08-01 10:14:54.296065426 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: fstream.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* fstream.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type mlazy_c 'a = +diff -urN camlp5-6.11/lib/fstream.mli camlp5-6.12-63a8c30f/lib/fstream.mli +--- camlp5-6.11/lib/fstream.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/fstream.mli 2014-08-01 10:14:54.297065427 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: fstream.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* fstream.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* Module [Fstream]: functional streams *) +diff -urN camlp5-6.11/lib/.gitignore camlp5-6.12-63a8c30f/lib/.gitignore +--- camlp5-6.11/lib/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/lib/.gitignore 2014-08-01 10:14:54.296065426 +0100 +@@ -0,0 +1,4 @@ ++*.a ++*.cm[oiax] ++*.cmxa ++*.lib +diff -urN camlp5-6.11/lib/gramext.ml camlp5-6.12-63a8c30f/lib/gramext.ml +--- camlp5-6.11/lib/gramext.ml 2013-01-28 09:27:12.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/gramext.ml 2014-08-01 10:14:54.297065427 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: gramext.ml,v 6.8 2013-01-28 09:27:12 deraugla Exp $ *) ++(* gramext.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Printf; +diff -urN camlp5-6.11/lib/gramext.mli camlp5-6.12-63a8c30f/lib/gramext.mli +--- camlp5-6.11/lib/gramext.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/gramext.mli 2014-08-01 10:14:54.297065427 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: gramext.mli,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) ++(* gramext.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type parser_t 'a = Stream.t 'a -> Obj.t; +diff -urN camlp5-6.11/lib/grammar.ml camlp5-6.12-63a8c30f/lib/grammar.ml +--- camlp5-6.11/lib/grammar.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/grammar.ml 2014-08-01 10:14:54.297065427 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: grammar.ml,v 6.6 2012-01-09 14:22:21 deraugla Exp $ *) ++(* grammar.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_fstream.cmo"; +@@ -17,7 +17,32 @@ + List.map (fun l -> [n :: l]) (flatten_tree s) @ flatten_tree b ] + ; + +-value print_str ppf s = fprintf ppf "\"%s\"" (String.escaped s); ++value utf8_print = ref True; ++ ++value utf8_string_escaped s = ++ let b = Buffer.create (String.length s) in ++ loop 0 where rec loop i = ++ if i = String.length s then Buffer.contents b ++ else do { ++ match s.[i] with ++ | '"' → Buffer.add_string b "\\\"" ++ | '\\' → Buffer.add_string b "\\\\" ++ | '\n' → Buffer.add_string b "\\n" ++ | '\t' → Buffer.add_string b "\\t" ++ | '\r' → Buffer.add_string b "\\r" ++ | '\b' → Buffer.add_string b "\\b" ++ | c → Buffer.add_char b c ++ end; ++ loop (i + 1) ++ } ++; ++ ++value string_escaped s = ++ if utf8_print.val then utf8_string_escaped s ++ else String.escaped s ++; ++ ++value print_str ppf s = fprintf ppf "\"%s\"" (string_escaped s); + + value rec print_symbol ppf = + fun +diff -urN camlp5-6.11/lib/grammar.mli camlp5-6.12-63a8c30f/lib/grammar.mli +--- camlp5-6.11/lib/grammar.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/grammar.mli 2014-08-01 10:14:54.297065427 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: grammar.mli,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) ++(* grammar.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Extensible grammars. +@@ -201,6 +201,10 @@ + (** Flag to apply strict parsing, without trying to recover errors; + default = [False] *) + ++value utf8_print : ref bool; ++ (** Flag to consider strings as utf8-encoded when printing them; ++ default = [True] *) ++ + value print_entry : Format.formatter -> Gramext.g_entry 'te -> unit; + (** General printer for all kinds of entries (obj entries) *) + +diff -urN camlp5-6.11/lib/Makefile camlp5-6.12-63a8c30f/lib/Makefile +--- camlp5-6.11/lib/Makefile 2012-03-01 03:33:18.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/Makefile 2014-08-01 10:14:54.296065426 +0100 +@@ -1,4 +1,4 @@ +-# $Id: Makefile,v 6.2 2012-03-01 03:33:18 deraugla Exp $ ++# Makefile,v + + TOP=.. + include $(TOP)/config/Makefile +diff -urN camlp5-6.11/lib/plexer.ml camlp5-6.12-63a8c30f/lib/plexer.ml +--- camlp5-6.11/lib/plexer.ml 2013-07-03 02:43:10.000000000 +0100 ++++ camlp5-6.12-63a8c30f/lib/plexer.ml 2014-08-01 10:14:54.298065427 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: plexer.ml,v 6.19 2013-07-03 01:43:10 deraugla Exp $ *) ++(* plexer.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_lexer.cmo"; +@@ -39,10 +39,10 @@ + ; + + value rev_implode l = +- let s = String.create (List.length l) in ++ let s = string_create (List.length l) in + loop (String.length s - 1) l where rec loop i = + fun +- [ [c :: l] -> do { String.unsafe_set s i c; loop (i - 1) l } ++ [ [c :: l] -> do { string_unsafe_set s i c; loop (i - 1) l } + | [] -> s ] + ; + +diff -urN camlp5-6.11/lib/plexer.mli camlp5-6.12-63a8c30f/lib/plexer.mli +--- camlp5-6.11/lib/plexer.mli 2013-06-14 04:03:31.000000000 +0100 ++++ camlp5-6.12-63a8c30f/lib/plexer.mli 2014-08-01 10:14:54.298065427 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: plexer.mli,v 6.4 2013-06-14 03:03:31 deraugla Exp $ *) ++(* plexer.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** This module contains the lexer used for ocaml syntax (revised and +diff -urN camlp5-6.11/lib/plexing.ml camlp5-6.12-63a8c30f/lib/plexing.ml +--- camlp5-6.11/lib/plexing.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/plexing.ml 2014-08-01 10:14:54.298065427 +0100 +@@ -1,7 +1,9 @@ + (* camlp5r *) +-(* $Id: plexing.ml,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) ++(* plexing.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + ++open Versdep; ++ + type pattern = (string * string); + + exception Error of string; +@@ -75,7 +77,8 @@ + let lb = + Lexing.from_function + (fun s n -> +- try do { s.[0] := Stream.next cs; 1 } with [ Stream.Failure -> 0 ]) ++ try do { string_set s 0 (Stream.next cs); 1 } with ++ [ Stream.Failure -> 0 ]) + in + let next_token_loc _ = + let tok = lexfun lb in +@@ -87,12 +90,12 @@ + + (* Char and string tokens to real chars and string *) + +-value buff = ref (String.create 80); ++value buff = ref (string_create 80); + value store len x = do { + if len >= String.length buff.val then +- buff.val := buff.val ^ String.create (String.length buff.val) ++ buff.val := buff.val ^ string_create (String.length buff.val) + else (); +- buff.val.[len] := x; ++ string_set buff.val len x; + succ len + }; + value get_buff len = String.sub buff.val 0 len; +@@ -215,10 +218,10 @@ + (* The lexing buffer used by pa_lexer.cmo *) + + value rev_implode l = +- let s = String.create (List.length l) in ++ let s = string_create (List.length l) in + loop (String.length s - 1) l where rec loop i = + fun +- [ [c :: l] -> do { String.unsafe_set s i c; loop (i - 1) l } ++ [ [c :: l] -> do { string_unsafe_set s i c; loop (i - 1) l } + | [] -> s ] + ; + +diff -urN camlp5-6.11/lib/plexing.mli camlp5-6.12-63a8c30f/lib/plexing.mli +--- camlp5-6.11/lib/plexing.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/plexing.mli 2014-08-01 10:14:54.298065427 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: plexing.mli,v 6.5 2012-01-09 14:22:21 deraugla Exp $ *) ++(* plexing.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Lexing for Camlp5 grammars. +diff -urN camlp5-6.11/lib/ploc.ml camlp5-6.12-63a8c30f/lib/ploc.ml +--- camlp5-6.11/lib/ploc.ml 2012-03-09 12:43:14.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/ploc.ml 2014-08-01 10:14:54.298065427 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: ploc.ml,v 6.13 2012-03-09 12:43:14 deraugla Exp $ *) ++(* ploc.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_macro.cmo"; +@@ -23,12 +23,12 @@ + ; + + value make_unlined (bp, ep) = +- {fname = ""; line_nb = -1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; ++ {fname = ""; line_nb = 1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; + bp = bp; ep = ep; comm = ""; ecomm = ""} + ; + + value dummy = +- {fname = ""; line_nb = -1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; ++ {fname = ""; line_nb = 1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; + bp = 0; ep = 0; comm = ""; ecomm = ""} + ; + +diff -urN camlp5-6.11/lib/ploc.mli camlp5-6.12-63a8c30f/lib/ploc.mli +--- camlp5-6.11/lib/ploc.mli 2012-03-09 11:03:05.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/ploc.mli 2014-08-01 10:14:54.298065427 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: ploc.mli,v 6.9 2012-03-09 11:03:05 deraugla Exp $ *) ++(* ploc.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Locations and some pervasive type and value. *) +diff -urN camlp5-6.11/lib/pprintf.ml camlp5-6.12-63a8c30f/lib/pprintf.ml +--- camlp5-6.11/lib/pprintf.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/pprintf.ml 2014-08-01 10:14:54.298065427 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pprintf.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* pprintf.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_macro.cmo"; +diff -urN camlp5-6.11/lib/pprintf.mli camlp5-6.12-63a8c30f/lib/pprintf.mli +--- camlp5-6.11/lib/pprintf.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/pprintf.mli 2014-08-01 10:14:54.298065427 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pprintf.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* pprintf.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Definitions for pprintf statement. +diff -urN camlp5-6.11/lib/pretty.ml camlp5-6.12-63a8c30f/lib/pretty.ml +--- camlp5-6.11/lib/pretty.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/pretty.ml 2014-08-01 10:14:54.298065427 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pretty.ml,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) ++(* pretty.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_macro.cmo"; +diff -urN camlp5-6.11/lib/pretty.mli camlp5-6.12-63a8c30f/lib/pretty.mli +--- camlp5-6.11/lib/pretty.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/pretty.mli 2014-08-01 10:14:54.298065427 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pretty.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* pretty.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Pretty printing on strings *) +diff -urN camlp5-6.11/lib/stdpp.ml camlp5-6.12-63a8c30f/lib/stdpp.ml +--- camlp5-6.11/lib/stdpp.ml 2012-03-03 09:06:39.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/stdpp.ml 2014-08-01 10:14:54.298065427 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: stdpp.ml,v 6.7 2012-03-03 09:06:39 deraugla Exp $ *) ++(* stdpp.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type location = Ploc.t; +diff -urN camlp5-6.11/lib/stdpp.mli camlp5-6.12-63a8c30f/lib/stdpp.mli +--- camlp5-6.11/lib/stdpp.mli 2012-03-15 07:05:39.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/stdpp.mli 2014-08-01 10:14:54.299065428 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: stdpp.mli,v 6.5 2012-03-15 07:05:39 deraugla Exp $ *) ++(* stdpp.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Module deprecated since Camlp5 version 5.00. Use now module Ploc. +diff -urN camlp5-6.11/lib/token.ml camlp5-6.12-63a8c30f/lib/token.ml +--- camlp5-6.11/lib/token.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/token.ml 2014-08-01 10:14:54.299065428 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: token.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* token.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type pattern = Plexing.pattern; +diff -urN camlp5-6.11/lib/token.mli camlp5-6.12-63a8c30f/lib/token.mli +--- camlp5-6.11/lib/token.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/lib/token.mli 2014-08-01 10:14:54.299065428 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: token.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* token.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Module deprecated since Camlp5 version 5.00. Use now module Plexing. +diff -urN camlp5-6.11/lib/versdep.ml camlp5-6.12-63a8c30f/lib/versdep.ml +--- camlp5-6.11/lib/versdep.ml 2013-06-10 16:57:21.000000000 +0100 ++++ camlp5-6.12-63a8c30f/lib/versdep.ml 2014-08-01 10:14:54.299065428 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* $Id: versdep.ml,v 6.36 2013-06-10 15:57:21 deraugla Exp $ *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree; +@@ -94,22 +94,72 @@ + | [] -> Some (List.rev rev_l) ] + ; + +-value ocaml_value_description t p = ++value ocaml_value_description vn t p = + IFDEF OCAML_VERSION < OCAML_4_00 THEN {pval_type = t; pval_prim = p} +- ELSE {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} ++ ELSE ++ {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc; ++ pval_name = mkloc t.ptyp_loc vn; pval_attributes = []} ++ END + ; + + value ocaml_class_type_field loc ctfd = + IFDEF OCAML_VERSION < OCAML_4_00 THEN ctfd +- ELSE {pctf_desc = ctfd; pctf_loc = loc} END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ {pctf_desc = ctfd; pctf_loc = loc} ++ ELSE ++ {pctf_desc = ctfd; pctf_loc = loc; pctf_attributes = []} ++ END + ; + + value ocaml_class_field loc cfd = + IFDEF OCAML_VERSION < OCAML_4_00 THEN cfd +- ELSE {pcf_desc = cfd; pcf_loc = loc} END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN {pcf_desc = cfd; pcf_loc = loc} ++ ELSE {pcf_desc = cfd; pcf_loc = loc; pcf_attributes = []} END ++; ++ ++value ocaml_mktyp loc x = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN {ptyp_desc = x; ptyp_loc = loc} ++ ELSE {ptyp_desc = x; ptyp_loc = loc; ptyp_attributes = []} END ++; ++value ocaml_mkpat loc x = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN {ppat_desc = x; ppat_loc = loc} ++ ELSE {ppat_desc = x; ppat_loc = loc; ppat_attributes = []} END ++; ++value ocaml_mkexp loc x = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN {pexp_desc = x; pexp_loc = loc} ++ ELSE {pexp_desc = x; pexp_loc = loc; pexp_attributes = []} END ++; ++value ocaml_mkmty loc x = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN {pmty_desc = x; pmty_loc = loc} ++ ELSE {pmty_desc = x; pmty_loc = loc; pmty_attributes = []} END ++; ++value ocaml_mkmod loc x = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN {pmod_desc = x; pmod_loc = loc} ++ ELSE {pmod_desc = x; pmod_loc = loc; pmod_attributes = []} END ++; ++value ocaml_mkfield loc (lab, x) fl = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ [{pfield_desc = Pfield lab x; pfield_loc = loc} :: fl] ++ ELSE [(lab, x) :: fl] END ++; ++value ocaml_mkfield_var loc = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ [{pfield_desc = Pfield_var; pfield_loc = loc}] ++ ELSE [] END + ; + +-value ocaml_type_declaration params cl tk pf tm loc variance = ++IFDEF OCAML_VERSION >= OCAML_4_02_0 THEN ++ value variance_of_bool_bool = ++ fun ++ [ (False, True) -> Contravariant ++ | (True, False) -> Covariant ++ | _ -> Invariant ] ++ ; ++END; ++ ++value ocaml_type_declaration tn params cl tk pf tm loc variance = + IFDEF OCAML_VERSION = OCAML_3_13_0_gadt THEN + Right + {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; +@@ -147,12 +197,28 @@ + {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; + ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; + ptype_variance = variance} +- ELSE +- let params = List.map (fun os -> Some (mknoloc os)) params in ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ let params = List.map (fun os -> Some (mkloc loc os)) params in + Right + {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; + ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; + ptype_variance = variance} ++ ELSE ++ let _ = ++ if List.length params <> List.length variance then ++ failwith "internal error: ocaml_type_declaration" ++ else () ++ in ++ let params = ++ List.map2 ++ (fun os va -> ++ (ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va)) ++ params variance ++ in ++ Right ++ {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; ++ ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; ++ ptype_name = mkloc loc tn; ptype_attributes = []} + END + | None -> Left "no '_' type param in this ocaml version" ] + END +@@ -160,22 +226,35 @@ + + value ocaml_class_type = + IFDEF OCAML_VERSION <= OCAML_1_07 THEN None +- ELSE Some (fun d loc -> {pcty_desc = d; pcty_loc = loc}) END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Some (fun d loc -> {pcty_desc = d; pcty_loc = loc}) ++ ELSE ++ Some (fun d loc -> {pcty_desc = d; pcty_loc = loc; pcty_attributes = []}) ++ END + ; + + value ocaml_class_expr = + IFDEF OCAML_VERSION <= OCAML_1_07 THEN None +- ELSE Some (fun d loc -> {pcl_desc = d; pcl_loc = loc}) END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Some (fun d loc -> {pcl_desc = d; pcl_loc = loc}) ++ ELSE ++ Some (fun d loc -> {pcl_desc = d; pcl_loc = loc; pcl_attributes = []}) ++ END + ; + + value ocaml_class_structure p cil = + IFDEF OCAML_VERSION <= OCAML_4_00 THEN (p, cil) +- ELSE {pcstr_pat = p; pcstr_fields = cil} END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ {pcstr_pat = p; pcstr_fields = cil} ++ ELSE {pcstr_self = p; pcstr_fields = cil} END + ; + + value ocaml_pmty_ident loc li = Pmty_ident (mkloc loc li); + +-value ocaml_pmty_functor sloc s mt1 mt2 = Pmty_functor (mkloc sloc s) mt1 mt2; ++value ocaml_pmty_functor sloc s mt1 mt2 = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pmty_functor (mkloc sloc s) mt1 mt2 ++ ELSE Pmty_functor (mkloc sloc s) (Some mt1) mt2 END ++; + + value ocaml_pmty_typeof = + IFDEF OCAML_VERSION < OCAML_3_12 THEN None +@@ -183,8 +262,12 @@ + ; + + value ocaml_pmty_with mt lcl = +- let lcl = List.map (fun (s, c) → (mknoloc s, c)) lcl in +- Pmty_with mt lcl ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ let lcl = List.map (fun (s, c) → (mknoloc s, c)) lcl in ++ Pmty_with mt lcl ++ ELSE ++ let lcl = List.map snd lcl in Pmty_with mt lcl ++ END + ; + + value ocaml_ptype_abstract = +@@ -209,9 +292,16 @@ + Ptype_record ltl priv + ELSIFDEF OCAML_VERSION < OCAML_4_00 THEN + Ptype_record ltl +- ELSE ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Ptype_record + (List.map (fun (s, mf, ct, loc) → (mkloc loc s, mf, ct, loc)) ltl) ++ ELSE ++ Ptype_record ++ (List.map ++ (fun (s, mf, ct, loc) -> ++ {pld_name = mkloc loc s; pld_mutable = mf; pld_type = ct; ++ pld_loc = loc; pld_attributes = []}) ++ ltl) + END + ; + +@@ -250,7 +340,7 @@ + ctl + in + Some (Ptype_variant ctl) +- ELSE ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + let ctl = + List.map + (fun (c, tl, rto, loc) -> +@@ -258,6 +348,17 @@ + ctl + in + Some (Ptype_variant ctl) ++ ELSE ++ let ctl = ++ List.map ++ (fun (c, tl, rto, loc) -> ++ if rto <> None then raise Exit ++ else ++ {pcd_name = mkloc loc c; pcd_args = tl; pcd_res = None; ++ pcd_loc = loc; pcd_attributes = []}) ++ ctl ++ in ++ Some (Ptype_variant ctl) + END + with + [ Exit -> None ] +@@ -271,10 +372,19 @@ + + value ocaml_ptyp_class li tl ll = + IFDEF OCAML_VERSION <= OCAML_2_04 THEN Ptyp_class li tl +- ELSE Ptyp_class (mknoloc li) tl ll END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Ptyp_class (mknoloc li) tl ll ++ ELSE Ptyp_class (mknoloc li) tl END + ; + +-value ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li) tl; ++value ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li) tl; ++ ++value ocaml_ptyp_object ml = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Ptyp_object ml ++ ELSE ++ let ml = List.map (fun (s, t) -> (s, [], t)) ml in ++ Ptyp_object ml Closed ++ END ++; + + value ocaml_ptyp_package = + IFDEF OCAML_VERSION < OCAML_3_12_0 THEN None +@@ -283,7 +393,15 @@ + + value ocaml_ptyp_poly = + IFDEF OCAML_VERSION <= OCAML_3_04 THEN None +- ELSE Some (fun cl t -> Ptyp_poly cl t) END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Some (fun cl t -> Ptyp_poly cl t) ++ ELSE ++ Some ++ (fun cl t -> ++ match cl with ++ [ [] -> t.ptyp_desc ++ | _ -> Ptyp_poly cl t ]) ++ END + ; + + value ocaml_ptyp_variant catl clos sl_opt = +@@ -301,7 +419,7 @@ + Some (Ptyp_variant catl clos sl) + with + [ Exit -> None ] +- ELSE ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + let catl = + List.map + (fun +@@ -310,6 +428,16 @@ + catl + in + Some (Ptyp_variant catl clos sl_opt) ++ ELSE ++ let catl = ++ List.map ++ (fun ++ [ Left (c, a, tl) -> Rtag c [] a tl ++ | Right t -> Rinherit t ]) ++ catl ++ in ++ let clos = if clos then Closed else Open in ++ Some (Ptyp_variant catl clos sl_opt) + END + ; + +@@ -317,6 +445,11 @@ + (mknoloc li, List.map (fun (li, t) → (mkloc t.ptyp_loc li, t)) ltl) + ; + ++value ocaml_const_string s = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Const_string s ++ ELSE Const_string s None END ++; ++ + value ocaml_const_int32 = + IFDEF OCAML_VERSION <= OCAML_3_06 THEN None + ELSE Some (fun s -> Const_int32 (Int32.of_string s)) END +@@ -350,7 +483,11 @@ + let bucket = ghexp (Pexp_construct excep (Some triple) False) in + let raise_ = ghexp (Pexp_ident (Ldot (Lident "Pervasives") "raise")) in + ocaml_pexp_apply raise_ [("", bucket)] +- ELSE Pexp_assertfalse END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pexp_assertfalse ++ ELSE ++ Pexp_assert ++ (ocaml_mkexp loc (Pexp_construct (mkloc loc (Lident "false")) None)) ++ END + ; + + value ocaml_pexp_assert fname loc e = +@@ -377,17 +514,84 @@ + ELSE Pexp_assert e END + ; + ++value ocaml_pexp_constraint e ot1 ot2 = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pexp_constraint e ot1 ot2 ++ ELSE ++ match ot2 with ++ | Some t2 -> Pexp_coerce e ot1 t2 ++ | None -> ++ match ot1 with ++ | Some t1 -> Pexp_constraint e t1 ++ | None -> failwith "internal error: ocaml_pexp_constraint" ++ end ++ end ++ END ++; ++ + value ocaml_pexp_construct loc li po chk_arity = +- Pexp_construct (mkloc loc li) po chk_arity ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Pexp_construct (mkloc loc li) po chk_arity ++ ELSE ++ Pexp_construct (mkloc loc li) po ++ END ++; ++ ++value ocaml_pexp_construct_args = ++ IFDEF OCAML_VERSION < OCAML_4_00_0 THEN ++ fun ++ [ Pexp_construct li po chk_arity -> Some (li, 0, po, chk_arity) ++ | _ -> None ] ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ fun ++ [ Pexp_construct li po chk_arity -> Some (li.txt, li.loc, po, chk_arity) ++ | _ -> None ] ++ ELSE ++ fun ++ [ Pexp_construct li po -> Some (li.txt, li.loc, po, 0) ++ | _ -> None ] ++ END ++; ++ ++value mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) True) ++ ELSE ++ {pexp_desc = ocaml_pexp_construct li_loc li (Some a) True; ++ pexp_loc = loc; ++ pexp_attributes = [(mkloc loc "ocaml.explicit_arity", PStr [])]} ++ END + ; + + value ocaml_pexp_field loc e li = Pexp_field e (mkloc loc li); + +-value ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i) e1 e2 df e; ++value ocaml_pexp_for i e1 e2 df e = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pexp_for (mknoloc i) e1 e2 df e ++ ELSE Pexp_for (ocaml_mkpat loc_none (Ppat_var (mknoloc i))) e1 e2 df e END ++; ++ ++value ocaml_case (p, wo, loc, e) = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ match wo with ++ | Some w -> (p, ocaml_mkexp loc (Pexp_when w e)) ++ | None -> (p, e) ++ end ++ ELSE ++ {pc_lhs = p; pc_guard = wo; pc_rhs = e} ++ END ++; + + value ocaml_pexp_function lab eo pel = + IFDEF OCAML_VERSION <= OCAML_2_04 THEN Pexp_function pel +- ELSE Pexp_function lab eo pel END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pexp_function lab eo pel ++ ELSE ++ match pel with ++ | [{pc_lhs = p; pc_guard = None; pc_rhs = e}] -> Pexp_fun lab eo p e ++ | pel -> ++ if lab = "" && eo = None then Pexp_function pel ++ else failwith "internal error: bad ast in ocaml_pexp_function" ++ end ++ END + ; + + value ocaml_pexp_lazy = +@@ -469,6 +673,11 @@ + END + ; + ++value ocaml_value_binding loc p e = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN (p, e) ++ ELSE {pvb_pat = p; pvb_expr = e; pvb_loc = loc; pvb_attributes = []} END ++; ++ + value ocaml_ppat_alias p i iloc = Ppat_alias p (mkloc iloc i); + + value ocaml_ppat_array = +@@ -476,20 +685,40 @@ + ELSE Some (fun pl -> Ppat_array pl) END + ; + +-value ocaml_ppat_construct li li_loc po chk_arity = ++value ocaml_ppat_construct loc li po chk_arity = + IFDEF OCAML_VERSION < OCAML_4_00 THEN + Ppat_construct li po chk_arity ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Ppat_construct (mkloc loc li) po chk_arity + ELSE +- Ppat_construct (mkloc li_loc li) po chk_arity ++ Ppat_construct (mkloc loc li) po + END + ; + + value ocaml_ppat_construct_args = +- fun +- [ Ppat_construct li po chk_arity -> +- IFDEF OCAML_VERSION < OCAML_4_00 THEN Some (li, 0, po, chk_arity) +- ELSE Some (li.txt, li.loc, po, chk_arity) END +- | _ -> None ] ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ fun ++ [ Ppat_construct li po chk_arity -> ++ IFDEF OCAML_VERSION < OCAML_4_00 THEN Some (li, 0, po, chk_arity) ++ ELSE Some (li.txt, li.loc, po, chk_arity) END ++ | _ -> None ] ++ ELSE ++ fun ++ [ Ppat_construct li po -> Some (li.txt, li.loc, po, 0) ++ | _ -> None ] ++ END ++; ++ ++value mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) True) ++ ELSE ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ {ppat_desc = ocaml_ppat_construct li_loc li (Some a) True; ++ ppat_loc = loc; ++ ppat_attributes = [(mkloc loc "ocaml.explicit_arity", PStr [])]} ++ END + ; + + value ocaml_ppat_lazy = +@@ -535,80 +764,206 @@ + ELSE Some (fun ctl -> Psig_class_type ctl) END + ; + +-value ocaml_psig_exception s ed = Psig_exception (mknoloc s) ed; ++value ocaml_psig_exception loc s ed = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Psig_exception (mkloc loc s) ed ++ ELSE ++ Psig_exception ++ {pext_name = mkloc loc s; pext_kind = Pext_decl ed None; ++ pext_loc = loc; pext_attributes = []} ++ END ++; ++ ++value ocaml_psig_include loc mt = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Psig_include mt ++ ELSE ++ Psig_include {pincl_mod = mt; pincl_loc = loc; pincl_attributes = []} ++ END ++; + +-value ocaml_psig_module s mt = Psig_module (mknoloc s) mt; ++value ocaml_psig_module loc s mt = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Psig_module (mknoloc s) mt ++ ELSE ++ Psig_module ++ {pmd_name = mkloc loc s; pmd_type = mt; pmd_attributes = []; ++ pmd_loc = loc} ++ END ++; + +-value ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s) mtd; ++value ocaml_psig_modtype loc s mto = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ let mtd = ++ match mto with ++ | None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ end ++ in ++ Psig_modtype (mknoloc s) mtd ++ ELSE ++ let pmtd = ++ {pmtd_name = mkloc loc s; pmtd_type = mto; pmtd_attributes = []; ++ pmtd_loc = loc} ++ in ++ Psig_modtype pmtd ++ END ++; + +-value ocaml_psig_open li = +- IFDEF OCAML_VERSION < OCAML_4_01 THEN Psig_open (mknoloc li) +- ELSE Psig_open Fresh (mknoloc li) END ++value ocaml_psig_open loc li = ++ IFDEF OCAML_VERSION < OCAML_4_01 THEN Psig_open (mkloc loc li) ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Psig_open Fresh (mkloc loc li) ++ ELSE ++ Psig_open ++ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; ++ popen_attributes = []} ++ END + ; + + value ocaml_psig_recmodule = + IFDEF OCAML_VERSION <= OCAML_3_06 THEN None +- ELSE ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + let f ntl = + let ntl = List.map (fun (s, mt) → (mknoloc s, mt)) ntl in + Psig_recmodule ntl + in + Some f ++ ELSE ++ let f ntl = ++ let ntl = ++ List.map ++ (fun (s, mt) -> ++ {pmd_name = mknoloc s; pmd_type = mt; pmd_attributes = []; ++ pmd_loc = loc_none}) ++ ntl ++ in ++ Psig_recmodule ntl ++ in ++ Some f + END + ; + + value ocaml_psig_type stl = +- let stl = List.map (fun (s, t) → (mknoloc s, t)) stl in +- Psig_type stl ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ let stl = List.map (fun (s, t) → (mknoloc s, t)) stl in ++ Psig_type stl ++ ELSE ++ let stl = List.map (fun (s, t) -> t) stl in Psig_type stl ++ END + ; + +-value ocaml_psig_value s vd = Psig_value (mknoloc s) vd; ++value ocaml_psig_value s vd = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Psig_value (mknoloc s) vd ++ ELSE Psig_value vd END ++; + + value ocaml_pstr_class_type = + IFDEF OCAML_VERSION <= OCAML_1_07 THEN None + ELSE Some (fun ctl -> Pstr_class_type ctl) END + ; + +-value ocaml_pstr_exception s ed = Pstr_exception (mknoloc s) ed; ++value ocaml_pstr_eval e = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_eval e ++ ELSE Pstr_eval e [] END ++; ++ ++value ocaml_pstr_exception loc s ed = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_exception (mkloc loc s) ed ++ ELSE ++ Pstr_exception ++ {pext_name = mkloc loc s; pext_kind = Pext_decl ed None; ++ pext_loc = loc; pext_attributes = []} ++ END ++; + + value ocaml_pstr_exn_rebind = + IFDEF OCAML_VERSION <= OCAML_2_99 THEN None +- ELSE Some (fun s li -> Pstr_exn_rebind (mknoloc s) (mknoloc li)) END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s) (mkloc loc li)) ++ ELSE ++ Some ++ (fun loc s li -> ++ Pstr_exception ++ {pext_name = mkloc loc s; pext_kind = Pext_rebind (mkloc loc li); ++ pext_loc = loc; pext_attributes = []}) ++ END + ; + + value ocaml_pstr_include = + IFDEF OCAML_VERSION <= OCAML_3_00 THEN None +- ELSE Some (fun me -> Pstr_include me) END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Some (fun loc me -> Pstr_include me) ++ ELSE ++ Some ++ (fun loc me -> ++ Pstr_include ++ {pincl_mod = me; pincl_loc = loc; pincl_attributes = []}) ++ END + ; + +-value ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s) mt; ++value ocaml_pstr_modtype loc s mt = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_modtype (mkloc loc s) mt ++ ELSE ++ let pmtd = ++ {pmtd_name = mkloc loc s; pmtd_type = Some mt; pmtd_attributes = []; ++ pmtd_loc = loc} ++ in ++ Pstr_modtype pmtd ++ END ++; + +-value ocaml_pstr_module s me = Pstr_module (mknoloc s) me; ++value ocaml_pstr_module loc s me = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_module (mkloc loc s) me ++ ELSE ++ let mb = ++ {pmb_name = mkloc loc s; pmb_expr = me; pmb_attributes = []; ++ pmb_loc = loc} ++ in ++ Pstr_module mb ++ END ++; + +-value ocaml_pstr_open li = ++value ocaml_pstr_open loc li = + IFDEF OCAML_VERSION < OCAML_4_01 THEN Pstr_open (mknoloc li) +- ELSE Pstr_open Fresh (mknoloc li) END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_open Fresh (mknoloc li) ++ ELSE ++ Pstr_open ++ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; ++ popen_attributes = []} ++ END + ; + +-value ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s) vd; ++value ocaml_pstr_primitive s vd = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_primitive (mknoloc s) vd ++ ELSE Pstr_primitive vd END ++; + + value ocaml_pstr_recmodule = + IFDEF OCAML_VERSION <= OCAML_3_06 THEN None + ELSIFDEF OCAML_VERSION < OCAML_4_00 THEN + Some (fun nel -> Pstr_recmodule nel) +- ELSE ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + let f nel = + Pstr_recmodule (List.map (fun (s, mt, me) → (mknoloc s, mt, me)) nel) + in + Some f ++ ELSE ++ let f nel = ++ Pstr_recmodule ++ (List.map ++ (fun (s, mt, me) -> ++ {pmb_name = mknoloc s; pmb_expr = me; pmb_attributes = []; ++ pmb_loc = loc_none}) ++ nel) ++ in ++ Some f + END + ; + + value ocaml_pstr_type stl = + IFDEF OCAML_VERSION < OCAML_4_00 THEN Pstr_type stl +- ELSE ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + let stl = List.map (fun (s, t) → (mknoloc s, t)) stl in + Pstr_type stl ++ ELSE ++ let stl = List.map (fun (s, t) -> t) stl in Pstr_type stl + END + ; + +@@ -619,18 +974,37 @@ + (fun virt params name expr loc variance -> + {pci_virt = virt; pci_params = params; pci_name = name; + pci_expr = expr; pci_loc = loc}) +- ELSE ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Some + (fun virt (sl, sloc) name expr loc variance -> + let params = (List.map (fun s → mkloc loc s) sl, sloc) in + {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; + pci_expr = expr; pci_loc = loc; pci_variance = variance}) ++ ELSE ++ Some ++ (fun virt (sl, sloc) name expr loc variance -> ++ let _ = ++ if List.length sl <> List.length variance then ++ failwith "internal error: ocaml_class_infos" ++ else () ++ in ++ let params = ++ List.map2 ++ (fun os va -> ++ (ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va)) ++ sl variance ++ in ++ {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; ++ pci_expr = expr; pci_loc = loc; pci_attributes = []}) + END + ; + + value ocaml_pmod_ident li = Pmod_ident (mknoloc li); + +-value ocaml_pmod_functor s mt me = Pmod_functor (mknoloc s) mt me; ++value ocaml_pmod_functor s mt me = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pmod_functor (mknoloc s) mt me ++ ELSE Pmod_functor (mknoloc s) (Some mt) me END ++; + + value ocaml_pmod_unpack = + IFDEF OCAML_VERSION < OCAML_3_12 THEN None +@@ -646,41 +1020,58 @@ + IFDEF OCAML_VERSION <= OCAML_1_07 THEN None + ELSIFDEF OCAML_VERSION < OCAML_4_00 THEN + Some (fun (t1, t2, loc) -> Pcf_cstr (t1, t2, loc)) +- ELSE Some (fun (t1, t2, loc) -> Pcf_constr (t1, t2)) END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Some (fun (t1, t2, loc) -> Pcf_constr (t1, t2)) ++ ELSE ++ Some (fun (t1, t2, loc) -> Pcf_constraint (t1, t2)) ++ END + ; + + value ocaml_pcf_inher = + IFDEF OCAML_VERSION <= OCAML_1_07 THEN + fun (id, cl, el, loc) pb -> Pcf_inher (id, cl, el, pb, loc) +- ELSIFDEF OCAML_VERSION >= OCAML_3_12 THEN ++ ELSIFDEF OCAML_VERSION < OCAML_3_12 THEN ++ fun ce pb -> Pcf_inher ce pb ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + fun ce pb -> Pcf_inher Fresh ce pb + ELSE +- fun ce pb -> Pcf_inher ce pb ++ fun ce pb -> Pcf_inherit Fresh ce pb + END + ; + + value ocaml_pcf_init = + IFDEF OCAML_VERSION <= OCAML_1_07 THEN None +- ELSE Some (fun e -> Pcf_init e) END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Some (fun e -> Pcf_init e) ++ ELSE Some (fun e -> Pcf_initializer e) END + ; + + value ocaml_pcf_meth (s, pf, ovf, e, loc) = + let pf = if pf then Private else Public in +- IFDEF OCAML_VERSION >= OCAML_3_12 THEN ++ IFDEF OCAML_VERSION < OCAML_3_12 THEN Pcf_meth (s, pf, e, loc) ++ ELSE + let ovf = if ovf then Override else Fresh in + IFDEF OCAML_VERSION < OCAML_4_00 THEN Pcf_meth (s, pf, ovf, e, loc) +- ELSE Pcf_meth (mkloc loc s, pf, ovf, e) END +- ELSE Pcf_meth (s, pf, e, loc) END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Pcf_meth (mkloc loc s, pf, ovf, e) ++ ELSE ++ Pcf_method (mkloc loc s, pf, Cfk_concrete ovf e) ++ END ++ END + ; + + value ocaml_pcf_val (s, mf, ovf, e, loc) = + let mf = if mf then Mutable else Immutable in + IFDEF OCAML_VERSION <= OCAML_1_07 THEN Pcf_val (s, Public, mf, Some e, loc) +- ELSIFDEF OCAML_VERSION >= OCAML_3_12 THEN ++ ELSIFDEF OCAML_VERSION < OCAML_3_12 THEN Pcf_val (s, mf, e, loc) ++ ELSE + let ovf = if ovf then Override else Fresh in + IFDEF OCAML_VERSION < OCAML_4_00 THEN Pcf_val (s, mf, ovf, e, loc) +- ELSE Pcf_val (mkloc loc s, mf, ovf, e) END +- ELSE Pcf_val (s, mf, e, loc) END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Pcf_val (mkloc loc s, mf, ovf, e) ++ ELSE ++ Pcf_val (mkloc loc s, mf, Cfk_concrete ovf e) ++ END ++ END + ; + + value ocaml_pcf_valvirt = +@@ -689,7 +1080,9 @@ + let ocaml_pcf (s, mf, t, loc) = + let mf = if mf then Mutable else Immutable in + IFDEF OCAML_VERSION < OCAML_4_00 THEN Pcf_valvirt (s, mf, t, loc) +- ELSE Pcf_valvirt (mkloc loc s, mf, t) END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Pcf_valvirt (mkloc loc s, mf, t) ++ ELSE Pcf_val (mkloc loc s, mf, Cfk_virtual t) END + in + Some ocaml_pcf + END +@@ -697,7 +1090,8 @@ + + value ocaml_pcf_virt (s, pf, t, loc) = + IFDEF OCAML_VERSION < OCAML_4_00 THEN Pcf_virt (s, pf, t, loc) +- ELSE Pcf_virt (mkloc loc s, pf, t) END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pcf_virt (mkloc loc s, pf, t) ++ ELSE Pcf_val (mkloc loc s, Immutable, Cfk_virtual t) END + ; + + value ocaml_pcl_apply = +@@ -743,13 +1137,22 @@ + IFDEF OCAML_VERSION <= OCAML_1_07 THEN None + ELSIFDEF OCAML_VERSION < OCAML_4_00 THEN + Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc)) ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2)) + ELSE +- Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2)) END ++ Some (fun (t1, t2, loc) -> Pctf_constraint (t1, t2)) ++ END ++; ++ ++value ocaml_pctf_inher ct = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pctf_inher ct ++ ELSE Pctf_inherit ct END + ; + + value ocaml_pctf_meth (s, pf, t, loc) = + IFDEF OCAML_VERSION < OCAML_4_00 THEN Pctf_meth (s, pf, t, loc) +- ELSE Pctf_meth (s, pf, t) END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pctf_meth (s, pf, t) ++ ELSE Pctf_method (s, pf, Concrete, t) END + ; + + value ocaml_pctf_val (s, mf, t, loc) = +@@ -761,7 +1164,8 @@ + + value ocaml_pctf_virt (s, pf, t, loc) = + IFDEF OCAML_VERSION < OCAML_4_00 THEN Pctf_virt (s, pf, t, loc) +- ELSE Pctf_virt (s, pf, t) END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pctf_virt (s, pf, t) ++ ELSE Pctf_val (s, Immutable, Virtual, t) END + ; + + value ocaml_pcty_constr = +@@ -774,8 +1178,11 @@ + None + ELSIFDEF OCAML_VERSION <= OCAML_2_04 THEN + Some (fun lab t ct -> Pcty_fun t ct) ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Some (fun lab t ct -> Pcty_fun lab t ct) + ELSE +- Some (fun lab t ct -> Pcty_fun lab t ct) END ++ Some (fun lab t ct -> Pcty_arrow lab t ct) ++ END + ; + + value ocaml_pcty_signature = +@@ -785,7 +1192,11 @@ + ELSE + let f (t, ctfl) = + let cs = +- {pcsig_self = t; pcsig_fields = ctfl; pcsig_loc = t.ptyp_loc} ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ {pcsig_self = t; pcsig_fields = ctfl; pcsig_loc = t.ptyp_loc} ++ ELSE ++ {pcsig_self = t; pcsig_fields = ctfl} ++ END + in + Pcty_signature cs + in +@@ -800,10 +1211,22 @@ + + value ocaml_pwith_modsubst = + IFDEF OCAML_VERSION < OCAML_3_12_0 THEN None +- ELSE Some (fun loc me -> Pwith_modsubst (mkloc loc me)) END ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Some (fun loc me -> Pwith_modsubst (mkloc loc me)) ++ ELSE ++ Some (fun loc me -> Pwith_modsubst (mkloc loc "") (mkloc loc me)) ++ END ++; ++ ++value ocaml_pwith_type loc (i, td) = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pwith_type td ++ ELSE Pwith_type (mkloc loc i) td END + ; + +-value ocaml_pwith_module loc me = Pwith_module (mkloc loc me); ++value ocaml_pwith_module loc me = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pwith_module (mkloc loc me) ++ ELSE Pwith_module (mkloc loc (Lident "")) (mkloc loc me) END ++; + + value ocaml_pwith_typesubst = + IFDEF OCAML_VERSION < OCAML_3_12_0 THEN None +@@ -1009,3 +1432,18 @@ + String.contains + END + ; ++ ++value string_create = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN String.create ++ ELSE Bytes.create END ++; ++ ++value string_unsafe_set = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN String.unsafe_set ++ ELSE Bytes.unsafe_set END ++; ++ ++value string_set = ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN String.set ++ ELSE Bytes.set END ++; +diff -urN camlp5-6.11/main/argl.ml camlp5-6.12-63a8c30f/main/argl.ml +--- camlp5-6.11/main/argl.ml 2012-03-01 03:33:18.000000000 +0000 ++++ camlp5-6.12-63a8c30f/main/argl.ml 2014-08-01 10:14:54.299065428 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: argl.ml,v 6.2 2012-03-01 03:33:18 deraugla Exp $ *) ++(* argl.ml,v *) + + open Printf; + open Versdep; +diff -urN camlp5-6.11/main/argl.mli camlp5-6.12-63a8c30f/main/argl.mli +--- camlp5-6.11/main/argl.mli 2010-09-15 17:00:24.000000000 +0100 ++++ camlp5-6.12-63a8c30f/main/argl.mli 2014-08-01 10:14:54.299065428 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: argl.mli,v 6.1 2010-09-15 16:00:24 deraugla Exp $ *) ++(* argl.mli,v *) + + value usage : + list (string * Arg.spec * string) -> list (string * Arg.spec * string) -> +diff -urN camlp5-6.11/main/ast2pt.ml camlp5-6.12-63a8c30f/main/ast2pt.ml +--- camlp5-6.11/main/ast2pt.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/main/ast2pt.ml 2014-08-01 10:14:54.300065429 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: ast2pt.ml,v 6.53 2013-03-19 15:25:22 deraugla Exp $ *) ++(* ast2pt.ml,v *) + + #load "q_MLast.cmo"; + +@@ -62,14 +62,16 @@ + ocaml_location (glob_fname.val, lnum, bolp, lnuml, bolpl, bp, ep) + ; + +-value mktyp loc d = {ptyp_desc = d; ptyp_loc = mkloc loc}; +-value mkpat loc d = {ppat_desc = d; ppat_loc = mkloc loc}; +-value mkexp loc d = {pexp_desc = d; pexp_loc = mkloc loc}; +-value mkmty loc d = {pmty_desc = d; pmty_loc = mkloc loc}; ++value mktyp loc d = ocaml_mktyp (mkloc loc) d; ++value mkpat loc d = ocaml_mkpat (mkloc loc) d; ++value mkexp loc d = ocaml_mkexp (mkloc loc) d; ++value mkmty loc d = ocaml_mkmty (mkloc loc) d; + value mksig loc d = {psig_desc = d; psig_loc = mkloc loc}; +-value mkmod loc d = {pmod_desc = d; pmod_loc = mkloc loc}; ++value mkmod loc d = ocaml_mkmod (mkloc loc) d; + value mkstr loc d = {pstr_desc = d; pstr_loc = mkloc loc}; +-value mkfield loc d = {pfield_desc = d; pfield_loc = mkloc loc}; ++value mkfield loc d fl = ocaml_mkfield (mkloc loc) d fl; ++value mkfield_var loc = ocaml_mkfield_var (mkloc loc); ++ + value mkcty loc d = + match ocaml_class_type with + [ Some class_type → class_type d (mkloc loc) +@@ -87,9 +89,10 @@ + let ghpat = mkpat loc in + let ghexp = mkexp loc in + let void_pat = +- ghpat (ocaml_ppat_construct (Lident "()") (mkloc loc) None False) ++ ghpat (ocaml_ppat_construct (mkloc loc) (Lident "()") None False) + in +- let f = ghexp (ocaml_pexp_function "" None [(void_pat, e)]) in ++ let pwe = ocaml_case (void_pat, None, mkloc loc, e) in ++ let f = ghexp (ocaml_pexp_function "" None [pwe]) in + let delayed = Ldot (Lident "Lazy") "Delayed" in + let cloc = mkloc loc in + let df = ghexp (ocaml_pexp_construct cloc delayed (Some f) False) in +@@ -104,7 +107,7 @@ + loop 0 0 where rec loop i j = + if i = String.length s then String.sub s 0 j + else if s.[i] = '_' then loop (i + 1) j +- else do { s.[j] := s.[i]; loop (i + 1) (j + 1) } ++ else do { string_set s j s.[i]; loop (i + 1) (j + 1) } + | None → s ] + ; + +@@ -240,7 +243,7 @@ + [ TyAcc loc _ _ as f → + let (is_cls, li) = ctyp_long_id f in + if is_cls then mktyp loc (ocaml_ptyp_class li [] []) +- else mktyp loc (ocaml_ptyp_constr li []) ++ else mktyp loc (ocaml_ptyp_constr (mkloc loc) li []) + | TyAli loc t1 t2 → + let (t, i) = + match (t1, t2) with +@@ -254,7 +257,7 @@ + let (f, al) = ctyp_fa [] f in + let (is_cls, li) = ctyp_long_id f in + if is_cls then mktyp loc (ocaml_ptyp_class li (List.map ctyp al) []) +- else mktyp loc (ocaml_ptyp_constr li (List.map ctyp al)) ++ else mktyp loc (ocaml_ptyp_constr (mkloc loc) li (List.map ctyp al)) + | TyArr loc (TyLab loc1 lab t1) t2 → + mktyp loc (ocaml_ptyp_arrow (uv lab) (ctyp t1) (ctyp t2)) + | TyArr loc (TyOlb loc1 lab t1) t2 → +@@ -264,11 +267,11 @@ + in + mktyp loc (ocaml_ptyp_arrow ("?" ^ uv lab) (ctyp t1) (ctyp t2)) + | TyArr loc t1 t2 → mktyp loc (ocaml_ptyp_arrow "" (ctyp t1) (ctyp t2)) +- | TyObj loc fl v → mktyp loc (Ptyp_object (meth_list loc (uv fl) v)) ++ | TyObj loc fl v → mktyp loc (ocaml_ptyp_object (meth_list loc (uv fl) v)) + | TyCls loc id → + mktyp loc (ocaml_ptyp_class (long_id_of_string_list loc (uv id)) [] []) + | TyLab loc _ _ → error loc "labeled type not allowed here" +- | TyLid loc s → mktyp loc (ocaml_ptyp_constr (Lident (uv s)) []) ++ | TyLid loc s → mktyp loc (ocaml_ptyp_constr (mkloc loc) (Lident (uv s)) []) + | TyMan loc _ _ _ → error loc "type manifest not allowed here" + | TyOlb loc lab _ → error loc "labeled type not allowed here" + | TyPck loc mt → +@@ -286,7 +289,7 @@ + | TyRec loc _ → error loc "record type not allowed here" + | TySum loc _ → error loc "sum type not allowed here" + | TyTup loc tl → mktyp loc (Ptyp_tuple (List.map ctyp (uv tl))) +- | TyUid loc s → mktyp loc (ocaml_ptyp_constr (Lident (uv s)) []) ++ | TyUid loc s → mktyp loc (ocaml_ptyp_constr (mkloc loc) (Lident (uv s)) []) + | TyVrn loc catl ool → + let catl = + List.map +@@ -309,9 +312,9 @@ + | TyXtr loc _ _ → error loc "bad ast TyXtr" ] + and meth_list loc fl v = + match fl with +- [ [] → if uv v then [mkfield loc Pfield_var] else [] ++ [ [] → if uv v then mkfield_var loc else [] + | [(lab, t) :: fl] → +- [mkfield loc (Pfield lab (add_polytype t)) :: meth_list loc fl v] ] ++ mkfield loc (lab, add_polytype t) (meth_list loc fl v) ] + and add_polytype t = + match ocaml_ptyp_poly with + [ Some ptyp_poly → +@@ -363,11 +366,11 @@ + | None → (False, False) ] + ; + +-value mktype loc tl cl tk pf tm = ++value mktype loc tn tl cl tk pf tm = + let (params, var_list) = List.split tl in + let variance = List.map variance_of_var var_list in + let params = List.map uv params in +- match ocaml_type_declaration params cl tk pf tm (mkloc loc) variance with ++ match ocaml_type_declaration tn params cl tk pf tm (mkloc loc) variance with + [ Right td → td + | Left msg → error loc msg ] + ; +@@ -407,18 +410,18 @@ + | None → error loc "no generalized data types in this ocaml version" ] + ; + +-value type_decl tl priv cl = ++value type_decl tn tl priv cl = + fun + [ TyMan loc t pf <:ctyp< { $list:ltl$ } >> → + let priv = if uv pf then Private else Public in +- mktype loc tl cl (mktrecord ltl (uv pf)) priv (Some (ctyp t)) ++ mktype loc tn tl cl (mktrecord ltl (uv pf)) priv (Some (ctyp t)) + | TyMan loc t pf <:ctyp< [ $list:ctl$ ] >> → + let priv = if uv pf then Private else Public in +- mktype loc tl cl (mktvariant loc ctl (uv pf)) priv (Some (ctyp t)) ++ mktype loc tn tl cl (mktvariant loc ctl (uv pf)) priv (Some (ctyp t)) + | TyRec loc ltl → +- mktype loc tl cl (mktrecord (uv ltl) False) priv None ++ mktype loc tn tl cl (mktrecord (uv ltl) False) priv None + | TySum loc ctl → +- mktype loc tl cl (mktvariant loc (uv ctl) False) priv None ++ mktype loc tn tl cl (mktvariant loc (uv ctl) False) priv None + | t → + let m = + match t with +@@ -427,10 +430,10 @@ + else None + | _ → Some (ctyp t) ] + in +- mktype (loc_of_ctyp t) tl cl Ptype_abstract priv m ] ++ mktype (loc_of_ctyp t) tn tl cl Ptype_abstract priv m ] + ; + +-value mkvalue_desc t p = ocaml_value_description (ctyp t) p; ++value mkvalue_desc vn t p = ocaml_value_description vn (ctyp t) p; + + value option f = + fun +@@ -456,14 +459,14 @@ + | t → error (loc_of_module_expr t) "bad module expr long ident" ] + ; + +-value type_decl_of_with_type loc tpl pf ct = ++value type_decl_of_with_type loc tn tpl pf ct = + let (params, var_list) = List.split (uv tpl) in + let variance = List.map variance_of_var var_list in + let params = List.map uv params in + let ct = Some (ctyp ct) in + let tk = if pf then ocaml_ptype_abstract else Ptype_abstract in + let pf = if pf then Private else Public in +- ocaml_type_declaration params [] tk pf ct (mkloc loc) variance ++ ocaml_type_declaration tn params [] tk pf ct (mkloc loc) variance + ; + + value mkwithc = +@@ -478,13 +481,14 @@ + pwith_modsubst (mkloc loc) (module_expr_long_id m)) + | None → error loc "no with module := in this ocaml version" ] + | WcTyp loc id tpl pf ct → +- match type_decl_of_with_type loc tpl (uv pf) ct with +- [ Right td → (long_id_of_string_list loc (uv id), Pwith_type td) ++ let li = long_id_of_string_list loc (uv id) in ++ match type_decl_of_with_type loc "" tpl (uv pf) ct with ++ [ Right td -> (li, ocaml_pwith_type (mkloc loc) (li, td)) + | Left msg → error loc msg ] + | WcTys loc id tpl t → + match ocaml_pwith_typesubst with + [ Some pwith_typesubst → +- match type_decl_of_with_type loc tpl False t with ++ match type_decl_of_with_type loc "" tpl False t with + [ Right td → + let li = long_id_of_string_list loc (uv id) in + (li, pwith_typesubst td) +@@ -533,8 +537,8 @@ + [ (<:patt:< $uid:i$ >>, il) → + match p2 with + [ <:patt< $uid:s$ >> → +- ocaml_ppat_construct (mkli (conv_con s) [i :: il]) +- (mkloc loc) None (not Prtools.no_constructors_arity.val) ++ ocaml_ppat_construct (mkloc loc) (mkli (conv_con s) [i :: il]) ++ None (not Prtools.no_constructors_arity.val) + | _ → error (loc_of_patt p2) "bad access pattern" ] + | _ → error (loc_of_patt p2) "bad pattern" ] + in +@@ -558,13 +562,11 @@ + if Prtools.no_constructors_arity.val then + let a = + match al with +- [ [a] → a +- | _ → mkpat loc (Ppat_tuple al) ] ++ [ [a] -> a ++ | _ -> mkpat loc (Ppat_tuple al) ] + in +- mkpat loc (ocaml_ppat_construct li li_loc (Some a) False) +- else +- let a = mkpat loc (Ppat_tuple al) in +- mkpat loc (ocaml_ppat_construct li li_loc (Some a) True) ++ mkpat loc (ocaml_ppat_construct li_loc li (Some a) False) ++ else mkpat_ocaml_ppat_construct_arity (mkloc loc) li_loc li al + | Some _ | None → + match ocaml_ppat_variant with + [ Some (ppat_variant_pat, ppat_variant) → +@@ -620,7 +622,8 @@ + mkpat loc (ocaml_ppat_record (List.map mklabpat lpl) is_closed) + | PaStr loc s → + mkpat loc +- (Ppat_constant (Const_string (string_of_string_token loc (uv s)))) ++ (Ppat_constant ++ (ocaml_const_string (string_of_string_token loc (uv s)))) + | PaTup loc pl → mkpat loc (Ppat_tuple (List.map patt (uv pl))) + | PaTyc loc p t → mkpat loc (Ppat_constraint (patt p) (ctyp t)) + | PaTyp loc sl → +@@ -632,7 +635,7 @@ + | PaUid loc s → + let ca = not Prtools.no_constructors_arity.val in + mkpat loc +- (ocaml_ppat_construct (Lident (conv_con (uv s))) (mkloc loc) None ca) ++ (ocaml_ppat_construct (mkloc loc) (Lident (conv_con (uv s))) None ca) + | PaUnp loc s mto → + match ocaml_ppat_unpack with + [ Some (ppat_unpack, ptyp_package) → +@@ -788,20 +791,20 @@ + | _ → f ] + in + let al = List.rev (List.fold_left label_expr [] al) in +- match (expr f).pexp_desc with +- [ Pexp_construct li None _ → ++ match ocaml_pexp_construct_args (expr f).pexp_desc with ++ [ Some (li, li_loc, None, _) → + let al = List.map snd al in + if Prtools.no_constructors_arity.val then + let a = + match al with +- [ [a] → a +- | _ → mkexp loc (Pexp_tuple al) ] ++ [ [a] -> a ++ | _ -> mkexp loc (Pexp_tuple al) ] + in +- mkexp loc (Pexp_construct li (Some a) False) ++ mkexp loc (ocaml_pexp_construct li_loc li (Some a) False) + else +- let a = mkexp loc (Pexp_tuple al) in +- mkexp loc (Pexp_construct li (Some a) True) +- | e → ++ mkexp_ocaml_pexp_construct_arity (mkloc loc) li_loc li al ++ | Some _ | None → ++ let e = (expr f).pexp_desc in + match ocaml_pexp_variant with + [ Some (pexp_variant_pat, pexp_variant) → + match pexp_variant_pat e with +@@ -861,7 +864,8 @@ + | ExChr loc s → + mkexp loc (Pexp_constant (Const_char (char_of_char_token loc (uv s)))) + | ExCoe loc e t1 t2 → +- mkexp loc (Pexp_constraint (expr e) (option ctyp t1) (Some (ctyp t2))) ++ mkexp loc ++ (ocaml_pexp_constraint (expr e) (option ctyp t1) (Some (ctyp t2))) + | ExFlo loc s → mkexp loc (Pexp_constant (Const_float (uv s))) + | ExFor loc i e1 e2 df el → + let e3 = <:expr< do { $list:uv el$ } >> in +@@ -870,16 +874,16 @@ + | ExFun loc pel → + match uv pel with + [ [(PaLab ploc lppo, w, e)] → +- List.fold_right +- (fun (p, po) e → +- let lab = label_of_patt p in +- let p = +- match uv po with +- [ Some p → p +- | None → p ] +- in +- mkexp loc (ocaml_pexp_function lab None [(patt p, e)])) +- (uv lppo) (when_expr e (uv w)) ++ match uv lppo with ++ [ [(p, po)] → ++ let lab = label_of_patt p in ++ let p = ++ match uv po with ++ [ Some p → p ++ | None → p ] ++ in ++ mkexp loc (ocaml_pexp_function lab None [mkpwe (p, w, e)]) ++ | _ → error loc "bad AST" ] + | [(PaNty loc s, w, e)] → + match ocaml_pexp_newtype with + [ Some newtype → +@@ -896,7 +900,7 @@ + in + mkexp loc + (ocaml_pexp_function ("?" ^ lab) (option expr (uv eo)) +- [(patt p, when_expr e (uv w))]) ++ [mkpwe (p, w, e)]) + | pel → + let pel = + if split_or_patterns_with_bindings then +@@ -972,7 +976,7 @@ + match mto with + [ Some mt → + let pt = package_of_module_type loc mt in +- Pexp_constraint (mkexp loc e) ++ ocaml_pexp_constraint (mkexp loc e) + (Some (mktyp loc (ptyp_package pt))) None + | None → e ] + in +@@ -1036,10 +1040,12 @@ + [("", expr e1); ("", expr e2)]) + | ExStr loc s → + mkexp loc +- (Pexp_constant (Const_string (string_of_string_token loc (uv s)))) ++ (Pexp_constant ++ (ocaml_const_string (string_of_string_token loc (uv s)))) + | ExTry loc e pel → mkexp loc (Pexp_try (expr e) (List.map mkpwe (uv pel))) + | ExTup loc el → mkexp loc (Pexp_tuple (List.map expr (uv el))) +- | ExTyc loc e t → mkexp loc (Pexp_constraint (expr e) (Some (ctyp t)) None) ++ | ExTyc loc e t → ++ mkexp loc (ocaml_pexp_constraint (expr e) (Some (ctyp t)) None) + | ExUid loc s → + let ca = not Prtools.no_constructors_arity.val in + let cloc = mkloc loc in +@@ -1091,7 +1097,7 @@ + [ Some p → patt p + | None → + mkpat loc +- (ocaml_ppat_construct (Lident "()") (mkloc loc) None ++ (ocaml_ppat_construct (mkloc loc) (Lident "()") None + False) ] + in + (mkloc locp, (mkloc loc, uv s), p)) +@@ -1102,6 +1108,7 @@ + in + (mkloc jc.jcLoc, jcval) + and mkpe (p, e) = ++ let loc = Ploc.encl (loc_of_patt p) (loc_of_expr e) in + let (p, e) = + match e with + [ ExTyc loc e (TyPol _ _ _ as t) → (PaTyc loc p t, e) +@@ -1113,7 +1120,7 @@ + [ PaTyc loc p (TyPot loc1 nt ct) → expand_gadt_type loc p loc1 nt ct e + | p → (p, e) ] + in +- (patt p, expr e) ++ ocaml_value_binding (mkloc loc) (patt p) (expr e) + and expand_gadt_type loc p loc1 nt ct e = + let nt = uv nt in + let e = <:expr< ($e$ : $ct$) >> in +@@ -1125,11 +1132,8 @@ + let tp = List.map (fun s → "&" ^ s) nt in + let ct = <:ctyp< ! $list:tp$ . $ct$ >> in + (<:patt< ($p$ : $ct$) >>, e) +-and mkpwe (p, w, e) = (patt p, when_expr e (uv w)) +-and when_expr e = +- fun +- [ Some w → mkexp (loc_of_expr e) (Pexp_when (expr w) (expr e)) +- | None → expr e ] ++and mkpwe (p, w, e) = ++ ocaml_case (patt p, option expr (uv w), mkloc (loc_of_expr e), expr e) + and mklabexp (lab, e) = + (patt_label_long_id lab, mkloc (loc_of_patt lab), expr e) + and mkideexp (ide, e) = (ide, expr e) +@@ -1142,7 +1146,8 @@ + (ctyp t1, ctyp t2, mkloc loc)) + (uv td.tdCon) + in +- (uv (snd (uv td.tdNam)), type_decl (uv td.tdPrm) priv cl td.tdDef) ++ let tn = uv (snd (uv td.tdNam)) in ++ (tn, type_decl tn (uv td.tdPrm) priv cl td.tdDef) + and module_type = + fun + [ MtAcc loc _ _ as f → +@@ -1179,15 +1184,20 @@ + | SgDcl loc sl → List.fold_right sig_item (uv sl) l + | SgDir loc _ _ → l + | SgExc loc n tl → +- [mksig loc (ocaml_psig_exception (uv n) (List.map ctyp (uv tl))) :: l] ++ [mksig loc ++ (ocaml_psig_exception (mkloc loc) (uv n) (List.map ctyp (uv tl))) :: ++ l] + | SgExt loc n t p → +- [mksig loc (ocaml_psig_value (uv n) (mkvalue_desc t (uv p))) :: l] +- | SgInc loc mt → [mksig loc (Psig_include (module_type mt)) :: l] ++ let vn = uv n in ++ [mksig loc (ocaml_psig_value vn (mkvalue_desc vn t (uv p))) :: l] ++ | SgInc loc mt → ++ [mksig loc (ocaml_psig_include (mkloc loc) (module_type mt)) :: l] + | SgMod loc rf ntl → + if not (uv rf) then + List.fold_right + (fun (n, mt) l → +- [mksig loc (ocaml_psig_module (uv n) (module_type mt)) :: l]) ++ [mksig loc ++ (ocaml_psig_module (mkloc loc) (uv n) (module_type mt)) :: l]) + (uv ntl) l + else + match ocaml_psig_recmodule with +@@ -1198,21 +1208,25 @@ + [mksig loc (psig_recmodule ntl) :: l] + | None → error loc "no recursive module in this ocaml version" ] + | SgMty loc n mt → +- let si = ++ let mto = + match mt with +- [ MtQuo _ _ → Pmodtype_abstract +- | _ → Pmodtype_manifest (module_type mt) ] ++ | MtQuo _ _ -> None ++ | _ -> Some (module_type mt) ++ end + in +- [mksig loc (ocaml_psig_modtype (uv n) si) :: l] ++ [mksig loc (ocaml_psig_modtype (mkloc loc) (uv n) mto) :: l] + | SgOpn loc id → +- [mksig loc (ocaml_psig_open (long_id_of_string_list loc (uv id))) :: l] ++ [mksig loc ++ (ocaml_psig_open (mkloc loc) (long_id_of_string_list loc (uv id))) :: ++ l] + | SgTyp loc tdl → + [mksig loc (ocaml_psig_type (List.map mktype_decl (uv tdl))) :: l] + | SgUse loc fn sl → + Ploc.call_with glob_fname (uv fn) + (fun () → List.fold_right (fun (si, _) → sig_item si) (uv sl) l) () + | SgVal loc n t → +- [mksig loc (ocaml_psig_value (uv n) (mkvalue_desc t [])) :: l] ++ let vn = uv n in ++ [mksig loc (ocaml_psig_value vn (mkvalue_desc vn t [])) :: l] + | SgXtr loc _ _ → error loc "bad ast SgXtr" ] + and module_expr = + fun +@@ -1240,7 +1254,7 @@ + [ Some mt → + let pt = package_of_module_type loc mt in + let t = mktyp loc (ptyp_package pt) in +- mkexp loc (Pexp_constraint (expr e) (Some t) None) ++ mkexp loc (ocaml_pexp_constraint (expr e) (Some t) None) + | None → + expr e ] + in +@@ -1269,28 +1283,33 @@ + | StExc loc n tl sl → + let si = + match (uv tl, uv sl) with +- [ (tl, []) → ocaml_pstr_exception (uv n) (List.map ctyp tl) ++ [ (tl, []) → ++ ocaml_pstr_exception (mkloc loc) (uv n) (List.map ctyp tl) + | ([], sl) → + match ocaml_pstr_exn_rebind with + [ Some pstr_exn_rebind → +- pstr_exn_rebind (uv n) (long_id_of_string_list loc sl) ++ pstr_exn_rebind (mkloc loc) (uv n) ++ (long_id_of_string_list loc sl) + | None → + error loc "no exception renaming in this ocaml version" ] + | _ → error loc "renamed exception should not have parameters" ] + in + [mkstr loc si :: l] +- | StExp loc e → [mkstr loc (Pstr_eval (expr e)) :: l] ++ | StExp loc e → [mkstr loc (ocaml_pstr_eval (expr e)) :: l] + | StExt loc n t p → +- [mkstr loc (ocaml_pstr_primitive (uv n) (mkvalue_desc t (uv p))) :: l] ++ let vn = uv n in ++ [mkstr loc (ocaml_pstr_primitive vn (mkvalue_desc vn t (uv p))) :: l] + | StInc loc me → + match ocaml_pstr_include with +- [ Some pstr_include → [mkstr loc (pstr_include (module_expr me)) :: l] ++ [ Some pstr_include → ++ [mkstr loc (pstr_include (mkloc loc) (module_expr me)) :: l] + | None → error loc "no include in this ocaml version" ] + | StMod loc rf nel → + if not (uv rf) then + List.fold_right + (fun (n, me) l → +- [mkstr loc (ocaml_pstr_module (uv n) (module_expr me)) :: l]) ++ let m = ocaml_pstr_module (mkloc loc) (uv n) (module_expr me) in ++ [mkstr loc m :: l]) + (uv nel) l + else + match ocaml_pstr_recmodule with +@@ -1311,9 +1330,12 @@ + [mkstr loc (pstr_recmodule nel) :: l] + | None → error loc "no recursive module in this ocaml version" ] + | StMty loc n mt → +- [mkstr loc (ocaml_pstr_modtype (uv n) (module_type mt)) :: l] ++ let m = ocaml_pstr_modtype (mkloc loc) (uv n) (module_type mt) in ++ [mkstr loc m :: l] + | StOpn loc id → +- [mkstr loc (ocaml_pstr_open (long_id_of_string_list loc (uv id))) :: l] ++ [mkstr loc ++ (ocaml_pstr_open (mkloc loc) (long_id_of_string_list loc (uv id))) :: ++ l] + | StTyp loc tdl → + [mkstr loc (ocaml_pstr_type (List.map mktype_decl (uv tdl))) :: l] + | StUse loc fn sl → +@@ -1375,7 +1397,8 @@ + | None → error loc "no class constraint in this ocaml version" ] + | CgDcl loc cl → List.fold_right class_sig_item (uv cl) l + | CgInh loc ct → +- [ocaml_class_type_field (mkloc loc) (Pctf_inher (class_type ct)) :: l] ++ [ocaml_class_type_field (mkloc loc) ++ (ocaml_pctf_inher (class_type ct)) :: l] + | CgMth loc pf s t → + [ocaml_class_type_field (mkloc loc) + (ocaml_pctf_meth +@@ -1521,18 +1544,17 @@ + + value directive loc = + fun +- [ None → Pdir_none +- | Some <:expr< $str:s$ >> → Pdir_string s +- | Some <:expr< $int:i$ >> → Pdir_int (int_of_string_l loc i) +- | Some <:expr< True >> → ++ [ <:expr< $str:s$ >> → Pdir_string s ++ | <:expr< $int:i$ >> → Pdir_int (int_of_string_l loc i) ++ | <:expr< True >> → + match ocaml_pdir_bool with + [ Some pdir_bool → pdir_bool True + | None → error loc "no such kind of directive in this ocaml version" ] +- | Some <:expr< False >> → ++ | <:expr< False >> → + match ocaml_pdir_bool with + [ Some pdir_bool → pdir_bool False + | None → error loc "no such kind of directive in this ocaml version" ] +- | Some e → ++ | e → + let sl = + loop e where rec loop = + fun +@@ -1545,9 +1567,16 @@ + Pdir_ident (long_id_of_string_list loc sl) ] + ; + ++value directive_args loc d = ++ match d with ++ | Some d -> directive loc d ++ | None -> Pdir_none ++ end ++; ++ + value phrase = + fun +- [ StDir loc d dp → Ptop_dir (uv d) (directive loc (uv dp)) ++ [ StDir loc d dp → Ptop_dir (uv d) (directive_args loc (uv dp)) + | si → do { + glob_fname.val := Plexing.input_file.val; + Ptop_def (str_item si []) +diff -urN camlp5-6.11/main/ast2pt.mli camlp5-6.12-63a8c30f/main/ast2pt.mli +--- camlp5-6.11/main/ast2pt.mli 2010-09-15 17:00:24.000000000 +0100 ++++ camlp5-6.12-63a8c30f/main/ast2pt.mli 2014-08-01 10:14:54.300065429 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: ast2pt.mli,v 6.1 2010-09-15 16:00:24 deraugla Exp $ *) ++(* ast2pt.mli,v *) + + (** Conversion between Camlp5 AST into OCaml AST *) + +diff -urN camlp5-6.11/main/.cvsignore camlp5-6.12-63a8c30f/main/.cvsignore +--- camlp5-6.11/main/.cvsignore 2010-09-15 17:00:24.000000000 +0100 ++++ camlp5-6.12-63a8c30f/main/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1,6 +0,0 @@ +-*.a +-*.cm[oiax] +-*.cmxa +-*.lib +-crc.tmp +-camlp5 +diff -urN camlp5-6.11/main/exparser.ml camlp5-6.12-63a8c30f/main/exparser.ml +--- camlp5-6.11/main/exparser.ml 2013-03-15 16:17:17.000000000 +0000 ++++ camlp5-6.12-63a8c30f/main/exparser.ml 2014-08-01 10:14:54.300065429 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: exparser.ml,v 6.7 2013-03-15 16:17:17 deraugla Exp $ *) ++(* exparser.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "q_MLast.cmo"; +diff -urN camlp5-6.11/main/exparser.mli camlp5-6.12-63a8c30f/main/exparser.mli +--- camlp5-6.11/main/exparser.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/main/exparser.mli 2014-08-01 10:14:54.300065429 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: exparser.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* exparser.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* expand parser ast into normal one *) +diff -urN camlp5-6.11/main/.gitignore camlp5-6.12-63a8c30f/main/.gitignore +--- camlp5-6.11/main/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/main/.gitignore 2014-08-01 10:14:54.299065428 +0100 +@@ -0,0 +1,6 @@ ++*.a ++*.cm[oiax] ++*.cmxa ++*.lib ++crc.tmp ++camlp5 +diff -urN camlp5-6.11/main/main.ml camlp5-6.12-63a8c30f/main/main.ml +--- camlp5-6.11/main/main.ml 2013-03-13 06:48:13.000000000 +0000 ++++ camlp5-6.12-63a8c30f/main/main.ml 2014-08-01 10:14:54.300065429 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: main.ml,v 6.11 2013-03-13 06:48:13 deraugla Exp $ *) ++(* main.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "q_MLast.cmo"; +diff -urN camlp5-6.11/main/Makefile camlp5-6.12-63a8c30f/main/Makefile +--- camlp5-6.11/main/Makefile 2012-03-06 11:00:53.000000000 +0000 ++++ camlp5-6.12-63a8c30f/main/Makefile 2014-08-01 10:14:54.299065428 +0100 +@@ -1,4 +1,4 @@ +-# $Id: Makefile,v 6.8 2012-03-06 11:00:53 deraugla Exp $ ++# Makefile,v + + TOP=.. + include $(TOP)/config/Makefile +diff -urN camlp5-6.11/main/mkreloc.sh camlp5-6.12-63a8c30f/main/mkreloc.sh +--- camlp5-6.11/main/mkreloc.sh 2012-03-06 11:00:53.000000000 +0000 ++++ camlp5-6.12-63a8c30f/main/mkreloc.sh 2014-08-01 10:14:54.300065429 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: mkreloc.sh,v 6.4 2012-03-06 11:00:53 deraugla Exp $ ++# mkreloc.sh,v + + IFILE=pa_r.ml + OFILE=reloc.ml +diff -urN camlp5-6.11/main/mLast.mli camlp5-6.12-63a8c30f/main/mLast.mli +--- camlp5-6.11/main/mLast.mli 2013-07-02 17:31:25.000000000 +0100 ++++ camlp5-6.12-63a8c30f/main/mLast.mli 2014-08-01 10:14:54.300065429 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: mLast.mli,v 6.26 2013-07-02 16:31:25 deraugla Exp $ *) ++(* mLast.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_macro.cmo"; +diff -urN camlp5-6.11/main/parserify.ml camlp5-6.12-63a8c30f/main/parserify.ml +--- camlp5-6.11/main/parserify.ml 2013-03-14 21:34:32.000000000 +0000 ++++ camlp5-6.12-63a8c30f/main/parserify.ml 2014-08-01 10:14:54.300065429 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: parserify.ml,v 6.5 2013-03-14 21:34:32 deraugla Exp $ *) ++(* parserify.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "q_MLast.cmo"; +diff -urN camlp5-6.11/main/parserify.mli camlp5-6.12-63a8c30f/main/parserify.mli +--- camlp5-6.11/main/parserify.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/main/parserify.mli 2014-08-01 10:14:54.300065429 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: parserify.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* parserify.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type spat_comp = +diff -urN camlp5-6.11/main/pcaml.ml camlp5-6.12-63a8c30f/main/pcaml.ml +--- camlp5-6.11/main/pcaml.ml 2013-08-15 23:08:21.000000000 +0100 ++++ camlp5-6.12-63a8c30f/main/pcaml.ml 2014-08-01 10:14:54.300065429 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pcaml.ml,v 6.45 2013-08-15 22:08:21 deraugla Exp $ *) ++(* pcaml.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_macro.cmo"; +@@ -7,7 +7,7 @@ + + open Printf; + +-value version = "6.11"; ++value version = "6.12-exp"; + value syntax_name = ref ""; + + value gram = +diff -urN camlp5-6.11/main/pcaml.mli camlp5-6.12-63a8c30f/main/pcaml.mli +--- camlp5-6.11/main/pcaml.mli 2013-04-19 09:43:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/main/pcaml.mli 2014-08-01 10:14:54.301065429 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pcaml.mli,v 6.7 2013-04-19 08:43:39 deraugla Exp $ *) ++(* pcaml.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_macro.cmo"; +diff -urN camlp5-6.11/main/prtools.ml camlp5-6.12-63a8c30f/main/prtools.ml +--- camlp5-6.11/main/prtools.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/main/prtools.ml 2014-08-01 10:14:54.301065429 +0100 +@@ -1,11 +1,12 @@ + (* camlp5r *) +-(* $Id: prtools.ml,v 6.10 2012-01-09 14:22:21 deraugla Exp $ *) ++(* prtools.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "q_MLast.cmo"; + #load "pa_macro.cmo"; + + open Pretty; ++open Versdep; + + type pr_context = + Pprintf.pr_context == +@@ -352,12 +353,12 @@ + + module Buff = + struct +- value buff = ref (String.create 80); ++ value buff = ref (string_create 80); + value store len x = do { + if len >= String.length buff.val then +- buff.val := buff.val ^ String.create (String.length buff.val) ++ buff.val := buff.val ^ string_create (String.length buff.val) + else (); +- buff.val.[len] := x; ++ string_set buff.val len x; + succ len + }; + value mstore len s = +diff -urN camlp5-6.11/main/prtools.mli camlp5-6.12-63a8c30f/main/prtools.mli +--- camlp5-6.11/main/prtools.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/main/prtools.mli 2014-08-01 10:14:54.301065429 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: prtools.mli,v 6.5 2012-01-09 14:22:21 deraugla Exp $ *) ++(* prtools.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type pr_context = +diff -urN camlp5-6.11/main/quotation.ml camlp5-6.12-63a8c30f/main/quotation.ml +--- camlp5-6.11/main/quotation.ml 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/main/quotation.ml 2014-08-01 10:14:54.301065429 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: quotation.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* quotation.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type expander = +diff -urN camlp5-6.11/main/quotation.mli camlp5-6.12-63a8c30f/main/quotation.mli +--- camlp5-6.11/main/quotation.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/main/quotation.mli 2014-08-01 10:14:54.301065429 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: quotation.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* quotation.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Quotation operations. *) +diff -urN camlp5-6.11/main/reloc.ml camlp5-6.12-63a8c30f/main/reloc.ml +--- camlp5-6.11/main/reloc.ml 2012-03-09 14:01:54.000000000 +0000 ++++ camlp5-6.12-63a8c30f/main/reloc.ml 2014-08-01 10:14:54.301065429 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: reloc.ml,v 6.26 2012-03-09 14:01:54 deraugla Exp $ *) ++(* reloc.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_macro.cmo"; +diff -urN camlp5-6.11/main/reloc.mli camlp5-6.12-63a8c30f/main/reloc.mli +--- camlp5-6.11/main/reloc.mli 2012-01-09 14:22:21.000000000 +0000 ++++ camlp5-6.12-63a8c30f/main/reloc.mli 2014-08-01 10:14:54.301065429 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: reloc.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) ++(* reloc.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + value expr : (MLast.loc -> MLast.loc) -> int -> MLast.expr -> MLast.expr; +diff -urN camlp5-6.11/Makefile camlp5-6.12-63a8c30f/Makefile +--- camlp5-6.11/Makefile 2013-03-06 10:08:18.000000000 +0000 ++++ camlp5-6.12-63a8c30f/Makefile 2014-08-01 10:14:54.283065418 +0100 +@@ -1,4 +1,4 @@ +-# $Id: Makefile,v 6.29 2013-03-06 10:08:18 deraugla Exp $ ++# Makefile,v + + include config/Makefile + +@@ -86,13 +86,13 @@ + + backup: + mkdir boot.new +- $(MAKE) mv_cvs FROM=boot TO=boot.new ++ $(MAKE) mv_git FROM=boot TO=boot.new + mv boot boot.new/SAVED + mv boot.new boot + + restore: + mv boot/SAVED boot.new +- $(MAKE) mv_cvs FROM=boot TO=boot.new ++ $(MAKE) mv_git FROM=boot TO=boot.new + rm -rf boot + mv boot.new boot + +@@ -181,8 +181,6 @@ + + # Bootstrap the sources + +-TXTGEN=File generated by program: edit only if it does not compile. +- + bootstrap_sources: + rm -rf ocaml_src.new + mkdir ocaml_src.new +@@ -196,8 +194,7 @@ + rmdir ocaml_src.new/$$DIR + rmdir ocaml_src.new + +-new_sources: +- cd etc; $(MAKE) $(PR_O) ++new_sources: oprinter + @-for i in $(FDIRS); do \ + mkdir ocaml_src.new/$$i; \ + $(MAKE) $(NO_PR_DIR) new_source DIR=$$i FILE=Makefile; \ +@@ -231,17 +228,14 @@ + echo ============================================; \ + echo ocaml_src.new/$$DIR/$$k; \ + if [ "$$k" = "Makefile" ]; then \ +- sed 's/# $$Id.*\$$/# $(TXTGEN)/' Makefile | \ +- sed 's-^TOP=..$$-TOP=../..-'; \ ++ sed 's-^TOP=..$$-TOP=../..-' Makefile; \ + else \ + OCAMLN=$(OCAMLN) CAMLP5N=$(CAMLP5N) VERSDIR=$$VERSDIR \ +- ../tools/conv.sh $(PR_O) $$opt $$FILE | \ +- sed 's/$$Id.*\$$/$(TXTGEN)/'; \ ++ ../tools/conv.sh $(PR_O) $$opt $$FILE; \ + fi > \ + ../ocaml_src.new/$$DIR/$$k + +-compare_sources: +- cd etc; $(MAKE) $(PR_O) ++compare_sources: oprinter + @-for i in $(FDIRS); do \ + $(MAKE) $(NO_PR_DIR) compare_source DIR=$$i FILE=Makefile; \ + echo ============================================; \ +@@ -268,17 +262,14 @@ + echo ============================================; \ + echo ocaml_src/$$DIR/$$k; \ + if [ "$$k" = "Makefile" ]; then \ +- sed 's/# $$Id.*\$$/# $(TXTGEN)/' Makefile | \ +- sed 's-^TOP=..$$-TOP=../..-'; \ ++ sed 's-^TOP=..$$-TOP=../..-' Makefile; \ + else \ + OCAMLN=$(OCAMLN) CAMLP5N=$(CAMLP5N) VERSDIR=$$VERSDIR \ +- ../tools/conv.sh $(PR_O) $$opt $$FILE | \ +- sed 's/$$Id.*\$$/$(TXTGEN)/'; \ ++ ../tools/conv.sh $(PR_O) $$opt $$FILE; \ + fi | \ + diff $(DIFF_OPT) ../ocaml_src/$$DIR/$$k - || : + +-bootstrap_all_versdep: +- cd etc; $(MAKE) $(PR_O) ++bootstrap_all_versdep: oprinter + @-for i in ocaml_src/lib/versdep/*.ml; do \ + $(MAKE) $(NO_PR_DIR) bootstrap_versdep i=$$i n=ocaml; \ + done; \ +@@ -298,11 +289,9 @@ + n=$$(echo $$n | tr a-z A-Z); \ + opt="-U$$k -U$$m -D$$j -D$$n"; \ + OCAMLN=$(OCAMLN) CAMLP5N=$(CAMLP5N) ../tools/conv.sh $(PR_O) $$opt \ +- versdep.ml | \ +- sed -e 's/\$$Id.*\$$/$(TXTGEN)/' > ../$$i - ++ versdep.ml > ../$$i + +-compare_all_versdep: +- cd etc; $(MAKE) $(PR_O) ++compare_all_versdep: oprinter + @-for i in ocaml_src/lib/versdep/*.ml; do \ + $(MAKE) $(NO_PR_DIR) compare_versdep i=$$i n=ocaml; \ + done; \ +@@ -323,7 +312,10 @@ + opt="-U$$k -U$$m -D$$j -D$$n"; \ + OCAMLN=$(OCAMLN) CAMLP5N=$(CAMLP5N) \ + ../tools/conv.sh $(PR_O) $$opt versdep.ml | \ +- sed -e 's/\$$Id.*\$$/$(TXTGEN)/' | diff ../$$i - ++ diff $(DIFF_OPT) ../$$i - ++ ++oprinter: ++ cd etc; $(MAKE) $(PR_O) + + untouch_sources: + @-cd ocaml_src; \ +@@ -336,9 +328,9 @@ + done + + promote_sources: +- $(MAKE) mv_cvs FROM=ocaml_src TO=ocaml_src.new ++ $(MAKE) mv_git FROM=ocaml_src TO=ocaml_src.new + for i in $(FDIRS) lib/versdep lib/versdep/jocaml; do \ +- $(MAKE) mv_cvs FROM=ocaml_src/$$i TO=ocaml_src.new/$$i; \ ++ $(MAKE) mv_git FROM=ocaml_src/$$i TO=ocaml_src.new/$$i; \ + done + mv ocaml_src/tools ocaml_src.new/. + mv ocaml_src ocaml_src.new/SAVED +@@ -349,9 +341,9 @@ + mv ocaml_src.new/SAVED ocaml_src + mv ocaml_src.new/tools ocaml_src/. + for i in $(FDIRS) lib/versdep lib/versdep/jocaml; do \ +- $(MAKE) mv_cvs FROM=ocaml_src.new/$$i TO=ocaml_src/$$i; \ ++ $(MAKE) mv_git FROM=ocaml_src.new/$$i TO=ocaml_src/$$i; \ + done +- $(MAKE) mv_cvs FROM=ocaml_src.new TO=ocaml_src ++ $(MAKE) mv_git FROM=ocaml_src.new TO=ocaml_src + + clean_sources: + rm -rf ocaml_src/SAVED/SAVED +@@ -369,4 +361,7 @@ + test ! -d $(FROM)/.svn || mv $(FROM)/.svn $(TO)/. + test ! -f $(FROM)/.cvsignore || mv $(FROM)/.cvsignore $(TO)/. + ++mv_git: ++ test ! -f $(FROM)/.gitignore || mv $(FROM)/.gitignore $(TO)/. ++ + .PHONY: install +diff -urN camlp5-6.11/man/.cvsignore camlp5-6.12-63a8c30f/man/.cvsignore +--- camlp5-6.11/man/.cvsignore 2010-09-15 17:00:24.000000000 +0100 ++++ camlp5-6.12-63a8c30f/man/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1,2 +0,0 @@ +-camlp5.1 +-camlp5.help +diff -urN camlp5-6.11/man/.gitignore camlp5-6.12-63a8c30f/man/.gitignore +--- camlp5-6.11/man/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/man/.gitignore 2014-08-01 10:14:54.301065429 +0100 +@@ -0,0 +1,2 @@ ++camlp5.1 ++camlp5.help +diff -urN camlp5-6.11/man/Makefile camlp5-6.12-63a8c30f/man/Makefile +--- camlp5-6.11/man/Makefile 2012-03-02 19:14:36.000000000 +0000 ++++ camlp5-6.12-63a8c30f/man/Makefile 2014-08-01 10:14:54.301065429 +0100 +@@ -1,4 +1,4 @@ +-# $Id: Makefile,v 6.3 2012-03-02 19:14:36 deraugla Exp $ ++# Makefile,v + + include ../config/Makefile + +diff -urN camlp5-6.11/meta/.cvsignore camlp5-6.12-63a8c30f/meta/.cvsignore +--- camlp5-6.11/meta/.cvsignore 2010-09-15 17:00:24.000000000 +0100 ++++ camlp5-6.12-63a8c30f/meta/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1,3 +0,0 @@ +-*.cm[oiax] +-camlp5r +-camlp5r.opt +diff -urN camlp5-6.11/meta/.gitignore camlp5-6.12-63a8c30f/meta/.gitignore +--- camlp5-6.11/meta/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/meta/.gitignore 2014-08-01 10:14:54.302065430 +0100 +@@ -0,0 +1,3 @@ ++*.cm[oiax] ++camlp5r ++camlp5r.opt +diff -urN camlp5-6.11/meta/Makefile camlp5-6.12-63a8c30f/meta/Makefile +--- camlp5-6.11/meta/Makefile 2012-03-06 11:00:53.000000000 +0000 ++++ camlp5-6.12-63a8c30f/meta/Makefile 2014-08-01 10:14:54.302065430 +0100 +@@ -1,4 +1,4 @@ +-# $Id: Makefile,v 6.3 2012-03-06 11:00:53 deraugla Exp $ ++# Makefile,v + + TOP=.. + include $(TOP)/config/Makefile +diff -urN camlp5-6.11/meta/mk_q_ast.sh camlp5-6.12-63a8c30f/meta/mk_q_ast.sh +--- camlp5-6.11/meta/mk_q_ast.sh 2012-03-06 11:00:53.000000000 +0000 ++++ camlp5-6.12-63a8c30f/meta/mk_q_ast.sh 2014-08-01 10:14:54.302065430 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: mk_q_ast.sh,v 6.4 2012-03-06 11:00:53 deraugla Exp $ ++# mk_q_ast.sh,v + + IFILE=pa_r.ml + OFILE=q_ast.ml +diff -urN camlp5-6.11/meta/mk_q_MLast.sh camlp5-6.12-63a8c30f/meta/mk_q_MLast.sh +--- camlp5-6.11/meta/mk_q_MLast.sh 2012-03-09 15:22:46.000000000 +0000 ++++ camlp5-6.12-63a8c30f/meta/mk_q_MLast.sh 2014-08-01 10:14:54.302065430 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: mk_q_MLast.sh,v 6.4 2012-03-09 15:22:46 deraugla Exp $ ++# mk_q_MLast.sh,v + + IFILE=pa_r.ml + OFILE=q_MLast.ml +diff -urN camlp5-6.11/meta/pa_extend.ml camlp5-6.12-63a8c30f/meta/pa_extend.ml +--- camlp5-6.11/meta/pa_extend.ml 2012-01-09 14:22:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/meta/pa_extend.ml 2014-08-01 10:14:54.302065430 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_extend.ml,v 6.7 2012-01-09 14:22:22 deraugla Exp $ *) ++(* pa_extend.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_macro.cmo"; +diff -urN camlp5-6.11/meta/pa_extend_m.ml camlp5-6.12-63a8c30f/meta/pa_extend_m.ml +--- camlp5-6.11/meta/pa_extend_m.ml 2012-01-09 14:22:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/meta/pa_extend_m.ml 2014-08-01 10:14:54.302065430 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_extend_m.ml,v 6.4 2012-01-09 14:22:22 deraugla Exp $ *) ++(* pa_extend_m.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_extend.cmo"; +diff -urN camlp5-6.11/meta/pa_fstream.ml camlp5-6.12-63a8c30f/meta/pa_fstream.ml +--- camlp5-6.11/meta/pa_fstream.ml 2010-09-15 17:00:25.000000000 +0100 ++++ camlp5-6.12-63a8c30f/meta/pa_fstream.ml 2014-08-01 10:14:54.302065430 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_fstream.ml,v 6.1 2010-09-15 16:00:25 deraugla Exp $ *) ++(* pa_fstream.ml,v *) + + #load "pa_extend.cmo"; + #load "q_MLast.cmo"; +diff -urN camlp5-6.11/meta/pa_lexer.ml camlp5-6.12-63a8c30f/meta/pa_lexer.ml +--- camlp5-6.11/meta/pa_lexer.ml 2012-01-09 14:22:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/meta/pa_lexer.ml 2014-08-01 10:14:54.302065430 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_lexer.ml,v 6.4 2012-01-09 14:22:22 deraugla Exp $ *) ++(* pa_lexer.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_extend.cmo"; +diff -urN camlp5-6.11/meta/pa_macro.ml camlp5-6.12-63a8c30f/meta/pa_macro.ml +--- camlp5-6.11/meta/pa_macro.ml 2013-03-13 06:48:13.000000000 +0000 ++++ camlp5-6.12-63a8c30f/meta/pa_macro.ml 2014-08-01 10:14:54.302065430 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_macro.ml,v 6.12 2013-03-13 06:48:13 deraugla Exp $ *) ++(* pa_macro.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_extend.cmo"; +@@ -103,6 +103,7 @@ + + open Pcaml; + open Printf; ++open Versdep; + + type macro_value = + [ MvExpr of list string and MLast.expr +@@ -129,7 +130,7 @@ + for i = 0 to String.length v - 1 do { + match v.[i] with + [ '0'..'9' | 'a'..'z' | 'A'..'Z' -> () +- | _ -> v.[i] := '_' ]; ++ | _ -> string_set v i '_' ]; + }; + v + }; +diff -urN camlp5-6.11/meta/pa_r.ml camlp5-6.12-63a8c30f/meta/pa_r.ml +--- camlp5-6.11/meta/pa_r.ml 2013-07-02 17:12:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/meta/pa_r.ml 2014-08-01 10:14:54.303065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_r.ml,v 6.48 2013-07-02 16:12:43 deraugla Exp $ *) ++(* pa_r.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_extend.cmo"; +diff -urN camlp5-6.11/meta/pa_rp.ml camlp5-6.12-63a8c30f/meta/pa_rp.ml +--- camlp5-6.11/meta/pa_rp.ml 2012-01-09 14:22:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/meta/pa_rp.ml 2014-08-01 10:14:54.303065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pa_rp.ml,v 6.3 2012-01-09 14:22:22 deraugla Exp $ *) ++(* pa_rp.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_extend.cmo"; +diff -urN camlp5-6.11/meta/pr_dump.ml camlp5-6.12-63a8c30f/meta/pr_dump.ml +--- camlp5-6.11/meta/pr_dump.ml 2012-01-09 14:22:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/meta/pr_dump.ml 2014-08-01 10:14:54.303065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: pr_dump.ml,v 6.5 2012-01-09 14:22:22 deraugla Exp $ *) ++(* pr_dump.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Versdep; +diff -urN camlp5-6.11/meta/q_ast.ml camlp5-6.12-63a8c30f/meta/q_ast.ml +--- camlp5-6.11/meta/q_ast.ml 2012-03-09 14:01:54.000000000 +0000 ++++ camlp5-6.12-63a8c30f/meta/q_ast.ml 2014-08-01 10:14:54.304065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: q_ast.ml,v 6.32 2012-03-09 14:01:54 deraugla Exp $ *) ++(* q_ast.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_macro.cmo"; +diff -urN camlp5-6.11/meta/q_MLast.ml camlp5-6.12-63a8c30f/meta/q_MLast.ml +--- camlp5-6.11/meta/q_MLast.ml 2013-07-02 17:12:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/meta/q_MLast.ml 2014-08-01 10:14:54.303065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: q_MLast.ml,v 6.43 2013-07-02 16:12:43 deraugla Exp $ *) ++(* q_MLast.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_extend.cmo"; +diff -urN camlp5-6.11/ocaml_src/.cvsignore camlp5-6.12-63a8c30f/ocaml_src/.cvsignore +--- camlp5-6.11/ocaml_src/.cvsignore 2010-09-15 17:00:25.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-SAVED +diff -urN camlp5-6.11/ocaml_src/.gitignore camlp5-6.12-63a8c30f/ocaml_src/.gitignore +--- camlp5-6.11/ocaml_src/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/.gitignore 2014-08-01 10:14:54.304065431 +0100 +@@ -0,0 +1 @@ ++SAVED +diff -urN camlp5-6.11/ocaml_src/lib/.cvsignore camlp5-6.12-63a8c30f/ocaml_src/lib/.cvsignore +--- camlp5-6.11/ocaml_src/lib/.cvsignore 2010-09-15 17:00:25.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-versdep.ml +diff -urN camlp5-6.11/ocaml_src/lib/.depend camlp5-6.12-63a8c30f/ocaml_src/lib/.depend +--- camlp5-6.11/ocaml_src/lib/.depend 2010-09-15 17:00:25.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/.depend 2014-08-01 10:14:54.304065431 +0100 +@@ -19,8 +19,8 @@ + plexer.cmo: plexer.cmi plexing.cmi ploc.cmi versdep.cmo + plexer.cmx: plexer.cmi plexing.cmx ploc.cmx versdep.cmx + plexer.cmi: plexing.cmi +-plexing.cmo: plexing.cmi ploc.cmi +-plexing.cmx: plexing.cmi ploc.cmx ++plexing.cmo: plexing.cmi ploc.cmi versdep.cmo ++plexing.cmx: plexing.cmi ploc.cmx versdep.cmx + plexing.cmi: ploc.cmi + ploc.cmo: ploc.cmi + ploc.cmx: ploc.cmi +diff -urN camlp5-6.11/ocaml_src/lib/diff.ml camlp5-6.12-63a8c30f/ocaml_src/lib/diff.ml +--- camlp5-6.11/ocaml_src/lib/diff.ml 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/diff.ml 2014-08-01 10:14:54.304065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* diff.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* Parts of Code of GNU diff (analyze.c) translated from C to OCaml +diff -urN camlp5-6.11/ocaml_src/lib/diff.mli camlp5-6.12-63a8c30f/ocaml_src/lib/diff.mli +--- camlp5-6.11/ocaml_src/lib/diff.mli 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/diff.mli 2014-08-01 10:14:54.304065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* diff.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Differences between two arrays. *) +diff -urN camlp5-6.11/ocaml_src/lib/eprinter.ml camlp5-6.12-63a8c30f/ocaml_src/lib/eprinter.ml +--- camlp5-6.11/ocaml_src/lib/eprinter.ml 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/eprinter.ml 2014-08-01 10:14:54.304065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* eprinter.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_macro.cmo" *) +diff -urN camlp5-6.11/ocaml_src/lib/eprinter.mli camlp5-6.12-63a8c30f/ocaml_src/lib/eprinter.mli +--- camlp5-6.11/ocaml_src/lib/eprinter.mli 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/eprinter.mli 2014-08-01 10:14:54.304065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* eprinter.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Extensible printers. +diff -urN camlp5-6.11/ocaml_src/lib/extfold.ml camlp5-6.12-63a8c30f/ocaml_src/lib/extfold.ml +--- camlp5-6.11/ocaml_src/lib/extfold.ml 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/extfold.ml 2014-08-01 10:14:54.304065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* extfold.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type ('te, 'a, 'b) t = +diff -urN camlp5-6.11/ocaml_src/lib/extfold.mli camlp5-6.12-63a8c30f/ocaml_src/lib/extfold.mli +--- camlp5-6.11/ocaml_src/lib/extfold.mli 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/extfold.mli 2014-08-01 10:14:54.304065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* extfold.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type ('te, 'a, 'b) t = +diff -urN camlp5-6.11/ocaml_src/lib/extfun.ml camlp5-6.12-63a8c30f/ocaml_src/lib/extfun.ml +--- camlp5-6.11/ocaml_src/lib/extfun.ml 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/extfun.ml 2014-08-01 10:14:54.304065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* extfun.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* Extensible Functions *) +diff -urN camlp5-6.11/ocaml_src/lib/extfun.mli camlp5-6.12-63a8c30f/ocaml_src/lib/extfun.mli +--- camlp5-6.11/ocaml_src/lib/extfun.mli 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/extfun.mli 2014-08-01 10:14:54.304065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* extfun.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Extensible functions. +diff -urN camlp5-6.11/ocaml_src/lib/fstream.ml camlp5-6.12-63a8c30f/ocaml_src/lib/fstream.ml +--- camlp5-6.11/ocaml_src/lib/fstream.ml 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/fstream.ml 2014-08-01 10:14:54.304065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* fstream.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type 'a mlazy_c = +diff -urN camlp5-6.11/ocaml_src/lib/fstream.mli camlp5-6.12-63a8c30f/ocaml_src/lib/fstream.mli +--- camlp5-6.11/ocaml_src/lib/fstream.mli 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/fstream.mli 2014-08-01 10:14:54.304065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* fstream.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* Module [Fstream]: functional streams *) +diff -urN camlp5-6.11/ocaml_src/lib/.gitignore camlp5-6.12-63a8c30f/ocaml_src/lib/.gitignore +--- camlp5-6.11/ocaml_src/lib/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/.gitignore 2014-08-01 10:14:54.304065431 +0100 +@@ -0,0 +1,2 @@ ++*.cm[oia] ++versdep.ml +diff -urN camlp5-6.11/ocaml_src/lib/gramext.ml camlp5-6.12-63a8c30f/ocaml_src/lib/gramext.ml +--- camlp5-6.11/ocaml_src/lib/gramext.ml 2013-01-28 09:27:12.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/gramext.ml 2014-08-01 10:14:54.304065431 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* gramext.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Printf;; +diff -urN camlp5-6.11/ocaml_src/lib/gramext.mli camlp5-6.12-63a8c30f/ocaml_src/lib/gramext.mli +--- camlp5-6.11/ocaml_src/lib/gramext.mli 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/gramext.mli 2014-08-01 10:14:54.305065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* gramext.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type 'a parser_t = 'a Stream.t -> Obj.t;; +diff -urN camlp5-6.11/ocaml_src/lib/grammar.ml camlp5-6.12-63a8c30f/ocaml_src/lib/grammar.ml +--- camlp5-6.11/ocaml_src/lib/grammar.ml 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/grammar.ml 2014-08-01 10:14:54.305065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* grammar.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_fstream.cmo" *) +@@ -17,7 +17,34 @@ + List.map (fun l -> n :: l) (flatten_tree s) @ flatten_tree b + ;; + +-let print_str ppf s = fprintf ppf "\"%s\"" (String.escaped s);; ++let utf8_print = ref true;; ++ ++let utf8_string_escaped s = ++ let b = Buffer.create (String.length s) in ++ let rec loop i = ++ if i = String.length s then Buffer.contents b ++ else ++ begin ++ begin match s.[i] with ++ '"' -> Buffer.add_string b "\\\"" ++ | '\\' -> Buffer.add_string b "\\\\" ++ | '\n' -> Buffer.add_string b "\\n" ++ | '\t' -> Buffer.add_string b "\\t" ++ | '\r' -> Buffer.add_string b "\\r" ++ | '\b' -> Buffer.add_string b "\\b" ++ | c -> Buffer.add_char b c ++ end; ++ loop (i + 1) ++ end ++ in ++ loop 0 ++;; ++ ++let string_escaped s = ++ if !utf8_print then utf8_string_escaped s else String.escaped s ++;; ++ ++let print_str ppf s = fprintf ppf "\"%s\"" (string_escaped s);; + + let rec print_symbol ppf = + function +diff -urN camlp5-6.11/ocaml_src/lib/grammar.mli camlp5-6.12-63a8c30f/ocaml_src/lib/grammar.mli +--- camlp5-6.11/ocaml_src/lib/grammar.mli 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/grammar.mli 2014-08-01 10:14:54.305065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* grammar.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Extensible grammars. +@@ -196,6 +196,10 @@ + (** Flag to apply strict parsing, without trying to recover errors; + default = [False] *) + ++val utf8_print : bool ref;; ++ (** Flag to consider strings as utf8-encoded when printing them; ++ default = [True] *) ++ + val print_entry : Format.formatter -> 'te Gramext.g_entry -> unit;; + (** General printer for all kinds of entries (obj entries) *) + +diff -urN camlp5-6.11/ocaml_src/lib/Makefile camlp5-6.12-63a8c30f/ocaml_src/lib/Makefile +--- camlp5-6.11/ocaml_src/lib/Makefile 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/Makefile 2014-08-01 10:14:54.304065431 +0100 +@@ -1,4 +1,4 @@ +-# File generated by program: edit only if it does not compile. ++# Makefile,v + + TOP=../.. + include $(TOP)/config/Makefile +diff -urN camlp5-6.11/ocaml_src/lib/plexer.ml camlp5-6.12-63a8c30f/ocaml_src/lib/plexer.ml +--- camlp5-6.11/ocaml_src/lib/plexer.ml 2013-07-03 02:43:11.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/plexer.ml 2014-08-01 10:14:54.305065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* plexer.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_lexer.cmo" *) +@@ -38,10 +38,10 @@ + ;; + + let rev_implode l = +- let s = String.create (List.length l) in ++ let s = string_create (List.length l) in + let rec loop i = + function +- c :: l -> String.unsafe_set s i c; loop (i - 1) l ++ c :: l -> string_unsafe_set s i c; loop (i - 1) l + | [] -> s + in + loop (String.length s - 1) l +diff -urN camlp5-6.11/ocaml_src/lib/plexer.mli camlp5-6.12-63a8c30f/ocaml_src/lib/plexer.mli +--- camlp5-6.11/ocaml_src/lib/plexer.mli 2013-06-14 04:03:31.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/plexer.mli 2014-08-01 10:14:54.305065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* plexer.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** This module contains the lexer used for ocaml syntax (revised and +diff -urN camlp5-6.11/ocaml_src/lib/plexing.ml camlp5-6.12-63a8c30f/ocaml_src/lib/plexing.ml +--- camlp5-6.11/ocaml_src/lib/plexing.ml 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/plexing.ml 2014-08-01 10:14:54.305065432 +0100 +@@ -1,7 +1,9 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* plexing.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + ++open Versdep;; ++ + type pattern = string * string;; + + exception Error of string;; +@@ -70,7 +72,8 @@ + let lexer_func_of_ocamllex lexfun cs = + let lb = + Lexing.from_function +- (fun s n -> try s.[0] <- Stream.next cs; 1 with Stream.Failure -> 0) ++ (fun s n -> ++ try string_set s 0 (Stream.next cs); 1 with Stream.Failure -> 0) + in + let next_token_loc _ = + let tok = lexfun lb in +@@ -82,11 +85,11 @@ + + (* Char and string tokens to real chars and string *) + +-let buff = ref (String.create 80);; ++let buff = ref (string_create 80);; + let store len x = + if len >= String.length !buff then +- buff := !buff ^ String.create (String.length !buff); +- !buff.[len] <- x; ++ buff := !buff ^ string_create (String.length !buff); ++ string_set !buff len x; + succ len + ;; + let get_buff len = String.sub !buff 0 len;; +@@ -207,10 +210,10 @@ + (* The lexing buffer used by pa_lexer.cmo *) + + let rev_implode l = +- let s = String.create (List.length l) in ++ let s = string_create (List.length l) in + let rec loop i = + function +- c :: l -> String.unsafe_set s i c; loop (i - 1) l ++ c :: l -> string_unsafe_set s i c; loop (i - 1) l + | [] -> s + in + loop (String.length s - 1) l +diff -urN camlp5-6.11/ocaml_src/lib/plexing.mli camlp5-6.12-63a8c30f/ocaml_src/lib/plexing.mli +--- camlp5-6.11/ocaml_src/lib/plexing.mli 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/plexing.mli 2014-08-01 10:14:54.306065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* plexing.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Lexing for Camlp5 grammars. +diff -urN camlp5-6.11/ocaml_src/lib/ploc.ml camlp5-6.12-63a8c30f/ocaml_src/lib/ploc.ml +--- camlp5-6.11/ocaml_src/lib/ploc.ml 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/ploc.ml 2014-08-01 10:14:54.306065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* ploc.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_macro.cmo" *) +@@ -23,12 +23,12 @@ + ;; + + let make_unlined (bp, ep) = +- {fname = ""; line_nb = -1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; ++ {fname = ""; line_nb = 1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; + bp = bp; ep = ep; comm = ""; ecomm = ""} + ;; + + let dummy = +- {fname = ""; line_nb = -1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; ++ {fname = ""; line_nb = 1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; + bp = 0; ep = 0; comm = ""; ecomm = ""} + ;; + +diff -urN camlp5-6.11/ocaml_src/lib/ploc.mli camlp5-6.12-63a8c30f/ocaml_src/lib/ploc.mli +--- camlp5-6.11/ocaml_src/lib/ploc.mli 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/ploc.mli 2014-08-01 10:14:54.306065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* ploc.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Locations and some pervasive type and value. *) +diff -urN camlp5-6.11/ocaml_src/lib/pprintf.ml camlp5-6.12-63a8c30f/ocaml_src/lib/pprintf.ml +--- camlp5-6.11/ocaml_src/lib/pprintf.ml 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/pprintf.ml 2014-08-01 10:14:54.306065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* pprintf.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_macro.cmo" *) +diff -urN camlp5-6.11/ocaml_src/lib/pprintf.mli camlp5-6.12-63a8c30f/ocaml_src/lib/pprintf.mli +--- camlp5-6.11/ocaml_src/lib/pprintf.mli 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/pprintf.mli 2014-08-01 10:14:54.306065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* pprintf.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Definitions for pprintf statement. +diff -urN camlp5-6.11/ocaml_src/lib/pretty.ml camlp5-6.12-63a8c30f/ocaml_src/lib/pretty.ml +--- camlp5-6.11/ocaml_src/lib/pretty.ml 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/pretty.ml 2014-08-01 10:14:54.306065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* pretty.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_macro.cmo" *) +diff -urN camlp5-6.11/ocaml_src/lib/pretty.mli camlp5-6.12-63a8c30f/ocaml_src/lib/pretty.mli +--- camlp5-6.11/ocaml_src/lib/pretty.mli 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/pretty.mli 2014-08-01 10:14:54.306065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* pretty.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Pretty printing on strings *) +diff -urN camlp5-6.11/ocaml_src/lib/stdpp.ml camlp5-6.12-63a8c30f/ocaml_src/lib/stdpp.ml +--- camlp5-6.11/ocaml_src/lib/stdpp.ml 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/stdpp.ml 2014-08-01 10:14:54.306065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* stdpp.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type location = Ploc.t;; +diff -urN camlp5-6.11/ocaml_src/lib/stdpp.mli camlp5-6.12-63a8c30f/ocaml_src/lib/stdpp.mli +--- camlp5-6.11/ocaml_src/lib/stdpp.mli 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/stdpp.mli 2014-08-01 10:14:54.306065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* stdpp.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Module deprecated since Camlp5 version 5.00. Use now module Ploc. +diff -urN camlp5-6.11/ocaml_src/lib/token.ml camlp5-6.12-63a8c30f/ocaml_src/lib/token.ml +--- camlp5-6.11/ocaml_src/lib/token.ml 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/token.ml 2014-08-01 10:14:54.306065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* token.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type pattern = Plexing.pattern;; +diff -urN camlp5-6.11/ocaml_src/lib/token.mli camlp5-6.12-63a8c30f/ocaml_src/lib/token.mli +--- camlp5-6.11/ocaml_src/lib/token.mli 2012-06-02 14:23:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/token.mli 2014-08-01 10:14:54.306065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* token.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Module deprecated since Camlp5 version 5.00. Use now module Plexing. +diff -urN camlp5-6.11/ocaml_src/lib/versdep/1.06.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/1.06.ml +--- camlp5-6.11/ocaml_src/lib/versdep/1.06.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/1.06.ml 2014-08-01 10:14:54.306065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -41,13 +41,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + let cl_opt = +@@ -107,7 +119,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -119,6 +133,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = None;; + + let ocaml_const_int64 = None;; +@@ -164,14 +180,33 @@ + Pexp_ifthenelse (not_try_e, raise_af, None) + ;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function pel;; + + let ocaml_pexp_lazy = None;; +@@ -207,11 +242,13 @@ + + let ocaml_pexp_variant = None;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = None;; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -221,6 +258,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -238,13 +280,22 @@ + + let ocaml_psig_class_type = None;; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = None;; + +@@ -256,17 +307,19 @@ + + let ocaml_pstr_class_type = None;; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = None;; + + let ocaml_pstr_include = None;; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -315,6 +368,8 @@ + + let ocaml_pctf_cstr = None;; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, Public, mf, Some t, loc);; +@@ -331,6 +386,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -426,3 +483,9 @@ + in + loop 0 + ;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/1.07.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/1.07.ml +--- camlp5-6.11/ocaml_src/lib/versdep/1.07.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/1.07.ml 2014-08-01 10:14:54.306065432 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -41,13 +41,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + let cl_opt = +@@ -107,7 +119,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -119,6 +133,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = None;; + + let ocaml_const_int64 = None;; +@@ -164,14 +180,33 @@ + Pexp_ifthenelse (not_try_e, raise_af, None) + ;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function pel;; + + let ocaml_pexp_lazy = None;; +@@ -207,11 +242,13 @@ + + let ocaml_pexp_variant = None;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = None;; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -221,6 +258,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -238,13 +280,22 @@ + + let ocaml_psig_class_type = None;; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = None;; + +@@ -256,17 +307,19 @@ + + let ocaml_pstr_class_type = None;; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = None;; + + let ocaml_pstr_include = None;; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -315,6 +368,8 @@ + + let ocaml_pctf_cstr = None;; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, Public, mf, Some t, loc);; +@@ -331,6 +386,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -426,3 +483,9 @@ + in + loop 0 + ;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.00.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.00.ml +--- camlp5-6.11/ocaml_src/lib/versdep/2.00.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.00.ml 2014-08-01 10:14:54.307065433 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -41,13 +41,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -95,7 +107,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -107,6 +121,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = None;; + + let ocaml_const_int64 = None;; +@@ -152,14 +168,33 @@ + Pexp_ifthenelse (not_try_e, raise_af, None) + ;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function pel;; + + let ocaml_pexp_lazy = None;; +@@ -195,11 +230,13 @@ + + let ocaml_pexp_variant = None;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -209,6 +246,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -226,13 +268,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = None;; + +@@ -244,17 +295,19 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = None;; + + let ocaml_pstr_include = None;; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -307,6 +360,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -323,6 +378,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -418,3 +475,9 @@ + in + loop 0 + ;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.01.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.01.ml +--- camlp5-6.11/ocaml_src/lib/versdep/2.01.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.01.ml 2014-08-01 10:14:54.307065433 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -41,13 +41,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -95,7 +107,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -107,6 +121,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = None;; + + let ocaml_const_int64 = None;; +@@ -152,14 +168,33 @@ + Pexp_ifthenelse (not_try_e, raise_af, None) + ;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function pel;; + + let ocaml_pexp_lazy = None;; +@@ -195,11 +230,13 @@ + + let ocaml_pexp_variant = None;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -209,6 +246,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -226,13 +268,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = None;; + +@@ -244,17 +295,19 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = None;; + + let ocaml_pstr_include = None;; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -307,6 +360,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -323,6 +378,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -411,3 +468,9 @@ + ;; + + let string_contains s c = s <> "" && String.contains s c;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.02.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.02.ml +--- camlp5-6.11/ocaml_src/lib/versdep/2.02.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.02.ml 2014-08-01 10:14:54.307065433 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -41,13 +41,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -95,7 +107,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -107,6 +121,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = None;; + + let ocaml_const_int64 = None;; +@@ -152,14 +168,33 @@ + Pexp_ifthenelse (not_try_e, raise_af, None) + ;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function pel;; + + let ocaml_pexp_lazy = None;; +@@ -195,11 +230,13 @@ + + let ocaml_pexp_variant = None;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -209,6 +246,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -226,13 +268,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = None;; + +@@ -244,17 +295,19 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = None;; + + let ocaml_pstr_include = None;; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -307,6 +360,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -323,6 +378,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -409,3 +466,9 @@ + ;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.03.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.03.ml +--- camlp5-6.11/ocaml_src/lib/versdep/2.03.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.03.ml 2014-08-01 10:14:54.307065433 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -42,13 +42,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -96,7 +108,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -108,6 +122,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = None;; + + let ocaml_const_int64 = None;; +@@ -153,14 +169,33 @@ + Pexp_ifthenelse (not_try_e, raise_af, None) + ;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function pel;; + + let ocaml_pexp_lazy = None;; +@@ -196,11 +231,13 @@ + + let ocaml_pexp_variant = None;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -210,6 +247,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -227,13 +269,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = None;; + +@@ -245,17 +296,19 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = None;; + + let ocaml_pstr_include = None;; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -308,6 +361,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -324,6 +379,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -403,3 +460,9 @@ + ;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.04.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.04.ml +--- camlp5-6.11/ocaml_src/lib/versdep/2.04.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.04.ml 2014-08-01 10:14:54.307065433 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -42,13 +42,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -96,7 +108,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -108,6 +122,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = None;; + + let ocaml_const_int64 = None;; +@@ -153,14 +169,33 @@ + Pexp_ifthenelse (not_try_e, raise_af, None) + ;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function pel;; + + let ocaml_pexp_lazy = None;; +@@ -196,11 +231,13 @@ + + let ocaml_pexp_variant = None;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -210,6 +247,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -227,13 +269,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = None;; + +@@ -245,17 +296,19 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = None;; + + let ocaml_pstr_include = None;; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -308,6 +361,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -324,6 +379,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -403,3 +460,9 @@ + ;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.99.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.99.ml +--- camlp5-6.11/ocaml_src/lib/versdep/2.99.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.99.ml 2014-08-01 10:14:54.307065433 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -42,13 +42,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -96,7 +108,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = None;; + + let ocaml_const_int64 = None;; +@@ -169,14 +185,33 @@ + Pexp_ifthenelse (not_try_e, raise_af, None) + ;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = None;; +@@ -220,11 +255,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -234,6 +271,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -259,13 +301,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = None;; + +@@ -277,17 +328,19 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = None;; + + let ocaml_pstr_include = None;; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -340,6 +393,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -356,6 +411,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -435,3 +492,9 @@ + ;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.00.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.00.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.00.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.00.ml 2014-08-01 10:14:54.307065433 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -42,13 +42,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -96,7 +108,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = None;; + + let ocaml_const_int64 = None;; +@@ -169,14 +185,33 @@ + Pexp_ifthenelse (not_try_e, raise_af, None) + ;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = None;; +@@ -220,11 +255,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -234,6 +271,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -259,13 +301,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = None;; + +@@ -277,19 +328,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + + let ocaml_pstr_include = None;; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -342,6 +395,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -358,6 +413,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -437,3 +494,9 @@ + ;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.01.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.01.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.01.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.01.ml 2014-08-01 10:14:54.307065433 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -42,13 +42,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -96,7 +108,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = None;; + + let ocaml_const_int64 = None;; +@@ -136,14 +152,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = None;; +@@ -187,11 +222,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -201,6 +238,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -226,13 +268,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = None;; + +@@ -244,19 +295,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -310,6 +363,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -326,6 +381,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -405,3 +462,9 @@ + ;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.02.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.02.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.02.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.02.ml 2014-08-01 10:14:54.307065433 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -42,13 +42,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -96,7 +108,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = None;; + + let ocaml_const_int64 = None;; +@@ -136,14 +152,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = None;; +@@ -187,11 +222,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -201,6 +238,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -226,13 +268,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = None;; + +@@ -244,19 +295,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -310,6 +363,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -326,6 +381,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -405,3 +462,9 @@ + ;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.03.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.03.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.03.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.03.ml 2014-08-01 10:14:54.307065433 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -42,13 +42,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -96,7 +108,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -117,6 +131,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = None;; + + let ocaml_const_int64 = None;; +@@ -129,14 +145,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = None;; +@@ -180,11 +215,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -194,6 +231,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -219,13 +261,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = None;; + +@@ -237,19 +288,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -303,6 +356,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -319,6 +374,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -398,3 +455,9 @@ + ;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.04.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.04.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.04.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.04.ml 2014-08-01 10:14:54.307065433 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -42,13 +42,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -96,7 +108,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -117,6 +131,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = None;; + + let ocaml_const_int64 = None;; +@@ -129,14 +145,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = None;; +@@ -180,11 +215,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -194,6 +231,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -219,13 +261,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = None;; + +@@ -237,19 +288,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -303,6 +356,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -319,6 +374,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -398,3 +455,9 @@ + ;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.05.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.05.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.05.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.05.ml 2014-08-01 10:14:54.307065433 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -42,13 +42,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -96,7 +108,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -117,6 +131,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = None;; + + let ocaml_const_int64 = None;; +@@ -129,14 +145,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -180,11 +215,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -194,6 +231,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -219,13 +261,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = None;; + +@@ -237,19 +288,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -303,6 +356,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -319,6 +374,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -378,3 +435,9 @@ + let printf_ksprintf = Printf.kprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.06.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.06.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.06.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.06.ml 2014-08-01 10:14:54.307065433 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -42,13 +42,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -96,7 +108,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -117,6 +131,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = None;; + + let ocaml_const_int64 = None;; +@@ -129,14 +145,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -180,11 +215,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -194,6 +231,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -219,13 +261,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = None;; + +@@ -237,19 +288,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -303,6 +356,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -319,6 +374,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -378,3 +435,9 @@ + let printf_ksprintf = Printf.kprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.07.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.07.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.07.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.07.ml 2014-08-01 10:14:54.307065433 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -318,6 +371,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -334,6 +389,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -417,3 +474,9 @@ + let printf_ksprintf = Printf.kprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.08.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.0.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.08.0.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.0.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -318,6 +371,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -334,6 +389,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -417,3 +474,9 @@ + let printf_ksprintf = Printf.kprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.08.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.1.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.08.1.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.1.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -318,6 +371,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -334,6 +389,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -417,3 +474,9 @@ + let printf_ksprintf = Printf.kprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.08.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.2.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.08.2.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.2.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -318,6 +371,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -334,6 +389,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -417,3 +474,9 @@ + let printf_ksprintf = Printf.kprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.08.3.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.3.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.08.3.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.3.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -318,6 +371,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -334,6 +389,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -417,3 +474,9 @@ + let printf_ksprintf = Printf.kprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.08.4.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.4.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.08.4.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.4.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -318,6 +371,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -334,6 +389,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -417,3 +474,9 @@ + let printf_ksprintf = Printf.kprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.09.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.0.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.09.0.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.0.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -318,6 +371,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -334,6 +389,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -417,3 +474,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.09.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.1.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.09.1.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.1.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -318,6 +371,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -334,6 +389,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -417,3 +474,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.09.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.2.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.09.2.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.2.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -318,6 +371,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -334,6 +389,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -417,3 +474,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.09.3.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.3.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.09.3.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.3.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -318,6 +371,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -334,6 +389,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -417,3 +474,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.09.4.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.4.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.09.4.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.4.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -318,6 +371,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; +@@ -334,6 +389,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -417,3 +474,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.10.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.0.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.10.0.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.0.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -323,6 +376,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -339,6 +394,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -422,3 +479,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.10.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.1.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.10.1.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.1.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -323,6 +376,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -339,6 +394,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -422,3 +479,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.10.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.2.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.10.2.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.2.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -323,6 +376,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -339,6 +394,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -422,3 +479,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.10.3.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.3.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.10.3.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.3.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -323,6 +376,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -339,6 +394,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -422,3 +479,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.10.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.10.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -103,7 +115,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -124,6 +138,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -138,14 +154,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = None;; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -318,6 +371,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -334,6 +389,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -417,3 +474,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.11.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.0.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.11.0.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.0.ml 2014-08-01 10:14:54.308065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -101,7 +113,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -122,6 +136,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -136,14 +152,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -187,11 +222,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -201,6 +238,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -226,13 +268,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -250,19 +301,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -321,6 +374,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -337,6 +392,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -416,3 +473,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.11.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.1.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.11.1.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.1.ml 2014-08-01 10:14:54.309065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -101,7 +113,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -122,6 +136,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -136,14 +152,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -187,11 +222,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -201,6 +238,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -226,13 +268,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -250,19 +301,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -321,6 +374,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -337,6 +392,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -416,3 +473,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.11.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.2.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.11.2.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.2.ml 2014-08-01 10:14:54.309065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -101,7 +113,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -122,6 +136,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -136,14 +152,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -187,11 +222,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -201,6 +238,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -226,13 +268,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -250,19 +301,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -321,6 +374,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -337,6 +392,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -416,3 +473,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.11.3.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.3.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.11.3.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.3.ml 2014-08-01 10:14:54.309065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -101,7 +113,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -122,6 +136,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -136,14 +152,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -187,11 +222,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -201,6 +238,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -226,13 +268,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -250,19 +301,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -321,6 +374,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -337,6 +392,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -416,3 +473,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.11.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.11.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.ml 2014-08-01 10:14:54.309065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -101,7 +113,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = None;; + +@@ -122,6 +136,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -136,14 +152,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -187,11 +222,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -201,6 +238,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -226,13 +268,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -250,19 +301,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -321,6 +374,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -337,6 +392,8 @@ + + let ocaml_pwith_modsubst = None;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = None;; +@@ -416,3 +473,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.12.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.0.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.12.0.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.0.ml 2014-08-01 10:14:54.309065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -101,7 +113,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; + +@@ -122,6 +136,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -136,14 +152,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -187,11 +222,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -201,6 +238,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -226,13 +268,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -250,19 +301,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -323,6 +376,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -341,6 +396,8 @@ + Some (fun loc me -> Pwith_modsubst (mkloc loc me)) + ;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; +@@ -420,3 +477,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.12.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.1.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.12.1.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.1.ml 2014-08-01 10:14:54.309065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -101,7 +113,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; + +@@ -122,6 +136,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -136,14 +152,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -187,11 +222,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -201,6 +238,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -226,13 +268,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -250,19 +301,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -323,6 +376,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -341,6 +396,8 @@ + Some (fun loc me -> Pwith_modsubst (mkloc loc me)) + ;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; +@@ -420,3 +477,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.12.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.2.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.12.2.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.2.ml 2014-08-01 10:14:54.309065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -101,7 +113,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; + +@@ -122,6 +136,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -136,14 +152,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -187,11 +222,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -201,6 +238,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -226,13 +268,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -250,19 +301,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -323,6 +376,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -341,6 +396,8 @@ + Some (fun loc me -> Pwith_modsubst (mkloc loc me)) + ;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; +@@ -420,3 +477,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.13.0-gadt.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.13.0-gadt.ml +--- camlp5-6.11/ocaml_src/lib/versdep/3.13.0-gadt.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.13.0-gadt.ml 2014-08-01 10:14:54.309065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -55,13 +55,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + Right + {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; + ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; +@@ -96,7 +108,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; + +@@ -117,6 +131,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -131,14 +147,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -184,11 +219,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -198,6 +235,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -225,13 +267,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -249,19 +300,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -324,6 +377,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -342,6 +397,8 @@ + Some (fun loc me -> Pwith_modsubst (mkloc loc me)) + ;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; +@@ -421,3 +478,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.00.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.0.ml +--- camlp5-6.11/ocaml_src/lib/versdep/4.00.0.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.0.ml 2014-08-01 10:14:54.309065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -62,7 +62,7 @@ + loop [] l + ;; + +-let ocaml_value_description t p = ++let ocaml_value_description vn t p = + {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} + ;; + +@@ -70,10 +70,22 @@ + + let ocaml_class_field loc cfd = {pcf_desc = cfd; pcf_loc = loc};; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> +- let params = List.map (fun os -> Some (mknoloc os)) params in ++ let params = List.map (fun os -> Some (mkloc loc os)) params in + Right + {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; + ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; +@@ -122,7 +134,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; + +@@ -143,6 +157,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -157,14 +173,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -210,12 +245,14 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = +- Ppat_construct (mkloc li_loc li, po, chk_arity) ++let ocaml_ppat_construct loc li po chk_arity = ++ Ppat_construct (mkloc loc li, po, chk_arity) + ;; + + let ocaml_ppat_construct_args = +@@ -224,6 +261,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -251,13 +293,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -275,19 +326,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -360,6 +413,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; +@@ -384,6 +439,8 @@ + Some (fun loc me -> Pwith_modsubst (mkloc loc me)) + ;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; +@@ -463,3 +520,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.00.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.1.ml +--- camlp5-6.11/ocaml_src/lib/versdep/4.00.1.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.1.ml 2014-08-01 10:14:54.309065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -62,7 +62,7 @@ + loop [] l + ;; + +-let ocaml_value_description t p = ++let ocaml_value_description vn t p = + {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} + ;; + +@@ -70,10 +70,22 @@ + + let ocaml_class_field loc cfd = {pcf_desc = cfd; pcf_loc = loc};; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> +- let params = List.map (fun os -> Some (mknoloc os)) params in ++ let params = List.map (fun os -> Some (mkloc loc os)) params in + Right + {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; + ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; +@@ -122,7 +134,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; + +@@ -143,6 +157,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -157,14 +173,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -210,12 +245,14 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = +- Ppat_construct (mkloc li_loc li, po, chk_arity) ++let ocaml_ppat_construct loc li po chk_arity = ++ Ppat_construct (mkloc loc li, po, chk_arity) + ;; + + let ocaml_ppat_construct_args = +@@ -224,6 +261,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -251,13 +293,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -275,19 +326,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -360,6 +413,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; +@@ -384,6 +439,8 @@ + Some (fun loc me -> Pwith_modsubst (mkloc loc me)) + ;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; +@@ -463,3 +520,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.00.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.2.ml +--- camlp5-6.11/ocaml_src/lib/versdep/4.00.2.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.2.ml 2014-08-01 10:14:54.309065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -62,7 +62,7 @@ + loop [] l + ;; + +-let ocaml_value_description t p = ++let ocaml_value_description vn t p = + {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} + ;; + +@@ -70,10 +70,22 @@ + + let ocaml_class_field loc cfd = {pcf_desc = cfd; pcf_loc = loc};; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> +- let params = List.map (fun os -> Some (mknoloc os)) params in ++ let params = List.map (fun os -> Some (mkloc loc os)) params in + Right + {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; + ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; +@@ -122,7 +134,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; + +@@ -143,6 +157,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -157,14 +173,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -210,12 +245,14 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = +- Ppat_construct (mkloc li_loc li, po, chk_arity) ++let ocaml_ppat_construct loc li po chk_arity = ++ Ppat_construct (mkloc loc li, po, chk_arity) + ;; + + let ocaml_ppat_construct_args = +@@ -224,6 +261,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -251,13 +293,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -275,19 +326,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -360,6 +413,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; +@@ -384,6 +439,8 @@ + Some (fun loc me -> Pwith_modsubst (mkloc loc me)) + ;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; +@@ -463,3 +520,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.01.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.01.0.ml +--- camlp5-6.11/ocaml_src/lib/versdep/4.01.0.ml 2013-06-10 16:57:21.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.01.0.ml 2014-08-01 10:14:54.309065434 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -62,7 +62,7 @@ + loop [] l + ;; + +-let ocaml_value_description t p = ++let ocaml_value_description vn t p = + {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} + ;; + +@@ -70,10 +70,22 @@ + + let ocaml_class_field loc cfd = {pcf_desc = cfd; pcf_loc = loc};; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> +- let params = List.map (fun os -> Some (mknoloc os)) params in ++ let params = List.map (fun os -> Some (mkloc loc os)) params in + Right + {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; + ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; +@@ -122,7 +134,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; + +@@ -143,6 +157,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -157,14 +173,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -210,12 +245,14 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = +- Ppat_construct (mkloc li_loc li, po, chk_arity) ++let ocaml_ppat_construct loc li po chk_arity = ++ Ppat_construct (mkloc loc li, po, chk_arity) + ;; + + let ocaml_ppat_construct_args = +@@ -224,6 +261,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -251,13 +293,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (Fresh, mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (Fresh, mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -275,19 +326,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (Fresh, mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (Fresh, mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -360,6 +413,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; +@@ -384,6 +439,8 @@ + Some (fun loc me -> Pwith_modsubst (mkloc loc me)) + ;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; +@@ -463,3 +520,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.01.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.01.1.ml +--- camlp5-6.11/ocaml_src/lib/versdep/4.01.1.ml 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.01.1.ml 2014-08-01 10:14:54.309065434 +0100 +@@ -0,0 +1,528 @@ ++(* camlp5r pa_macro.cmo *) ++(* versdep.ml,v *) ++(* Copyright (c) INRIA 2007-2012 *) ++ ++open Parsetree;; ++open Longident;; ++open Asttypes;; ++ ++type ('a, 'b) choice = ++ Left of 'a ++ | Right of 'b ++;; ++ ++let sys_ocaml_version = Sys.ocaml_version;; ++ ++let ocaml_location (fname, lnum, bolp, lnuml, bolpl, bp, ep) = ++ let loc_at n lnum bolp = ++ {Lexing.pos_fname = if lnum = -1 then "" else fname; ++ Lexing.pos_lnum = lnum; Lexing.pos_bol = bolp; Lexing.pos_cnum = n} ++ in ++ {Location.loc_start = loc_at bp lnum bolp; ++ Location.loc_end = loc_at ep lnuml bolpl; ++ Location.loc_ghost = bp = 0 && ep = 0} ++;; ++ ++let loc_none = ++ let loc = ++ {Lexing.pos_fname = "_none_"; Lexing.pos_lnum = 1; Lexing.pos_bol = 0; ++ Lexing.pos_cnum = -1} ++ in ++ {Location.loc_start = loc; Location.loc_end = loc; ++ Location.loc_ghost = true} ++;; ++ ++let mkloc loc txt = {Location.txt = txt; Location.loc = loc};; ++let mknoloc txt = mkloc loc_none txt;; ++ ++let ocaml_id_or_li_of_string_list loc sl = ++ let mkli s = ++ let rec loop f = ++ function ++ i :: il -> loop (fun s -> Ldot (f i, s)) il ++ | [] -> f s ++ in ++ loop (fun s -> Lident s) ++ in ++ match List.rev sl with ++ [] -> None ++ | s :: sl -> Some (mkli s (List.rev sl)) ++;; ++ ++let list_map_check f l = ++ let rec loop rev_l = ++ function ++ x :: l -> ++ begin match f x with ++ Some s -> loop (s :: rev_l) l ++ | None -> None ++ end ++ | [] -> Some (List.rev rev_l) ++ in ++ loop [] l ++;; ++ ++let ocaml_value_description vn t p = ++ {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} ++;; ++ ++let ocaml_class_type_field loc ctfd = {pctf_desc = ctfd; pctf_loc = loc};; ++ ++let ocaml_class_field loc cfd = {pcf_desc = cfd; pcf_loc = loc};; ++ ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = ++ match list_map_check (fun s_opt -> s_opt) params with ++ Some params -> ++ let params = List.map (fun os -> Some (mkloc loc os)) params in ++ Right ++ {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; ++ ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; ++ ptype_variance = variance} ++ | None -> Left "no '_' type param in this ocaml version" ++;; ++ ++let ocaml_class_type = Some (fun d loc -> {pcty_desc = d; pcty_loc = loc});; ++ ++let ocaml_class_expr = Some (fun d loc -> {pcl_desc = d; pcl_loc = loc});; ++ ++let ocaml_class_structure p cil = {pcstr_pat = p; pcstr_fields = cil};; ++ ++let ocaml_pmty_ident loc li = Pmty_ident (mkloc loc li);; ++ ++let ocaml_pmty_functor sloc s mt1 mt2 = ++ Pmty_functor (mkloc sloc s, mt1, mt2) ++;; ++ ++let ocaml_pmty_typeof = Some (fun me -> Pmty_typeof me);; ++ ++let ocaml_pmty_with mt lcl = ++ let lcl = List.map (fun (s, c) -> mknoloc s, c) lcl in Pmty_with (mt, lcl) ++;; ++ ++let ocaml_ptype_abstract = Ptype_abstract;; ++ ++let ocaml_ptype_record ltl priv = ++ Ptype_record ++ (List.map (fun (s, mf, ct, loc) -> mkloc loc s, mf, ct, loc) ltl) ++;; ++ ++let ocaml_ptype_variant ctl priv = ++ try ++ let ctl = ++ List.map ++ (fun (c, tl, rto, loc) -> ++ if rto <> None then raise Exit else mknoloc c, tl, None, loc) ++ ctl ++ in ++ Some (Ptype_variant ctl) ++ with Exit -> None ++;; ++ ++let ocaml_ptyp_arrow lab t1 t2 = Ptyp_arrow (lab, t1, t2);; ++ ++let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; ++ ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; ++ ++let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; ++ ++let ocaml_ptyp_poly = Some (fun cl t -> Ptyp_poly (cl, t));; ++ ++let ocaml_ptyp_variant catl clos sl_opt = ++ let catl = ++ List.map ++ (function ++ Left (c, a, tl) -> Rtag (c, a, tl) ++ | Right t -> Rinherit t) ++ catl ++ in ++ Some (Ptyp_variant (catl, clos, sl_opt)) ++;; ++ ++let ocaml_package_type li ltl = ++ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ++;; ++ ++let ocaml_const_string s = Const_string s;; ++ ++let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; ++ ++let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; ++ ++let ocaml_const_nativeint = ++ Some (fun s -> Const_nativeint (Nativeint.of_string s)) ++;; ++ ++let ocaml_pexp_apply f lel = Pexp_apply (f, lel);; ++ ++let ocaml_pexp_assertfalse fname loc = Pexp_assertfalse;; ++ ++let ocaml_pexp_assert fname loc e = Pexp_assert e;; ++ ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ ++let ocaml_pexp_construct loc li po chk_arity = ++ Pexp_construct (mkloc loc li, po, chk_arity) ++;; ++ ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ ++let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; ++ ++let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; ++ ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ ++let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; ++ ++let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; ++ ++let ocaml_pexp_ident li = Pexp_ident (mknoloc li);; ++ ++let ocaml_pexp_letmodule = ++ Some (fun i me e -> Pexp_letmodule (mknoloc i, me, e)) ++;; ++ ++let ocaml_pexp_new loc li = Pexp_new (mkloc loc li);; ++ ++let ocaml_pexp_newtype = Some (fun s e -> Pexp_newtype (s, e));; ++ ++let ocaml_pexp_object = Some (fun cs -> Pexp_object cs);; ++ ++let ocaml_pexp_open = Some (fun li e -> Pexp_open (Fresh, mknoloc li, e));; ++ ++let ocaml_pexp_override sel = ++ let sel = List.map (fun (s, e) -> mknoloc s, e) sel in Pexp_override sel ++;; ++ ++let ocaml_pexp_pack : ('a -> 'b -> 'c, 'd) choice option = ++ Some (Right ((fun me -> Pexp_pack me), (fun pt -> Ptyp_package pt))) ++;; ++ ++let ocaml_pexp_poly = Some (fun e t -> Pexp_poly (e, t));; ++ ++let ocaml_pexp_record lel eo = ++ let lel = List.map (fun (li, loc, e) -> mkloc loc li, e) lel in ++ Pexp_record (lel, eo) ++;; ++ ++let ocaml_pexp_setinstvar s e = Pexp_setinstvar (mknoloc s, e);; ++ ++let ocaml_pexp_variant = ++ let pexp_variant_pat = ++ function ++ Pexp_variant (lab, eo) -> Some (lab, eo) ++ | _ -> None ++ in ++ let pexp_variant (lab, eo) = Pexp_variant (lab, eo) in ++ Some (pexp_variant_pat, pexp_variant) ++;; ++ ++let ocaml_value_binding loc p e = p, e;; ++ ++let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; ++ ++let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; ++ ++let ocaml_ppat_construct loc li po chk_arity = ++ Ppat_construct (mkloc loc li, po, chk_arity) ++;; ++ ++let ocaml_ppat_construct_args = ++ function ++ Ppat_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ ++let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ++ ++let ocaml_ppat_record lpl is_closed = ++ let lpl = List.map (fun (li, loc, p) -> mkloc loc li, p) lpl in ++ Ppat_record (lpl, (if is_closed then Closed else Open)) ++;; ++ ++let ocaml_ppat_type = Some (fun loc li -> Ppat_type (mkloc loc li));; ++ ++let ocaml_ppat_unpack = ++ Some ((fun loc s -> Ppat_unpack (mkloc loc s)), (fun pt -> Ptyp_package pt)) ++;; ++ ++let ocaml_ppat_var loc s = Ppat_var (mkloc loc s);; ++ ++let ocaml_ppat_variant = ++ let ppat_variant_pat = ++ function ++ Ppat_variant (lab, po) -> Some (lab, po) ++ | _ -> None ++ in ++ let ppat_variant (lab, po) = Ppat_variant (lab, po) in ++ Some (ppat_variant_pat, ppat_variant) ++;; ++ ++let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; ++ ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; ++ ++let ocaml_psig_include loc mt = Psig_include mt;; ++ ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; ++ ++let ocaml_psig_open loc li = Psig_open (Fresh, mkloc loc li);; ++ ++let ocaml_psig_recmodule = ++ let f ntl = ++ let ntl = List.map (fun (s, mt) -> mknoloc s, mt) ntl in ++ Psig_recmodule ntl ++ in ++ Some f ++;; ++ ++let ocaml_psig_type stl = ++ let stl = List.map (fun (s, t) -> mknoloc s, t) stl in Psig_type stl ++;; ++ ++let ocaml_psig_value s vd = Psig_value (mknoloc s, vd);; ++ ++let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; ++ ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; ++ ++let ocaml_pstr_exn_rebind = ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ++;; ++ ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; ++ ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; ++ ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; ++ ++let ocaml_pstr_open loc li = Pstr_open (Fresh, mknoloc li);; ++ ++let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; ++ ++let ocaml_pstr_recmodule = ++ let f nel = ++ Pstr_recmodule (List.map (fun (s, mt, me) -> mknoloc s, mt, me) nel) ++ in ++ Some f ++;; ++ ++let ocaml_pstr_type stl = ++ let stl = List.map (fun (s, t) -> mknoloc s, t) stl in Pstr_type stl ++;; ++ ++let ocaml_class_infos = ++ Some ++ (fun virt (sl, sloc) name expr loc variance -> ++ let params = List.map (fun s -> mkloc loc s) sl, sloc in ++ {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; ++ pci_expr = expr; pci_loc = loc; pci_variance = variance}) ++;; ++ ++let ocaml_pmod_ident li = Pmod_ident (mknoloc li);; ++ ++let ocaml_pmod_functor s mt me = Pmod_functor (mknoloc s, mt, me);; ++ ++let ocaml_pmod_unpack : ('a -> 'b -> 'c, 'd) choice option = ++ Some (Right ((fun e -> Pmod_unpack e), (fun pt -> Ptyp_package pt))) ++;; ++ ++let ocaml_pcf_cstr = Some (fun (t1, t2, loc) -> Pcf_constr (t1, t2));; ++ ++let ocaml_pcf_inher ce pb = Pcf_inher (Fresh, ce, pb);; ++ ++let ocaml_pcf_init = Some (fun e -> Pcf_init e);; ++ ++let ocaml_pcf_meth (s, pf, ovf, e, loc) = ++ let pf = if pf then Private else Public in ++ let ovf = if ovf then Override else Fresh in ++ Pcf_meth (mkloc loc s, pf, ovf, e) ++;; ++ ++let ocaml_pcf_val (s, mf, ovf, e, loc) = ++ let mf = if mf then Mutable else Immutable in ++ let ovf = if ovf then Override else Fresh in ++ Pcf_val (mkloc loc s, mf, ovf, e) ++;; ++ ++let ocaml_pcf_valvirt = ++ let ocaml_pcf (s, mf, t, loc) = ++ let mf = if mf then Mutable else Immutable in ++ Pcf_valvirt (mkloc loc s, mf, t) ++ in ++ Some ocaml_pcf ++;; ++ ++let ocaml_pcf_virt (s, pf, t, loc) = Pcf_virt (mkloc loc s, pf, t);; ++ ++let ocaml_pcl_apply = Some (fun ce lel -> Pcl_apply (ce, lel));; ++ ++let ocaml_pcl_constr = Some (fun li ctl -> Pcl_constr (mknoloc li, ctl));; ++ ++let ocaml_pcl_constraint = Some (fun ce ct -> Pcl_constraint (ce, ct));; ++ ++let ocaml_pcl_fun = Some (fun lab ceo p ce -> Pcl_fun (lab, ceo, p, ce));; ++ ++let ocaml_pcl_let = Some (fun rf pel ce -> Pcl_let (rf, pel, ce));; ++ ++let ocaml_pcl_structure = Some (fun cs -> Pcl_structure cs);; ++ ++let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2));; ++ ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ ++let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t);; ++ ++let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; ++ ++let ocaml_pctf_virt (s, pf, t, loc) = Pctf_virt (s, pf, t);; ++ ++let ocaml_pcty_constr = Some (fun li ltl -> Pcty_constr (mknoloc li, ltl));; ++ ++let ocaml_pcty_fun = Some (fun lab t ct -> Pcty_fun (lab, t, ct));; ++ ++let ocaml_pcty_signature = ++ let f (t, ctfl) = ++ let cs = {pcsig_self = t; pcsig_fields = ctfl; pcsig_loc = t.ptyp_loc} in ++ Pcty_signature cs ++ in ++ Some f ++;; ++ ++let ocaml_pdir_bool = Some (fun b -> Pdir_bool b);; ++ ++let ocaml_pwith_modsubst = ++ Some (fun loc me -> Pwith_modsubst (mkloc loc me)) ++;; ++ ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ ++let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; ++ ++let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; ++ ++let module_prefix_can_be_in_first_record_label_only = true;; ++ ++let split_or_patterns_with_bindings = false;; ++ ++let has_records_with_with = true;; ++ ++(* *) ++ ++let jocaml_pstr_def : (_ -> _) option = None;; ++ ++let jocaml_pexp_def : (_ -> _ -> _) option = None;; ++ ++let jocaml_pexp_par : (_ -> _ -> _) option = None;; ++ ++let jocaml_pexp_reply : (_ -> _ -> _ -> _) option = None;; ++ ++let jocaml_pexp_spawn : (_ -> _) option = None;; ++ ++let arg_rest = ++ function ++ Arg.Rest r -> Some r ++ | _ -> None ++;; ++ ++let arg_set_string = ++ function ++ Arg.Set_string r -> Some r ++ | _ -> None ++;; ++ ++let arg_set_int = ++ function ++ Arg.Set_int r -> Some r ++ | _ -> None ++;; ++ ++let arg_set_float = ++ function ++ Arg.Set_float r -> Some r ++ | _ -> None ++;; ++ ++let arg_symbol = ++ function ++ Arg.Symbol (s, f) -> Some (s, f) ++ | _ -> None ++;; ++ ++let arg_tuple = ++ function ++ Arg.Tuple t -> Some t ++ | _ -> None ++;; ++ ++let arg_bool = ++ function ++ Arg.Bool f -> Some f ++ | _ -> None ++;; ++ ++let char_escaped = Char.escaped;; ++ ++let hashtbl_mem = Hashtbl.mem;; ++ ++let list_rev_append = List.rev_append;; ++ ++let list_rev_map = List.rev_map;; ++ ++let list_sort = List.sort;; ++ ++let pervasives_set_binary_mode_out = Pervasives.set_binary_mode_out;; ++ ++let printf_ksprintf = Printf.ksprintf;; ++ ++let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.02.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.02.0.ml +--- camlp5-6.11/ocaml_src/lib/versdep/4.02.0.ml 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.02.0.ml 2014-08-01 10:14:54.309065434 +0100 +@@ -0,0 +1,657 @@ ++(* camlp5r pa_macro.cmo *) ++(* versdep.ml,v *) ++(* Copyright (c) INRIA 2007-2012 *) ++ ++open Parsetree;; ++open Longident;; ++open Asttypes;; ++ ++type ('a, 'b) choice = ++ Left of 'a ++ | Right of 'b ++;; ++ ++let sys_ocaml_version = Sys.ocaml_version;; ++ ++let ocaml_location (fname, lnum, bolp, lnuml, bolpl, bp, ep) = ++ let loc_at n lnum bolp = ++ {Lexing.pos_fname = if lnum = -1 then "" else fname; ++ Lexing.pos_lnum = lnum; Lexing.pos_bol = bolp; Lexing.pos_cnum = n} ++ in ++ {Location.loc_start = loc_at bp lnum bolp; ++ Location.loc_end = loc_at ep lnuml bolpl; ++ Location.loc_ghost = bp = 0 && ep = 0} ++;; ++ ++let loc_none = ++ let loc = ++ {Lexing.pos_fname = "_none_"; Lexing.pos_lnum = 1; Lexing.pos_bol = 0; ++ Lexing.pos_cnum = -1} ++ in ++ {Location.loc_start = loc; Location.loc_end = loc; ++ Location.loc_ghost = true} ++;; ++ ++let mkloc loc txt = {Location.txt = txt; Location.loc = loc};; ++let mknoloc txt = mkloc loc_none txt;; ++ ++let ocaml_id_or_li_of_string_list loc sl = ++ let mkli s = ++ let rec loop f = ++ function ++ i :: il -> loop (fun s -> Ldot (f i, s)) il ++ | [] -> f s ++ in ++ loop (fun s -> Lident s) ++ in ++ match List.rev sl with ++ [] -> None ++ | s :: sl -> Some (mkli s (List.rev sl)) ++;; ++ ++let list_map_check f l = ++ let rec loop rev_l = ++ function ++ x :: l -> ++ begin match f x with ++ Some s -> loop (s :: rev_l) l ++ | None -> None ++ end ++ | [] -> Some (List.rev rev_l) ++ in ++ loop [] l ++;; ++ ++let ocaml_value_description vn t p = ++ {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc; ++ pval_name = mkloc t.ptyp_loc vn; pval_attributes = []} ++;; ++ ++let ocaml_class_type_field loc ctfd = ++ {pctf_desc = ctfd; pctf_loc = loc; pctf_attributes = []} ++;; ++ ++let ocaml_class_field loc cfd = ++ {pcf_desc = cfd; pcf_loc = loc; pcf_attributes = []} ++;; ++ ++let ocaml_mktyp loc x = ++ {ptyp_desc = x; ptyp_loc = loc; ptyp_attributes = []} ++;; ++let ocaml_mkpat loc x = ++ {ppat_desc = x; ppat_loc = loc; ppat_attributes = []} ++;; ++let ocaml_mkexp loc x = ++ {pexp_desc = x; pexp_loc = loc; pexp_attributes = []} ++;; ++let ocaml_mkmty loc x = ++ {pmty_desc = x; pmty_loc = loc; pmty_attributes = []} ++;; ++let ocaml_mkmod loc x = ++ {pmod_desc = x; pmod_loc = loc; pmod_attributes = []} ++;; ++let ocaml_mkfield loc (lab, x) fl = (lab, x) :: fl;; ++let ocaml_mkfield_var loc = [];; ++ ++let variance_of_bool_bool = ++ function ++ false, true -> Contravariant ++ | true, false -> Covariant ++ | _ -> Invariant ++;; ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = ++ match list_map_check (fun s_opt -> s_opt) params with ++ Some params -> ++ let _ = ++ if List.length params <> List.length variance then ++ failwith "internal error: ocaml_type_declaration" ++ in ++ let params = ++ List.map2 ++ (fun os va -> ++ ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) ++ params variance ++ in ++ Right ++ {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; ++ ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; ++ ptype_name = mkloc loc tn; ptype_attributes = []} ++ | None -> Left "no '_' type param in this ocaml version" ++;; ++ ++let ocaml_class_type = ++ Some (fun d loc -> {pcty_desc = d; pcty_loc = loc; pcty_attributes = []}) ++;; ++ ++let ocaml_class_expr = ++ Some (fun d loc -> {pcl_desc = d; pcl_loc = loc; pcl_attributes = []}) ++;; ++ ++let ocaml_class_structure p cil = {pcstr_self = p; pcstr_fields = cil};; ++ ++let ocaml_pmty_ident loc li = Pmty_ident (mkloc loc li);; ++ ++let ocaml_pmty_functor sloc s mt1 mt2 = ++ Pmty_functor (mkloc sloc s, Some mt1, mt2) ++;; ++ ++let ocaml_pmty_typeof = Some (fun me -> Pmty_typeof me);; ++ ++let ocaml_pmty_with mt lcl = ++ let lcl = List.map snd lcl in Pmty_with (mt, lcl) ++;; ++ ++let ocaml_ptype_abstract = Ptype_abstract;; ++ ++let ocaml_ptype_record ltl priv = ++ Ptype_record ++ (List.map ++ (fun (s, mf, ct, loc) -> ++ {pld_name = mkloc loc s; pld_mutable = mf; pld_type = ct; ++ pld_loc = loc; pld_attributes = []}) ++ ltl) ++;; ++ ++let ocaml_ptype_variant ctl priv = ++ try ++ let ctl = ++ List.map ++ (fun (c, tl, rto, loc) -> ++ if rto <> None then raise Exit ++ else ++ {pcd_name = mkloc loc c; pcd_args = tl; pcd_res = None; ++ pcd_loc = loc; pcd_attributes = []}) ++ ctl ++ in ++ Some (Ptype_variant ctl) ++ with Exit -> None ++;; ++ ++let ocaml_ptyp_arrow lab t1 t2 = Ptyp_arrow (lab, t1, t2);; ++ ++let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl);; ++ ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = ++ let ml = List.map (fun (s, t) -> s, [], t) ml in Ptyp_object (ml, Closed) ++;; ++ ++let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; ++ ++let ocaml_ptyp_poly = ++ Some ++ (fun cl t -> ++ match cl with ++ [] -> t.ptyp_desc ++ | _ -> Ptyp_poly (cl, t)) ++;; ++ ++let ocaml_ptyp_variant catl clos sl_opt = ++ let catl = ++ List.map ++ (function ++ Left (c, a, tl) -> Rtag (c, [], a, tl) ++ | Right t -> Rinherit t) ++ catl ++ in ++ let clos = if clos then Closed else Open in ++ Some (Ptyp_variant (catl, clos, sl_opt)) ++;; ++ ++let ocaml_package_type li ltl = ++ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ++;; ++ ++let ocaml_const_string s = Const_string (s, None);; ++ ++let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; ++ ++let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; ++ ++let ocaml_const_nativeint = ++ Some (fun s -> Const_nativeint (Nativeint.of_string s)) ++;; ++ ++let ocaml_pexp_apply f lel = Pexp_apply (f, lel);; ++ ++let ocaml_pexp_assertfalse fname loc = ++ Pexp_assert ++ (ocaml_mkexp loc (Pexp_construct (mkloc loc (Lident "false"), None))) ++;; ++ ++let ocaml_pexp_assert fname loc e = Pexp_assert e;; ++ ++let ocaml_pexp_constraint e ot1 ot2 = ++ match ot2 with ++ Some t2 -> Pexp_coerce (e, ot1, t2) ++ | None -> ++ match ot1 with ++ Some t1 -> Pexp_constraint (e, t1) ++ | None -> failwith "internal error: ocaml_pexp_constraint" ++;; ++ ++let ocaml_pexp_construct loc li po chk_arity = ++ Pexp_construct (mkloc loc li, po) ++;; ++ ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po) -> Some (li.txt, li.loc, po, 0) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ {pexp_desc = ocaml_pexp_construct li_loc li (Some a) true; pexp_loc = loc; ++ pexp_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} ++;; ++ ++let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; ++ ++let ocaml_pexp_for i e1 e2 df e = ++ Pexp_for (ocaml_mkpat loc_none (Ppat_var (mknoloc i)), e1, e2, df, e) ++;; ++ ++let ocaml_case (p, wo, loc, e) = {pc_lhs = p; pc_guard = wo; pc_rhs = e};; ++ ++let ocaml_pexp_function lab eo pel = ++ match pel with ++ [{pc_lhs = p; pc_guard = None; pc_rhs = e}] -> Pexp_fun (lab, eo, p, e) ++ | pel -> ++ if lab = "" && eo = None then Pexp_function pel ++ else failwith "internal error: bad ast in ocaml_pexp_function" ++;; ++ ++let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; ++ ++let ocaml_pexp_ident li = Pexp_ident (mknoloc li);; ++ ++let ocaml_pexp_letmodule = ++ Some (fun i me e -> Pexp_letmodule (mknoloc i, me, e)) ++;; ++ ++let ocaml_pexp_new loc li = Pexp_new (mkloc loc li);; ++ ++let ocaml_pexp_newtype = Some (fun s e -> Pexp_newtype (s, e));; ++ ++let ocaml_pexp_object = Some (fun cs -> Pexp_object cs);; ++ ++let ocaml_pexp_open = Some (fun li e -> Pexp_open (Fresh, mknoloc li, e));; ++ ++let ocaml_pexp_override sel = ++ let sel = List.map (fun (s, e) -> mknoloc s, e) sel in Pexp_override sel ++;; ++ ++let ocaml_pexp_pack : ('a -> 'b -> 'c, 'd) choice option = ++ Some (Right ((fun me -> Pexp_pack me), (fun pt -> Ptyp_package pt))) ++;; ++ ++let ocaml_pexp_poly = Some (fun e t -> Pexp_poly (e, t));; ++ ++let ocaml_pexp_record lel eo = ++ let lel = List.map (fun (li, loc, e) -> mkloc loc li, e) lel in ++ Pexp_record (lel, eo) ++;; ++ ++let ocaml_pexp_setinstvar s e = Pexp_setinstvar (mknoloc s, e);; ++ ++let ocaml_pexp_variant = ++ let pexp_variant_pat = ++ function ++ Pexp_variant (lab, eo) -> Some (lab, eo) ++ | _ -> None ++ in ++ let pexp_variant (lab, eo) = Pexp_variant (lab, eo) in ++ Some (pexp_variant_pat, pexp_variant) ++;; ++ ++let ocaml_value_binding loc p e = ++ {pvb_pat = p; pvb_expr = e; pvb_loc = loc; pvb_attributes = []} ++;; ++ ++let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; ++ ++let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; ++ ++let ocaml_ppat_construct loc li po chk_arity = ++ Ppat_construct (mkloc loc li, po) ++;; ++ ++let ocaml_ppat_construct_args = ++ function ++ Ppat_construct (li, po) -> Some (li.txt, li.loc, po, 0) ++ | _ -> None ++;; ++ ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ {ppat_desc = ocaml_ppat_construct li_loc li (Some a) true; ppat_loc = loc; ++ ppat_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} ++;; ++ ++let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ++ ++let ocaml_ppat_record lpl is_closed = ++ let lpl = List.map (fun (li, loc, p) -> mkloc loc li, p) lpl in ++ Ppat_record (lpl, (if is_closed then Closed else Open)) ++;; ++ ++let ocaml_ppat_type = Some (fun loc li -> Ppat_type (mkloc loc li));; ++ ++let ocaml_ppat_unpack = ++ Some ((fun loc s -> Ppat_unpack (mkloc loc s)), (fun pt -> Ptyp_package pt)) ++;; ++ ++let ocaml_ppat_var loc s = Ppat_var (mkloc loc s);; ++ ++let ocaml_ppat_variant = ++ let ppat_variant_pat = ++ function ++ Ppat_variant (lab, po) -> Some (lab, po) ++ | _ -> None ++ in ++ let ppat_variant (lab, po) = Ppat_variant (lab, po) in ++ Some (ppat_variant_pat, ppat_variant) ++;; ++ ++let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; ++ ++let ocaml_psig_exception loc s ed = ++ Psig_exception ++ {pext_name = mkloc loc s; pext_kind = Pext_decl (ed, None); ++ pext_loc = loc; pext_attributes = []} ++;; ++ ++let ocaml_psig_include loc mt = ++ Psig_include {pincl_mod = mt; pincl_loc = loc; pincl_attributes = []} ++;; ++ ++let ocaml_psig_module loc s mt = ++ Psig_module ++ {pmd_name = mkloc loc s; pmd_type = mt; pmd_attributes = []; ++ pmd_loc = loc} ++;; ++ ++let ocaml_psig_modtype loc s mto = ++ let pmtd = ++ {pmtd_name = mkloc loc s; pmtd_type = mto; pmtd_attributes = []; ++ pmtd_loc = loc} ++ in ++ Psig_modtype pmtd ++;; ++ ++let ocaml_psig_open loc li = ++ Psig_open ++ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; ++ popen_attributes = []} ++;; ++ ++let ocaml_psig_recmodule = ++ let f ntl = ++ let ntl = ++ List.map ++ (fun (s, mt) -> ++ {pmd_name = mknoloc s; pmd_type = mt; pmd_attributes = []; ++ pmd_loc = loc_none}) ++ ntl ++ in ++ Psig_recmodule ntl ++ in ++ Some f ++;; ++ ++let ocaml_psig_type stl = ++ let stl = List.map (fun (s, t) -> t) stl in Psig_type stl ++;; ++ ++let ocaml_psig_value s vd = Psig_value vd;; ++ ++let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; ++ ++let ocaml_pstr_eval e = Pstr_eval (e, []);; ++ ++let ocaml_pstr_exception loc s ed = ++ Pstr_exception ++ {pext_name = mkloc loc s; pext_kind = Pext_decl (ed, None); ++ pext_loc = loc; pext_attributes = []} ++;; ++ ++let ocaml_pstr_exn_rebind = ++ Some ++ (fun loc s li -> ++ Pstr_exception ++ {pext_name = mkloc loc s; pext_kind = Pext_rebind (mkloc loc li); ++ pext_loc = loc; pext_attributes = []}) ++;; ++ ++let ocaml_pstr_include = ++ Some ++ (fun loc me -> ++ Pstr_include {pincl_mod = me; pincl_loc = loc; pincl_attributes = []}) ++;; ++ ++let ocaml_pstr_modtype loc s mt = ++ let pmtd = ++ {pmtd_name = mkloc loc s; pmtd_type = Some mt; pmtd_attributes = []; ++ pmtd_loc = loc} ++ in ++ Pstr_modtype pmtd ++;; ++ ++let ocaml_pstr_module loc s me = ++ let mb = ++ {pmb_name = mkloc loc s; pmb_expr = me; pmb_attributes = []; ++ pmb_loc = loc} ++ in ++ Pstr_module mb ++;; ++ ++let ocaml_pstr_open loc li = ++ Pstr_open ++ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; ++ popen_attributes = []} ++;; ++ ++let ocaml_pstr_primitive s vd = Pstr_primitive vd;; ++ ++let ocaml_pstr_recmodule = ++ let f nel = ++ Pstr_recmodule ++ (List.map ++ (fun (s, mt, me) -> ++ {pmb_name = mknoloc s; pmb_expr = me; pmb_attributes = []; ++ pmb_loc = loc_none}) ++ nel) ++ in ++ Some f ++;; ++ ++let ocaml_pstr_type stl = ++ let stl = List.map (fun (s, t) -> t) stl in Pstr_type stl ++;; ++ ++let ocaml_class_infos = ++ Some ++ (fun virt (sl, sloc) name expr loc variance -> ++ let _ = ++ if List.length sl <> List.length variance then ++ failwith "internal error: ocaml_class_infos" ++ in ++ let params = ++ List.map2 ++ (fun os va -> ++ ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) ++ sl variance ++ in ++ {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; ++ pci_expr = expr; pci_loc = loc; pci_attributes = []}) ++;; ++ ++let ocaml_pmod_ident li = Pmod_ident (mknoloc li);; ++ ++let ocaml_pmod_functor s mt me = Pmod_functor (mknoloc s, Some mt, me);; ++ ++let ocaml_pmod_unpack : ('a -> 'b -> 'c, 'd) choice option = ++ Some (Right ((fun e -> Pmod_unpack e), (fun pt -> Ptyp_package pt))) ++;; ++ ++let ocaml_pcf_cstr = Some (fun (t1, t2, loc) -> Pcf_constraint (t1, t2));; ++ ++let ocaml_pcf_inher ce pb = Pcf_inherit (Fresh, ce, pb);; ++ ++let ocaml_pcf_init = Some (fun e -> Pcf_initializer e);; ++ ++let ocaml_pcf_meth (s, pf, ovf, e, loc) = ++ let pf = if pf then Private else Public in ++ let ovf = if ovf then Override else Fresh in ++ Pcf_method (mkloc loc s, pf, Cfk_concrete (ovf, e)) ++;; ++ ++let ocaml_pcf_val (s, mf, ovf, e, loc) = ++ let mf = if mf then Mutable else Immutable in ++ let ovf = if ovf then Override else Fresh in ++ Pcf_val (mkloc loc s, mf, Cfk_concrete (ovf, e)) ++;; ++ ++let ocaml_pcf_valvirt = ++ let ocaml_pcf (s, mf, t, loc) = ++ let mf = if mf then Mutable else Immutable in ++ Pcf_val (mkloc loc s, mf, Cfk_virtual t) ++ in ++ Some ocaml_pcf ++;; ++ ++let ocaml_pcf_virt (s, pf, t, loc) = ++ Pcf_val (mkloc loc s, Immutable, Cfk_virtual t) ++;; ++ ++let ocaml_pcl_apply = Some (fun ce lel -> Pcl_apply (ce, lel));; ++ ++let ocaml_pcl_constr = Some (fun li ctl -> Pcl_constr (mknoloc li, ctl));; ++ ++let ocaml_pcl_constraint = Some (fun ce ct -> Pcl_constraint (ce, ct));; ++ ++let ocaml_pcl_fun = Some (fun lab ceo p ce -> Pcl_fun (lab, ceo, p, ce));; ++ ++let ocaml_pcl_let = Some (fun rf pel ce -> Pcl_let (rf, pel, ce));; ++ ++let ocaml_pcl_structure = Some (fun cs -> Pcl_structure cs);; ++ ++let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_constraint (t1, t2));; ++ ++let ocaml_pctf_inher ct = Pctf_inherit ct;; ++ ++let ocaml_pctf_meth (s, pf, t, loc) = Pctf_method (s, pf, Concrete, t);; ++ ++let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; ++ ++let ocaml_pctf_virt (s, pf, t, loc) = Pctf_val (s, Immutable, Virtual, t);; ++ ++let ocaml_pcty_constr = Some (fun li ltl -> Pcty_constr (mknoloc li, ltl));; ++ ++let ocaml_pcty_fun = Some (fun lab t ct -> Pcty_arrow (lab, t, ct));; ++ ++let ocaml_pcty_signature = ++ let f (t, ctfl) = ++ let cs = {pcsig_self = t; pcsig_fields = ctfl} in Pcty_signature cs ++ in ++ Some f ++;; ++ ++let ocaml_pdir_bool = Some (fun b -> Pdir_bool b);; ++ ++let ocaml_pwith_modsubst = ++ Some (fun loc me -> Pwith_modsubst (mkloc loc "", mkloc loc me)) ++;; ++ ++let ocaml_pwith_type loc (i, td) = Pwith_type (mkloc loc i, td);; ++ ++let ocaml_pwith_module loc me = ++ Pwith_module (mkloc loc (Lident ""), mkloc loc me) ++;; ++ ++let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; ++ ++let module_prefix_can_be_in_first_record_label_only = true;; ++ ++let split_or_patterns_with_bindings = false;; ++ ++let has_records_with_with = true;; ++ ++(* *) ++ ++let jocaml_pstr_def : (_ -> _) option = None;; ++ ++let jocaml_pexp_def : (_ -> _ -> _) option = None;; ++ ++let jocaml_pexp_par : (_ -> _ -> _) option = None;; ++ ++let jocaml_pexp_reply : (_ -> _ -> _ -> _) option = None;; ++ ++let jocaml_pexp_spawn : (_ -> _) option = None;; ++ ++let arg_rest = ++ function ++ Arg.Rest r -> Some r ++ | _ -> None ++;; ++ ++let arg_set_string = ++ function ++ Arg.Set_string r -> Some r ++ | _ -> None ++;; ++ ++let arg_set_int = ++ function ++ Arg.Set_int r -> Some r ++ | _ -> None ++;; ++ ++let arg_set_float = ++ function ++ Arg.Set_float r -> Some r ++ | _ -> None ++;; ++ ++let arg_symbol = ++ function ++ Arg.Symbol (s, f) -> Some (s, f) ++ | _ -> None ++;; ++ ++let arg_tuple = ++ function ++ Arg.Tuple t -> Some t ++ | _ -> None ++;; ++ ++let arg_bool = ++ function ++ Arg.Bool f -> Some f ++ | _ -> None ++;; ++ ++let char_escaped = Char.escaped;; ++ ++let hashtbl_mem = Hashtbl.mem;; ++ ++let list_rev_append = List.rev_append;; ++ ++let list_rev_map = List.rev_map;; ++ ++let list_sort = List.sort;; ++ ++let pervasives_set_binary_mode_out = Pervasives.set_binary_mode_out;; ++ ++let printf_ksprintf = Printf.ksprintf;; ++ ++let string_contains = String.contains;; ++ ++let string_create = Bytes.create;; ++ ++let string_unsafe_set = Bytes.unsafe_set;; ++ ++let string_set = Bytes.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.03.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.03.0.ml +--- camlp5-6.11/ocaml_src/lib/versdep/4.03.0.ml 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.03.0.ml 2014-08-01 10:14:54.309065434 +0100 +@@ -0,0 +1,657 @@ ++(* camlp5r pa_macro.cmo *) ++(* versdep.ml,v *) ++(* Copyright (c) INRIA 2007-2012 *) ++ ++open Parsetree;; ++open Longident;; ++open Asttypes;; ++ ++type ('a, 'b) choice = ++ Left of 'a ++ | Right of 'b ++;; ++ ++let sys_ocaml_version = Sys.ocaml_version;; ++ ++let ocaml_location (fname, lnum, bolp, lnuml, bolpl, bp, ep) = ++ let loc_at n lnum bolp = ++ {Lexing.pos_fname = if lnum = -1 then "" else fname; ++ Lexing.pos_lnum = lnum; Lexing.pos_bol = bolp; Lexing.pos_cnum = n} ++ in ++ {Location.loc_start = loc_at bp lnum bolp; ++ Location.loc_end = loc_at ep lnuml bolpl; ++ Location.loc_ghost = bp = 0 && ep = 0} ++;; ++ ++let loc_none = ++ let loc = ++ {Lexing.pos_fname = "_none_"; Lexing.pos_lnum = 1; Lexing.pos_bol = 0; ++ Lexing.pos_cnum = -1} ++ in ++ {Location.loc_start = loc; Location.loc_end = loc; ++ Location.loc_ghost = true} ++;; ++ ++let mkloc loc txt = {Location.txt = txt; Location.loc = loc};; ++let mknoloc txt = mkloc loc_none txt;; ++ ++let ocaml_id_or_li_of_string_list loc sl = ++ let mkli s = ++ let rec loop f = ++ function ++ i :: il -> loop (fun s -> Ldot (f i, s)) il ++ | [] -> f s ++ in ++ loop (fun s -> Lident s) ++ in ++ match List.rev sl with ++ [] -> None ++ | s :: sl -> Some (mkli s (List.rev sl)) ++;; ++ ++let list_map_check f l = ++ let rec loop rev_l = ++ function ++ x :: l -> ++ begin match f x with ++ Some s -> loop (s :: rev_l) l ++ | None -> None ++ end ++ | [] -> Some (List.rev rev_l) ++ in ++ loop [] l ++;; ++ ++let ocaml_value_description vn t p = ++ {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc; ++ pval_name = mkloc t.ptyp_loc vn; pval_attributes = []} ++;; ++ ++let ocaml_class_type_field loc ctfd = ++ {pctf_desc = ctfd; pctf_loc = loc; pctf_attributes = []} ++;; ++ ++let ocaml_class_field loc cfd = ++ {pcf_desc = cfd; pcf_loc = loc; pcf_attributes = []} ++;; ++ ++let ocaml_mktyp loc x = ++ {ptyp_desc = x; ptyp_loc = loc; ptyp_attributes = []} ++;; ++let ocaml_mkpat loc x = ++ {ppat_desc = x; ppat_loc = loc; ppat_attributes = []} ++;; ++let ocaml_mkexp loc x = ++ {pexp_desc = x; pexp_loc = loc; pexp_attributes = []} ++;; ++let ocaml_mkmty loc x = ++ {pmty_desc = x; pmty_loc = loc; pmty_attributes = []} ++;; ++let ocaml_mkmod loc x = ++ {pmod_desc = x; pmod_loc = loc; pmod_attributes = []} ++;; ++let ocaml_mkfield loc (lab, x) fl = (lab, x) :: fl;; ++let ocaml_mkfield_var loc = [];; ++ ++let variance_of_bool_bool = ++ function ++ false, true -> Contravariant ++ | true, false -> Covariant ++ | _ -> Invariant ++;; ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = ++ match list_map_check (fun s_opt -> s_opt) params with ++ Some params -> ++ let _ = ++ if List.length params <> List.length variance then ++ failwith "internal error: ocaml_type_declaration" ++ in ++ let params = ++ List.map2 ++ (fun os va -> ++ ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) ++ params variance ++ in ++ Right ++ {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; ++ ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; ++ ptype_name = mkloc loc tn; ptype_attributes = []} ++ | None -> Left "no '_' type param in this ocaml version" ++;; ++ ++let ocaml_class_type = ++ Some (fun d loc -> {pcty_desc = d; pcty_loc = loc; pcty_attributes = []}) ++;; ++ ++let ocaml_class_expr = ++ Some (fun d loc -> {pcl_desc = d; pcl_loc = loc; pcl_attributes = []}) ++;; ++ ++let ocaml_class_structure p cil = {pcstr_self = p; pcstr_fields = cil};; ++ ++let ocaml_pmty_ident loc li = Pmty_ident (mkloc loc li);; ++ ++let ocaml_pmty_functor sloc s mt1 mt2 = ++ Pmty_functor (mkloc sloc s, Some mt1, mt2) ++;; ++ ++let ocaml_pmty_typeof = Some (fun me -> Pmty_typeof me);; ++ ++let ocaml_pmty_with mt lcl = ++ let lcl = List.map snd lcl in Pmty_with (mt, lcl) ++;; ++ ++let ocaml_ptype_abstract = Ptype_abstract;; ++ ++let ocaml_ptype_record ltl priv = ++ Ptype_record ++ (List.map ++ (fun (s, mf, ct, loc) -> ++ {pld_name = mkloc loc s; pld_mutable = mf; pld_type = ct; ++ pld_loc = loc; pld_attributes = []}) ++ ltl) ++;; ++ ++let ocaml_ptype_variant ctl priv = ++ try ++ let ctl = ++ List.map ++ (fun (c, tl, rto, loc) -> ++ if rto <> None then raise Exit ++ else ++ {pcd_name = mkloc loc c; pcd_args = tl; pcd_res = None; ++ pcd_loc = loc; pcd_attributes = []}) ++ ctl ++ in ++ Some (Ptype_variant ctl) ++ with Exit -> None ++;; ++ ++let ocaml_ptyp_arrow lab t1 t2 = Ptyp_arrow (lab, t1, t2);; ++ ++let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl);; ++ ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = ++ let ml = List.map (fun (s, t) -> s, [], t) ml in Ptyp_object (ml, Closed) ++;; ++ ++let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; ++ ++let ocaml_ptyp_poly = ++ Some ++ (fun cl t -> ++ match cl with ++ [] -> t.ptyp_desc ++ | _ -> Ptyp_poly (cl, t)) ++;; ++ ++let ocaml_ptyp_variant catl clos sl_opt = ++ let catl = ++ List.map ++ (function ++ Left (c, a, tl) -> Rtag (c, [], a, tl) ++ | Right t -> Rinherit t) ++ catl ++ in ++ let clos = if clos then Closed else Open in ++ Some (Ptyp_variant (catl, clos, sl_opt)) ++;; ++ ++let ocaml_package_type li ltl = ++ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ++;; ++ ++let ocaml_const_string s = Const_string (s, None);; ++ ++let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; ++ ++let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; ++ ++let ocaml_const_nativeint = ++ Some (fun s -> Const_nativeint (Nativeint.of_string s)) ++;; ++ ++let ocaml_pexp_apply f lel = Pexp_apply (f, lel);; ++ ++let ocaml_pexp_assertfalse fname loc = ++ Pexp_assert ++ (ocaml_mkexp loc (Pexp_construct (mkloc loc (Lident "false"), None))) ++;; ++ ++let ocaml_pexp_assert fname loc e = Pexp_assert e;; ++ ++let ocaml_pexp_constraint e ot1 ot2 = ++ match ot2 with ++ Some t2 -> Pexp_coerce (e, ot1, t2) ++ | None -> ++ match ot1 with ++ Some t1 -> Pexp_constraint (e, t1) ++ | None -> failwith "internal error: ocaml_pexp_constraint" ++;; ++ ++let ocaml_pexp_construct loc li po chk_arity = ++ Pexp_construct (mkloc loc li, po) ++;; ++ ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po) -> Some (li.txt, li.loc, po, 0) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ {pexp_desc = ocaml_pexp_construct li_loc li (Some a) true; pexp_loc = loc; ++ pexp_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} ++;; ++ ++let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; ++ ++let ocaml_pexp_for i e1 e2 df e = ++ Pexp_for (ocaml_mkpat loc_none (Ppat_var (mknoloc i)), e1, e2, df, e) ++;; ++ ++let ocaml_case (p, wo, loc, e) = {pc_lhs = p; pc_guard = wo; pc_rhs = e};; ++ ++let ocaml_pexp_function lab eo pel = ++ match pel with ++ [{pc_lhs = p; pc_guard = None; pc_rhs = e}] -> Pexp_fun (lab, eo, p, e) ++ | pel -> ++ if lab = "" && eo = None then Pexp_function pel ++ else failwith "internal error: bad ast in ocaml_pexp_function" ++;; ++ ++let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; ++ ++let ocaml_pexp_ident li = Pexp_ident (mknoloc li);; ++ ++let ocaml_pexp_letmodule = ++ Some (fun i me e -> Pexp_letmodule (mknoloc i, me, e)) ++;; ++ ++let ocaml_pexp_new loc li = Pexp_new (mkloc loc li);; ++ ++let ocaml_pexp_newtype = Some (fun s e -> Pexp_newtype (s, e));; ++ ++let ocaml_pexp_object = Some (fun cs -> Pexp_object cs);; ++ ++let ocaml_pexp_open = Some (fun li e -> Pexp_open (Fresh, mknoloc li, e));; ++ ++let ocaml_pexp_override sel = ++ let sel = List.map (fun (s, e) -> mknoloc s, e) sel in Pexp_override sel ++;; ++ ++let ocaml_pexp_pack : ('a -> 'b -> 'c, 'd) choice option = ++ Some (Right ((fun me -> Pexp_pack me), (fun pt -> Ptyp_package pt))) ++;; ++ ++let ocaml_pexp_poly = Some (fun e t -> Pexp_poly (e, t));; ++ ++let ocaml_pexp_record lel eo = ++ let lel = List.map (fun (li, loc, e) -> mkloc loc li, e) lel in ++ Pexp_record (lel, eo) ++;; ++ ++let ocaml_pexp_setinstvar s e = Pexp_setinstvar (mknoloc s, e);; ++ ++let ocaml_pexp_variant = ++ let pexp_variant_pat = ++ function ++ Pexp_variant (lab, eo) -> Some (lab, eo) ++ | _ -> None ++ in ++ let pexp_variant (lab, eo) = Pexp_variant (lab, eo) in ++ Some (pexp_variant_pat, pexp_variant) ++;; ++ ++let ocaml_value_binding loc p e = ++ {pvb_pat = p; pvb_expr = e; pvb_loc = loc; pvb_attributes = []} ++;; ++ ++let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; ++ ++let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; ++ ++let ocaml_ppat_construct loc li po chk_arity = ++ Ppat_construct (mkloc loc li, po) ++;; ++ ++let ocaml_ppat_construct_args = ++ function ++ Ppat_construct (li, po) -> Some (li.txt, li.loc, po, 0) ++ | _ -> None ++;; ++ ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ {ppat_desc = ocaml_ppat_construct li_loc li (Some a) true; ppat_loc = loc; ++ ppat_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} ++;; ++ ++let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ++ ++let ocaml_ppat_record lpl is_closed = ++ let lpl = List.map (fun (li, loc, p) -> mkloc loc li, p) lpl in ++ Ppat_record (lpl, (if is_closed then Closed else Open)) ++;; ++ ++let ocaml_ppat_type = Some (fun loc li -> Ppat_type (mkloc loc li));; ++ ++let ocaml_ppat_unpack = ++ Some ((fun loc s -> Ppat_unpack (mkloc loc s)), (fun pt -> Ptyp_package pt)) ++;; ++ ++let ocaml_ppat_var loc s = Ppat_var (mkloc loc s);; ++ ++let ocaml_ppat_variant = ++ let ppat_variant_pat = ++ function ++ Ppat_variant (lab, po) -> Some (lab, po) ++ | _ -> None ++ in ++ let ppat_variant (lab, po) = Ppat_variant (lab, po) in ++ Some (ppat_variant_pat, ppat_variant) ++;; ++ ++let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; ++ ++let ocaml_psig_exception loc s ed = ++ Psig_exception ++ {pext_name = mkloc loc s; pext_kind = Pext_decl (ed, None); ++ pext_loc = loc; pext_attributes = []} ++;; ++ ++let ocaml_psig_include loc mt = ++ Psig_include {pincl_mod = mt; pincl_loc = loc; pincl_attributes = []} ++;; ++ ++let ocaml_psig_module loc s mt = ++ Psig_module ++ {pmd_name = mkloc loc s; pmd_type = mt; pmd_attributes = []; ++ pmd_loc = loc} ++;; ++ ++let ocaml_psig_modtype loc s mto = ++ let pmtd = ++ {pmtd_name = mkloc loc s; pmtd_type = mto; pmtd_attributes = []; ++ pmtd_loc = loc} ++ in ++ Psig_modtype pmtd ++;; ++ ++let ocaml_psig_open loc li = ++ Psig_open ++ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; ++ popen_attributes = []} ++;; ++ ++let ocaml_psig_recmodule = ++ let f ntl = ++ let ntl = ++ List.map ++ (fun (s, mt) -> ++ {pmd_name = mknoloc s; pmd_type = mt; pmd_attributes = []; ++ pmd_loc = loc_none}) ++ ntl ++ in ++ Psig_recmodule ntl ++ in ++ Some f ++;; ++ ++let ocaml_psig_type stl = ++ let stl = List.map (fun (s, t) -> t) stl in Psig_type stl ++;; ++ ++let ocaml_psig_value s vd = Psig_value vd;; ++ ++let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; ++ ++let ocaml_pstr_eval e = Pstr_eval (e, []);; ++ ++let ocaml_pstr_exception loc s ed = ++ Pstr_exception ++ {pext_name = mkloc loc s; pext_kind = Pext_decl (ed, None); ++ pext_loc = loc; pext_attributes = []} ++;; ++ ++let ocaml_pstr_exn_rebind = ++ Some ++ (fun loc s li -> ++ Pstr_exception ++ {pext_name = mkloc loc s; pext_kind = Pext_rebind (mkloc loc li); ++ pext_loc = loc; pext_attributes = []}) ++;; ++ ++let ocaml_pstr_include = ++ Some ++ (fun loc me -> ++ Pstr_include {pincl_mod = me; pincl_loc = loc; pincl_attributes = []}) ++;; ++ ++let ocaml_pstr_modtype loc s mt = ++ let pmtd = ++ {pmtd_name = mkloc loc s; pmtd_type = Some mt; pmtd_attributes = []; ++ pmtd_loc = loc} ++ in ++ Pstr_modtype pmtd ++;; ++ ++let ocaml_pstr_module loc s me = ++ let mb = ++ {pmb_name = mkloc loc s; pmb_expr = me; pmb_attributes = []; ++ pmb_loc = loc} ++ in ++ Pstr_module mb ++;; ++ ++let ocaml_pstr_open loc li = ++ Pstr_open ++ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; ++ popen_attributes = []} ++;; ++ ++let ocaml_pstr_primitive s vd = Pstr_primitive vd;; ++ ++let ocaml_pstr_recmodule = ++ let f nel = ++ Pstr_recmodule ++ (List.map ++ (fun (s, mt, me) -> ++ {pmb_name = mknoloc s; pmb_expr = me; pmb_attributes = []; ++ pmb_loc = loc_none}) ++ nel) ++ in ++ Some f ++;; ++ ++let ocaml_pstr_type stl = ++ let stl = List.map (fun (s, t) -> t) stl in Pstr_type stl ++;; ++ ++let ocaml_class_infos = ++ Some ++ (fun virt (sl, sloc) name expr loc variance -> ++ let _ = ++ if List.length sl <> List.length variance then ++ failwith "internal error: ocaml_class_infos" ++ in ++ let params = ++ List.map2 ++ (fun os va -> ++ ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) ++ sl variance ++ in ++ {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; ++ pci_expr = expr; pci_loc = loc; pci_attributes = []}) ++;; ++ ++let ocaml_pmod_ident li = Pmod_ident (mknoloc li);; ++ ++let ocaml_pmod_functor s mt me = Pmod_functor (mknoloc s, Some mt, me);; ++ ++let ocaml_pmod_unpack : ('a -> 'b -> 'c, 'd) choice option = ++ Some (Right ((fun e -> Pmod_unpack e), (fun pt -> Ptyp_package pt))) ++;; ++ ++let ocaml_pcf_cstr = Some (fun (t1, t2, loc) -> Pcf_constraint (t1, t2));; ++ ++let ocaml_pcf_inher ce pb = Pcf_inherit (Fresh, ce, pb);; ++ ++let ocaml_pcf_init = Some (fun e -> Pcf_initializer e);; ++ ++let ocaml_pcf_meth (s, pf, ovf, e, loc) = ++ let pf = if pf then Private else Public in ++ let ovf = if ovf then Override else Fresh in ++ Pcf_method (mkloc loc s, pf, Cfk_concrete (ovf, e)) ++;; ++ ++let ocaml_pcf_val (s, mf, ovf, e, loc) = ++ let mf = if mf then Mutable else Immutable in ++ let ovf = if ovf then Override else Fresh in ++ Pcf_val (mkloc loc s, mf, Cfk_concrete (ovf, e)) ++;; ++ ++let ocaml_pcf_valvirt = ++ let ocaml_pcf (s, mf, t, loc) = ++ let mf = if mf then Mutable else Immutable in ++ Pcf_val (mkloc loc s, mf, Cfk_virtual t) ++ in ++ Some ocaml_pcf ++;; ++ ++let ocaml_pcf_virt (s, pf, t, loc) = ++ Pcf_val (mkloc loc s, Immutable, Cfk_virtual t) ++;; ++ ++let ocaml_pcl_apply = Some (fun ce lel -> Pcl_apply (ce, lel));; ++ ++let ocaml_pcl_constr = Some (fun li ctl -> Pcl_constr (mknoloc li, ctl));; ++ ++let ocaml_pcl_constraint = Some (fun ce ct -> Pcl_constraint (ce, ct));; ++ ++let ocaml_pcl_fun = Some (fun lab ceo p ce -> Pcl_fun (lab, ceo, p, ce));; ++ ++let ocaml_pcl_let = Some (fun rf pel ce -> Pcl_let (rf, pel, ce));; ++ ++let ocaml_pcl_structure = Some (fun cs -> Pcl_structure cs);; ++ ++let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_constraint (t1, t2));; ++ ++let ocaml_pctf_inher ct = Pctf_inherit ct;; ++ ++let ocaml_pctf_meth (s, pf, t, loc) = Pctf_method (s, pf, Concrete, t);; ++ ++let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; ++ ++let ocaml_pctf_virt (s, pf, t, loc) = Pctf_val (s, Immutable, Virtual, t);; ++ ++let ocaml_pcty_constr = Some (fun li ltl -> Pcty_constr (mknoloc li, ltl));; ++ ++let ocaml_pcty_fun = Some (fun lab t ct -> Pcty_arrow (lab, t, ct));; ++ ++let ocaml_pcty_signature = ++ let f (t, ctfl) = ++ let cs = {pcsig_self = t; pcsig_fields = ctfl} in Pcty_signature cs ++ in ++ Some f ++;; ++ ++let ocaml_pdir_bool = Some (fun b -> Pdir_bool b);; ++ ++let ocaml_pwith_modsubst = ++ Some (fun loc me -> Pwith_modsubst (mkloc loc "", mkloc loc me)) ++;; ++ ++let ocaml_pwith_type loc (i, td) = Pwith_type (mkloc loc i, td);; ++ ++let ocaml_pwith_module loc me = ++ Pwith_module (mkloc loc (Lident ""), mkloc loc me) ++;; ++ ++let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; ++ ++let module_prefix_can_be_in_first_record_label_only = true;; ++ ++let split_or_patterns_with_bindings = false;; ++ ++let has_records_with_with = true;; ++ ++(* *) ++ ++let jocaml_pstr_def : (_ -> _) option = None;; ++ ++let jocaml_pexp_def : (_ -> _ -> _) option = None;; ++ ++let jocaml_pexp_par : (_ -> _ -> _) option = None;; ++ ++let jocaml_pexp_reply : (_ -> _ -> _ -> _) option = None;; ++ ++let jocaml_pexp_spawn : (_ -> _) option = None;; ++ ++let arg_rest = ++ function ++ Arg.Rest r -> Some r ++ | _ -> None ++;; ++ ++let arg_set_string = ++ function ++ Arg.Set_string r -> Some r ++ | _ -> None ++;; ++ ++let arg_set_int = ++ function ++ Arg.Set_int r -> Some r ++ | _ -> None ++;; ++ ++let arg_set_float = ++ function ++ Arg.Set_float r -> Some r ++ | _ -> None ++;; ++ ++let arg_symbol = ++ function ++ Arg.Symbol (s, f) -> Some (s, f) ++ | _ -> None ++;; ++ ++let arg_tuple = ++ function ++ Arg.Tuple t -> Some t ++ | _ -> None ++;; ++ ++let arg_bool = ++ function ++ Arg.Bool f -> Some f ++ | _ -> None ++;; ++ ++let char_escaped = Char.escaped;; ++ ++let hashtbl_mem = Hashtbl.mem;; ++ ++let list_rev_append = List.rev_append;; ++ ++let list_rev_map = List.rev_map;; ++ ++let list_sort = List.sort;; ++ ++let pervasives_set_binary_mode_out = Pervasives.set_binary_mode_out;; ++ ++let printf_ksprintf = Printf.ksprintf;; ++ ++let string_contains = String.contains;; ++ ++let string_create = Bytes.create;; ++ ++let string_unsafe_set = Bytes.unsafe_set;; ++ ++let string_set = Bytes.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.12.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.12.0.ml +--- camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.12.0.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.12.0.ml 2014-08-01 10:14:54.310065435 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -101,7 +113,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; + +@@ -122,6 +136,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -136,14 +152,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -187,11 +222,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -201,6 +238,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -226,13 +268,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -250,19 +301,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -323,6 +376,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -341,6 +396,8 @@ + Some (fun loc me -> Pwith_modsubst (mkloc loc me)) + ;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; +@@ -442,3 +499,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.12.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.12.1.ml +--- camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.12.1.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.12.1.ml 2014-08-01 10:14:54.310065435 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -101,7 +113,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; + +@@ -122,6 +136,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -136,14 +152,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -187,11 +222,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -201,6 +238,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -226,13 +268,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -250,19 +301,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -323,6 +376,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -341,6 +396,8 @@ + Some (fun loc me -> Pwith_modsubst (mkloc loc me)) + ;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; +@@ -442,3 +499,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.13.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.13.0.ml +--- camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.13.0.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.13.0.ml 2014-08-01 10:14:54.310065435 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* versdep.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Parsetree;; +@@ -47,13 +47,25 @@ + loop [] l + ;; + +-let ocaml_value_description t p = {pval_type = t; pval_prim = p};; ++let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; + + let ocaml_class_type_field loc ctfd = ctfd;; + + let ocaml_class_field loc cfd = cfd;; + +-let ocaml_type_declaration params cl tk pf tm loc variance = ++let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; ++let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; ++let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; ++let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; ++let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; ++let ocaml_mkfield loc (lab, x) fl = ++ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl ++;; ++let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; ++ ++(* *) ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + Right +@@ -101,7 +113,9 @@ + + let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +-let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object ml = Ptyp_object ml;; + + let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; + +@@ -122,6 +136,8 @@ + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl + ;; + ++let ocaml_const_string s = Const_string s;; ++ + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + + let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; +@@ -136,14 +152,33 @@ + + let ocaml_pexp_assert fname loc e = Pexp_assert e;; + ++let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; ++ + let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) + ;; + ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) ++;; ++ + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + + let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + ++let ocaml_case (p, wo, loc, e) = ++ match wo with ++ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) ++ | None -> p, e ++;; ++ + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + + let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; +@@ -189,11 +224,13 @@ + Some (pexp_variant_pat, pexp_variant) + ;; + ++let ocaml_value_binding loc p e = p, e;; ++ + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + + let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +-let ocaml_ppat_construct li li_loc po chk_arity = ++let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (li, po, chk_arity) + ;; + +@@ -203,6 +240,11 @@ + | _ -> None + ;; + ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) ++;; ++ + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + + let ocaml_ppat_record lpl is_closed = +@@ -228,13 +270,22 @@ + + let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +-let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; ++let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +-let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; ++let ocaml_psig_include loc mt = Psig_include mt;; + +-let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; ++let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; ++ ++let ocaml_psig_modtype loc s mto = ++ let mtd = ++ match mto with ++ None -> Pmodtype_abstract ++ | Some t -> Pmodtype_manifest t ++ in ++ Psig_modtype (mknoloc s, mtd) ++;; + +-let ocaml_psig_open li = Psig_open (mknoloc li);; ++let ocaml_psig_open loc li = Psig_open (mkloc loc li);; + + let ocaml_psig_recmodule = + let f ntl = +@@ -252,19 +303,21 @@ + + let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +-let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; ++let ocaml_pstr_eval e = Pstr_eval e;; ++ ++let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + + let ocaml_pstr_exn_rebind = +- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) ++ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) + ;; + +-let ocaml_pstr_include = Some (fun me -> Pstr_include me);; ++let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +-let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; ++let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +-let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; ++let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +-let ocaml_pstr_open li = Pstr_open (mknoloc li);; ++let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; + + let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +@@ -327,6 +380,8 @@ + + let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; + ++let ocaml_pctf_inher ct = Pctf_inher ct;; ++ + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; + + let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; +@@ -345,6 +400,8 @@ + Some (fun loc me -> Pwith_modsubst (mkloc loc me)) + ;; + ++let ocaml_pwith_type loc (i, td) = Pwith_type td;; ++ + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + + let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; +@@ -446,3 +503,9 @@ + let printf_ksprintf = Printf.ksprintf;; + + let string_contains = String.contains;; ++ ++let string_create = String.create;; ++ ++let string_unsafe_set = String.unsafe_set;; ++ ++let string_set = String.set;; +diff -urN camlp5-6.11/ocaml_src/main/argl.ml camlp5-6.12-63a8c30f/ocaml_src/main/argl.ml +--- camlp5-6.11/ocaml_src/main/argl.ml 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/argl.ml 2014-08-01 10:14:54.310065435 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* argl.ml,v *) + + open Printf;; + open Versdep;; +diff -urN camlp5-6.11/ocaml_src/main/argl.mli camlp5-6.12-63a8c30f/ocaml_src/main/argl.mli +--- camlp5-6.11/ocaml_src/main/argl.mli 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/argl.mli 2014-08-01 10:14:54.310065435 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* argl.mli,v *) + + val usage : + (string * Arg.spec * string) list -> (string * Arg.spec * string) list -> +diff -urN camlp5-6.11/ocaml_src/main/ast2pt.ml camlp5-6.12-63a8c30f/ocaml_src/main/ast2pt.ml +--- camlp5-6.11/ocaml_src/main/ast2pt.ml 2013-03-19 15:25:22.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/ast2pt.ml 2014-08-01 10:14:54.311065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* ast2pt.ml,v *) + + (* #load "q_MLast.cmo" *) + +@@ -64,14 +64,16 @@ + ocaml_location (!glob_fname, lnum, bolp, lnuml, bolpl, bp, ep) + ;; + +-let mktyp loc d = {ptyp_desc = d; ptyp_loc = mkloc loc};; +-let mkpat loc d = {ppat_desc = d; ppat_loc = mkloc loc};; +-let mkexp loc d = {pexp_desc = d; pexp_loc = mkloc loc};; +-let mkmty loc d = {pmty_desc = d; pmty_loc = mkloc loc};; ++let mktyp loc d = ocaml_mktyp (mkloc loc) d;; ++let mkpat loc d = ocaml_mkpat (mkloc loc) d;; ++let mkexp loc d = ocaml_mkexp (mkloc loc) d;; ++let mkmty loc d = ocaml_mkmty (mkloc loc) d;; + let mksig loc d = {psig_desc = d; psig_loc = mkloc loc};; +-let mkmod loc d = {pmod_desc = d; pmod_loc = mkloc loc};; ++let mkmod loc d = ocaml_mkmod (mkloc loc) d;; + let mkstr loc d = {pstr_desc = d; pstr_loc = mkloc loc};; +-let mkfield loc d = {pfield_desc = d; pfield_loc = mkloc loc};; ++let mkfield loc d fl = ocaml_mkfield (mkloc loc) d fl;; ++let mkfield_var loc = ocaml_mkfield_var (mkloc loc);; ++ + let mkcty loc d = + match ocaml_class_type with + Some class_type -> class_type d (mkloc loc) +@@ -89,9 +91,10 @@ + let ghpat = mkpat loc in + let ghexp = mkexp loc in + let void_pat = +- ghpat (ocaml_ppat_construct (Lident "()") (mkloc loc) None false) ++ ghpat (ocaml_ppat_construct (mkloc loc) (Lident "()") None false) + in +- let f = ghexp (ocaml_pexp_function "" None [void_pat, e]) in ++ let pwe = ocaml_case (void_pat, None, mkloc loc, e) in ++ let f = ghexp (ocaml_pexp_function "" None [pwe]) in + let delayed = Ldot (Lident "Lazy", "Delayed") in + let cloc = mkloc loc in + let df = ghexp (ocaml_pexp_construct cloc delayed (Some f) false) in +@@ -106,7 +109,7 @@ + let rec loop i j = + if i = String.length s then String.sub s 0 j + else if s.[i] = '_' then loop (i + 1) j +- else begin s.[j] <- s.[i]; loop (i + 1) (j + 1) end ++ else begin string_set s j s.[i]; loop (i + 1) (j + 1) end + in + loop 0 0 + | None -> s +@@ -255,7 +258,7 @@ + TyAcc (loc, _, _) as f -> + let (is_cls, li) = ctyp_long_id f in + if is_cls then mktyp loc (ocaml_ptyp_class li [] []) +- else mktyp loc (ocaml_ptyp_constr li []) ++ else mktyp loc (ocaml_ptyp_constr (mkloc loc) li []) + | TyAli (loc, t1, t2) -> + let (t, i) = + match t1, t2 with +@@ -269,7 +272,7 @@ + let (f, al) = ctyp_fa [] f in + let (is_cls, li) = ctyp_long_id f in + if is_cls then mktyp loc (ocaml_ptyp_class li (List.map ctyp al) []) +- else mktyp loc (ocaml_ptyp_constr li (List.map ctyp al)) ++ else mktyp loc (ocaml_ptyp_constr (mkloc loc) li (List.map ctyp al)) + | TyArr (loc, TyLab (loc1, lab, t1), t2) -> + mktyp loc (ocaml_ptyp_arrow (uv lab) (ctyp t1) (ctyp t2)) + | TyArr (loc, TyOlb (loc1, lab, t1), t2) -> +@@ -278,11 +281,13 @@ + in + mktyp loc (ocaml_ptyp_arrow ("?" ^ uv lab) (ctyp t1) (ctyp t2)) + | TyArr (loc, t1, t2) -> mktyp loc (ocaml_ptyp_arrow "" (ctyp t1) (ctyp t2)) +- | TyObj (loc, fl, v) -> mktyp loc (Ptyp_object (meth_list loc (uv fl) v)) ++ | TyObj (loc, fl, v) -> ++ mktyp loc (ocaml_ptyp_object (meth_list loc (uv fl) v)) + | TyCls (loc, id) -> + mktyp loc (ocaml_ptyp_class (long_id_of_string_list loc (uv id)) [] []) + | TyLab (loc, _, _) -> error loc "labeled type not allowed here" +- | TyLid (loc, s) -> mktyp loc (ocaml_ptyp_constr (Lident (uv s)) []) ++ | TyLid (loc, s) -> ++ mktyp loc (ocaml_ptyp_constr (mkloc loc) (Lident (uv s)) []) + | TyMan (loc, _, _, _) -> error loc "type manifest not allowed here" + | TyOlb (loc, lab, _) -> error loc "labeled type not allowed here" + | TyPck (loc, mt) -> +@@ -302,7 +307,8 @@ + | TyRec (loc, _) -> error loc "record type not allowed here" + | TySum (loc, _) -> error loc "sum type not allowed here" + | TyTup (loc, tl) -> mktyp loc (Ptyp_tuple (List.map ctyp (uv tl))) +- | TyUid (loc, s) -> mktyp loc (ocaml_ptyp_constr (Lident (uv s)) []) ++ | TyUid (loc, s) -> ++ mktyp loc (ocaml_ptyp_constr (mkloc loc) (Lident (uv s)) []) + | TyVrn (loc, catl, ool) -> + let catl = + List.map +@@ -326,9 +332,8 @@ + | TyXtr (loc, _, _) -> error loc "bad ast TyXtr" + and meth_list loc fl v = + match fl with +- [] -> if uv v then [mkfield loc Pfield_var] else [] +- | (lab, t) :: fl -> +- mkfield loc (Pfield (lab, add_polytype t)) :: meth_list loc fl v ++ [] -> if uv v then mkfield_var loc else [] ++ | (lab, t) :: fl -> mkfield loc (lab, add_polytype t) (meth_list loc fl v) + and add_polytype t = + match ocaml_ptyp_poly with + Some ptyp_poly -> +@@ -379,11 +384,11 @@ + | None -> false, false + ;; + +-let mktype loc tl cl tk pf tm = ++let mktype loc tn tl cl tk pf tm = + let (params, var_list) = List.split tl in + let variance = List.map variance_of_var var_list in + let params = List.map uv params in +- match ocaml_type_declaration params cl tk pf tm (mkloc loc) variance with ++ match ocaml_type_declaration tn params cl tk pf tm (mkloc loc) variance with + Right td -> td + | Left msg -> error loc msg + ;; +@@ -421,17 +426,18 @@ + | None -> error loc "no generalized data types in this ocaml version" + ;; + +-let type_decl tl priv cl = ++let type_decl tn tl priv cl = + function + TyMan (loc, t, pf, MLast.TyRec (_, ltl)) -> + let priv = if uv pf then Private else Public in +- mktype loc tl cl (mktrecord ltl (uv pf)) priv (Some (ctyp t)) ++ mktype loc tn tl cl (mktrecord ltl (uv pf)) priv (Some (ctyp t)) + | TyMan (loc, t, pf, MLast.TySum (_, ctl)) -> + let priv = if uv pf then Private else Public in +- mktype loc tl cl (mktvariant loc ctl (uv pf)) priv (Some (ctyp t)) +- | TyRec (loc, ltl) -> mktype loc tl cl (mktrecord (uv ltl) false) priv None ++ mktype loc tn tl cl (mktvariant loc ctl (uv pf)) priv (Some (ctyp t)) ++ | TyRec (loc, ltl) -> ++ mktype loc tn tl cl (mktrecord (uv ltl) false) priv None + | TySum (loc, ctl) -> +- mktype loc tl cl (mktvariant loc (uv ctl) false) priv None ++ mktype loc tn tl cl (mktvariant loc (uv ctl) false) priv None + | t -> + let m = + match t with +@@ -440,10 +446,10 @@ + else None + | _ -> Some (ctyp t) + in +- mktype (loc_of_ctyp t) tl cl Ptype_abstract priv m ++ mktype (loc_of_ctyp t) tn tl cl Ptype_abstract priv m + ;; + +-let mkvalue_desc t p = ocaml_value_description (ctyp t) p;; ++let mkvalue_desc vn t p = ocaml_value_description vn (ctyp t) p;; + + let option f = + function +@@ -469,14 +475,14 @@ + | t -> error (loc_of_module_expr t) "bad module expr long ident" + ;; + +-let type_decl_of_with_type loc tpl pf ct = ++let type_decl_of_with_type loc tn tpl pf ct = + let (params, var_list) = List.split (uv tpl) in + let variance = List.map variance_of_var var_list in + let params = List.map uv params in + let ct = Some (ctyp ct) in + let tk = if pf then ocaml_ptype_abstract else Ptype_abstract in + let pf = if pf then Private else Public in +- ocaml_type_declaration params [] tk pf ct (mkloc loc) variance ++ ocaml_type_declaration tn params [] tk pf ct (mkloc loc) variance + ;; + + let mkwithc = +@@ -492,14 +498,15 @@ + | None -> error loc "no with module := in this ocaml version" + end + | WcTyp (loc, id, tpl, pf, ct) -> +- begin match type_decl_of_with_type loc tpl (uv pf) ct with +- Right td -> long_id_of_string_list loc (uv id), Pwith_type td ++ let li = long_id_of_string_list loc (uv id) in ++ begin match type_decl_of_with_type loc "" tpl (uv pf) ct with ++ Right td -> li, ocaml_pwith_type (mkloc loc) (li, td) + | Left msg -> error loc msg + end + | WcTys (loc, id, tpl, t) -> + match ocaml_pwith_typesubst with + Some pwith_typesubst -> +- begin match type_decl_of_with_type loc tpl false t with ++ begin match type_decl_of_with_type loc "" tpl false t with + Right td -> + let li = long_id_of_string_list loc (uv id) in + li, pwith_typesubst td +@@ -550,7 +557,7 @@ + MLast.PaUid (loc, i), il -> + begin match p2 with + MLast.PaUid (_, s) -> +- ocaml_ppat_construct (mkli (conv_con s) (i :: il)) (mkloc loc) ++ ocaml_ppat_construct (mkloc loc) (mkli (conv_con s) (i :: il)) + None (not !(Prtools.no_constructors_arity)) + | _ -> error (loc_of_patt p2) "bad access pattern" + end +@@ -579,10 +586,8 @@ + [a] -> a + | _ -> mkpat loc (Ppat_tuple al) + in +- mkpat loc (ocaml_ppat_construct li li_loc (Some a) false) +- else +- let a = mkpat loc (Ppat_tuple al) in +- mkpat loc (ocaml_ppat_construct li li_loc (Some a) true) ++ mkpat loc (ocaml_ppat_construct li_loc li (Some a) false) ++ else mkpat_ocaml_ppat_construct_arity (mkloc loc) li_loc li al + | Some _ | None -> + match ocaml_ppat_variant with + Some (ppat_variant_pat, ppat_variant) -> +@@ -642,7 +647,8 @@ + mkpat loc (ocaml_ppat_record (List.map mklabpat lpl) is_closed) + | PaStr (loc, s) -> + mkpat loc +- (Ppat_constant (Const_string (string_of_string_token loc (uv s)))) ++ (Ppat_constant ++ (ocaml_const_string (string_of_string_token loc (uv s)))) + | PaTup (loc, pl) -> mkpat loc (Ppat_tuple (List.map patt (uv pl))) + | PaTyc (loc, p, t) -> mkpat loc (Ppat_constraint (patt p, ctyp t)) + | PaTyp (loc, sl) -> +@@ -655,7 +661,7 @@ + | PaUid (loc, s) -> + let ca = not !(Prtools.no_constructors_arity) in + mkpat loc +- (ocaml_ppat_construct (Lident (conv_con (uv s))) (mkloc loc) None ca) ++ (ocaml_ppat_construct (mkloc loc) (Lident (conv_con (uv s))) None ca) + | PaUnp (loc, s, mto) -> + begin match ocaml_ppat_unpack with + Some (ppat_unpack, ptyp_package) -> +@@ -947,8 +953,8 @@ + | _ -> f + in + let al = List.rev (List.fold_left label_expr [] al) in +- begin match (expr f).pexp_desc with +- Pexp_construct (li, None, _) -> ++ begin match ocaml_pexp_construct_args (expr f).pexp_desc with ++ Some (li, li_loc, None, _) -> + let al = List.map snd al in + if !(Prtools.no_constructors_arity) then + let a = +@@ -956,11 +962,10 @@ + [a] -> a + | _ -> mkexp loc (Pexp_tuple al) + in +- mkexp loc (Pexp_construct (li, Some a, false)) +- else +- let a = mkexp loc (Pexp_tuple al) in +- mkexp loc (Pexp_construct (li, Some a, true)) +- | e -> ++ mkexp loc (ocaml_pexp_construct li_loc li (Some a) false) ++ else mkexp_ocaml_pexp_construct_arity (mkloc loc) li_loc li al ++ | Some _ | None -> ++ let e = (expr f).pexp_desc in + match ocaml_pexp_variant with + Some (pexp_variant_pat, pexp_variant) -> + begin match pexp_variant_pat e with +@@ -1024,7 +1029,8 @@ + | ExChr (loc, s) -> + mkexp loc (Pexp_constant (Const_char (char_of_char_token loc (uv s)))) + | ExCoe (loc, e, t1, t2) -> +- mkexp loc (Pexp_constraint (expr e, option ctyp t1, Some (ctyp t2))) ++ mkexp loc ++ (ocaml_pexp_constraint (expr e) (option ctyp t1) (Some (ctyp t2))) + | ExFlo (loc, s) -> mkexp loc (Pexp_constant (Const_float (uv s))) + | ExFor (loc, i, e1, e2, df, el) -> + let e3 = MLast.ExSeq (loc, uv el) in +@@ -1033,16 +1039,17 @@ + | ExFun (loc, pel) -> + begin match uv pel with + [PaLab (ploc, lppo), w, e] -> +- List.fold_right +- (fun (p, po) e -> +- let lab = label_of_patt p in +- let p = +- match uv po with +- Some p -> p +- | None -> p +- in +- mkexp loc (ocaml_pexp_function lab None [patt p, e])) +- (uv lppo) (when_expr e (uv w)) ++ begin match uv lppo with ++ [p, po] -> ++ let lab = label_of_patt p in ++ let p = ++ match uv po with ++ Some p -> p ++ | None -> p ++ in ++ mkexp loc (ocaml_pexp_function lab None [mkpwe (p, w, e)]) ++ | _ -> error loc "bad AST" ++ end + | [PaNty (loc, s), w, e] -> + begin match ocaml_pexp_newtype with + Some newtype -> +@@ -1061,7 +1068,7 @@ + in + mkexp loc + (ocaml_pexp_function ("?" ^ lab) (option expr (uv eo)) +- [patt p, when_expr e (uv w)]) ++ [mkpwe (p, w, e)]) + | pel -> + let pel = + if split_or_patterns_with_bindings then +@@ -1141,8 +1148,8 @@ + match mto with + Some mt -> + let pt = package_of_module_type loc mt in +- Pexp_constraint +- (mkexp loc e, Some (mktyp loc (ptyp_package pt)), None) ++ ocaml_pexp_constraint (mkexp loc e) ++ (Some (mktyp loc (ptyp_package pt))) None + | None -> e + in + mkexp loc e +@@ -1211,12 +1218,13 @@ + ["", expr e1; "", expr e2]) + | ExStr (loc, s) -> + mkexp loc +- (Pexp_constant (Const_string (string_of_string_token loc (uv s)))) ++ (Pexp_constant ++ (ocaml_const_string (string_of_string_token loc (uv s)))) + | ExTry (loc, e, pel) -> + mkexp loc (Pexp_try (expr e, List.map mkpwe (uv pel))) + | ExTup (loc, el) -> mkexp loc (Pexp_tuple (List.map expr (uv el))) + | ExTyc (loc, e, t) -> +- mkexp loc (Pexp_constraint (expr e, Some (ctyp t), None)) ++ mkexp loc (ocaml_pexp_constraint (expr e) (Some (ctyp t)) None) + | ExUid (loc, s) -> + let ca = not !(Prtools.no_constructors_arity) in + let cloc = mkloc loc in +@@ -1270,7 +1278,7 @@ + Some p -> patt p + | None -> + mkpat loc +- (ocaml_ppat_construct (Lident "()") (mkloc loc) None ++ (ocaml_ppat_construct (mkloc loc) (Lident "()") None + false) + in + mkloc locp, (mkloc loc, uv s), p) +@@ -1281,6 +1289,7 @@ + in + mkloc jc.jcLoc, jcval + and mkpe (p, e) = ++ let loc = Ploc.encl (loc_of_patt p) (loc_of_expr e) in + let (p, e) = + match e with + ExTyc (loc, e, (TyPol (_, _, _) as t)) -> PaTyc (loc, p, t), e +@@ -1293,7 +1302,7 @@ + expand_gadt_type loc p loc1 nt ct e + | p -> p, e + in +- patt p, expr e ++ ocaml_value_binding (mkloc loc) (patt p) (expr e) + and expand_gadt_type loc p loc1 nt ct e = + let nt = uv nt in + let e = MLast.ExTyc (loc, e, ct) in +@@ -1304,11 +1313,8 @@ + let ct = varify_constructors nt ct in + let tp = List.map (fun s -> "&" ^ s) nt in + let ct = MLast.TyPol (loc, tp, ct) in MLast.PaTyc (loc, p, ct), e +-and mkpwe (p, w, e) = patt p, when_expr e (uv w) +-and when_expr e = +- function +- Some w -> mkexp (loc_of_expr e) (Pexp_when (expr w, expr e)) +- | None -> expr e ++and mkpwe (p, w, e) = ++ ocaml_case (patt p, option expr (uv w), mkloc (loc_of_expr e), expr e) + and mklabexp (lab, e) = + patt_label_long_id lab, mkloc (loc_of_patt lab), expr e + and mkideexp (ide, e) = ide, expr e +@@ -1321,7 +1327,8 @@ + ctyp t1, ctyp t2, mkloc loc) + (uv td.tdCon) + in +- uv (snd (uv td.tdNam)), type_decl (uv td.tdPrm) priv cl td.tdDef ++ let tn = uv (snd (uv td.tdNam)) in ++ tn, type_decl tn (uv td.tdPrm) priv cl td.tdDef + and module_type = + function + MtAcc (loc, _, _) as f -> +@@ -1360,15 +1367,21 @@ + | SgDcl (loc, sl) -> List.fold_right sig_item (uv sl) l + | SgDir (loc, _, _) -> l + | SgExc (loc, n, tl) -> +- mksig loc (ocaml_psig_exception (uv n) (List.map ctyp (uv tl))) :: l ++ mksig loc ++ (ocaml_psig_exception (mkloc loc) (uv n) (List.map ctyp (uv tl))) :: ++ l + | SgExt (loc, n, t, p) -> +- mksig loc (ocaml_psig_value (uv n) (mkvalue_desc t (uv p))) :: l +- | SgInc (loc, mt) -> mksig loc (Psig_include (module_type mt)) :: l ++ let vn = uv n in ++ mksig loc (ocaml_psig_value vn (mkvalue_desc vn t (uv p))) :: l ++ | SgInc (loc, mt) -> ++ mksig loc (ocaml_psig_include (mkloc loc) (module_type mt)) :: l + | SgMod (loc, rf, ntl) -> + if not (uv rf) then + List.fold_right + (fun (n, mt) l -> +- mksig loc (ocaml_psig_module (uv n) (module_type mt)) :: l) ++ mksig loc ++ (ocaml_psig_module (mkloc loc) (uv n) (module_type mt)) :: ++ l) + (uv ntl) l + else + begin match ocaml_psig_recmodule with +@@ -1380,21 +1393,24 @@ + | None -> error loc "no recursive module in this ocaml version" + end + | SgMty (loc, n, mt) -> +- let si = ++ let mto = + match mt with +- MtQuo (_, _) -> Pmodtype_abstract +- | _ -> Pmodtype_manifest (module_type mt) ++ MtQuo (_, _) -> None ++ | _ -> Some (module_type mt) + in +- mksig loc (ocaml_psig_modtype (uv n) si) :: l ++ mksig loc (ocaml_psig_modtype (mkloc loc) (uv n) mto) :: l + | SgOpn (loc, id) -> +- mksig loc (ocaml_psig_open (long_id_of_string_list loc (uv id))) :: l ++ mksig loc ++ (ocaml_psig_open (mkloc loc) (long_id_of_string_list loc (uv id))) :: ++ l + | SgTyp (loc, tdl) -> + mksig loc (ocaml_psig_type (List.map mktype_decl (uv tdl))) :: l + | SgUse (loc, fn, sl) -> + Ploc.call_with glob_fname (uv fn) + (fun () -> List.fold_right (fun (si, _) -> sig_item si) (uv sl) l) () + | SgVal (loc, n, t) -> +- mksig loc (ocaml_psig_value (uv n) (mkvalue_desc t [])) :: l ++ let vn = uv n in ++ mksig loc (ocaml_psig_value vn (mkvalue_desc vn t [])) :: l + | SgXtr (loc, _, _) -> error loc "bad ast SgXtr" + and module_expr = + function +@@ -1424,7 +1440,7 @@ + Some mt -> + let pt = package_of_module_type loc mt in + let t = mktyp loc (ptyp_package pt) in +- mkexp loc (Pexp_constraint (expr e, Some t, None)) ++ mkexp loc (ocaml_pexp_constraint (expr e) (Some t) None) + | None -> expr e + in + mkmod loc (pmod_unpack e) +@@ -1455,29 +1471,33 @@ + | StExc (loc, n, tl, sl) -> + let si = + match uv tl, uv sl with +- tl, [] -> ocaml_pstr_exception (uv n) (List.map ctyp tl) ++ tl, [] -> ocaml_pstr_exception (mkloc loc) (uv n) (List.map ctyp tl) + | [], sl -> + begin match ocaml_pstr_exn_rebind with + Some pstr_exn_rebind -> +- pstr_exn_rebind (uv n) (long_id_of_string_list loc sl) ++ pstr_exn_rebind (mkloc loc) (uv n) ++ (long_id_of_string_list loc sl) + | None -> error loc "no exception renaming in this ocaml version" + end + | _ -> error loc "renamed exception should not have parameters" + in + mkstr loc si :: l +- | StExp (loc, e) -> mkstr loc (Pstr_eval (expr e)) :: l ++ | StExp (loc, e) -> mkstr loc (ocaml_pstr_eval (expr e)) :: l + | StExt (loc, n, t, p) -> +- mkstr loc (ocaml_pstr_primitive (uv n) (mkvalue_desc t (uv p))) :: l ++ let vn = uv n in ++ mkstr loc (ocaml_pstr_primitive vn (mkvalue_desc vn t (uv p))) :: l + | StInc (loc, me) -> + begin match ocaml_pstr_include with +- Some pstr_include -> mkstr loc (pstr_include (module_expr me)) :: l ++ Some pstr_include -> ++ mkstr loc (pstr_include (mkloc loc) (module_expr me)) :: l + | None -> error loc "no include in this ocaml version" + end + | StMod (loc, rf, nel) -> + if not (uv rf) then + List.fold_right + (fun (n, me) l -> +- mkstr loc (ocaml_pstr_module (uv n) (module_expr me)) :: l) ++ let m = ocaml_pstr_module (mkloc loc) (uv n) (module_expr me) in ++ mkstr loc m :: l) + (uv nel) l + else + begin match ocaml_pstr_recmodule with +@@ -1499,9 +1519,12 @@ + | None -> error loc "no recursive module in this ocaml version" + end + | StMty (loc, n, mt) -> +- mkstr loc (ocaml_pstr_modtype (uv n) (module_type mt)) :: l ++ let m = ocaml_pstr_modtype (mkloc loc) (uv n) (module_type mt) in ++ mkstr loc m :: l + | StOpn (loc, id) -> +- mkstr loc (ocaml_pstr_open (long_id_of_string_list loc (uv id))) :: l ++ mkstr loc ++ (ocaml_pstr_open (mkloc loc) (long_id_of_string_list loc (uv id))) :: ++ l + | StTyp (loc, tdl) -> + mkstr loc (ocaml_pstr_type (List.map mktype_decl (uv tdl))) :: l + | StUse (loc, fn, sl) -> +@@ -1581,7 +1604,8 @@ + end + | CgDcl (loc, cl) -> List.fold_right class_sig_item (uv cl) l + | CgInh (loc, ct) -> +- ocaml_class_type_field (mkloc loc) (Pctf_inher (class_type ct)) :: l ++ ocaml_class_type_field (mkloc loc) (ocaml_pctf_inher (class_type ct)) :: ++ l + | CgMth (loc, pf, s, t) -> + ocaml_class_type_field (mkloc loc) + (ocaml_pctf_meth +@@ -1733,20 +1757,19 @@ + + let directive loc = + function +- None -> Pdir_none +- | Some (MLast.ExStr (_, s)) -> Pdir_string s +- | Some (MLast.ExInt (_, i, "")) -> Pdir_int (int_of_string_l loc i) +- | Some (MLast.ExUid (_, "True")) -> ++ MLast.ExStr (_, s) -> Pdir_string s ++ | MLast.ExInt (_, i, "") -> Pdir_int (int_of_string_l loc i) ++ | MLast.ExUid (_, "True") -> + begin match ocaml_pdir_bool with + Some pdir_bool -> pdir_bool true + | None -> error loc "no such kind of directive in this ocaml version" + end +- | Some (MLast.ExUid (_, "False")) -> ++ | MLast.ExUid (_, "False") -> + begin match ocaml_pdir_bool with + Some pdir_bool -> pdir_bool false + | None -> error loc "no such kind of directive in this ocaml version" + end +- | Some e -> ++ | e -> + let sl = + let rec loop = + function +@@ -1761,8 +1784,14 @@ + Pdir_ident (long_id_of_string_list loc sl) + ;; + ++let directive_args loc d = ++ match d with ++ Some d -> directive loc d ++ | None -> Pdir_none ++;; ++ + let phrase = + function +- StDir (loc, d, dp) -> Ptop_dir (uv d, directive loc (uv dp)) ++ StDir (loc, d, dp) -> Ptop_dir (uv d, directive_args loc (uv dp)) + | si -> glob_fname := !(Plexing.input_file); Ptop_def (str_item si []) + ;; +diff -urN camlp5-6.11/ocaml_src/main/ast2pt.mli camlp5-6.12-63a8c30f/ocaml_src/main/ast2pt.mli +--- camlp5-6.11/ocaml_src/main/ast2pt.mli 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/ast2pt.mli 2014-08-01 10:14:54.311065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* ast2pt.mli,v *) + + (** Conversion between Camlp5 AST into OCaml AST *) + +diff -urN camlp5-6.11/ocaml_src/main/.cvsignore camlp5-6.12-63a8c30f/ocaml_src/main/.cvsignore +--- camlp5-6.11/ocaml_src/main/.cvsignore 2010-09-15 17:00:28.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-camlp5 +diff -urN camlp5-6.11/ocaml_src/main/exparser.ml camlp5-6.12-63a8c30f/ocaml_src/main/exparser.ml +--- camlp5-6.11/ocaml_src/main/exparser.ml 2013-03-19 14:29:57.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/exparser.ml 2014-08-01 10:14:54.311065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* exparser.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "q_MLast.cmo" *) +diff -urN camlp5-6.11/ocaml_src/main/exparser.mli camlp5-6.12-63a8c30f/ocaml_src/main/exparser.mli +--- camlp5-6.11/ocaml_src/main/exparser.mli 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/exparser.mli 2014-08-01 10:14:54.311065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* exparser.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* expand parser ast into normal one *) +diff -urN camlp5-6.11/ocaml_src/main/.gitignore camlp5-6.12-63a8c30f/ocaml_src/main/.gitignore +--- camlp5-6.11/ocaml_src/main/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/.gitignore 2014-08-01 10:14:54.310065435 +0100 +@@ -0,0 +1,2 @@ ++*.cm[oi] ++camlp5 +diff -urN camlp5-6.11/ocaml_src/main/main.ml camlp5-6.12-63a8c30f/ocaml_src/main/main.ml +--- camlp5-6.11/ocaml_src/main/main.ml 2013-03-13 14:55:40.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/main.ml 2014-08-01 10:14:54.311065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* main.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "q_MLast.cmo" *) +diff -urN camlp5-6.11/ocaml_src/main/Makefile camlp5-6.12-63a8c30f/ocaml_src/main/Makefile +--- camlp5-6.11/ocaml_src/main/Makefile 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/Makefile 2014-08-01 10:14:54.310065435 +0100 +@@ -1,4 +1,4 @@ +-# File generated by program: edit only if it does not compile. ++# Makefile,v + + TOP=../.. + include $(TOP)/config/Makefile +diff -urN camlp5-6.11/ocaml_src/main/mLast.mli camlp5-6.12-63a8c30f/ocaml_src/main/mLast.mli +--- camlp5-6.11/ocaml_src/main/mLast.mli 2013-07-02 17:31:25.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/mLast.mli 2014-08-01 10:14:54.311065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* mLast.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_macro.cmo" *) +diff -urN camlp5-6.11/ocaml_src/main/parserify.ml camlp5-6.12-63a8c30f/ocaml_src/main/parserify.ml +--- camlp5-6.11/ocaml_src/main/parserify.ml 2013-03-15 09:39:40.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/parserify.ml 2014-08-01 10:14:54.311065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* parserify.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "q_MLast.cmo" *) +diff -urN camlp5-6.11/ocaml_src/main/parserify.mli camlp5-6.12-63a8c30f/ocaml_src/main/parserify.mli +--- camlp5-6.11/ocaml_src/main/parserify.mli 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/parserify.mli 2014-08-01 10:14:54.311065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* parserify.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type spat_comp = +diff -urN camlp5-6.11/ocaml_src/main/pcaml.ml camlp5-6.12-63a8c30f/ocaml_src/main/pcaml.ml +--- camlp5-6.11/ocaml_src/main/pcaml.ml 2013-08-15 23:08:21.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/pcaml.ml 2014-08-01 10:14:54.311065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* pcaml.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_macro.cmo" *) +@@ -7,7 +7,7 @@ + + open Printf;; + +-let version = "6.11";; ++let version = "6.12-exp";; + let syntax_name = ref "";; + + let gram = +diff -urN camlp5-6.11/ocaml_src/main/pcaml.mli camlp5-6.12-63a8c30f/ocaml_src/main/pcaml.mli +--- camlp5-6.11/ocaml_src/main/pcaml.mli 2013-04-19 09:43:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/pcaml.mli 2014-08-01 10:14:54.311065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* pcaml.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_macro.cmo" *) +diff -urN camlp5-6.11/ocaml_src/main/prtools.ml camlp5-6.12-63a8c30f/ocaml_src/main/prtools.ml +--- camlp5-6.11/ocaml_src/main/prtools.ml 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/prtools.ml 2014-08-01 10:14:54.311065436 +0100 +@@ -1,11 +1,12 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* prtools.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "q_MLast.cmo" *) + (* #load "pa_macro.cmo" *) + + open Pretty;; ++open Versdep;; + + type pr_context = + Pprintf.pr_context = +@@ -334,11 +335,11 @@ + + module Buff = + struct +- let buff = ref (String.create 80);; ++ let buff = ref (string_create 80);; + let store len x = + if len >= String.length !buff then +- buff := !buff ^ String.create (String.length !buff); +- !buff.[len] <- x; ++ buff := !buff ^ string_create (String.length !buff); ++ string_set !buff len x; + succ len + ;; + let mstore len s = +diff -urN camlp5-6.11/ocaml_src/main/prtools.mli camlp5-6.12-63a8c30f/ocaml_src/main/prtools.mli +--- camlp5-6.11/ocaml_src/main/prtools.mli 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/prtools.mli 2014-08-01 10:14:54.311065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* prtools.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type pr_context = +diff -urN camlp5-6.11/ocaml_src/main/quotation.ml camlp5-6.12-63a8c30f/ocaml_src/main/quotation.ml +--- camlp5-6.11/ocaml_src/main/quotation.ml 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/quotation.ml 2014-08-01 10:14:54.311065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* quotation.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + type expander = +diff -urN camlp5-6.11/ocaml_src/main/quotation.mli camlp5-6.12-63a8c30f/ocaml_src/main/quotation.mli +--- camlp5-6.11/ocaml_src/main/quotation.mli 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/quotation.mli 2014-08-01 10:14:54.312065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* quotation.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (** Quotation operations. *) +diff -urN camlp5-6.11/ocaml_src/main/reloc.ml camlp5-6.12-63a8c30f/ocaml_src/main/reloc.ml +--- camlp5-6.11/ocaml_src/main/reloc.ml 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/reloc.ml 2014-08-01 10:14:54.312065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* reloc.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_macro.cmo" *) +diff -urN camlp5-6.11/ocaml_src/main/reloc.mli camlp5-6.12-63a8c30f/ocaml_src/main/reloc.mli +--- camlp5-6.11/ocaml_src/main/reloc.mli 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/main/reloc.mli 2014-08-01 10:14:54.312065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* reloc.mli,v *) + (* Copyright (c) INRIA 2007-2012 *) + + val expr : (MLast.loc -> MLast.loc) -> int -> MLast.expr -> MLast.expr;; +diff -urN camlp5-6.11/ocaml_src/meta/.cvsignore camlp5-6.12-63a8c30f/ocaml_src/meta/.cvsignore +--- camlp5-6.11/ocaml_src/meta/.cvsignore 2010-09-15 17:00:29.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/meta/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1,3 +0,0 @@ +-*.cm[oiax] +-camlp5r +-camlp5r.opt +diff -urN camlp5-6.11/ocaml_src/meta/.gitignore camlp5-6.12-63a8c30f/ocaml_src/meta/.gitignore +--- camlp5-6.11/ocaml_src/meta/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/meta/.gitignore 2014-08-01 10:14:54.312065436 +0100 +@@ -0,0 +1,3 @@ ++*.cm[oiax] ++camlp5r ++camlp5r.opt +diff -urN camlp5-6.11/ocaml_src/meta/Makefile camlp5-6.12-63a8c30f/ocaml_src/meta/Makefile +--- camlp5-6.11/ocaml_src/meta/Makefile 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/meta/Makefile 2014-08-01 10:14:54.312065436 +0100 +@@ -1,4 +1,4 @@ +-# File generated by program: edit only if it does not compile. ++# Makefile,v + + TOP=../.. + include $(TOP)/config/Makefile +diff -urN camlp5-6.11/ocaml_src/meta/pa_extend.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_extend.ml +--- camlp5-6.11/ocaml_src/meta/pa_extend.ml 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_extend.ml 2014-08-01 10:14:54.312065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* pa_extend.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_macro.cmo" *) +diff -urN camlp5-6.11/ocaml_src/meta/pa_extend_m.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_extend_m.ml +--- camlp5-6.11/ocaml_src/meta/pa_extend_m.ml 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_extend_m.ml 2014-08-01 10:14:54.312065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* pa_extend_m.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_extend.cmo" *) +diff -urN camlp5-6.11/ocaml_src/meta/pa_fstream.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_fstream.ml +--- camlp5-6.11/ocaml_src/meta/pa_fstream.ml 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_fstream.ml 2014-08-01 10:14:54.312065436 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* pa_fstream.ml,v *) + + (* #load "pa_extend.cmo" *) + (* #load "q_MLast.cmo" *) +diff -urN camlp5-6.11/ocaml_src/meta/pa_lexer.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_lexer.ml +--- camlp5-6.11/ocaml_src/meta/pa_lexer.ml 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_lexer.ml 2014-08-01 10:14:54.313065437 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* pa_lexer.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_extend.cmo" *) +diff -urN camlp5-6.11/ocaml_src/meta/pa_macro.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_macro.ml +--- camlp5-6.11/ocaml_src/meta/pa_macro.ml 2013-03-13 14:55:40.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_macro.ml 2014-08-01 10:14:54.313065437 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* pa_macro.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_extend.cmo" *) +@@ -103,6 +103,7 @@ + + open Pcaml;; + open Printf;; ++open Versdep;; + + type macro_value = + MvExpr of string list * MLast.expr +@@ -129,7 +130,7 @@ + for i = 0 to String.length v - 1 do + match v.[i] with + '0'..'9' | 'a'..'z' | 'A'..'Z' -> () +- | _ -> v.[i] <- '_' ++ | _ -> string_set v i '_' + done; + v + ;; +diff -urN camlp5-6.11/ocaml_src/meta/pa_r.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_r.ml +--- camlp5-6.11/ocaml_src/meta/pa_r.ml 2013-07-02 17:12:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_r.ml 2014-08-01 10:14:54.313065437 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* pa_r.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_extend.cmo" *) +diff -urN camlp5-6.11/ocaml_src/meta/pa_rp.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_rp.ml +--- camlp5-6.11/ocaml_src/meta/pa_rp.ml 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_rp.ml 2014-08-01 10:14:54.313065437 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* pa_rp.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_extend.cmo" *) +diff -urN camlp5-6.11/ocaml_src/meta/pr_dump.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pr_dump.ml +--- camlp5-6.11/ocaml_src/meta/pr_dump.ml 2012-06-02 14:23:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/meta/pr_dump.ml 2014-08-01 10:14:54.314065438 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* pr_dump.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Versdep;; +diff -urN camlp5-6.11/ocaml_src/meta/q_ast.ml camlp5-6.12-63a8c30f/ocaml_src/meta/q_ast.ml +--- camlp5-6.11/ocaml_src/meta/q_ast.ml 2012-06-02 14:23:42.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/meta/q_ast.ml 2014-08-01 10:14:54.315065438 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* q_ast.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_macro.cmo" *) +diff -urN camlp5-6.11/ocaml_src/meta/q_MLast.ml camlp5-6.12-63a8c30f/ocaml_src/meta/q_MLast.ml +--- camlp5-6.11/ocaml_src/meta/q_MLast.ml 2013-07-02 17:12:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/meta/q_MLast.ml 2014-08-01 10:14:54.315065438 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* q_MLast.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + (* #load "pa_extend.cmo" *) +diff -urN camlp5-6.11/ocaml_src/odyl/.cvsignore camlp5-6.12-63a8c30f/ocaml_src/odyl/.cvsignore +--- camlp5-6.11/ocaml_src/odyl/.cvsignore 2010-09-15 17:00:29.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/odyl/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1,2 +0,0 @@ +-odyl +-odyl_config.ml +diff -urN camlp5-6.11/ocaml_src/odyl/.gitignore camlp5-6.12-63a8c30f/ocaml_src/odyl/.gitignore +--- camlp5-6.11/ocaml_src/odyl/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/odyl/.gitignore 2014-08-01 10:14:54.315065438 +0100 +@@ -0,0 +1,3 @@ ++*.cm[oia] ++odyl ++odyl_config.ml +diff -urN camlp5-6.11/ocaml_src/odyl/Makefile camlp5-6.12-63a8c30f/ocaml_src/odyl/Makefile +--- camlp5-6.11/ocaml_src/odyl/Makefile 2012-06-02 14:23:42.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/odyl/Makefile 2014-08-01 10:14:54.315065438 +0100 +@@ -1,4 +1,4 @@ +-# File generated by program: edit only if it does not compile. ++# Makefile,v + + TOP=../.. + include $(TOP)/config/Makefile +diff -urN camlp5-6.11/ocaml_src/odyl/odyl_main.ml camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl_main.ml +--- camlp5-6.11/ocaml_src/odyl/odyl_main.ml 2012-06-02 14:23:42.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl_main.ml 2014-08-01 10:14:54.315065438 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* File generated by program: edit only if it does not compile. *) ++(* odyl_main.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + let go = ref (fun () -> ());; +diff -urN camlp5-6.11/ocaml_src/odyl/odyl_main.mli camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl_main.mli +--- camlp5-6.11/ocaml_src/odyl/odyl_main.mli 2012-06-02 14:23:42.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl_main.mli 2014-08-01 10:14:54.316065439 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* odyl_main.mli,v *) + + exception Error of string * string;; + +diff -urN camlp5-6.11/ocaml_src/odyl/odyl.ml camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl.ml +--- camlp5-6.11/ocaml_src/odyl/odyl.ml 2012-06-02 14:23:42.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl.ml 2014-08-01 10:14:54.315065438 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* File generated by program: edit only if it does not compile. *) ++(* odyl.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + let apply_load () = +diff -urN camlp5-6.11/ocaml_stuff/1.06/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/1.06/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/1.06/parsing/.cvsignore 2010-09-15 17:00:30.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/1.06/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/1.06/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/1.06/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/1.06/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/1.06/parsing/.gitignore 2014-08-01 10:14:54.316065439 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/1.06/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/1.06/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/1.06/utils/.cvsignore 2010-09-15 17:00:30.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/1.06/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/1.06/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/1.06/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/1.06/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/1.06/utils/.gitignore 2014-08-01 10:14:54.316065439 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/1.07/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/1.07/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/1.07/parsing/.cvsignore 2010-09-15 17:00:30.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/1.07/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/1.07/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/1.07/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/1.07/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/1.07/parsing/.gitignore 2014-08-01 10:14:54.316065439 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/1.07/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/1.07/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/1.07/utils/.cvsignore 2010-09-15 17:00:30.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/1.07/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/1.07/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/1.07/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/1.07/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/1.07/utils/.gitignore 2014-08-01 10:14:54.317065439 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/2.00/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.00/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/2.00/parsing/.cvsignore 2010-09-15 17:00:30.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.00/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/2.00/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.00/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/2.00/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.00/parsing/.gitignore 2014-08-01 10:14:54.317065439 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/2.00/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.00/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/2.00/utils/.cvsignore 2010-09-15 17:00:31.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.00/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/2.00/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.00/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/2.00/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.00/utils/.gitignore 2014-08-01 10:14:54.317065439 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/2.01/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.01/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/2.01/parsing/.cvsignore 2010-09-15 17:00:31.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.01/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/2.01/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.01/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/2.01/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.01/parsing/.gitignore 2014-08-01 10:14:54.318065440 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/2.01/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.01/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/2.01/utils/.cvsignore 2010-09-15 17:00:31.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.01/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/2.01/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.01/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/2.01/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.01/utils/.gitignore 2014-08-01 10:14:54.318065440 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/2.02/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.02/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/2.02/parsing/.cvsignore 2010-09-15 17:00:31.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.02/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/2.02/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.02/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/2.02/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.02/parsing/.gitignore 2014-08-01 10:14:54.318065440 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/2.02/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.02/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/2.02/utils/.cvsignore 2010-09-15 17:00:32.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.02/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/2.02/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.02/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/2.02/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.02/utils/.gitignore 2014-08-01 10:14:54.319065441 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/2.03/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.03/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/2.03/parsing/.cvsignore 2010-09-15 17:00:32.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.03/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/2.03/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.03/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/2.03/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.03/parsing/.gitignore 2014-08-01 10:14:54.319065441 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/2.03/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.03/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/2.03/utils/.cvsignore 2010-09-15 17:00:32.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.03/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/2.03/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.03/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/2.03/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.03/utils/.gitignore 2014-08-01 10:14:54.319065441 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/2.04/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.04/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/2.04/parsing/.cvsignore 2010-09-15 17:00:32.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.04/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/2.04/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.04/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/2.04/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.04/parsing/.gitignore 2014-08-01 10:14:54.319065441 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/2.04/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.04/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/2.04/utils/.cvsignore 2010-09-15 17:00:32.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.04/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/2.04/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.04/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/2.04/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.04/utils/.gitignore 2014-08-01 10:14:54.320065441 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/2.99/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.99/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/2.99/parsing/.cvsignore 2010-09-15 17:00:33.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.99/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/2.99/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.99/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/2.99/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.99/parsing/.gitignore 2014-08-01 10:14:54.320065441 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/2.99/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.99/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/2.99/utils/.cvsignore 2010-09-15 17:00:33.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.99/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/2.99/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.99/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/2.99/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/2.99/utils/.gitignore 2014-08-01 10:14:54.320065441 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.00/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.00/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.00/parsing/.cvsignore 2010-09-15 17:00:33.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.00/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.00/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.00/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.00/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.00/parsing/.gitignore 2014-08-01 10:14:54.321065442 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.00/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.00/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.00/utils/.cvsignore 2010-09-15 17:00:33.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.00/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.00/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.00/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.00/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.00/utils/.gitignore 2014-08-01 10:14:54.321065442 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.01/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.01/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.01/parsing/.cvsignore 2010-09-15 17:00:34.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.01/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.01/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.01/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.01/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.01/parsing/.gitignore 2014-08-01 10:14:54.321065442 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.01/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.01/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.01/utils/.cvsignore 2010-09-15 17:00:34.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.01/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.01/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.01/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.01/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.01/utils/.gitignore 2014-08-01 10:14:54.322065443 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.02/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.02/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.02/parsing/.cvsignore 2010-09-15 17:00:34.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.02/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.02/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.02/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.02/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.02/parsing/.gitignore 2014-08-01 10:14:54.322065443 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.02/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.02/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.02/utils/.cvsignore 2010-09-15 17:00:34.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.02/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.02/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.02/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.02/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.02/utils/.gitignore 2014-08-01 10:14:54.322065443 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.03/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.03/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.03/parsing/.cvsignore 2010-09-15 17:00:35.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.03/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.03/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.03/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.03/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.03/parsing/.gitignore 2014-08-01 10:14:54.322065443 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.03/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.03/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.03/utils/.cvsignore 2010-09-15 17:00:35.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.03/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.03/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.03/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.03/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.03/utils/.gitignore 2014-08-01 10:14:54.323065443 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.04/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.04/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.04/parsing/.cvsignore 2010-09-15 17:00:35.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.04/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.04/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.04/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.04/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.04/parsing/.gitignore 2014-08-01 10:14:54.323065443 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.04/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.04/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.04/utils/.cvsignore 2010-09-15 17:00:35.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.04/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.04/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.04/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.04/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.04/utils/.gitignore 2014-08-01 10:14:54.323065443 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.05/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.05/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.05/parsing/.cvsignore 2010-09-15 17:00:35.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.05/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.05/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.05/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.05/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.05/parsing/.gitignore 2014-08-01 10:14:54.324065444 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.05/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.05/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.05/utils/.cvsignore 2010-09-15 17:00:36.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.05/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.05/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.05/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.05/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.05/utils/.gitignore 2014-08-01 10:14:54.324065444 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.06/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.06/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.06/parsing/.cvsignore 2010-09-15 17:00:36.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.06/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.06/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.06/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.06/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.06/parsing/.gitignore 2014-08-01 10:14:54.324065444 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.06/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.06/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.06/utils/.cvsignore 2010-09-15 17:00:36.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.06/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.06/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.06/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.06/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.06/utils/.gitignore 2014-08-01 10:14:54.324065444 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.07/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.07/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.07/parsing/.cvsignore 2010-09-15 17:00:36.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.07/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.07/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.07/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.07/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.07/parsing/.gitignore 2014-08-01 10:14:54.325065444 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.07/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.07/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.07/utils/.cvsignore 2010-09-15 17:00:37.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.07/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.07/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.07/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.07/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.07/utils/.gitignore 2014-08-01 10:14:54.325065444 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.08.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.08.0/parsing/.cvsignore 2010-09-15 17:00:37.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.08.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.08.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/parsing/.gitignore 2014-08-01 10:14:54.325065444 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.08.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.08.0/utils/.cvsignore 2010-09-15 17:00:37.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.08.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.08.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/utils/.gitignore 2014-08-01 10:14:54.326065445 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.08.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.08.1/parsing/.cvsignore 2010-09-15 17:00:37.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.08.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.08.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/parsing/.gitignore 2014-08-01 10:14:54.326065445 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.08.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.08.1/utils/.cvsignore 2010-09-15 17:00:38.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.08.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.08.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/utils/.gitignore 2014-08-01 10:14:54.327065446 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.08.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.08.2/parsing/.cvsignore 2010-09-15 17:00:38.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.08.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.08.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/parsing/.gitignore 2014-08-01 10:14:54.327065446 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.08.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.08.2/utils/.cvsignore 2010-09-15 17:00:38.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.08.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.08.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/utils/.gitignore 2014-08-01 10:14:54.327065446 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.08.3/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.08.3/parsing/.cvsignore 2010-09-15 17:00:38.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.08.3/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.08.3/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/parsing/.gitignore 2014-08-01 10:14:54.327065446 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.08.3/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.08.3/utils/.cvsignore 2010-09-15 17:00:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.08.3/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.08.3/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/utils/.gitignore 2014-08-01 10:14:54.328065446 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.08.4/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.08.4/parsing/.cvsignore 2010-09-15 17:00:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.08.4/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.08.4/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/parsing/.gitignore 2014-08-01 10:14:54.328065446 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.08.4/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.08.4/utils/.cvsignore 2010-09-15 17:00:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.08.4/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.08.4/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/utils/.gitignore 2014-08-01 10:14:54.328065446 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.09.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.09.0/parsing/.cvsignore 2010-09-15 17:00:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.09.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.09.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/parsing/.gitignore 2014-08-01 10:14:54.329065447 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.09.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.09.0/utils/.cvsignore 2010-09-15 17:00:39.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.09.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.09.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/utils/.gitignore 2014-08-01 10:14:54.329065447 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.09.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.09.1/parsing/.cvsignore 2010-09-15 17:00:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.09.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.09.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/parsing/.gitignore 2014-08-01 10:14:54.329065447 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.09.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.09.1/utils/.cvsignore 2010-09-15 17:00:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.09.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.09.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/utils/.gitignore 2014-08-01 10:14:54.329065447 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.09.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.09.2/parsing/.cvsignore 2010-09-15 17:00:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.09.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.09.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/parsing/.gitignore 2014-08-01 10:14:54.330065448 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.09.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.09.2/utils/.cvsignore 2010-09-15 17:00:40.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.09.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.09.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/utils/.gitignore 2014-08-01 10:14:54.330065448 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.09.3/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.09.3/parsing/.cvsignore 2010-09-15 17:00:41.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.09.3/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.09.3/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/parsing/.gitignore 2014-08-01 10:14:54.330065448 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.09.3/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.09.3/utils/.cvsignore 2010-09-15 17:00:41.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.09.3/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.09.3/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/utils/.gitignore 2014-08-01 10:14:54.331065448 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.09.4/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.09.4/parsing/.cvsignore 2010-09-15 17:00:41.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.09.4/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.09.4/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/parsing/.gitignore 2014-08-01 10:14:54.331065448 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.09.4/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.09.4/utils/.cvsignore 2010-09-15 17:00:41.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.09.4/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.09.4/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/utils/.gitignore 2014-08-01 10:14:54.331065448 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.10/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.10/parsing/.cvsignore 2010-09-15 17:00:41.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.10/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.10/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10/parsing/.gitignore 2014-08-01 10:14:54.334065450 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.10/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.10/utils/.cvsignore 2010-09-15 17:00:42.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.10/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.10/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10/utils/.gitignore 2014-08-01 10:14:54.334065450 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.10.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.10.0/parsing/.cvsignore 2010-09-15 17:00:42.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.10.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.10.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/parsing/.gitignore 2014-08-01 10:14:54.331065448 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.10.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.10.0/utils/.cvsignore 2010-09-15 17:00:42.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.10.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.10.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/utils/.gitignore 2014-08-01 10:14:54.332065449 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.10.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.10.1/parsing/.cvsignore 2010-09-15 17:00:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.10.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.10.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/parsing/.gitignore 2014-08-01 10:14:54.332065449 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.10.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.10.1/utils/.cvsignore 2010-09-15 17:00:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.10.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.10.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/utils/.gitignore 2014-08-01 10:14:54.332065449 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.10.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.10.2/parsing/.cvsignore 2010-09-15 17:00:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.10.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.10.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/parsing/.gitignore 2014-08-01 10:14:54.333065449 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.10.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.10.2/utils/.cvsignore 2010-09-15 17:00:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.10.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.10.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/utils/.gitignore 2014-08-01 10:14:54.333065449 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.10.3/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.10.3/parsing/.cvsignore 2010-09-15 17:00:43.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.10.3/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.10.3/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/parsing/.gitignore 2014-08-01 10:14:54.333065449 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.10.3/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.10.3/utils/.cvsignore 2010-09-15 17:00:44.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.10.3/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.10.3/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/utils/.gitignore 2014-08-01 10:14:54.333065449 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.11/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.11/parsing/.cvsignore 2010-09-15 17:00:44.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.11/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.11/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11/parsing/.gitignore 2014-08-01 10:14:54.337065452 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.11/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.11/utils/.cvsignore 2010-09-15 17:00:44.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.11/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.11/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11/utils/.gitignore 2014-08-01 10:14:54.337065452 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.11.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.11.0/parsing/.cvsignore 2010-09-15 17:00:44.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.11.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.11.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/parsing/.gitignore 2014-08-01 10:14:54.334065450 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.11.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.11.0/utils/.cvsignore 2010-09-15 17:00:45.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.11.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.11.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/utils/.gitignore 2014-08-01 10:14:54.335065451 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.11.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.11.1/parsing/.cvsignore 2010-09-15 17:00:45.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.11.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.11.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/parsing/.gitignore 2014-08-01 10:14:54.335065451 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.11.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.11.1/utils/.cvsignore 2010-09-15 17:00:45.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.11.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.11.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/utils/.gitignore 2014-08-01 10:14:54.335065451 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.11.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.11.2/parsing/.cvsignore 2010-09-15 17:00:45.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.11.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.11.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/parsing/.gitignore 2014-08-01 10:14:54.335065451 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.11.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.11.2/utils/.cvsignore 2010-09-15 17:00:45.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.11.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.11.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/utils/.gitignore 2014-08-01 10:14:54.336065452 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.11.3/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.11.3/parsing/.cvsignore 2010-09-15 17:00:46.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.11.3/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.11.3/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/parsing/.gitignore 2014-08-01 10:14:54.336065452 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.11.3/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.11.3/utils/.cvsignore 2010-09-15 17:00:46.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.11.3/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.11.3/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/utils/.gitignore 2014-08-01 10:14:54.336065452 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.12.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.12.0/parsing/.cvsignore 2010-09-15 17:00:46.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.12.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.12.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/parsing/.gitignore 2014-08-01 10:14:54.337065452 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.12.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.12.0/utils/.cvsignore 2010-09-15 17:00:46.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.12.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.12.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/utils/.gitignore 2014-08-01 10:14:54.338065453 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.12.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.12.1/parsing/.cvsignore 2010-09-15 17:00:47.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.12.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.12.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/parsing/.gitignore 2014-08-01 10:14:54.338065453 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.12.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.12.1/utils/.cvsignore 2010-09-15 17:00:47.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.12.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.12.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/utils/.gitignore 2014-08-01 10:14:54.338065453 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.12.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.12.2/parsing/.cvsignore 2012-03-14 09:25:26.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.12.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.12.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/parsing/.gitignore 2014-08-01 10:14:54.338065453 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.12.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.12.2/utils/.cvsignore 2012-03-14 09:25:26.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.12.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.12.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/utils/.gitignore 2014-08-01 10:14:54.339065453 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.13.0-gadt/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.13.0-gadt/parsing/.cvsignore 2010-11-12 23:24:02.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.13.0-gadt/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/3.13.0-gadt/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/parsing/.gitignore 2014-08-01 10:14:54.339065453 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/3.13.0-gadt/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/3.13.0-gadt/utils/.cvsignore 2010-11-12 23:24:03.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/3.13.0-gadt/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/3.13.0-gadt/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/utils/.gitignore 2014-08-01 10:14:54.340065454 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/4.00.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/4.00.0/parsing/.cvsignore 2012-03-09 19:31:12.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/4.00.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/4.00.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/parsing/.gitignore 2014-08-01 10:14:54.340065454 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/4.00.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/4.00.0/utils/.cvsignore 2012-03-09 19:31:12.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/4.00.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/4.00.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/utils/.gitignore 2014-08-01 10:14:54.340065454 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/4.00.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/4.00.1/parsing/.cvsignore 2012-09-12 09:11:07.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/4.00.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/4.00.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/parsing/.gitignore 2014-08-01 10:14:54.341065454 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/4.00.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/4.00.1/utils/.cvsignore 2012-09-12 09:11:07.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/4.00.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/4.00.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/utils/.gitignore 2014-08-01 10:14:54.341065454 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/4.00.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/4.00.2/parsing/.cvsignore 2013-03-15 18:30:46.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/4.00.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/4.00.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/parsing/.gitignore 2014-08-01 10:14:54.341065454 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/4.00.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/4.00.2/utils/.cvsignore 2013-03-15 18:30:46.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/4.00.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/4.00.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/utils/.gitignore 2014-08-01 10:14:54.342065455 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/4.01.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/4.01.0/parsing/.cvsignore 2012-06-01 15:56:53.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/4.01.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/4.01.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/parsing/.gitignore 2014-08-01 10:14:54.342065455 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/4.01.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/4.01.0/utils/.cvsignore 2012-06-01 15:56:53.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/4.01.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/4.01.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/utils/.gitignore 2014-08-01 10:14:54.342065455 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/asttypes.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/asttypes.mli +--- camlp5-6.11/ocaml_stuff/4.01.1/parsing/asttypes.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/asttypes.mli 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,43 @@ ++(***********************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the Q Public License version 1.0. *) ++(* *) ++(***********************************************************************) ++ ++(* Auxiliary a.s.t. types used by parsetree and typedtree. *) ++ ++type constant = ++ Const_int of int ++ | Const_char of char ++ | Const_string of string ++ | Const_float of string ++ | Const_int32 of int32 ++ | Const_int64 of int64 ++ | Const_nativeint of nativeint ++ ++type rec_flag = Nonrecursive | Recursive | Default ++ ++type direction_flag = Upto | Downto ++ ++type private_flag = Private | Public ++ ++type mutable_flag = Immutable | Mutable ++ ++type virtual_flag = Virtual | Concrete ++ ++type override_flag = Override | Fresh ++ ++type closed_flag = Closed | Open ++ ++type label = string ++ ++type 'a loc = 'a Location.loc = { ++ txt : 'a; ++ loc : Location.t; ++} +diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/.depend +--- camlp5-6.11/ocaml_stuff/4.01.1/parsing/.depend 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/.depend 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,4 @@ ++asttypes.cmi : location.cmi ++location.cmi : ../utils/warnings.cmi ++longident.cmi : ++parsetree.cmi : longident.cmi location.cmi asttypes.cmi +diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/4.01.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/.gitignore 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/location.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/location.mli +--- camlp5-6.11/ocaml_stuff/4.01.1/parsing/location.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/location.mli 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,77 @@ ++(***********************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the Q Public License version 1.0. *) ++(* *) ++(***********************************************************************) ++ ++(* Source code locations (ranges of positions), used in parsetree. *) ++ ++open Format ++ ++type t = { ++ loc_start: Lexing.position; ++ loc_end: Lexing.position; ++ loc_ghost: bool; ++} ++ ++(* Note on the use of Lexing.position in this module. ++ If [pos_fname = ""], then use [!input_name] instead. ++ If [pos_lnum = -1], then [pos_bol = 0]. Use [pos_cnum] and ++ re-parse the file to get the line and character numbers. ++ Else all fields are correct. ++*) ++ ++val none : t ++(** An arbitrary value of type [t]; describes an empty ghost range. *) ++val in_file : string -> t;; ++(** Return an empty ghost range located in a given file. *) ++val init : Lexing.lexbuf -> string -> unit ++(** Set the file name and line number of the [lexbuf] to be the start ++ of the named file. *) ++val curr : Lexing.lexbuf -> t ++(** Get the location of the current token from the [lexbuf]. *) ++ ++val symbol_rloc: unit -> t ++val symbol_gloc: unit -> t ++ ++(** [rhs_loc n] returns the location of the symbol at position [n], starting ++ at 1, in the current parser rule. *) ++val rhs_loc: int -> t ++ ++val input_name: string ref ++val input_lexbuf: Lexing.lexbuf option ref ++ ++val get_pos_info: Lexing.position -> string * int * int (* file, line, char *) ++val print_loc: formatter -> t -> unit ++val print_error: formatter -> t -> unit ++val print_error_cur_file: formatter -> unit ++val print_warning: t -> formatter -> Warnings.t -> unit ++val prerr_warning: t -> Warnings.t -> unit ++val echo_eof: unit -> unit ++val reset: unit -> unit ++ ++val highlight_locations: formatter -> t -> t -> bool ++ ++type 'a loc = { ++ txt : 'a; ++ loc : t; ++} ++ ++val mknoloc : 'a -> 'a loc ++val mkloc : 'a -> t -> 'a loc ++ ++val print: formatter -> t -> unit ++val print_filename: formatter -> string -> unit ++ ++val show_filename: string -> string ++ (** In -absname mode, return the absolute path for this filename. ++ Otherwise, returns the filename unchanged. *) ++ ++ ++val absname: bool ref +diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/longident.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/longident.mli +--- camlp5-6.11/ocaml_stuff/4.01.1/parsing/longident.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/longident.mli 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,22 @@ ++(***********************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the Q Public License version 1.0. *) ++(* *) ++(***********************************************************************) ++ ++(* Long identifiers, used in parsetree. *) ++ ++type t = ++ Lident of string ++ | Ldot of t * string ++ | Lapply of t * t ++ ++val flatten: t -> string list ++val last: t -> string ++val parse: string -> t +diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/Makefile +--- camlp5-6.11/ocaml_stuff/4.01.1/parsing/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/Makefile 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,19 @@ ++# Id ++ ++FILES=asttypes.cmi location.cmi longident.cmi parsetree.cmi ++INCL=-I ../utils ++ ++all: $(FILES) ++ ++clean: ++ rm -f *.cmi ++ ++depend: ++ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend ++ ++.SUFFIXES: .mli .cmi ++ ++.mli.cmi: ++ $(OCAMLN)c $(INCL) -c $< ++ ++include .depend +diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/parsetree.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/parsetree.mli +--- camlp5-6.11/ocaml_stuff/4.01.1/parsing/parsetree.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/parsetree.mli 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,306 @@ ++(***********************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the Q Public License version 1.0. *) ++(* *) ++(***********************************************************************) ++ ++(* Abstract syntax tree produced by parsing *) ++ ++open Asttypes ++ ++(* Type expressions for the core language *) ++ ++type core_type = ++ { ptyp_desc: core_type_desc; ++ ptyp_loc: Location.t } ++ ++and core_type_desc = ++ Ptyp_any ++ | Ptyp_var of string ++ | Ptyp_arrow of label * core_type * core_type ++ | Ptyp_tuple of core_type list ++ | Ptyp_constr of Longident.t loc * core_type list ++ | Ptyp_object of core_field_type list ++ | Ptyp_class of Longident.t loc * core_type list * label list ++ | Ptyp_alias of core_type * string ++ | Ptyp_variant of row_field list * bool * label list option ++ | Ptyp_poly of string list * core_type ++ | Ptyp_package of package_type ++ ++ ++and package_type = Longident.t loc * (Longident.t loc * core_type) list ++ ++and core_field_type = ++ { pfield_desc: core_field_desc; ++ pfield_loc: Location.t } ++ ++and core_field_desc = ++ Pfield of string * core_type ++ | Pfield_var ++ ++and row_field = ++ Rtag of label * bool * core_type list ++ | Rinherit of core_type ++ ++(* Type expressions for the class language *) ++ ++type 'a class_infos = ++ { pci_virt: virtual_flag; ++ pci_params: string loc list * Location.t; ++ pci_name: string loc; ++ pci_expr: 'a; ++ pci_variance: (bool * bool) list; ++ pci_loc: Location.t } ++ ++(* Value expressions for the core language *) ++ ++type pattern = ++ { ppat_desc: pattern_desc; ++ ppat_loc: Location.t } ++ ++and pattern_desc = ++ Ppat_any ++ | Ppat_var of string loc ++ | Ppat_alias of pattern * string loc ++ | Ppat_constant of constant ++ | Ppat_tuple of pattern list ++ | Ppat_construct of Longident.t loc * pattern option * bool ++ | Ppat_variant of label * pattern option ++ | Ppat_record of (Longident.t loc * pattern) list * closed_flag ++ | Ppat_array of pattern list ++ | Ppat_or of pattern * pattern ++ | Ppat_constraint of pattern * core_type ++ | Ppat_type of Longident.t loc ++ | Ppat_lazy of pattern ++ | Ppat_unpack of string loc ++ ++type expression = ++ { pexp_desc: expression_desc; ++ pexp_loc: Location.t } ++ ++and expression_desc = ++ Pexp_ident of Longident.t loc ++ | Pexp_constant of constant ++ | Pexp_let of rec_flag * (pattern * expression) list * expression ++ | Pexp_function of label * expression option * (pattern * expression) list ++ | Pexp_apply of expression * (label * expression) list ++ | Pexp_match of expression * (pattern * expression) list ++ | Pexp_try of expression * (pattern * expression) list ++ | Pexp_tuple of expression list ++ | Pexp_construct of Longident.t loc * expression option * bool ++ | Pexp_variant of label * expression option ++ | Pexp_record of (Longident.t loc * expression) list * expression option ++ | Pexp_field of expression * Longident.t loc ++ | Pexp_setfield of expression * Longident.t loc * expression ++ | Pexp_array of expression list ++ | Pexp_ifthenelse of expression * expression * expression option ++ | Pexp_sequence of expression * expression ++ | Pexp_while of expression * expression ++ | Pexp_for of ++ string loc * expression * expression * direction_flag * expression ++ | Pexp_constraint of expression * core_type option * core_type option ++ | Pexp_when of expression * expression ++ | Pexp_send of expression * string ++ | Pexp_new of Longident.t loc ++ | Pexp_setinstvar of string loc * expression ++ | Pexp_override of (string loc * expression) list ++ | Pexp_letmodule of string loc * module_expr * expression ++ | Pexp_assert of expression ++ | Pexp_assertfalse ++ | Pexp_lazy of expression ++ | Pexp_poly of expression * core_type option ++ | Pexp_object of class_structure ++ | Pexp_newtype of string * expression ++ | Pexp_pack of module_expr ++ | Pexp_open of override_flag * Longident.t loc * expression ++ ++(* Value descriptions *) ++ ++and value_description = ++ { pval_type: core_type; ++ pval_prim: string list; ++ pval_loc: Location.t ++ } ++ ++(* Type declarations *) ++ ++and type_declaration = ++ { ptype_params: string loc option list; ++ ptype_cstrs: (core_type * core_type * Location.t) list; ++ ptype_kind: type_kind; ++ ptype_private: private_flag; ++ ptype_manifest: core_type option; ++ ptype_variance: (bool * bool) list; ++ ptype_loc: Location.t } ++ ++and type_kind = ++ Ptype_abstract ++ | Ptype_variant of ++ (string loc * core_type list * core_type option * Location.t) list ++ | Ptype_record of ++ (string loc * mutable_flag * core_type * Location.t) list ++ ++and exception_declaration = core_type list ++ ++(* Type expressions for the class language *) ++ ++and class_type = ++ { pcty_desc: class_type_desc; ++ pcty_loc: Location.t } ++ ++and class_type_desc = ++ Pcty_constr of Longident.t loc * core_type list ++ | Pcty_signature of class_signature ++ | Pcty_fun of label * core_type * class_type ++ ++and class_signature = { ++ pcsig_self: core_type; ++ pcsig_fields: class_type_field list; ++ pcsig_loc: Location.t; ++ } ++ ++and class_type_field = { ++ pctf_desc: class_type_field_desc; ++ pctf_loc: Location.t; ++ } ++ ++and class_type_field_desc = ++ Pctf_inher of class_type ++ | Pctf_val of (string * mutable_flag * virtual_flag * core_type) ++ | Pctf_virt of (string * private_flag * core_type) ++ | Pctf_meth of (string * private_flag * core_type) ++ | Pctf_cstr of (core_type * core_type) ++ ++and class_description = class_type class_infos ++ ++and class_type_declaration = class_type class_infos ++ ++(* Value expressions for the class language *) ++ ++and class_expr = ++ { pcl_desc: class_expr_desc; ++ pcl_loc: Location.t } ++ ++and class_expr_desc = ++ Pcl_constr of Longident.t loc * core_type list ++ | Pcl_structure of class_structure ++ | Pcl_fun of label * expression option * pattern * class_expr ++ | Pcl_apply of class_expr * (label * expression) list ++ | Pcl_let of rec_flag * (pattern * expression) list * class_expr ++ | Pcl_constraint of class_expr * class_type ++ ++and class_structure = { ++ pcstr_pat: pattern; ++ pcstr_fields: class_field list; ++ } ++ ++and class_field = { ++ pcf_desc: class_field_desc; ++ pcf_loc: Location.t; ++ } ++ ++and class_field_desc = ++ Pcf_inher of override_flag * class_expr * string option ++ | Pcf_valvirt of (string loc * mutable_flag * core_type) ++ | Pcf_val of (string loc * mutable_flag * override_flag * expression) ++ | Pcf_virt of (string loc * private_flag * core_type) ++ | Pcf_meth of (string loc * private_flag * override_flag * expression) ++ | Pcf_constr of (core_type * core_type) ++ | Pcf_init of expression ++ ++and class_declaration = class_expr class_infos ++ ++(* Type expressions for the module language *) ++ ++and module_type = ++ { pmty_desc: module_type_desc; ++ pmty_loc: Location.t } ++ ++and module_type_desc = ++ Pmty_ident of Longident.t loc ++ | Pmty_signature of signature ++ | Pmty_functor of string loc * module_type * module_type ++ | Pmty_with of module_type * (Longident.t loc * with_constraint) list ++ | Pmty_typeof of module_expr ++ ++and signature = signature_item list ++ ++and signature_item = ++ { psig_desc: signature_item_desc; ++ psig_loc: Location.t } ++ ++and signature_item_desc = ++ Psig_value of string loc * value_description ++ | Psig_type of (string loc * type_declaration) list ++ | Psig_exception of string loc * exception_declaration ++ | Psig_module of string loc * module_type ++ | Psig_recmodule of (string loc * module_type) list ++ | Psig_modtype of string loc * modtype_declaration ++ | Psig_open of override_flag * Longident.t loc ++ | Psig_include of module_type ++ | Psig_class of class_description list ++ | Psig_class_type of class_type_declaration list ++ ++and modtype_declaration = ++ Pmodtype_abstract ++ | Pmodtype_manifest of module_type ++ ++and with_constraint = ++ Pwith_type of type_declaration ++ | Pwith_module of Longident.t loc ++ | Pwith_typesubst of type_declaration ++ | Pwith_modsubst of Longident.t loc ++ ++(* Value expressions for the module language *) ++ ++and module_expr = ++ { pmod_desc: module_expr_desc; ++ pmod_loc: Location.t } ++ ++and module_expr_desc = ++ Pmod_ident of Longident.t loc ++ | Pmod_structure of structure ++ | Pmod_functor of string loc * module_type * module_expr ++ | Pmod_apply of module_expr * module_expr ++ | Pmod_constraint of module_expr * module_type ++ | Pmod_unpack of expression ++ ++and structure = structure_item list ++ ++and structure_item = ++ { pstr_desc: structure_item_desc; ++ pstr_loc: Location.t } ++ ++and structure_item_desc = ++ Pstr_eval of expression ++ | Pstr_value of rec_flag * (pattern * expression) list ++ | Pstr_primitive of string loc * value_description ++ | Pstr_type of (string loc * type_declaration) list ++ | Pstr_exception of string loc * exception_declaration ++ | Pstr_exn_rebind of string loc * Longident.t loc ++ | Pstr_module of string loc * module_expr ++ | Pstr_recmodule of (string loc * module_type * module_expr) list ++ | Pstr_modtype of string loc * module_type ++ | Pstr_open of override_flag * Longident.t loc ++ | Pstr_class of class_declaration list ++ | Pstr_class_type of class_type_declaration list ++ | Pstr_include of module_expr ++ ++(* Toplevel phrases *) ++ ++type toplevel_phrase = ++ Ptop_def of structure ++ | Ptop_dir of string * directive_argument ++ ++and directive_argument = ++ Pdir_none ++ | Pdir_string of string ++ | Pdir_int of int ++ | Pdir_ident of Longident.t ++ | Pdir_bool of bool +diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/.depend +--- camlp5-6.11/ocaml_stuff/4.01.1/utils/.depend 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/.depend 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,2 @@ ++pconfig.cmo: pconfig.cmi ++pconfig.cmx: pconfig.cmi +diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/4.01.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/.gitignore 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/Makefile +--- camlp5-6.11/ocaml_stuff/4.01.1/utils/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/Makefile 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,27 @@ ++# Id ++ ++FILES=warnings.cmi pconfig.cmo ++INCL= ++ ++all: $(FILES) ++ ++opt: pconfig.cmx ++ ++clean: ++ rm -f *.cm[oix] *.o ++ ++depend: ++ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend ++ ++.SUFFIXES: .mli .cmi .ml .cmo .cmx ++ ++.mli.cmi: ++ $(OCAMLN)c $(INCL) -c $< ++ ++.ml.cmo: ++ $(OCAMLN)c $(INCL) -c $< ++ ++.ml.cmx: ++ $(OCAMLN)opt $(INCL) -c $< ++ ++include .depend +diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/pconfig.ml camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/pconfig.ml +--- camlp5-6.11/ocaml_stuff/4.01.1/utils/pconfig.ml 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/pconfig.ml 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,4 @@ ++let ocaml_version = "4.01.1" ++let ocaml_name = "ocaml" ++let ast_impl_magic_number = "Caml1999M016" ++let ast_intf_magic_number = "Caml1999N015" +diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/pconfig.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/pconfig.mli +--- camlp5-6.11/ocaml_stuff/4.01.1/utils/pconfig.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/pconfig.mli 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,4 @@ ++val ocaml_version : string ++val ocaml_name : string ++val ast_impl_magic_number : string ++val ast_intf_magic_number : string +diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/warnings.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/warnings.mli +--- camlp5-6.11/ocaml_stuff/4.01.1/utils/warnings.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/warnings.mli 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,80 @@ ++(***********************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Pierre Weis && Damien Doligez, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1998 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the Q Public License version 1.0. *) ++(* *) ++(***********************************************************************) ++ ++open Format ++ ++type t = ++ | Comment_start (* 1 *) ++ | Comment_not_end (* 2 *) ++ | Deprecated of string (* 3 *) ++ | Fragile_match of string (* 4 *) ++ | Partial_application (* 5 *) ++ | Labels_omitted (* 6 *) ++ | Method_override of string list (* 7 *) ++ | Partial_match of string (* 8 *) ++ | Non_closed_record_pattern of string (* 9 *) ++ | Statement_type (* 10 *) ++ | Unused_match (* 11 *) ++ | Unused_pat (* 12 *) ++ | Instance_variable_override of string list (* 13 *) ++ | Illegal_backslash (* 14 *) ++ | Implicit_public_methods of string list (* 15 *) ++ | Unerasable_optional_argument (* 16 *) ++ | Undeclared_virtual_method of string (* 17 *) ++ | Not_principal of string (* 18 *) ++ | Without_principality of string (* 19 *) ++ | Unused_argument (* 20 *) ++ | Nonreturning_statement (* 21 *) ++ | Camlp4 of string (* 22 *) ++ | Useless_record_with (* 23 *) ++ | Bad_module_name of string (* 24 *) ++ | All_clauses_guarded (* 25 *) ++ | Unused_var of string (* 26 *) ++ | Unused_var_strict of string (* 27 *) ++ | Wildcard_arg_to_constant_constr (* 28 *) ++ | Eol_in_string (* 29 *) ++ | Duplicate_definitions of string * string * string * string (* 30 *) ++ | Multiple_definition of string * string * string (* 31 *) ++ | Unused_value_declaration of string (* 32 *) ++ | Unused_open of string (* 33 *) ++ | Unused_type_declaration of string (* 34 *) ++ | Unused_for_index of string (* 35 *) ++ | Unused_ancestor of string (* 36 *) ++ | Unused_constructor of string * bool * bool (* 37 *) ++ | Unused_exception of string * bool (* 38 *) ++ | Unused_rec_flag (* 39 *) ++ | Name_out_of_scope of string * string list * bool (* 40 *) ++ | Ambiguous_name of string list * string list * bool (* 41 *) ++ | Disambiguated_name of string (* 42 *) ++ | Nonoptional_label of string (* 43 *) ++ | Open_shadow_identifier of string * string (* 44 *) ++ | Open_shadow_label_constructor of string * string (* 45 *) ++ | Bad_env_variable of string * string ++;; ++ ++val parse_options : bool -> string -> unit;; ++ ++val is_active : t -> bool;; ++val is_error : t -> bool;; ++ ++val defaults_w : string;; ++val defaults_warn_error : string;; ++ ++val print : formatter -> t -> int;; ++ (* returns the number of newlines in the printed string *) ++ ++ ++exception Errors of int;; ++ ++val check_fatal : unit -> unit;; ++ ++val help_warnings: unit -> unit +diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/asttypes.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/asttypes.mli +--- camlp5-6.11/ocaml_stuff/4.02.0/parsing/asttypes.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/asttypes.mli 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,49 @@ ++(***********************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the Q Public License version 1.0. *) ++(* *) ++(***********************************************************************) ++ ++(* Auxiliary a.s.t. types used by parsetree and typedtree. *) ++ ++type constant = ++ Const_int of int ++ | Const_char of char ++ | Const_string of string * string option ++ | Const_float of string ++ | Const_int32 of int32 ++ | Const_int64 of int64 ++ | Const_nativeint of nativeint ++ ++type rec_flag = Nonrecursive | Recursive ++ ++type direction_flag = Upto | Downto ++ ++type private_flag = Private | Public ++ ++type mutable_flag = Immutable | Mutable ++ ++type virtual_flag = Virtual | Concrete ++ ++type override_flag = Override | Fresh ++ ++type closed_flag = Closed | Open ++ ++type label = string ++ ++type 'a loc = 'a Location.loc = { ++ txt : 'a; ++ loc : Location.t; ++} ++ ++ ++type variance = ++ | Covariant ++ | Contravariant ++ | Invariant +diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/.depend +--- camlp5-6.11/ocaml_stuff/4.02.0/parsing/.depend 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/.depend 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,4 @@ ++asttypes.cmi : location.cmi ++location.cmi : ../utils/warnings.cmi ++longident.cmi : ++parsetree.cmi : longident.cmi location.cmi asttypes.cmi +diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/4.02.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/.gitignore 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/location.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/location.mli +--- camlp5-6.11/ocaml_stuff/4.02.0/parsing/location.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/location.mli 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,116 @@ ++(***********************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the Q Public License version 1.0. *) ++(* *) ++(***********************************************************************) ++ ++(* Source code locations (ranges of positions), used in parsetree. *) ++ ++open Format ++ ++type t = { ++ loc_start: Lexing.position; ++ loc_end: Lexing.position; ++ loc_ghost: bool; ++} ++ ++(* Note on the use of Lexing.position in this module. ++ If [pos_fname = ""], then use [!input_name] instead. ++ If [pos_lnum = -1], then [pos_bol = 0]. Use [pos_cnum] and ++ re-parse the file to get the line and character numbers. ++ Else all fields are correct. ++*) ++ ++val none : t ++(** An arbitrary value of type [t]; describes an empty ghost range. *) ++val in_file : string -> t;; ++(** Return an empty ghost range located in a given file. *) ++val init : Lexing.lexbuf -> string -> unit ++(** Set the file name and line number of the [lexbuf] to be the start ++ of the named file. *) ++val curr : Lexing.lexbuf -> t ++(** Get the location of the current token from the [lexbuf]. *) ++ ++val symbol_rloc: unit -> t ++val symbol_gloc: unit -> t ++ ++(** [rhs_loc n] returns the location of the symbol at position [n], starting ++ at 1, in the current parser rule. *) ++val rhs_loc: int -> t ++ ++val input_name: string ref ++val input_lexbuf: Lexing.lexbuf option ref ++ ++val get_pos_info: Lexing.position -> string * int * int (* file, line, char *) ++val print_loc: formatter -> t -> unit ++val print_error: formatter -> t -> unit ++val print_error_cur_file: formatter -> unit ++val print_warning: t -> formatter -> Warnings.t -> unit ++val prerr_warning: t -> Warnings.t -> unit ++val echo_eof: unit -> unit ++val reset: unit -> unit ++ ++val highlight_locations: formatter -> t list -> bool ++ ++type 'a loc = { ++ txt : 'a; ++ loc : t; ++} ++ ++val mknoloc : 'a -> 'a loc ++val mkloc : 'a -> t -> 'a loc ++ ++val print: formatter -> t -> unit ++val print_filename: formatter -> string -> unit ++ ++val absolute_path: string -> string ++ ++val show_filename: string -> string ++ (** In -absname mode, return the absolute path for this filename. ++ Otherwise, returns the filename unchanged. *) ++ ++ ++val absname: bool ref ++ ++ ++(* Support for located errors *) ++ ++type error = ++ { ++ loc: t; ++ msg: string; ++ sub: error list; ++ if_highlight: string; (* alternative message if locations are highlighted *) ++ } ++ ++exception Error of error ++ ++val error: ?loc:t -> ?sub:error list -> ?if_highlight:string -> string -> error ++ ++val errorf: ?loc:t -> ?sub:error list -> ?if_highlight:string ++ -> ('a, unit, string, error) format4 -> 'a ++ ++val error_of_printer: t -> (formatter -> 'a -> unit) -> 'a -> error ++ ++val error_of_printer_file: (formatter -> 'a -> unit) -> 'a -> error ++ ++val error_of_exn: exn -> error option ++ ++val register_error_of_exn: (exn -> error option) -> unit ++ (* Each compiler module which defines a custom type of exception ++ which can surface as a user-visible error should register ++ a "printer" for this exception using [register_error_of_exn]. ++ The result of the printer is an [error] value containing ++ a location, a message, and optionally sub-messages (each of them ++ being located as well). *) ++ ++val report_error: formatter -> error -> unit ++ ++val report_exception: formatter -> exn -> unit ++ (* Reraise the exception if it is unknown. *) +diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/longident.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/longident.mli +--- camlp5-6.11/ocaml_stuff/4.02.0/parsing/longident.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/longident.mli 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,22 @@ ++(***********************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the Q Public License version 1.0. *) ++(* *) ++(***********************************************************************) ++ ++(* Long identifiers, used in parsetree. *) ++ ++type t = ++ Lident of string ++ | Ldot of t * string ++ | Lapply of t * t ++ ++val flatten: t -> string list ++val last: t -> string ++val parse: string -> t +diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/Makefile +--- camlp5-6.11/ocaml_stuff/4.02.0/parsing/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/Makefile 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,19 @@ ++# Makefile,v ++ ++FILES=asttypes.cmi location.cmi longident.cmi parsetree.cmi ++INCL=-I ../utils ++ ++all: $(FILES) ++ ++clean: ++ rm -f *.cmi ++ ++depend: ++ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend ++ ++.SUFFIXES: .mli .cmi ++ ++.mli.cmi: ++ $(OCAMLN)c $(INCL) -c $< ++ ++include .depend +diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/parsetree.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/parsetree.mli +--- camlp5-6.11/ocaml_stuff/4.02.0/parsing/parsetree.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/parsetree.mli 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,829 @@ ++(***********************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the Q Public License version 1.0. *) ++(* *) ++(***********************************************************************) ++ ++(** Abstract syntax tree produced by parsing *) ++ ++open Asttypes ++ ++(** {2 Extension points} *) ++ ++type attribute = string loc * payload ++ (* [@id ARG] ++ [@@id ARG] ++ ++ Metadata containers passed around within the AST. ++ The compiler ignores unknown attributes. ++ *) ++ ++and extension = string loc * payload ++ (* [%id ARG] ++ [%%id ARG] ++ ++ Sub-language placeholder -- rejected by the typechecker. ++ *) ++ ++and attributes = attribute list ++ ++and payload = ++ | PStr of structure ++ | PTyp of core_type (* : T *) ++ | PPat of pattern * expression option (* : P or : P when E *) ++ ++(** {2 Core language} *) ++ ++(* Type expressions *) ++ ++and core_type = ++ { ++ ptyp_desc: core_type_desc; ++ ptyp_loc: Location.t; ++ ptyp_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and core_type_desc = ++ | Ptyp_any ++ (* _ *) ++ | Ptyp_var of string ++ (* 'a *) ++ | Ptyp_arrow of label * core_type * core_type ++ (* T1 -> T2 (label = "") ++ ~l:T1 -> T2 (label = "l") ++ ?l:T1 -> T2 (label = "?l") ++ *) ++ | Ptyp_tuple of core_type list ++ (* T1 * ... * Tn ++ ++ Invariant: n >= 2 ++ *) ++ | Ptyp_constr of Longident.t loc * core_type list ++ (* tconstr ++ T tconstr ++ (T1, ..., Tn) tconstr ++ *) ++ | Ptyp_object of (string * attributes * core_type) list * closed_flag ++ (* < l1:T1; ...; ln:Tn > (flag = Closed) ++ < l1:T1; ...; ln:Tn; .. > (flag = Open) ++ *) ++ | Ptyp_class of Longident.t loc * core_type list ++ (* #tconstr ++ T #tconstr ++ (T1, ..., Tn) #tconstr ++ *) ++ | Ptyp_alias of core_type * string ++ (* T as 'a *) ++ | Ptyp_variant of row_field list * closed_flag * label list option ++ (* [ `A|`B ] (flag = Closed; labels = None) ++ [> `A|`B ] (flag = Open; labels = None) ++ [< `A|`B ] (flag = Closed; labels = Some []) ++ [< `A|`B > `X `Y ](flag = Closed; labels = Some ["X";"Y"]) ++ *) ++ | Ptyp_poly of string list * core_type ++ (* 'a1 ... 'an. T ++ ++ Can only appear in the following context: ++ ++ - As the core_type of a Ppat_constraint node corresponding ++ to a constraint on a let-binding: let x : 'a1 ... 'an. T ++ = e ... ++ ++ - Under Cfk_virtual for methods (not values). ++ ++ - As the core_type of a Pctf_method node. ++ ++ - As the core_type of a Pexp_poly node. ++ ++ - As the pld_type field of a label_declaration. ++ ++ - As a core_type of a Ptyp_object node. ++ *) ++ ++ | Ptyp_package of package_type ++ (* (module S) *) ++ | Ptyp_extension of extension ++ (* [%id] *) ++ ++and package_type = Longident.t loc * (Longident.t loc * core_type) list ++ (* ++ (module S) ++ (module S with type t1 = T1 and ... and tn = Tn) ++ *) ++ ++and row_field = ++ | Rtag of label * attributes * bool * core_type list ++ (* [`A] ( true, [] ) ++ [`A of T] ( false, [T] ) ++ [`A of T1 & .. & Tn] ( false, [T1;...Tn] ) ++ [`A of & T1 & .. & Tn] ( true, [T1;...Tn] ) ++ ++ - The 2nd field is true if the tag contains a ++ constant (empty) constructor. ++ - '&' occurs when several types are used for the same constructor ++ (see 4.2 in the manual) ++ ++ - TODO: switch to a record representation, and keep location ++ *) ++ | Rinherit of core_type ++ (* [ T ] *) ++ ++(* Patterns *) ++ ++and pattern = ++ { ++ ppat_desc: pattern_desc; ++ ppat_loc: Location.t; ++ ppat_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and pattern_desc = ++ | Ppat_any ++ (* _ *) ++ | Ppat_var of string loc ++ (* x *) ++ | Ppat_alias of pattern * string loc ++ (* P as 'a *) ++ | Ppat_constant of constant ++ (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) ++ | Ppat_interval of constant * constant ++ (* 'a'..'z' ++ ++ Other forms of interval are recognized by the parser ++ but rejected by the type-checker. *) ++ | Ppat_tuple of pattern list ++ (* (P1, ..., Pn) ++ ++ Invariant: n >= 2 ++ *) ++ | Ppat_construct of Longident.t loc * pattern option ++ (* C None ++ C P Some P ++ C (P1, ..., Pn) Some (Ppat_tuple [P1; ...; Pn]) ++ *) ++ | Ppat_variant of label * pattern option ++ (* `A (None) ++ `A P (Some P) ++ *) ++ | Ppat_record of (Longident.t loc * pattern) list * closed_flag ++ (* { l1=P1; ...; ln=Pn } (flag = Closed) ++ { l1=P1; ...; ln=Pn; _} (flag = Open) ++ ++ Invariant: n > 0 ++ *) ++ | Ppat_array of pattern list ++ (* [| P1; ...; Pn |] *) ++ | Ppat_or of pattern * pattern ++ (* P1 | P2 *) ++ | Ppat_constraint of pattern * core_type ++ (* (P : T) *) ++ | Ppat_type of Longident.t loc ++ (* #tconst *) ++ | Ppat_lazy of pattern ++ (* lazy P *) ++ | Ppat_unpack of string loc ++ (* (module P) ++ Note: (module P : S) is represented as ++ Ppat_constraint(Ppat_unpack, Ptyp_package) ++ *) ++ | Ppat_exception of pattern ++ (* exception P *) ++ | Ppat_extension of extension ++ (* [%id] *) ++ ++(* Value expressions *) ++ ++and expression = ++ { ++ pexp_desc: expression_desc; ++ pexp_loc: Location.t; ++ pexp_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and expression_desc = ++ | Pexp_ident of Longident.t loc ++ (* x ++ M.x ++ *) ++ | Pexp_constant of constant ++ (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) ++ | Pexp_let of rec_flag * value_binding list * expression ++ (* let P1 = E1 and ... and Pn = EN in E (flag = Nonrecursive) ++ let rec P1 = E1 and ... and Pn = EN in E (flag = Recursive) ++ *) ++ | Pexp_function of case list ++ (* function P1 -> E1 | ... | Pn -> En *) ++ | Pexp_fun of label * expression option * pattern * expression ++ (* fun P -> E1 (lab = "", None) ++ fun ~l:P -> E1 (lab = "l", None) ++ fun ?l:P -> E1 (lab = "?l", None) ++ fun ?l:(P = E0) -> E1 (lab = "?l", Some E0) ++ ++ Notes: ++ - If E0 is provided, lab must start with '?'. ++ - "fun P1 P2 .. Pn -> E1" is represented as nested Pexp_fun. ++ - "let f P = E" is represented using Pexp_fun. ++ *) ++ | Pexp_apply of expression * (label * expression) list ++ (* E0 ~l1:E1 ... ~ln:En ++ li can be empty (non labeled argument) or start with '?' ++ (optional argument). ++ ++ Invariant: n > 0 ++ *) ++ | Pexp_match of expression * case list ++ (* match E0 with P1 -> E1 | ... | Pn -> En *) ++ | Pexp_try of expression * case list ++ (* try E0 with P1 -> E1 | ... | Pn -> En *) ++ | Pexp_tuple of expression list ++ (* (E1, ..., En) ++ ++ Invariant: n >= 2 ++ *) ++ | Pexp_construct of Longident.t loc * expression option ++ (* C None ++ C E Some E ++ C (E1, ..., En) Some (Pexp_tuple[E1;...;En]) ++ *) ++ | Pexp_variant of label * expression option ++ (* `A (None) ++ `A E (Some E) ++ *) ++ | Pexp_record of (Longident.t loc * expression) list * expression option ++ (* { l1=P1; ...; ln=Pn } (None) ++ { E0 with l1=P1; ...; ln=Pn } (Some E0) ++ ++ Invariant: n > 0 ++ *) ++ | Pexp_field of expression * Longident.t loc ++ (* E.l *) ++ | Pexp_setfield of expression * Longident.t loc * expression ++ (* E1.l <- E2 *) ++ | Pexp_array of expression list ++ (* [| E1; ...; En |] *) ++ | Pexp_ifthenelse of expression * expression * expression option ++ (* if E1 then E2 else E3 *) ++ | Pexp_sequence of expression * expression ++ (* E1; E2 *) ++ | Pexp_while of expression * expression ++ (* while E1 do E2 done *) ++ | Pexp_for of ++ pattern * expression * expression * direction_flag * expression ++ (* for i = E1 to E2 do E3 done (flag = Upto) ++ for i = E1 downto E2 do E3 done (flag = Downto) ++ *) ++ | Pexp_constraint of expression * core_type ++ (* (E : T) *) ++ | Pexp_coerce of expression * core_type option * core_type ++ (* (E :> T) (None, T) ++ (E : T0 :> T) (Some T0, T) ++ *) ++ | Pexp_send of expression * string ++ (* E # m *) ++ | Pexp_new of Longident.t loc ++ (* new M.c *) ++ | Pexp_setinstvar of string loc * expression ++ (* x <- 2 *) ++ | Pexp_override of (string loc * expression) list ++ (* {< x1 = E1; ...; Xn = En >} *) ++ | Pexp_letmodule of string loc * module_expr * expression ++ (* let module M = ME in E *) ++ | Pexp_assert of expression ++ (* assert E ++ Note: "assert false" is treated in a special way by the ++ type-checker. *) ++ | Pexp_lazy of expression ++ (* lazy E *) ++ | Pexp_poly of expression * core_type option ++ (* Used for method bodies. ++ ++ Can only be used as the expression under Cfk_concrete ++ for methods (not values). *) ++ | Pexp_object of class_structure ++ (* object ... end *) ++ | Pexp_newtype of string * expression ++ (* fun (type t) -> E *) ++ | Pexp_pack of module_expr ++ (* (module ME) ++ ++ (module ME : S) is represented as ++ Pexp_constraint(Pexp_pack, Ptyp_package S) *) ++ | Pexp_open of override_flag * Longident.t loc * expression ++ (* let open M in E ++ let! open M in E ++ *) ++ | Pexp_extension of extension ++ (* [%id] *) ++ ++and case = (* (P -> E) or (P when E0 -> E) *) ++ { ++ pc_lhs: pattern; ++ pc_guard: expression option; ++ pc_rhs: expression; ++ } ++ ++(* Value descriptions *) ++ ++and value_description = ++ { ++ pval_name: string loc; ++ pval_type: core_type; ++ pval_prim: string list; ++ pval_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ pval_loc: Location.t; ++ } ++ ++(* ++ val x: T (prim = []) ++ external x: T = "s1" ... "sn" (prim = ["s1";..."sn"]) ++ ++ Note: when used under Pstr_primitive, prim cannot be empty ++*) ++ ++(* Type declarations *) ++ ++and type_declaration = ++ { ++ ptype_name: string loc; ++ ptype_params: (core_type * variance) list; ++ (* ('a1,...'an) t; None represents _*) ++ ptype_cstrs: (core_type * core_type * Location.t) list; ++ (* ... constraint T1=T1' ... constraint Tn=Tn' *) ++ ptype_kind: type_kind; ++ ptype_private: private_flag; (* = private ... *) ++ ptype_manifest: core_type option; (* = T *) ++ ptype_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ ptype_loc: Location.t; ++ } ++ ++(* ++ type t (abstract, no manifest) ++ type t = T0 (abstract, manifest=T0) ++ type t = C of T | ... (variant, no manifest) ++ type t = T0 = C of T | ... (variant, manifest=T0) ++ type t = {l: T; ...} (record, no manifest) ++ type t = T0 = {l : T; ...} (record, manifest=T0) ++ type t = .. (open, no manifest) ++*) ++ ++and type_kind = ++ | Ptype_abstract ++ | Ptype_variant of constructor_declaration list ++ (* Invariant: non-empty list *) ++ | Ptype_record of label_declaration list ++ (* Invariant: non-empty list *) ++ | Ptype_open ++ ++and label_declaration = ++ { ++ pld_name: string loc; ++ pld_mutable: mutable_flag; ++ pld_type: core_type; ++ pld_loc: Location.t; ++ pld_attributes: attributes; (* l [@id1] [@id2] : T *) ++ } ++ ++(* { ...; l: T; ... } (mutable=Immutable) ++ { ...; mutable l: T; ... } (mutable=Mutable) ++ ++ Note: T can be a Pexp_poly. ++*) ++ ++and constructor_declaration = ++ { ++ pcd_name: string loc; ++ pcd_args: core_type list; ++ pcd_res: core_type option; ++ pcd_loc: Location.t; ++ pcd_attributes: attributes; (* C [@id1] [@id2] of ... *) ++ } ++(* ++ | C of T1 * ... * Tn (res = None) ++ | C: T0 (args = [], res = Some T0) ++ | C: T1 * ... * Tn -> T0 (res = Some T0) ++*) ++ ++and type_extension = ++ { ++ ptyext_path: Longident.t loc; ++ ptyext_params: (core_type * variance) list; ++ ptyext_constructors: extension_constructor list; ++ ptyext_private: private_flag; ++ ptyext_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ } ++(* ++ type t += ... ++*) ++ ++and extension_constructor = ++ { ++ pext_name: string loc; ++ pext_kind : extension_constructor_kind; ++ pext_loc : Location.t; ++ pext_attributes: attributes; (* C [@id1] [@id2] of ... *) ++ } ++ ++and extension_constructor_kind = ++ Pext_decl of core_type list * core_type option ++ (* ++ | C of T1 * ... * Tn ([T1; ...; Tn], None) ++ | C: T0 ([], Some T0) ++ | C: T1 * ... * Tn -> T0 ([T1; ...; Tn], Some T0) ++ *) ++ | Pext_rebind of Longident.t loc ++ (* ++ | C = D ++ *) ++ ++(** {2 Class language} *) ++ ++(* Type expressions for the class language *) ++ ++and class_type = ++ { ++ pcty_desc: class_type_desc; ++ pcty_loc: Location.t; ++ pcty_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and class_type_desc = ++ | Pcty_constr of Longident.t loc * core_type list ++ (* c ++ ['a1, ..., 'an] c *) ++ | Pcty_signature of class_signature ++ (* object ... end *) ++ | Pcty_arrow of label * core_type * class_type ++ (* T -> CT (label = "") ++ ~l:T -> CT (label = "l") ++ ?l:T -> CT (label = "?l") ++ *) ++ | Pcty_extension of extension ++ (* [%id] *) ++ ++and class_signature = ++ { ++ pcsig_self: core_type; ++ pcsig_fields: class_type_field list; ++ } ++(* object('selfpat) ... end ++ object ... end (self = Ptyp_any) ++ *) ++ ++and class_type_field = ++ { ++ pctf_desc: class_type_field_desc; ++ pctf_loc: Location.t; ++ pctf_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ } ++ ++and class_type_field_desc = ++ | Pctf_inherit of class_type ++ (* inherit CT *) ++ | Pctf_val of (string * mutable_flag * virtual_flag * core_type) ++ (* val x: T *) ++ | Pctf_method of (string * private_flag * virtual_flag * core_type) ++ (* method x: T ++ ++ Note: T can be a Pexp_poly. ++ *) ++ | Pctf_constraint of (core_type * core_type) ++ (* constraint T1 = T2 *) ++ | Pctf_attribute of attribute ++ (* [@@@id] *) ++ | Pctf_extension of extension ++ (* [%%id] *) ++ ++and 'a class_infos = ++ { ++ pci_virt: virtual_flag; ++ pci_params: (core_type * variance) list; ++ pci_name: string loc; ++ pci_expr: 'a; ++ pci_loc: Location.t; ++ pci_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ } ++(* class c = ... ++ class ['a1,...,'an] c = ... ++ class virtual c = ... ++ ++ Also used for "class type" declaration. ++*) ++ ++and class_description = class_type class_infos ++ ++and class_type_declaration = class_type class_infos ++ ++(* Value expressions for the class language *) ++ ++and class_expr = ++ { ++ pcl_desc: class_expr_desc; ++ pcl_loc: Location.t; ++ pcl_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and class_expr_desc = ++ | Pcl_constr of Longident.t loc * core_type list ++ (* c ++ ['a1, ..., 'an] c *) ++ | Pcl_structure of class_structure ++ (* object ... end *) ++ | Pcl_fun of label * expression option * pattern * class_expr ++ (* fun P -> CE (lab = "", None) ++ fun ~l:P -> CE (lab = "l", None) ++ fun ?l:P -> CE (lab = "?l", None) ++ fun ?l:(P = E0) -> CE (lab = "?l", Some E0) ++ *) ++ | Pcl_apply of class_expr * (label * expression) list ++ (* CE ~l1:E1 ... ~ln:En ++ li can be empty (non labeled argument) or start with '?' ++ (optional argument). ++ ++ Invariant: n > 0 ++ *) ++ | Pcl_let of rec_flag * value_binding list * class_expr ++ (* let P1 = E1 and ... and Pn = EN in CE (flag = Nonrecursive) ++ let rec P1 = E1 and ... and Pn = EN in CE (flag = Recursive) ++ *) ++ | Pcl_constraint of class_expr * class_type ++ (* (CE : CT) *) ++ | Pcl_extension of extension ++ (* [%id] *) ++ ++and class_structure = ++ { ++ pcstr_self: pattern; ++ pcstr_fields: class_field list; ++ } ++(* object(selfpat) ... end ++ object ... end (self = Ppat_any) ++ *) ++ ++and class_field = ++ { ++ pcf_desc: class_field_desc; ++ pcf_loc: Location.t; ++ pcf_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ } ++ ++and class_field_desc = ++ | Pcf_inherit of override_flag * class_expr * string option ++ (* inherit CE ++ inherit CE as x ++ inherit! CE ++ inherit! CE as x ++ *) ++ | Pcf_val of (string loc * mutable_flag * class_field_kind) ++ (* val x = E ++ val virtual x: T ++ *) ++ | Pcf_method of (string loc * private_flag * class_field_kind) ++ (* method x = E (E can be a Pexp_poly) ++ method virtual x: T (T can be a Ptyp_poly) ++ *) ++ | Pcf_constraint of (core_type * core_type) ++ (* constraint T1 = T2 *) ++ | Pcf_initializer of expression ++ (* initializer E *) ++ | Pcf_attribute of attribute ++ (* [@@@id] *) ++ | Pcf_extension of extension ++ (* [%%id] *) ++ ++and class_field_kind = ++ | Cfk_virtual of core_type ++ | Cfk_concrete of override_flag * expression ++ ++and class_declaration = class_expr class_infos ++ ++(** {2 Module language} *) ++ ++(* Type expressions for the module language *) ++ ++and module_type = ++ { ++ pmty_desc: module_type_desc; ++ pmty_loc: Location.t; ++ pmty_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and module_type_desc = ++ | Pmty_ident of Longident.t loc ++ (* S *) ++ | Pmty_signature of signature ++ (* sig ... end *) ++ | Pmty_functor of string loc * module_type option * module_type ++ (* functor(X : MT1) -> MT2 *) ++ | Pmty_with of module_type * with_constraint list ++ (* MT with ... *) ++ | Pmty_typeof of module_expr ++ (* module type of ME *) ++ | Pmty_extension of extension ++ (* [%id] *) ++ | Pmty_alias of Longident.t loc ++ (* (module M) *) ++ ++and signature = signature_item list ++ ++and signature_item = ++ { ++ psig_desc: signature_item_desc; ++ psig_loc: Location.t; ++ } ++ ++and signature_item_desc = ++ | Psig_value of value_description ++ (* ++ val x: T ++ external x: T = "s1" ... "sn" ++ *) ++ | Psig_type of type_declaration list ++ (* type t1 = ... and ... and tn = ... *) ++ | Psig_typext of type_extension ++ (* type t1 += ... *) ++ | Psig_exception of extension_constructor ++ (* exception C of T *) ++ | Psig_module of module_declaration ++ (* module X : MT *) ++ | Psig_recmodule of module_declaration list ++ (* module rec X1 : MT1 and ... and Xn : MTn *) ++ | Psig_modtype of module_type_declaration ++ (* module type S = MT ++ module type S *) ++ | Psig_open of open_description ++ (* open X *) ++ | Psig_include of include_description ++ (* include MT *) ++ | Psig_class of class_description list ++ (* class c1 : ... and ... and cn : ... *) ++ | Psig_class_type of class_type_declaration list ++ (* class type ct1 = ... and ... and ctn = ... *) ++ | Psig_attribute of attribute ++ (* [@@@id] *) ++ | Psig_extension of extension * attributes ++ (* [%%id] *) ++ ++and module_declaration = ++ { ++ pmd_name: string loc; ++ pmd_type: module_type; ++ pmd_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ pmd_loc: Location.t; ++ } ++(* S : MT *) ++ ++and module_type_declaration = ++ { ++ pmtd_name: string loc; ++ pmtd_type: module_type option; ++ pmtd_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ pmtd_loc: Location.t; ++ } ++(* S = MT ++ S (abstract module type declaration, pmtd_type = None) ++*) ++ ++and open_description = ++ { ++ popen_lid: Longident.t loc; ++ popen_override: override_flag; ++ popen_loc: Location.t; ++ popen_attributes: attributes; ++ } ++(* open! X - popen_override = Override (silences the 'used identifier ++ shadowing' warning) ++ open X - popen_override = Fresh ++ *) ++ ++and 'a include_infos = ++ { ++ pincl_mod: 'a; ++ pincl_loc: Location.t; ++ pincl_attributes: attributes; ++ } ++ ++and include_description = module_type include_infos ++(* include MT *) ++ ++and include_declaration = module_expr include_infos ++(* include ME *) ++ ++and with_constraint = ++ | Pwith_type of Longident.t loc * type_declaration ++ (* with type X.t = ... ++ ++ Note: the last component of the longident must match ++ the name of the type_declaration. *) ++ | Pwith_module of Longident.t loc * Longident.t loc ++ (* with module X.Y = Z *) ++ | Pwith_typesubst of type_declaration ++ (* with type t := ... *) ++ | Pwith_modsubst of string loc * Longident.t loc ++ (* with module X := Z *) ++ ++(* Value expressions for the module language *) ++ ++and module_expr = ++ { ++ pmod_desc: module_expr_desc; ++ pmod_loc: Location.t; ++ pmod_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and module_expr_desc = ++ | Pmod_ident of Longident.t loc ++ (* X *) ++ | Pmod_structure of structure ++ (* struct ... end *) ++ | Pmod_functor of string loc * module_type option * module_expr ++ (* functor(X : MT1) -> ME *) ++ | Pmod_apply of module_expr * module_expr ++ (* ME1(ME2) *) ++ | Pmod_constraint of module_expr * module_type ++ (* (ME : MT) *) ++ | Pmod_unpack of expression ++ (* (val E) *) ++ | Pmod_extension of extension ++ (* [%id] *) ++ ++and structure = structure_item list ++ ++and structure_item = ++ { ++ pstr_desc: structure_item_desc; ++ pstr_loc: Location.t; ++ } ++ ++and structure_item_desc = ++ | Pstr_eval of expression * attributes ++ (* E *) ++ | Pstr_value of rec_flag * value_binding list ++ (* let P1 = E1 and ... and Pn = EN (flag = Nonrecursive) ++ let rec P1 = E1 and ... and Pn = EN (flag = Recursive) ++ *) ++ | Pstr_primitive of value_description ++ (* external x: T = "s1" ... "sn" *) ++ | Pstr_type of type_declaration list ++ (* type t1 = ... and ... and tn = ... *) ++ | Pstr_typext of type_extension ++ (* type t1 += ... *) ++ | Pstr_exception of extension_constructor ++ (* exception C of T ++ exception C = M.X *) ++ | Pstr_module of module_binding ++ (* module X = ME *) ++ | Pstr_recmodule of module_binding list ++ (* module rec X1 = ME1 and ... and Xn = MEn *) ++ | Pstr_modtype of module_type_declaration ++ (* module type S = MT *) ++ | Pstr_open of open_description ++ (* open X *) ++ | Pstr_class of class_declaration list ++ (* class c1 = ... and ... and cn = ... *) ++ | Pstr_class_type of class_type_declaration list ++ (* class type ct1 = ... and ... and ctn = ... *) ++ | Pstr_include of include_declaration ++ (* include ME *) ++ | Pstr_attribute of attribute ++ (* [@@@id] *) ++ | Pstr_extension of extension * attributes ++ (* [%%id] *) ++ ++and value_binding = ++ { ++ pvb_pat: pattern; ++ pvb_expr: expression; ++ pvb_attributes: attributes; ++ pvb_loc: Location.t; ++ } ++ ++and module_binding = ++ { ++ pmb_name: string loc; ++ pmb_expr: module_expr; ++ pmb_attributes: attributes; ++ pmb_loc: Location.t; ++ } ++(* X = ME *) ++ ++(** {2 Toplevel} *) ++ ++(* Toplevel phrases *) ++ ++type toplevel_phrase = ++ | Ptop_def of structure ++ | Ptop_dir of string * directive_argument ++ (* #use, #load ... *) ++ ++and directive_argument = ++ | Pdir_none ++ | Pdir_string of string ++ | Pdir_int of int ++ | Pdir_ident of Longident.t ++ | Pdir_bool of bool +diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/.depend +--- camlp5-6.11/ocaml_stuff/4.02.0/utils/.depend 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/.depend 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1,2 @@ ++pconfig.cmo: pconfig.cmi ++pconfig.cmx: pconfig.cmi +diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/4.02.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/.gitignore 2014-08-01 10:14:54.343065456 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/Makefile +--- camlp5-6.11/ocaml_stuff/4.02.0/utils/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/Makefile 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1,27 @@ ++# Makefile,v ++ ++FILES=warnings.cmi pconfig.cmo ++INCL= ++ ++all: $(FILES) ++ ++opt: pconfig.cmx ++ ++clean: ++ rm -f *.cm[oix] *.o ++ ++depend: ++ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend ++ ++.SUFFIXES: .mli .cmi .ml .cmo .cmx ++ ++.mli.cmi: ++ $(OCAMLN)c $(INCL) -c $< ++ ++.ml.cmo: ++ $(OCAMLN)c $(INCL) -c $< ++ ++.ml.cmx: ++ $(OCAMLN)opt $(INCL) -c $< ++ ++include .depend +diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/pconfig.ml camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/pconfig.ml +--- camlp5-6.11/ocaml_stuff/4.02.0/utils/pconfig.ml 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/pconfig.ml 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1,4 @@ ++let ocaml_version = "4.02.0" ++let ocaml_name = "ocaml" ++let ast_impl_magic_number = "Caml1999M016" ++let ast_intf_magic_number = "Caml1999N015" +diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/pconfig.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/pconfig.mli +--- camlp5-6.11/ocaml_stuff/4.02.0/utils/pconfig.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/pconfig.mli 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1,4 @@ ++val ocaml_version : string ++val ocaml_name : string ++val ast_impl_magic_number : string ++val ast_intf_magic_number : string +diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/warnings.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/warnings.mli +--- camlp5-6.11/ocaml_stuff/4.02.0/utils/warnings.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/warnings.mli 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1,87 @@ ++(***********************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Pierre Weis && Damien Doligez, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1998 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the Q Public License version 1.0. *) ++(* *) ++(***********************************************************************) ++ ++open Format ++ ++type t = ++ | Comment_start (* 1 *) ++ | Comment_not_end (* 2 *) ++ | Deprecated of string (* 3 *) ++ | Fragile_match of string (* 4 *) ++ | Partial_application (* 5 *) ++ | Labels_omitted (* 6 *) ++ | Method_override of string list (* 7 *) ++ | Partial_match of string (* 8 *) ++ | Non_closed_record_pattern of string (* 9 *) ++ | Statement_type (* 10 *) ++ | Unused_match (* 11 *) ++ | Unused_pat (* 12 *) ++ | Instance_variable_override of string list (* 13 *) ++ | Illegal_backslash (* 14 *) ++ | Implicit_public_methods of string list (* 15 *) ++ | Unerasable_optional_argument (* 16 *) ++ | Undeclared_virtual_method of string (* 17 *) ++ | Not_principal of string (* 18 *) ++ | Without_principality of string (* 19 *) ++ | Unused_argument (* 20 *) ++ | Nonreturning_statement (* 21 *) ++ | Preprocessor of string (* 22 *) ++ | Useless_record_with (* 23 *) ++ | Bad_module_name of string (* 24 *) ++ | All_clauses_guarded (* 25 *) ++ | Unused_var of string (* 26 *) ++ | Unused_var_strict of string (* 27 *) ++ | Wildcard_arg_to_constant_constr (* 28 *) ++ | Eol_in_string (* 29 *) ++ | Duplicate_definitions of string * string * string * string (* 30 *) ++ | Multiple_definition of string * string * string (* 31 *) ++ | Unused_value_declaration of string (* 32 *) ++ | Unused_open of string (* 33 *) ++ | Unused_type_declaration of string (* 34 *) ++ | Unused_for_index of string (* 35 *) ++ | Unused_ancestor of string (* 36 *) ++ | Unused_constructor of string * bool * bool (* 37 *) ++ | Unused_extension of string * bool * bool (* 38 *) ++ | Unused_rec_flag (* 39 *) ++ | Name_out_of_scope of string * string list * bool (* 40 *) ++ | Ambiguous_name of string list * string list * bool (* 41 *) ++ | Disambiguated_name of string (* 42 *) ++ | Nonoptional_label of string (* 43 *) ++ | Open_shadow_identifier of string * string (* 44 *) ++ | Open_shadow_label_constructor of string * string (* 45 *) ++ | Bad_env_variable of string * string (* 46 *) ++ | Attribute_payload of string * string (* 47 *) ++ | Eliminated_optional_arguments of string list (* 48 *) ++ | No_cmi_file of string (* 49 *) ++;; ++ ++val parse_options : bool -> string -> unit;; ++ ++val is_active : t -> bool;; ++val is_error : t -> bool;; ++ ++val defaults_w : string;; ++val defaults_warn_error : string;; ++ ++val print : formatter -> t -> int;; ++ (* returns the number of newlines in the printed string *) ++ ++ ++exception Errors of int;; ++ ++val check_fatal : unit -> unit;; ++ ++val help_warnings: unit -> unit ++ ++type state ++val backup: unit -> state ++val restore: state -> unit +diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/asttypes.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/asttypes.mli +--- camlp5-6.11/ocaml_stuff/4.03.0/parsing/asttypes.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/asttypes.mli 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1,49 @@ ++(***********************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the Q Public License version 1.0. *) ++(* *) ++(***********************************************************************) ++ ++(* Auxiliary a.s.t. types used by parsetree and typedtree. *) ++ ++type constant = ++ Const_int of int ++ | Const_char of char ++ | Const_string of string * string option ++ | Const_float of string ++ | Const_int32 of int32 ++ | Const_int64 of int64 ++ | Const_nativeint of nativeint ++ ++type rec_flag = Nonrecursive | Recursive ++ ++type direction_flag = Upto | Downto ++ ++type private_flag = Private | Public ++ ++type mutable_flag = Immutable | Mutable ++ ++type virtual_flag = Virtual | Concrete ++ ++type override_flag = Override | Fresh ++ ++type closed_flag = Closed | Open ++ ++type label = string ++ ++type 'a loc = 'a Location.loc = { ++ txt : 'a; ++ loc : Location.t; ++} ++ ++ ++type variance = ++ | Covariant ++ | Contravariant ++ | Invariant +diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/.depend +--- camlp5-6.11/ocaml_stuff/4.03.0/parsing/.depend 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/.depend 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1,4 @@ ++asttypes.cmi : location.cmi ++location.cmi : ../utils/warnings.cmi ++longident.cmi : ++parsetree.cmi : longident.cmi location.cmi asttypes.cmi +diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/4.03.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/.gitignore 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/location.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/location.mli +--- camlp5-6.11/ocaml_stuff/4.03.0/parsing/location.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/location.mli 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1,116 @@ ++(***********************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the Q Public License version 1.0. *) ++(* *) ++(***********************************************************************) ++ ++(* Source code locations (ranges of positions), used in parsetree. *) ++ ++open Format ++ ++type t = { ++ loc_start: Lexing.position; ++ loc_end: Lexing.position; ++ loc_ghost: bool; ++} ++ ++(* Note on the use of Lexing.position in this module. ++ If [pos_fname = ""], then use [!input_name] instead. ++ If [pos_lnum = -1], then [pos_bol = 0]. Use [pos_cnum] and ++ re-parse the file to get the line and character numbers. ++ Else all fields are correct. ++*) ++ ++val none : t ++(** An arbitrary value of type [t]; describes an empty ghost range. *) ++val in_file : string -> t;; ++(** Return an empty ghost range located in a given file. *) ++val init : Lexing.lexbuf -> string -> unit ++(** Set the file name and line number of the [lexbuf] to be the start ++ of the named file. *) ++val curr : Lexing.lexbuf -> t ++(** Get the location of the current token from the [lexbuf]. *) ++ ++val symbol_rloc: unit -> t ++val symbol_gloc: unit -> t ++ ++(** [rhs_loc n] returns the location of the symbol at position [n], starting ++ at 1, in the current parser rule. *) ++val rhs_loc: int -> t ++ ++val input_name: string ref ++val input_lexbuf: Lexing.lexbuf option ref ++ ++val get_pos_info: Lexing.position -> string * int * int (* file, line, char *) ++val print_loc: formatter -> t -> unit ++val print_error: formatter -> t -> unit ++val print_error_cur_file: formatter -> unit ++val print_warning: t -> formatter -> Warnings.t -> unit ++val prerr_warning: t -> Warnings.t -> unit ++val echo_eof: unit -> unit ++val reset: unit -> unit ++ ++val highlight_locations: formatter -> t list -> bool ++ ++type 'a loc = { ++ txt : 'a; ++ loc : t; ++} ++ ++val mknoloc : 'a -> 'a loc ++val mkloc : 'a -> t -> 'a loc ++ ++val print: formatter -> t -> unit ++val print_filename: formatter -> string -> unit ++ ++val absolute_path: string -> string ++ ++val show_filename: string -> string ++ (** In -absname mode, return the absolute path for this filename. ++ Otherwise, returns the filename unchanged. *) ++ ++ ++val absname: bool ref ++ ++ ++(* Support for located errors *) ++ ++type error = ++ { ++ loc: t; ++ msg: string; ++ sub: error list; ++ if_highlight: string; (* alternative message if locations are highlighted *) ++ } ++ ++exception Error of error ++ ++val error: ?loc:t -> ?sub:error list -> ?if_highlight:string -> string -> error ++ ++val errorf: ?loc:t -> ?sub:error list -> ?if_highlight:string ++ -> ('a, unit, string, error) format4 -> 'a ++ ++val error_of_printer: t -> (formatter -> 'a -> unit) -> 'a -> error ++ ++val error_of_printer_file: (formatter -> 'a -> unit) -> 'a -> error ++ ++val error_of_exn: exn -> error option ++ ++val register_error_of_exn: (exn -> error option) -> unit ++ (* Each compiler module which defines a custom type of exception ++ which can surface as a user-visible error should register ++ a "printer" for this exception using [register_error_of_exn]. ++ The result of the printer is an [error] value containing ++ a location, a message, and optionally sub-messages (each of them ++ being located as well). *) ++ ++val report_error: formatter -> error -> unit ++ ++val report_exception: formatter -> exn -> unit ++ (* Reraise the exception if it is unknown. *) +diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/longident.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/longident.mli +--- camlp5-6.11/ocaml_stuff/4.03.0/parsing/longident.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/longident.mli 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1,22 @@ ++(***********************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the Q Public License version 1.0. *) ++(* *) ++(***********************************************************************) ++ ++(* Long identifiers, used in parsetree. *) ++ ++type t = ++ Lident of string ++ | Ldot of t * string ++ | Lapply of t * t ++ ++val flatten: t -> string list ++val last: t -> string ++val parse: string -> t +diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/Makefile +--- camlp5-6.11/ocaml_stuff/4.03.0/parsing/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/Makefile 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1,19 @@ ++# Makefile,v ++ ++FILES=asttypes.cmi location.cmi longident.cmi parsetree.cmi ++INCL=-I ../utils ++ ++all: $(FILES) ++ ++clean: ++ rm -f *.cmi ++ ++depend: ++ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend ++ ++.SUFFIXES: .mli .cmi ++ ++.mli.cmi: ++ $(OCAMLN)c $(INCL) -c $< ++ ++include .depend +diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/parsetree.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/parsetree.mli +--- camlp5-6.11/ocaml_stuff/4.03.0/parsing/parsetree.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/parsetree.mli 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1,810 @@ ++(***********************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the Q Public License version 1.0. *) ++(* *) ++(***********************************************************************) ++ ++(** Abstract syntax tree produced by parsing *) ++ ++open Asttypes ++ ++(** {2 Extension points} *) ++ ++type attribute = string loc * payload ++ (* [@id ARG] ++ [@@id ARG] ++ ++ Metadata containers passed around within the AST. ++ The compiler ignores unknown attributes. ++ *) ++ ++and extension = string loc * payload ++ (* [%id ARG] ++ [%%id ARG] ++ ++ Sub-language placeholder -- rejected by the typechecker. ++ *) ++ ++and attributes = attribute list ++ ++and payload = ++ | PStr of structure ++ | PTyp of core_type (* : T *) ++ | PPat of pattern * expression option (* : P or : P when E *) ++ ++(** {2 Core language} *) ++ ++(* Type expressions *) ++ ++and core_type = ++ { ++ ptyp_desc: core_type_desc; ++ ptyp_loc: Location.t; ++ ptyp_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and core_type_desc = ++ | Ptyp_any ++ (* _ *) ++ | Ptyp_var of string ++ (* 'a *) ++ | Ptyp_arrow of label * core_type * core_type ++ (* T1 -> T2 (label = "") ++ ~l:T1 -> T2 (label = "l") ++ ?l:T1 -> T2 (label = "?l") ++ *) ++ | Ptyp_tuple of core_type list ++ (* T1 * ... * Tn (n >= 2) *) ++ | Ptyp_constr of Longident.t loc * core_type list ++ (* tconstr ++ T tconstr ++ (T1, ..., Tn) tconstr ++ *) ++ | Ptyp_object of (string * attributes * core_type) list * closed_flag ++ (* < l1:T1; ...; ln:Tn > (flag = Closed) ++ < l1:T1; ...; ln:Tn; .. > (flag = Open) ++ *) ++ | Ptyp_class of Longident.t loc * core_type list ++ (* #tconstr ++ T #tconstr ++ (T1, ..., Tn) #tconstr ++ *) ++ | Ptyp_alias of core_type * string ++ (* T as 'a *) ++ | Ptyp_variant of row_field list * closed_flag * label list option ++ (* [ `A|`B ] (flag = Closed; labels = None) ++ [> `A|`B ] (flag = Open; labels = None) ++ [< `A|`B ] (flag = Closed; labels = Some []) ++ [< `A|`B > `X `Y ](flag = Closed; labels = Some ["X";"Y"]) ++ *) ++ | Ptyp_poly of string list * core_type ++ (* 'a1 ... 'an. T ++ ++ Can only appear in the following context: ++ ++ - As the core_type of a Ppat_constraint node corresponding ++ to a constraint on a let-binding: let x : 'a1 ... 'an. T ++ = e ... ++ ++ - Under Cfk_virtual for methods (not values). ++ ++ - As the core_type of a Pctf_method node. ++ ++ - As the core_type of a Pexp_poly node. ++ ++ - As the pld_type field of a label_declaration. ++ ++ - As a core_type of a Ptyp_object node. ++ *) ++ ++ | Ptyp_package of package_type ++ (* (module S) *) ++ | Ptyp_extension of extension ++ (* [%id] *) ++ ++and package_type = Longident.t loc * (Longident.t loc * core_type) list ++ (* ++ (module S) ++ (module S with type t1 = T1 and ... and tn = Tn) ++ *) ++ ++and row_field = ++ | Rtag of label * attributes * bool * core_type list ++ (* [`A] ( true, [] ) ++ [`A of T] ( false, [T] ) ++ [`A of T1 & .. & Tn] ( false, [T1;...Tn] ) ++ [`A of & T1 & .. & Tn] ( true, [T1;...Tn] ) ++ ++ - The 2nd field is true if the tag contains a ++ constant (empty) constructor. ++ - '&' occurs when several types are used for the same constructor ++ (see 4.2 in the manual) ++ ++ - TODO: switch to a record representation, and keep location ++ *) ++ | Rinherit of core_type ++ (* [ T ] *) ++ ++(* Patterns *) ++ ++and pattern = ++ { ++ ppat_desc: pattern_desc; ++ ppat_loc: Location.t; ++ ppat_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and pattern_desc = ++ | Ppat_any ++ (* _ *) ++ | Ppat_var of string loc ++ (* x *) ++ | Ppat_alias of pattern * string loc ++ (* P as 'a *) ++ | Ppat_constant of constant ++ (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) ++ | Ppat_interval of constant * constant ++ (* 'a'..'z' ++ ++ Other forms of interval are recognized by the parser ++ but rejected by the type-checker. *) ++ | Ppat_tuple of pattern list ++ (* (P1, ..., Pn) (n >= 2) *) ++ | Ppat_construct of Longident.t loc * pattern option ++ (* C None ++ C P Some P ++ C (P1, ..., Pn) Some (Ppat_tuple [P1; ...; Pn]) ++ *) ++ | Ppat_variant of label * pattern option ++ (* `A (None) ++ `A P (Some P) ++ *) ++ | Ppat_record of (Longident.t loc * pattern) list * closed_flag ++ (* { l1=P1; ...; ln=Pn } (flag = Closed) ++ { l1=P1; ...; ln=Pn; _} (flag = Open) ++ *) ++ | Ppat_array of pattern list ++ (* [| P1; ...; Pn |] *) ++ | Ppat_or of pattern * pattern ++ (* P1 | P2 *) ++ | Ppat_constraint of pattern * core_type ++ (* (P : T) *) ++ | Ppat_type of Longident.t loc ++ (* #tconst *) ++ | Ppat_lazy of pattern ++ (* lazy P *) ++ | Ppat_unpack of string loc ++ (* (module P) ++ Note: (module P : S) is represented as ++ Ppat_constraint(Ppat_unpack, Ptyp_package) ++ *) ++ | Ppat_exception of pattern ++ (* exception P *) ++ | Ppat_extension of extension ++ (* [%id] *) ++ ++(* Value expressions *) ++ ++and expression = ++ { ++ pexp_desc: expression_desc; ++ pexp_loc: Location.t; ++ pexp_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and expression_desc = ++ | Pexp_ident of Longident.t loc ++ (* x ++ M.x ++ *) ++ | Pexp_constant of constant ++ (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) ++ | Pexp_let of rec_flag * value_binding list * expression ++ (* let P1 = E1 and ... and Pn = EN in E (flag = Nonrecursive) ++ let rec P1 = E1 and ... and Pn = EN in E (flag = Recursive) ++ *) ++ | Pexp_function of case list ++ (* function P1 -> E1 | ... | Pn -> En *) ++ | Pexp_fun of label * expression option * pattern * expression ++ (* fun P -> E1 (lab = "", None) ++ fun ~l:P -> E1 (lab = "l", None) ++ fun ?l:P -> E1 (lab = "?l", None) ++ fun ?l:(P = E0) -> E1 (lab = "?l", Some E0) ++ ++ Notes: ++ - If E0 is provided, lab must start with '?'. ++ - "fun P1 P2 .. Pn -> E1" is represented as nested Pexp_fun. ++ - "let f P = E" is represented using Pexp_fun. ++ *) ++ | Pexp_apply of expression * (label * expression) list ++ (* E0 ~l1:E1 ... ~ln:En ++ li can be empty (non labeled argument) or start with '?' ++ (optional argument). ++ *) ++ | Pexp_match of expression * case list ++ (* match E0 with P1 -> E1 | ... | Pn -> En *) ++ | Pexp_try of expression * case list ++ (* try E0 with P1 -> E1 | ... | Pn -> En *) ++ | Pexp_tuple of expression list ++ (* (E1, ..., En) (n >= 2) *) ++ | Pexp_construct of Longident.t loc * expression option ++ (* C None ++ C E Some E ++ C (E1, ..., En) Some (Pexp_tuple[E1;...;En]) ++ *) ++ | Pexp_variant of label * expression option ++ (* `A (None) ++ `A E (Some E) ++ *) ++ | Pexp_record of (Longident.t loc * expression) list * expression option ++ (* { l1=P1; ...; ln=Pn } (None) ++ { E0 with l1=P1; ...; ln=Pn } (Some E0) ++ *) ++ | Pexp_field of expression * Longident.t loc ++ (* E.l *) ++ | Pexp_setfield of expression * Longident.t loc * expression ++ (* E1.l <- E2 *) ++ | Pexp_array of expression list ++ (* [| E1; ...; En |] *) ++ | Pexp_ifthenelse of expression * expression * expression option ++ (* if E1 then E2 else E3 *) ++ | Pexp_sequence of expression * expression ++ (* E1; E2 *) ++ | Pexp_while of expression * expression ++ (* while E1 do E2 done *) ++ | Pexp_for of ++ pattern * expression * expression * direction_flag * expression ++ (* for i = E1 to E2 do E3 done (flag = Upto) ++ for i = E1 downto E2 do E3 done (flag = Downto) ++ *) ++ | Pexp_constraint of expression * core_type ++ (* (E : T) *) ++ | Pexp_coerce of expression * core_type option * core_type ++ (* (E :> T) (None, T) ++ (E : T0 :> T) (Some T0, T) ++ *) ++ | Pexp_send of expression * string ++ (* E # m *) ++ | Pexp_new of Longident.t loc ++ (* new M.c *) ++ | Pexp_setinstvar of string loc * expression ++ (* x <- 2 *) ++ | Pexp_override of (string loc * expression) list ++ (* {< x1 = E1; ...; Xn = En >} *) ++ | Pexp_letmodule of string loc * module_expr * expression ++ (* let module M = ME in E *) ++ | Pexp_assert of expression ++ (* assert E ++ Note: "assert false" is treated in a special way by the ++ type-checker. *) ++ | Pexp_lazy of expression ++ (* lazy E *) ++ | Pexp_poly of expression * core_type option ++ (* Used for method bodies. ++ ++ Can only be used as the expression under Cfk_concrete ++ for methods (not values). *) ++ | Pexp_object of class_structure ++ (* object ... end *) ++ | Pexp_newtype of string * expression ++ (* fun (type t) -> E *) ++ | Pexp_pack of module_expr ++ (* (module ME) ++ ++ (module ME : S) is represented as ++ Pexp_constraint(Pexp_pack, Ptyp_package S) *) ++ | Pexp_open of override_flag * Longident.t loc * expression ++ (* let open M in E ++ let! open M in E ++ *) ++ | Pexp_extension of extension ++ (* [%id] *) ++ ++and case = (* (P -> E) or (P when E0 -> E) *) ++ { ++ pc_lhs: pattern; ++ pc_guard: expression option; ++ pc_rhs: expression; ++ } ++ ++(* Value descriptions *) ++ ++and value_description = ++ { ++ pval_name: string loc; ++ pval_type: core_type; ++ pval_prim: string list; ++ pval_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ pval_loc: Location.t; ++ } ++ ++(* ++ val x: T (prim = []) ++ external x: T = "s1" ... "sn" (prim = ["s1";..."sn"]) ++ ++ Note: when used under Pstr_primitive, prim cannot be empty ++*) ++ ++(* Type declarations *) ++ ++and type_declaration = ++ { ++ ptype_name: string loc; ++ ptype_params: (core_type * variance) list; ++ (* ('a1,...'an) t; None represents _*) ++ ptype_cstrs: (core_type * core_type * Location.t) list; ++ (* ... constraint T1=T1' ... constraint Tn=Tn' *) ++ ptype_kind: type_kind; ++ ptype_private: private_flag; (* = private ... *) ++ ptype_manifest: core_type option; (* = T *) ++ ptype_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ ptype_loc: Location.t; ++ } ++ ++(* ++ type t (abstract, no manifest) ++ type t = T0 (abstract, manifest=T0) ++ type t = C of T | ... (variant, no manifest) ++ type t = T0 = C of T | ... (variant, manifest=T0) ++ type t = {l: T; ...} (record, no manifest) ++ type t = T0 = {l : T; ...} (record, manifest=T0) ++ type t = .. (open, no manifest) ++*) ++ ++and type_kind = ++ | Ptype_abstract ++ | Ptype_variant of constructor_declaration list ++ | Ptype_record of label_declaration list ++ | Ptype_open ++ ++and label_declaration = ++ { ++ pld_name: string loc; ++ pld_mutable: mutable_flag; ++ pld_type: core_type; ++ pld_loc: Location.t; ++ pld_attributes: attributes; (* l [@id1] [@id2] : T *) ++ } ++ ++(* { ...; l: T; ... } (mutable=Immutable) ++ { ...; mutable l: T; ... } (mutable=Mutable) ++ ++ Note: T can be a Pexp_poly. ++*) ++ ++and constructor_declaration = ++ { ++ pcd_name: string loc; ++ pcd_args: core_type list; ++ pcd_res: core_type option; ++ pcd_loc: Location.t; ++ pcd_attributes: attributes; (* C [@id1] [@id2] of ... *) ++ } ++(* ++ | C of T1 * ... * Tn (res = None) ++ | C: T0 (args = [], res = Some T0) ++ | C: T1 * ... * Tn -> T0 (res = Some T0) ++*) ++ ++and type_extension = ++ { ++ ptyext_path: Longident.t loc; ++ ptyext_params: (core_type * variance) list; ++ ptyext_constructors: extension_constructor list; ++ ptyext_private: private_flag; ++ ptyext_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ } ++(* ++ type t += ... ++*) ++ ++and extension_constructor = ++ { ++ pext_name: string loc; ++ pext_kind : extension_constructor_kind; ++ pext_loc : Location.t; ++ pext_attributes: attributes; (* C [@id1] [@id2] of ... *) ++ } ++ ++and extension_constructor_kind = ++ Pext_decl of core_type list * core_type option ++ (* ++ | C of T1 * ... * Tn ([T1; ...; Tn], None) ++ | C: T0 ([], Some T0) ++ | C: T1 * ... * Tn -> T0 ([T1; ...; Tn], Some T0) ++ *) ++ | Pext_rebind of Longident.t loc ++ (* ++ | C = D ++ *) ++ ++(** {2 Class language} *) ++ ++(* Type expressions for the class language *) ++ ++and class_type = ++ { ++ pcty_desc: class_type_desc; ++ pcty_loc: Location.t; ++ pcty_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and class_type_desc = ++ | Pcty_constr of Longident.t loc * core_type list ++ (* c ++ ['a1, ..., 'an] c *) ++ | Pcty_signature of class_signature ++ (* object ... end *) ++ | Pcty_arrow of label * core_type * class_type ++ (* T -> CT (label = "") ++ ~l:T -> CT (label = "l") ++ ?l:T -> CT (label = "?l") ++ *) ++ | Pcty_extension of extension ++ (* [%id] *) ++ ++and class_signature = ++ { ++ pcsig_self: core_type; ++ pcsig_fields: class_type_field list; ++ } ++(* object('selfpat) ... end ++ object ... end (self = Ptyp_any) ++ *) ++ ++and class_type_field = ++ { ++ pctf_desc: class_type_field_desc; ++ pctf_loc: Location.t; ++ pctf_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ } ++ ++and class_type_field_desc = ++ | Pctf_inherit of class_type ++ (* inherit CT *) ++ | Pctf_val of (string * mutable_flag * virtual_flag * core_type) ++ (* val x: T *) ++ | Pctf_method of (string * private_flag * virtual_flag * core_type) ++ (* method x: T ++ ++ Note: T can be a Pexp_poly. ++ *) ++ | Pctf_constraint of (core_type * core_type) ++ (* constraint T1 = T2 *) ++ | Pctf_attribute of attribute ++ (* [@@@id] *) ++ | Pctf_extension of extension ++ (* [%%id] *) ++ ++and 'a class_infos = ++ { ++ pci_virt: virtual_flag; ++ pci_params: (core_type * variance) list; ++ pci_name: string loc; ++ pci_expr: 'a; ++ pci_loc: Location.t; ++ pci_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ } ++(* class c = ... ++ class ['a1,...,'an] c = ... ++ class virtual c = ... ++ ++ Also used for "class type" declaration. ++*) ++ ++and class_description = class_type class_infos ++ ++and class_type_declaration = class_type class_infos ++ ++(* Value expressions for the class language *) ++ ++and class_expr = ++ { ++ pcl_desc: class_expr_desc; ++ pcl_loc: Location.t; ++ pcl_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and class_expr_desc = ++ | Pcl_constr of Longident.t loc * core_type list ++ (* c ++ ['a1, ..., 'an] c *) ++ | Pcl_structure of class_structure ++ (* object ... end *) ++ | Pcl_fun of label * expression option * pattern * class_expr ++ (* fun P -> CE (lab = "", None) ++ fun ~l:P -> CE (lab = "l", None) ++ fun ?l:P -> CE (lab = "?l", None) ++ fun ?l:(P = E0) -> CE (lab = "?l", Some E0) ++ *) ++ | Pcl_apply of class_expr * (label * expression) list ++ (* CE ~l1:E1 ... ~ln:En ++ li can be empty (non labeled argument) or start with '?' ++ (optional argument). ++ *) ++ | Pcl_let of rec_flag * value_binding list * class_expr ++ (* let P1 = E1 and ... and Pn = EN in CE (flag = Nonrecursive) ++ let rec P1 = E1 and ... and Pn = EN in CE (flag = Recursive) ++ *) ++ | Pcl_constraint of class_expr * class_type ++ (* (CE : CT) *) ++ | Pcl_extension of extension ++ (* [%id] *) ++ ++and class_structure = ++ { ++ pcstr_self: pattern; ++ pcstr_fields: class_field list; ++ } ++(* object(selfpat) ... end ++ object ... end (self = Ppat_any) ++ *) ++ ++and class_field = ++ { ++ pcf_desc: class_field_desc; ++ pcf_loc: Location.t; ++ pcf_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ } ++ ++and class_field_desc = ++ | Pcf_inherit of override_flag * class_expr * string option ++ (* inherit CE ++ inherit CE as x ++ inherit! CE ++ inherit! CE as x ++ *) ++ | Pcf_val of (string loc * mutable_flag * class_field_kind) ++ (* val x = E ++ val virtual x: T ++ *) ++ | Pcf_method of (string loc * private_flag * class_field_kind) ++ (* method x = E (E can be a Pexp_poly) ++ method virtual x: T (T can be a Ptyp_poly) ++ *) ++ | Pcf_constraint of (core_type * core_type) ++ (* constraint T1 = T2 *) ++ | Pcf_initializer of expression ++ (* initializer E *) ++ | Pcf_attribute of attribute ++ (* [@@@id] *) ++ | Pcf_extension of extension ++ (* [%%id] *) ++ ++and class_field_kind = ++ | Cfk_virtual of core_type ++ | Cfk_concrete of override_flag * expression ++ ++and class_declaration = class_expr class_infos ++ ++(** {2 Module language} *) ++ ++(* Type expressions for the module language *) ++ ++and module_type = ++ { ++ pmty_desc: module_type_desc; ++ pmty_loc: Location.t; ++ pmty_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and module_type_desc = ++ | Pmty_ident of Longident.t loc ++ (* S *) ++ | Pmty_signature of signature ++ (* sig ... end *) ++ | Pmty_functor of string loc * module_type option * module_type ++ (* functor(X : MT1) -> MT2 *) ++ | Pmty_with of module_type * with_constraint list ++ (* MT with ... *) ++ | Pmty_typeof of module_expr ++ (* module type of ME *) ++ | Pmty_extension of extension ++ (* [%id] *) ++ | Pmty_alias of Longident.t loc ++ (* (module M) *) ++ ++and signature = signature_item list ++ ++and signature_item = ++ { ++ psig_desc: signature_item_desc; ++ psig_loc: Location.t; ++ } ++ ++and signature_item_desc = ++ | Psig_value of value_description ++ (* ++ val x: T ++ external x: T = "s1" ... "sn" ++ *) ++ | Psig_type of type_declaration list ++ (* type t1 = ... and ... and tn = ... *) ++ | Psig_typext of type_extension ++ (* type t1 += ... *) ++ | Psig_exception of extension_constructor ++ (* exception C of T *) ++ | Psig_module of module_declaration ++ (* module X : MT *) ++ | Psig_recmodule of module_declaration list ++ (* module rec X1 : MT1 and ... and Xn : MTn *) ++ | Psig_modtype of module_type_declaration ++ (* module type S = MT ++ module type S *) ++ | Psig_open of open_description ++ (* open X *) ++ | Psig_include of include_description ++ (* include MT *) ++ | Psig_class of class_description list ++ (* class c1 : ... and ... and cn : ... *) ++ | Psig_class_type of class_type_declaration list ++ (* class type ct1 = ... and ... and ctn = ... *) ++ | Psig_attribute of attribute ++ (* [@@@id] *) ++ | Psig_extension of extension * attributes ++ (* [%%id] *) ++ ++and module_declaration = ++ { ++ pmd_name: string loc; ++ pmd_type: module_type; ++ pmd_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ pmd_loc: Location.t; ++ } ++(* S : MT *) ++ ++and module_type_declaration = ++ { ++ pmtd_name: string loc; ++ pmtd_type: module_type option; ++ pmtd_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ pmtd_loc: Location.t; ++ } ++(* S = MT ++ S (abstract module type declaration, pmtd_type = None) ++*) ++ ++and open_description = ++ { ++ popen_lid: Longident.t loc; ++ popen_override: override_flag; ++ popen_loc: Location.t; ++ popen_attributes: attributes; ++ } ++(* open! X - popen_override = Override (silences the 'used identifier ++ shadowing' warning) ++ open X - popen_override = Fresh ++ *) ++ ++and 'a include_infos = ++ { ++ pincl_mod: 'a; ++ pincl_loc: Location.t; ++ pincl_attributes: attributes; ++ } ++ ++and include_description = module_type include_infos ++(* include MT *) ++ ++and include_declaration = module_expr include_infos ++(* include ME *) ++ ++and with_constraint = ++ | Pwith_type of Longident.t loc * type_declaration ++ (* with type X.t = ... ++ ++ Note: the last component of the longident must match ++ the name of the type_declaration. *) ++ | Pwith_module of Longident.t loc * Longident.t loc ++ (* with module X.Y = Z *) ++ | Pwith_typesubst of type_declaration ++ (* with type t := ... *) ++ | Pwith_modsubst of string loc * Longident.t loc ++ (* with module X := Z *) ++ ++(* Value expressions for the module language *) ++ ++and module_expr = ++ { ++ pmod_desc: module_expr_desc; ++ pmod_loc: Location.t; ++ pmod_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and module_expr_desc = ++ | Pmod_ident of Longident.t loc ++ (* X *) ++ | Pmod_structure of structure ++ (* struct ... end *) ++ | Pmod_functor of string loc * module_type option * module_expr ++ (* functor(X : MT1) -> ME *) ++ | Pmod_apply of module_expr * module_expr ++ (* ME1(ME2) *) ++ | Pmod_constraint of module_expr * module_type ++ (* (ME : MT) *) ++ | Pmod_unpack of expression ++ (* (val E) *) ++ | Pmod_extension of extension ++ (* [%id] *) ++ ++and structure = structure_item list ++ ++and structure_item = ++ { ++ pstr_desc: structure_item_desc; ++ pstr_loc: Location.t; ++ } ++ ++and structure_item_desc = ++ | Pstr_eval of expression * attributes ++ (* E *) ++ | Pstr_value of rec_flag * value_binding list ++ (* let P1 = E1 and ... and Pn = EN (flag = Nonrecursive) ++ let rec P1 = E1 and ... and Pn = EN (flag = Recursive) ++ *) ++ | Pstr_primitive of value_description ++ (* external x: T = "s1" ... "sn" *) ++ | Pstr_type of type_declaration list ++ (* type t1 = ... and ... and tn = ... *) ++ | Pstr_typext of type_extension ++ (* type t1 += ... *) ++ | Pstr_exception of extension_constructor ++ (* exception C of T ++ exception C = M.X *) ++ | Pstr_module of module_binding ++ (* module X = ME *) ++ | Pstr_recmodule of module_binding list ++ (* module rec X1 = ME1 and ... and Xn = MEn *) ++ | Pstr_modtype of module_type_declaration ++ (* module type S = MT *) ++ | Pstr_open of open_description ++ (* open X *) ++ | Pstr_class of class_declaration list ++ (* class c1 = ... and ... and cn = ... *) ++ | Pstr_class_type of class_type_declaration list ++ (* class type ct1 = ... and ... and ctn = ... *) ++ | Pstr_include of include_declaration ++ (* include ME *) ++ | Pstr_attribute of attribute ++ (* [@@@id] *) ++ | Pstr_extension of extension * attributes ++ (* [%%id] *) ++ ++and value_binding = ++ { ++ pvb_pat: pattern; ++ pvb_expr: expression; ++ pvb_attributes: attributes; ++ pvb_loc: Location.t; ++ } ++ ++and module_binding = ++ { ++ pmb_name: string loc; ++ pmb_expr: module_expr; ++ pmb_attributes: attributes; ++ pmb_loc: Location.t; ++ } ++(* X = ME *) ++ ++(** {2 Toplevel} *) ++ ++(* Toplevel phrases *) ++ ++type toplevel_phrase = ++ | Ptop_def of structure ++ | Ptop_dir of string * directive_argument ++ (* #use, #load ... *) ++ ++and directive_argument = ++ | Pdir_none ++ | Pdir_string of string ++ | Pdir_int of int ++ | Pdir_ident of Longident.t ++ | Pdir_bool of bool +diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/.depend +--- camlp5-6.11/ocaml_stuff/4.03.0/utils/.depend 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/.depend 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1,2 @@ ++pconfig.cmo: pconfig.cmi ++pconfig.cmx: pconfig.cmi +diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/4.03.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/.gitignore 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/Makefile +--- camlp5-6.11/ocaml_stuff/4.03.0/utils/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/Makefile 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1,27 @@ ++# Makefile,v ++ ++FILES=warnings.cmi pconfig.cmo ++INCL= ++ ++all: $(FILES) ++ ++opt: pconfig.cmx ++ ++clean: ++ rm -f *.cm[oix] *.o ++ ++depend: ++ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend ++ ++.SUFFIXES: .mli .cmi .ml .cmo .cmx ++ ++.mli.cmi: ++ $(OCAMLN)c $(INCL) -c $< ++ ++.ml.cmo: ++ $(OCAMLN)c $(INCL) -c $< ++ ++.ml.cmx: ++ $(OCAMLN)opt $(INCL) -c $< ++ ++include .depend +diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/pconfig.ml camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/pconfig.ml +--- camlp5-6.11/ocaml_stuff/4.03.0/utils/pconfig.ml 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/pconfig.ml 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1,4 @@ ++let ocaml_version = "4.03.0" ++let ocaml_name = "ocaml" ++let ast_impl_magic_number = "Caml1999M016" ++let ast_intf_magic_number = "Caml1999N015" +diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/pconfig.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/pconfig.mli +--- camlp5-6.11/ocaml_stuff/4.03.0/utils/pconfig.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/pconfig.mli 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1,4 @@ ++val ocaml_version : string ++val ocaml_name : string ++val ast_impl_magic_number : string ++val ast_intf_magic_number : string +diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/warnings.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/warnings.mli +--- camlp5-6.11/ocaml_stuff/4.03.0/utils/warnings.mli 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/warnings.mli 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1,87 @@ ++(***********************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Pierre Weis && Damien Doligez, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1998 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the Q Public License version 1.0. *) ++(* *) ++(***********************************************************************) ++ ++open Format ++ ++type t = ++ | Comment_start (* 1 *) ++ | Comment_not_end (* 2 *) ++ | Deprecated of string (* 3 *) ++ | Fragile_match of string (* 4 *) ++ | Partial_application (* 5 *) ++ | Labels_omitted (* 6 *) ++ | Method_override of string list (* 7 *) ++ | Partial_match of string (* 8 *) ++ | Non_closed_record_pattern of string (* 9 *) ++ | Statement_type (* 10 *) ++ | Unused_match (* 11 *) ++ | Unused_pat (* 12 *) ++ | Instance_variable_override of string list (* 13 *) ++ | Illegal_backslash (* 14 *) ++ | Implicit_public_methods of string list (* 15 *) ++ | Unerasable_optional_argument (* 16 *) ++ | Undeclared_virtual_method of string (* 17 *) ++ | Not_principal of string (* 18 *) ++ | Without_principality of string (* 19 *) ++ | Unused_argument (* 20 *) ++ | Nonreturning_statement (* 21 *) ++ | Preprocessor of string (* 22 *) ++ | Useless_record_with (* 23 *) ++ | Bad_module_name of string (* 24 *) ++ | All_clauses_guarded (* 25 *) ++ | Unused_var of string (* 26 *) ++ | Unused_var_strict of string (* 27 *) ++ | Wildcard_arg_to_constant_constr (* 28 *) ++ | Eol_in_string (* 29 *) ++ | Duplicate_definitions of string * string * string * string (* 30 *) ++ | Multiple_definition of string * string * string (* 31 *) ++ | Unused_value_declaration of string (* 32 *) ++ | Unused_open of string (* 33 *) ++ | Unused_type_declaration of string (* 34 *) ++ | Unused_for_index of string (* 35 *) ++ | Unused_ancestor of string (* 36 *) ++ | Unused_constructor of string * bool * bool (* 37 *) ++ | Unused_extension of string * bool * bool (* 38 *) ++ | Unused_rec_flag (* 39 *) ++ | Name_out_of_scope of string * string list * bool (* 40 *) ++ | Ambiguous_name of string list * string list * bool (* 41 *) ++ | Disambiguated_name of string (* 42 *) ++ | Nonoptional_label of string (* 43 *) ++ | Open_shadow_identifier of string * string (* 44 *) ++ | Open_shadow_label_constructor of string * string (* 45 *) ++ | Bad_env_variable of string * string (* 46 *) ++ | Attribute_payload of string * string (* 47 *) ++ | Eliminated_optional_arguments of string list (* 48 *) ++ | No_cmi_file of string (* 49 *) ++;; ++ ++val parse_options : bool -> string -> unit;; ++ ++val is_active : t -> bool;; ++val is_error : t -> bool;; ++ ++val defaults_w : string;; ++val defaults_warn_error : string;; ++ ++val print : formatter -> t -> int;; ++ (* returns the number of newlines in the printed string *) ++ ++ ++exception Errors of int;; ++ ++val check_fatal : unit -> unit;; ++ ++val help_warnings: unit -> unit ++ ++type state ++val backup: unit -> state ++val restore: state -> unit +diff -urN camlp5-6.11/ocaml_stuff/common/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/common/parsing/.cvsignore 2010-09-15 17:00:47.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/common/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/common/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/.gitignore 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/common/parsing/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/Makefile +--- camlp5-6.11/ocaml_stuff/common/parsing/Makefile 2012-03-02 18:49:57.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/Makefile 2014-08-01 10:14:54.344065456 +0100 +@@ -1,4 +1,4 @@ +-# $Id: Makefile,v 6.3 2012-03-02 18:49:57 deraugla Exp $ ++# Makefile,v + + FILES=asttypes.cmi location.cmi longident.cmi parsetree.cmi + INCL=-I ../utils +diff -urN camlp5-6.11/ocaml_stuff/common/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/common/utils/.cvsignore 2010-09-15 17:00:48.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/common/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/common/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/.gitignore 2014-08-01 10:14:54.344065456 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/common/utils/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/Makefile +--- camlp5-6.11/ocaml_stuff/common/utils/Makefile 2012-03-02 18:49:57.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/Makefile 2014-08-01 10:14:54.344065456 +0100 +@@ -1,4 +1,4 @@ +-# $Id: Makefile,v 6.3 2012-03-02 18:49:57 deraugla Exp $ ++# Makefile,v + + FILES=warnings.cmi pconfig.cmo + INCL= +diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/jocaml/3.12.0/parsing/.cvsignore 2012-03-06 10:09:10.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/jocaml/3.12.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/parsing/.gitignore 2014-08-01 10:14:54.345065457 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/jocaml/3.12.0/utils/.cvsignore 2012-03-06 10:09:10.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/jocaml/3.12.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/utils/.gitignore 2014-08-01 10:14:54.345065457 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/jocaml/3.12.1/parsing/.cvsignore 2012-03-06 09:57:07.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/jocaml/3.12.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/parsing/.gitignore 2014-08-01 10:14:54.345065457 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/jocaml/3.12.1/utils/.cvsignore 2012-03-06 09:57:07.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/jocaml/3.12.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/utils/.gitignore 2014-08-01 10:14:54.346065458 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.13.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/parsing/.cvsignore +--- camlp5-6.11/ocaml_stuff/jocaml/3.13.0/parsing/.cvsignore 2012-03-02 18:49:57.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.13.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/parsing/.gitignore +--- camlp5-6.11/ocaml_stuff/jocaml/3.13.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/parsing/.gitignore 2014-08-01 10:14:54.346065458 +0100 +@@ -0,0 +1 @@ ++*.cm[oi] +diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.13.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/utils/.cvsignore +--- camlp5-6.11/ocaml_stuff/jocaml/3.13.0/utils/.cvsignore 2012-03-02 18:49:57.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.13.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/utils/.gitignore +--- camlp5-6.11/ocaml_stuff/jocaml/3.13.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/utils/.gitignore 2014-08-01 10:14:54.346065458 +0100 +@@ -0,0 +1 @@ ++*.cm[oix] +diff -urN camlp5-6.11/ocaml_stuff/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/Makefile +--- camlp5-6.11/ocaml_stuff/Makefile 2013-06-10 16:41:26.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocaml_stuff/Makefile 2014-08-01 10:14:54.344065456 +0100 +@@ -1,4 +1,4 @@ +-# $Id: Makefile,v 6.8 2013-06-10 15:41:26 deraugla Exp $ ++# Makefile,v + + TOP=.. + include ../config/Makefile +@@ -38,11 +38,11 @@ + cp common/utils/pconfig.mli $(VERSSDIR)/utils/. + sed 's/\$$Id.*\$$/Id/' common/utils/Makefile > \ + $(VERSSDIR)/utils/Makefile +- cp common/utils/.cvsignore $(VERSSDIR)/utils/. ++ cp common/utils/.gitignore $(VERSSDIR)/utils/. + cp common/utils/.depend $(VERSSDIR)/utils/. + sed 's/\$$Id.*\$$/Id/' common/parsing/Makefile > \ + $(VERSSDIR)/parsing/Makefile +- cp common/parsing/.cvsignore $(VERSSDIR)/parsing/. ++ cp common/parsing/.gitignore $(VERSSDIR)/parsing/. + cp common/parsing/.depend $(VERSSDIR)/parsing/. + (echo "let ocaml_version = \"$(OVERSION)\""; \ + echo "let ocaml_name = \"$(OCAMLN)\""; \ +diff -urN camlp5-6.11/ocpp/.cvsignore camlp5-6.12-63a8c30f/ocpp/.cvsignore +--- camlp5-6.11/ocpp/.cvsignore 2010-09-15 17:00:48.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocpp/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1,3 +0,0 @@ +-*.cm[oia] +-ocpp +-crc.ml +diff -urN camlp5-6.11/ocpp/.gitignore camlp5-6.12-63a8c30f/ocpp/.gitignore +--- camlp5-6.11/ocpp/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/ocpp/.gitignore 2014-08-01 10:14:54.346065458 +0100 +@@ -0,0 +1,3 @@ ++*.cm[oia] ++ocpp ++crc.ml +diff -urN camlp5-6.11/ocpp/Makefile camlp5-6.12-63a8c30f/ocpp/Makefile +--- camlp5-6.11/ocpp/Makefile 2012-03-01 03:33:19.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocpp/Makefile 2014-08-01 10:14:54.346065458 +0100 +@@ -1,10 +1,10 @@ +-# $Id: Makefile,v 6.2 2012-03-01 03:33:19 deraugla Exp $ ++# Makefile,v + + include ../config/Makefile + + SHELL=/bin/sh + +-INCLUDES=-I ../main -I ../boot -I ../odyl ++INCLUDES=-I ../main -I ../boot -I ../odyl -I ../lib + OCAMLCFLAGS=$(WARNERR) $(INCLUDES) + LINKFLAGS=$(INCLUDES) + OBJS=ocpp.cmo +@@ -12,7 +12,7 @@ + all: ocpp$(EXE) + + ocpp$(EXE): $(OBJS) +- $(OCAMLC) $(LINKFLAGS) ../boot/ploc.cmo ../boot/stdpp.cmo ../main/quotation.cmo ../odyl/odyl.cma $(OBJS) ../odyl/odyl.cmo -linkall -o ocpp$(EXE) ++ $(OCAMLC) $(LINKFLAGS) ../boot/versdep.cmo ../boot/ploc.cmo ../boot/stdpp.cmo ../main/quotation.cmo ../odyl/odyl.cma $(OBJS) ../odyl/odyl.cmo -linkall -o ocpp$(EXE) + + clean:: + rm -f *.cm[ioa] *.pp[io] *.[ao] *.obj *.lib *.out *.bak .*.bak +diff -urN camlp5-6.11/ocpp/ocpp.ml camlp5-6.12-63a8c30f/ocpp/ocpp.ml +--- camlp5-6.11/ocpp/ocpp.ml 2012-01-09 14:22:25.000000000 +0000 ++++ camlp5-6.12-63a8c30f/ocpp/ocpp.ml 2014-08-01 10:14:54.346065458 +0100 +@@ -1,14 +1,16 @@ + (* camlp5r *) +-(* $Id: ocpp.ml,v 6.3 2012-01-09 14:22:25 deraugla Exp $ *) ++(* ocpp.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + +-value buff = ref (String.create 80); ++open Versdep; ++ ++value buff = ref (string_create 80); + value store len x = + do { + if len >= String.length buff.val then +- buff.val := buff.val ^ String.create (String.length buff.val) ++ buff.val := buff.val ^ string_create (String.length buff.val) + else (); +- buff.val.[len] := x; ++ string_set buff.val len x; + succ len + } + ; +diff -urN camlp5-6.11/odyl/.cvsignore camlp5-6.12-63a8c30f/odyl/.cvsignore +--- camlp5-6.11/odyl/.cvsignore 2010-09-15 17:00:48.000000000 +0100 ++++ camlp5-6.12-63a8c30f/odyl/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1,6 +0,0 @@ +-*.a +-*.cm[oiax] +-*.cmxa +-*.lib +-odyl +-odyl_config.ml +diff -urN camlp5-6.11/odyl/.gitignore camlp5-6.12-63a8c30f/odyl/.gitignore +--- camlp5-6.11/odyl/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/odyl/.gitignore 2014-08-01 10:14:54.347065458 +0100 +@@ -0,0 +1,6 @@ ++*.a ++*.cm[oiax] ++*.cmxa ++*.lib ++odyl ++odyl_config.ml +diff -urN camlp5-6.11/odyl/Makefile camlp5-6.12-63a8c30f/odyl/Makefile +--- camlp5-6.11/odyl/Makefile 2012-03-01 03:33:19.000000000 +0000 ++++ camlp5-6.12-63a8c30f/odyl/Makefile 2014-08-01 10:14:54.347065458 +0100 +@@ -1,4 +1,4 @@ +-# $Id: Makefile,v 6.2 2012-03-01 03:33:19 deraugla Exp $ ++# Makefile,v + + TOP=.. + include $(TOP)/config/Makefile +diff -urN camlp5-6.11/odyl/odyl_main.ml camlp5-6.12-63a8c30f/odyl/odyl_main.ml +--- camlp5-6.11/odyl/odyl_main.ml 2012-01-09 14:22:25.000000000 +0000 ++++ camlp5-6.12-63a8c30f/odyl/odyl_main.ml 2014-08-01 10:14:54.347065458 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* $Id: odyl_main.ml,v 6.3 2012-01-09 14:22:25 deraugla Exp $ *) ++(* odyl_main.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + value go = ref (fun () -> ()); +diff -urN camlp5-6.11/odyl/odyl_main.mli camlp5-6.12-63a8c30f/odyl/odyl_main.mli +--- camlp5-6.11/odyl/odyl_main.mli 2010-09-15 17:00:48.000000000 +0100 ++++ camlp5-6.12-63a8c30f/odyl/odyl_main.mli 2014-08-01 10:14:54.347065458 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: odyl_main.mli,v 6.1 2010-09-15 16:00:48 deraugla Exp $ *) ++(* odyl_main.mli,v *) + + exception Error of string and string; + +diff -urN camlp5-6.11/odyl/odyl.ml camlp5-6.12-63a8c30f/odyl/odyl.ml +--- camlp5-6.11/odyl/odyl.ml 2012-01-09 14:22:25.000000000 +0000 ++++ camlp5-6.12-63a8c30f/odyl/odyl.ml 2014-08-01 10:14:54.347065458 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: odyl.ml,v 6.3 2012-01-09 14:22:25 deraugla Exp $ *) ++(* odyl.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + value apply_load () = +diff -urN camlp5-6.11/README camlp5-6.12-63a8c30f/README +--- camlp5-6.11/README 2013-08-15 23:08:21.000000000 +0100 ++++ camlp5-6.12-63a8c30f/README 2014-08-01 10:14:54.283065418 +0100 +@@ -5,7 +5,7 @@ + It is compatible with all versions of ocaml from 1.07 to 4.01.0 and + jocaml 3.12.0 to 3.12.1. + +- This Camlp5 version is 6.11. ++ This Camlp5 version is 6.12-exp. + + Camlp5 must be compiled either in "transitional mode" or in "strict mode". + See the file MODE for information. +diff -urN camlp5-6.11/test/check_ocaml_sources.sh camlp5-6.12-63a8c30f/test/check_ocaml_sources.sh +--- camlp5-6.11/test/check_ocaml_sources.sh 2010-09-24 12:04:54.000000000 +0100 ++++ camlp5-6.12-63a8c30f/test/check_ocaml_sources.sh 2014-08-01 10:14:54.347065458 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: check_ocaml_sources.sh,v 6.18 2010-09-24 11:04:54 deraugla Exp $ ++# check_ocaml_sources.sh,v + + dir='../ocaml/trunk' + suff=ml +diff -urN camlp5-6.11/test/check_ocaml_versions.sh camlp5-6.12-63a8c30f/test/check_ocaml_versions.sh +--- camlp5-6.11/test/check_ocaml_versions.sh 2012-06-18 10:53:42.000000000 +0100 ++++ camlp5-6.12-63a8c30f/test/check_ocaml_versions.sh 2014-08-01 10:14:54.347065458 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh -e +-# $Id: check_ocaml_versions.sh,v 6.11 2012-06-18 09:53:42 deraugla Exp $ ++# check_ocaml_versions.sh,v + + TOP=$HOME/work + DEST=$TOP/usr +diff -urN camlp5-6.11/test/.cvsignore camlp5-6.12-63a8c30f/test/.cvsignore +--- camlp5-6.11/test/.cvsignore 2010-09-30 08:33:58.000000000 +0100 ++++ camlp5-6.12-63a8c30f/test/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.ml[tu] +diff -urN camlp5-6.11/test/.gitignore camlp5-6.12-63a8c30f/test/.gitignore +--- camlp5-6.11/test/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/test/.gitignore 2014-08-01 10:14:54.347065458 +0100 +@@ -0,0 +1 @@ ++*.ml[tu] +diff -urN camlp5-6.11/test/Makefile camlp5-6.12-63a8c30f/test/Makefile +--- camlp5-6.11/test/Makefile 2012-03-01 03:33:19.000000000 +0000 ++++ camlp5-6.12-63a8c30f/test/Makefile 2014-08-01 10:14:54.347065458 +0100 +@@ -1,4 +1,4 @@ +-# $Id: Makefile,v 6.6 2012-03-01 03:33:19 deraugla Exp $ ++# Makefile,v + # Copyright (c) INRIA 2007-2012 + + DEP=../etc/pr_r.cmo quot_r.out.ml +diff -urN camlp5-6.11/test/mkquot_o.sh camlp5-6.12-63a8c30f/test/mkquot_o.sh +--- camlp5-6.11/test/mkquot_o.sh 2010-09-16 09:32:02.000000000 +0100 ++++ camlp5-6.12-63a8c30f/test/mkquot_o.sh 2014-08-01 10:14:54.347065458 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: mkquot_o.sh,v 6.2 2010-09-16 08:32:02 deraugla Exp $ ++# mkquot_o.sh,v + + head -n2 quot_o.ml + ../meta/camlp5r -nolib -I ../meta ../etc/pa_mktest.cmo ../etc/pr_o.cmo -flag M -impl ../main/mLast.mli | +diff -urN camlp5-6.11/test/mkquot.sh camlp5-6.12-63a8c30f/test/mkquot.sh +--- camlp5-6.11/test/mkquot.sh 2010-09-15 17:00:48.000000000 +0100 ++++ camlp5-6.12-63a8c30f/test/mkquot.sh 2014-08-01 10:14:54.347065458 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: mkquot.sh,v 6.1 2010-09-15 16:00:48 deraugla Exp $ ++# mkquot.sh,v + + echo '(* file generated by mkquot.sh: do not edit! *)' + echo +diff -urN camlp5-6.11/test/quot_o.ml camlp5-6.12-63a8c30f/test/quot_o.ml +--- camlp5-6.11/test/quot_o.ml 2010-11-14 17:09:00.000000000 +0000 ++++ camlp5-6.12-63a8c30f/test/quot_o.ml 2014-08-01 10:14:54.347065458 +0100 +@@ -1,4 +1,4 @@ +-(* $Id: quot_o.ml,v 6.22 2010-11-14 17:09:00 deraugla Exp $ *) ++(* quot_o.ml,v *) + + <:ctyp< $t1$ . $t2$ >>;; + MLast.TyAli (loc, t1, t2);; +diff -urN camlp5-6.11/test/quot_r.ml camlp5-6.12-63a8c30f/test/quot_r.ml +--- camlp5-6.11/test/quot_r.ml 2010-11-14 17:09:00.000000000 +0000 ++++ camlp5-6.12-63a8c30f/test/quot_r.ml 2014-08-01 10:14:54.347065458 +0100 +@@ -1,4 +1,4 @@ +-(* $Id: quot_r.ml,v 6.37 2010-11-14 17:09:00 deraugla Exp $ *) ++(* quot_r.ml,v *) + + (* ctyp: Type expressions of the language. *) + +diff -urN camlp5-6.11/tools/apply.sh camlp5-6.12-63a8c30f/tools/apply.sh +--- camlp5-6.11/tools/apply.sh 2010-09-15 17:00:48.000000000 +0100 ++++ camlp5-6.12-63a8c30f/tools/apply.sh 2014-08-01 10:14:54.348065459 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: apply.sh,v 6.1 2010-09-15 16:00:48 deraugla Exp $ ++# apply.sh,v + + ARGS1= + ARGS2= +diff -urN camlp5-6.11/tools/camlp5_comm.sh camlp5-6.12-63a8c30f/tools/camlp5_comm.sh +--- camlp5-6.11/tools/camlp5_comm.sh 2012-03-03 01:38:08.000000000 +0000 ++++ camlp5-6.12-63a8c30f/tools/camlp5_comm.sh 2014-08-01 10:14:54.348065459 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: camlp5_comm.sh,v 6.5 2012-03-03 01:38:08 deraugla Exp $ ++# camlp5_comm.sh,v + + ARGS1="-mode $MODE" + FILE= +diff -urN camlp5-6.11/tools/depend.sh camlp5-6.12-63a8c30f/tools/depend.sh +--- camlp5-6.11/tools/depend.sh 2012-03-01 03:33:19.000000000 +0000 ++++ camlp5-6.12-63a8c30f/tools/depend.sh 2014-08-01 10:14:54.348065459 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# $Id: depend.sh,v 6.3 2012-03-01 03:33:19 deraugla Exp $ ++# depend.sh,v + + ARGS1="pr_depend.cmo --" + FILE= +diff -urN camlp5-6.11/tools/mkcrc.sh camlp5-6.12-63a8c30f/tools/mkcrc.sh +--- camlp5-6.11/tools/mkcrc.sh 2010-09-15 17:00:49.000000000 +0100 ++++ camlp5-6.12-63a8c30f/tools/mkcrc.sh 2014-08-01 10:14:54.348065459 +0100 +@@ -1,5 +1,5 @@ + #!/bin/sh -e +-# $Id: mkcrc.sh,v 6.1 2010-09-15 16:00:49 deraugla Exp $ ++# mkcrc.sh,v + + V=$OVERSION + +diff -urN camlp5-6.11/top/camlp5_top.ml camlp5-6.12-63a8c30f/top/camlp5_top.ml +--- camlp5-6.11/top/camlp5_top.ml 2013-03-13 07:52:28.000000000 +0000 ++++ camlp5-6.12-63a8c30f/top/camlp5_top.ml 2014-08-01 10:14:54.348065459 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: camlp5_top.ml,v 6.5 2013-03-13 07:52:28 deraugla Exp $ *) ++(* camlp5_top.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + #load "pa_macro.cmo"; +@@ -190,5 +190,6 @@ + ELSE + Toploop.print_warning (Ast2pt.mkloc loc) Format.err_formatter + (IFDEF OCAML_VERSION <= OCAML_3_08_4 THEN Warnings.Other txt +- ELSE Warnings.Camlp4 txt END) ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Warnings.Camlp4 txt ++ ELSE Warnings.Preprocessor txt END) + END; +diff -urN camlp5-6.11/top/.cvsignore camlp5-6.12-63a8c30f/top/.cvsignore +--- camlp5-6.11/top/.cvsignore 2010-09-15 17:00:49.000000000 +0100 ++++ camlp5-6.12-63a8c30f/top/.cvsignore 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +-*.cm[oia] +diff -urN camlp5-6.11/top/.gitignore camlp5-6.12-63a8c30f/top/.gitignore +--- camlp5-6.11/top/.gitignore 1970-01-01 01:00:00.000000000 +0100 ++++ camlp5-6.12-63a8c30f/top/.gitignore 2014-08-01 10:14:54.348065459 +0100 +@@ -0,0 +1 @@ ++*.cm[oia] +diff -urN camlp5-6.11/top/Makefile camlp5-6.12-63a8c30f/top/Makefile +--- camlp5-6.11/top/Makefile 2013-03-15 18:30:46.000000000 +0000 ++++ camlp5-6.12-63a8c30f/top/Makefile 2014-08-01 10:14:54.348065459 +0100 +@@ -1,9 +1,9 @@ +-# $Id: Makefile,v 6.6 2013-03-15 18:30:46 deraugla Exp $ ++# Makefile,v + + TOP=.. + include ../config/Makefile + +-INCLUDES=-I ../main -I ../boot -I $(OTOP)/utils -I $(OTOP)/parsing -I $(OCLIBDIR) ++INCLUDES=-I ../main -I ../boot -I $(OTOP)/utils -I $(OTOP)/parsing -I "$(OCLIBDIR)" + OCAMLCFLAGS=$(WARNERR) $(INCLUDES) + + CAMLP5_OBJS=$(OTOP)/utils/pconfig.cmo ../boot/versdep.cmo ../boot/ploc.cmo ../boot/plexing.cmo ../boot/plexer.cmo ../boot/fstream.cmo ../boot/gramext.cmo ../boot/grammar.cmo ../boot/diff.cmo ../boot/extfold.cmo ../boot/extfun.cmo ../boot/pretty.cmo ../boot/pprintf.cmo ../boot/eprinter.cmo ../main/quotation.cmo ../main/reloc.cmo ../main/prtools.cmo ../main/ast2pt.cmo ../main/pcaml.cmo ../main/exparser.cmo ../boot/stdpp.cmo ../boot/token.cmo +diff -urN camlp5-6.11/top/oprint.ml camlp5-6.12-63a8c30f/top/oprint.ml +--- camlp5-6.11/top/oprint.ml 2012-01-09 14:22:25.000000000 +0000 ++++ camlp5-6.12-63a8c30f/top/oprint.ml 2014-08-01 10:14:54.349065460 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r *) +-(* $Id: oprint.ml,v 6.3 2012-01-09 14:22:25 deraugla Exp $ *) ++(* oprint.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + open Format; +diff -urN camlp5-6.11/top/rprint.ml camlp5-6.12-63a8c30f/top/rprint.ml +--- camlp5-6.11/top/rprint.ml 2013-07-02 17:27:48.000000000 +0100 ++++ camlp5-6.12-63a8c30f/top/rprint.ml 2014-08-01 10:14:54.349065460 +0100 +@@ -1,5 +1,5 @@ + (* camlp5r pa_macro.cmo *) +-(* $Id: rprint.ml,v 6.17 2013-07-02 16:27:48 deraugla Exp $ *) ++(* rprint.ml,v *) + (* Copyright (c) INRIA 2007-2012 *) + + IFDEF OCAML_VERSION >= OCAML_3_03 THEN +@@ -212,6 +212,9 @@ + | Otyp_manifest ty1 ty2 -> + fprintf ppf "@[<2>%a ==@ %a@]" print_out_type ty1 print_out_type ty2 + | Otyp_abstract -> fprintf ppf "'abstract" ++ | IFDEF OCAML_VERSION >= OCAML_4_02_0 THEN ++ Otyp_open -> fprintf ppf "open" ++ END + | Otyp_alias _ _ | Otyp_arrow _ _ _ | Otyp_constr _ [_ :: _] as ty -> + fprintf ppf "@[<1>(%a)@]" print_out_type ty + | IFDEF OCAML_VERSION >= OCAML_3_05 THEN +@@ -339,9 +342,15 @@ + (print_typlist print_out_type ",") tyl ] + in + fprintf ppf "@[%a%a@]" pr_tyl tyl print_ident id +- | Octy_fun lab ty cty -> ++ | IFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Octy_fun lab ty cty -> ++ fprintf ppf "@[%s[ %a ] ->@ %a@]" (if lab <> "" then lab ^ ":" else "") ++ print_out_type ty print_out_class_type cty ++ ELSE ++ Octy_arrow lab ty cty -> + fprintf ppf "@[%s[ %a ] ->@ %a@]" (if lab <> "" then lab ^ ":" else "") + print_out_type ty print_out_class_type cty ++ END + | Octy_signature self_ty csil -> + let pr_param ppf = + fun +@@ -379,9 +388,22 @@ + | Omty_signature sg -> + fprintf ppf "@[sig@ %a@;<1 -2>end@]" print_out_signature sg + | Omty_functor name mty_arg mty_res -> +- fprintf ppf "@[<2>functor@ (%s : %a) ->@ %a@]" name +- print_out_module_type mty_arg print_out_module_type mty_res +- | Omty_abstract -> () ] ++ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ fprintf ppf "@[<2>functor@ (%s : %a) ->@ %a@]" name ++ print_out_module_type mty_arg print_out_module_type mty_res ++ ELSE ++ match mty_arg with ++ [ Some mty_arg -> ++ fprintf ppf "@[<2>functor@ (%s : %a) ->@ %a@]" name ++ print_out_module_type mty_arg print_out_module_type mty_res ++ | None -> ++ fprintf ppf "@[<2>functor@ (%s) ->@ %a@]" name ++ print_out_module_type mty_res ] ++ END ++ | Omty_abstract -> () ++ | IFDEF OCAML_VERSION >= OCAML_4_02_0 THEN ++ Omty_alias oi -> fprintf ppf "" ++ END ] + and print_out_signature ppf = + fun + [ [] -> () +@@ -391,8 +413,10 @@ + print_out_signature items ] + and print_out_sig_item ppf = + fun +- [ Osig_exception id tyl -> ++ [ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN ++ Osig_exception id tyl -> + fprintf ppf "@[<2>exception %a@]" print_out_constr (id, tyl) ++ END + | Osig_modtype name Omty_abstract -> + fprintf ppf "@[<2>module type %s = 'a@]" name + | Osig_modtype name mty -> +@@ -448,8 +472,11 @@ + IFDEF OCAML_VERSION <= OCAML_3_08_4 THEN + let (name, args, ty, priv) = x in + (name, args, ty, priv, []) +- ELSE ++ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + x ++ ELSE ++ (x.otype_name, x.otype_params, x.otype_type, x.otype_private, ++ x.otype_cstrs) + END + in + let constrain ppf (ty, ty') = diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index ab0fb19..66578bb 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -1,15 +1,19 @@ %global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) Name: ocaml-camlp5 -Version: 6.11 -Release: 5%{?dist} +Version: 6.12 +Release: 0.git63a8c30f%{?dist} Summary: Classical version of camlp4 OCaml preprocessor -Group: Development/Libraries License: BSD -URL: http://pauillac.inria.fr/~ddr/camlp5/ +URL: http://camlp5.gforge.inria.fr/ -Source0: http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-%{version}.tgz +Source0: http://camlp5.gforge.inria.fr/distrib/src/camlp5-6.11.tgz + +# This is a patch from the 6.11 tarball to the 63a8c30f commit which +# is a prerelease of 6.12. The git repo can be found here: +# git://scm.gforge.inria.fr/camlp5/camlp5.git +Patch1: camlp5-6.12-63a8c30f.patch BuildRequires: ocaml BuildRequires: ocaml-ocamldoc @@ -39,7 +43,9 @@ developing applications that use %{name}. %prep -%setup -q -n camlp5-%{version} +%setup -q -n camlp5-6.11 + +%patch1 -p1 # Build with debug information sed -i 's,WARNERR="-warn-error A",WARNERR="-g -warn-error A",' configure @@ -109,8 +115,10 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog -* Mon Jul 21 2014 Richard W.M. Jones - 6.11-5 +* Fri Aug 01 2014 Richard W.M. Jones - 6.12-0.git63a8c30f +- Rebase to 6.12 prerelease which supports OCaml 4.02. - OCaml 4.02.0 beta rebuild. +- New source URL. * Sat Jun 07 2014 Fedora Release Engineering - 6.11-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild From d5b9b703e7572fec5e7b4bb0f1168057df22bafe Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 1 Aug 2014 20:52:33 +0100 Subject: [PATCH 38/79] ocaml-4.02.0-0.8.git10e45753.fc22 build. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 66578bb..eb967a8 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,7 +2,7 @@ Name: ocaml-camlp5 Version: 6.12 -Release: 0.git63a8c30f%{?dist} +Release: 0.git63a8c30f%{?dist}.1 Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -115,6 +115,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Fri Aug 01 2014 Richard W.M. Jones - 6.12-0.git63a8c30f.1 +- ocaml-4.02.0-0.8.git10e45753.fc22 build. + * Fri Aug 01 2014 Richard W.M. Jones - 6.12-0.git63a8c30f - Rebase to 6.12 prerelease which supports OCaml 4.02. - OCaml 4.02.0 beta rebuild. From 8eb89e83ef0c6adb9c229cf1a3e1ec4c20ac8cc1 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sun, 17 Aug 2014 12:46:33 +0000 Subject: [PATCH 39/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index eb967a8..1ff22fc 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,7 +2,7 @@ Name: ocaml-camlp5 Version: 6.12 -Release: 0.git63a8c30f%{?dist}.1 +Release: 0.git63a8c30f%{?dist}.2 Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -115,6 +115,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Sun Aug 17 2014 Fedora Release Engineering - 6.12-0.git63a8c30f.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Fri Aug 01 2014 Richard W.M. Jones - 6.12-0.git63a8c30f.1 - ocaml-4.02.0-0.8.git10e45753.fc22 build. From 892df999865a375c459f7a7ee95e9d11e17afbbe Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 23 Aug 2014 17:16:25 +0100 Subject: [PATCH 40/79] ocaml-4.02.0+rc1 rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 1ff22fc..744916b 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,7 +2,7 @@ Name: ocaml-camlp5 Version: 6.12 -Release: 0.git63a8c30f%{?dist}.2 +Release: 0.git63a8c30f%{?dist}.3 Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -115,6 +115,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Sat Aug 23 2014 Richard W.M. Jones - 6.12-0.git63a8c30f.3 +- ocaml-4.02.0+rc1 rebuild. + * Sun Aug 17 2014 Fedora Release Engineering - 6.12-0.git63a8c30f.2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From 3a83cdb85d9acf78ff16c469608a9d895ef46547 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 24 Aug 2014 09:53:38 +0100 Subject: [PATCH 41/79] Fixes for 4.02.0+rc1. - Kill -warn-error everywhere hopefully. - Update parsing/location.mli from OCaml sources. - Fix release numbering. --- ...UPSTREAM-Update-parsing-location.mli.patch | 26 +++++++++++++++++++ camlp5-6.11-kill-warn-error.patch | 15 +++++++++++ ocaml-camlp5.spec | 20 +++++++++++--- 3 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 0001-NOT-UPSTREAM-Update-parsing-location.mli.patch create mode 100644 camlp5-6.11-kill-warn-error.patch diff --git a/0001-NOT-UPSTREAM-Update-parsing-location.mli.patch b/0001-NOT-UPSTREAM-Update-parsing-location.mli.patch new file mode 100644 index 0000000..1f92ac0 --- /dev/null +++ b/0001-NOT-UPSTREAM-Update-parsing-location.mli.patch @@ -0,0 +1,26 @@ +From 06c7deea99f02352a2f19d0cfa132ede8b94d97a Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sun, 24 Aug 2014 09:57:52 +0100 +Subject: [PATCH] (NOT UPSTREAM) Update parsing/location.mli + +--- + ocaml_stuff/4.02.0/parsing/location.mli | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/ocaml_stuff/4.02.0/parsing/location.mli b/ocaml_stuff/4.02.0/parsing/location.mli +index 5e412b1..1a7feeb 100644 +--- a/ocaml_stuff/4.02.0/parsing/location.mli ++++ b/ocaml_stuff/4.02.0/parsing/location.mli +@@ -96,6 +96,9 @@ val error: ?loc:t -> ?sub:error list -> ?if_highlight:string -> string -> error + val errorf: ?loc:t -> ?sub:error list -> ?if_highlight:string + -> ('a, unit, string, error) format4 -> 'a + ++val raise_errorf: ?loc:t -> ?sub:error list -> ?if_highlight:string ++ -> ('a, unit, string, 'b) format4 -> 'a ++ + val error_of_printer: t -> (formatter -> 'a -> unit) -> 'a -> error + + val error_of_printer_file: (formatter -> 'a -> unit) -> 'a -> error +-- +2.0.4 + diff --git a/camlp5-6.11-kill-warn-error.patch b/camlp5-6.11-kill-warn-error.patch new file mode 100644 index 0000000..4b5b501 --- /dev/null +++ b/camlp5-6.11-kill-warn-error.patch @@ -0,0 +1,15 @@ +--- camlp5-6.11/configure.old 2014-08-24 09:49:01.887731189 +0100 ++++ camlp5-6.11/configure 2014-08-24 09:50:19.043742759 +0100 +@@ -246,11 +246,7 @@ + OCAMLC_W_Y="" + fi + +-if [ "$($ocamlc -warn-error A 2>&1)" = "" ]; then +- WARNERR="-warn-error A" +-else +- WARNERR="" +-fi ++WARNERR="" + + if make -f config/Makefile.check --no-print-directory >/dev/null 2>&1; then + NO_PR_DIR=--no-print-directory diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 744916b..23f7866 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,7 +2,7 @@ Name: ocaml-camlp5 Version: 6.12 -Release: 0.git63a8c30f%{?dist}.3 +Release: 0.4.git63a8c30f%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -15,6 +15,12 @@ Source0: http://camlp5.gforge.inria.fr/distrib/src/camlp5-6.11.tgz # git://scm.gforge.inria.fr/camlp5/camlp5.git Patch1: camlp5-6.12-63a8c30f.patch +# Kill -warn-error A +Patch2: camlp5-6.11-kill-warn-error.patch + +# Update parsing/location.mli from OCaml 4.02.0 latest sources. +Patch3: 0001-NOT-UPSTREAM-Update-parsing-location.mli.patch + BuildRequires: ocaml BuildRequires: ocaml-ocamldoc @@ -46,9 +52,11 @@ developing applications that use %{name}. %setup -q -n camlp5-6.11 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 # Build with debug information -sed -i 's,WARNERR="-warn-error A",WARNERR="-g -warn-error A",' configure +sed -i 's,WARNERR="",WARNERR="-g",' configure sed -i 's,-linkall,& -g,g' top/Makefile for fil in compile/compile.sh $(find . -name Makefile); do sed -i 's,\$(OCAMLN)c,& -g,;s,\$(OCAMLN)opt,& -g,;s,LINKFLAGS=,&-g ,' $fil @@ -56,7 +64,7 @@ done # But don't build pa_lisp with debug information because it triggers this: # Fatal error: exception Assert_failure("asmcomp/emitaux.ml", 226, 4) -sed -i 's/$(WARNERR)/-warn-error A/' etc/Makefile.withnew +sed -i 's/$(WARNERR)//' etc/Makefile.withnew %build @@ -115,6 +123,12 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Sun Aug 24 2014 Richard W.M. Jones - 6.12-0.4.git63a8c30f +- Fixes for 4.02.0+rc1. +- Kill -warn-error everywhere hopefully. +- Update parsing/location.mli from OCaml sources. +- Fix release numbering. + * Sat Aug 23 2014 Richard W.M. Jones - 6.12-0.git63a8c30f.3 - ocaml-4.02.0+rc1 rebuild. From be1f695071ee432747ef7306c78c3c84ea2f6bfa Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 30 Aug 2014 18:11:00 +0100 Subject: [PATCH 42/79] ocaml-4.02.0 final rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 23f7866..36b0a7e 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -2,7 +2,7 @@ Name: ocaml-camlp5 Version: 6.12 -Release: 0.4.git63a8c30f%{?dist} +Release: 0.5.git63a8c30f%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -123,6 +123,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Sat Aug 30 2014 Richard W.M. Jones - 6.12-0.5.git63a8c30f +- ocaml-4.02.0 final rebuild. + * Sun Aug 24 2014 Richard W.M. Jones - 6.12-0.4.git63a8c30f - Fixes for 4.02.0+rc1. - Kill -warn-error everywhere hopefully. From e01d55e64d8ee206eaaa92fb21d65b2b37c761d1 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Thu, 6 Nov 2014 10:12:53 -0700 Subject: [PATCH 43/79] Update to 6.12 final. Also: - Drop upstreamed patches (all but -kill-warn-error). - Drop debuginfo workaround; fixed upstream. --- .gitignore | 2 +- ...UPSTREAM-Update-parsing-location.mli.patch | 26 - camlp5-6.12-63a8c30f.patch | 20986 ---------------- ocaml-camlp5.spec | 34 +- sources | 2 +- 5 files changed, 16 insertions(+), 21034 deletions(-) delete mode 100644 0001-NOT-UPSTREAM-Update-parsing-location.mli.patch delete mode 100644 camlp5-6.12-63a8c30f.patch diff --git a/.gitignore b/.gitignore index 83579c1..bd8ee5b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/camlp5-6.11.tgz +/camlp5-6.12.tgz diff --git a/0001-NOT-UPSTREAM-Update-parsing-location.mli.patch b/0001-NOT-UPSTREAM-Update-parsing-location.mli.patch deleted file mode 100644 index 1f92ac0..0000000 --- a/0001-NOT-UPSTREAM-Update-parsing-location.mli.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 06c7deea99f02352a2f19d0cfa132ede8b94d97a Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Sun, 24 Aug 2014 09:57:52 +0100 -Subject: [PATCH] (NOT UPSTREAM) Update parsing/location.mli - ---- - ocaml_stuff/4.02.0/parsing/location.mli | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/ocaml_stuff/4.02.0/parsing/location.mli b/ocaml_stuff/4.02.0/parsing/location.mli -index 5e412b1..1a7feeb 100644 ---- a/ocaml_stuff/4.02.0/parsing/location.mli -+++ b/ocaml_stuff/4.02.0/parsing/location.mli -@@ -96,6 +96,9 @@ val error: ?loc:t -> ?sub:error list -> ?if_highlight:string -> string -> error - val errorf: ?loc:t -> ?sub:error list -> ?if_highlight:string - -> ('a, unit, string, error) format4 -> 'a - -+val raise_errorf: ?loc:t -> ?sub:error list -> ?if_highlight:string -+ -> ('a, unit, string, 'b) format4 -> 'a -+ - val error_of_printer: t -> (formatter -> 'a -> unit) -> 'a -> error - - val error_of_printer_file: (formatter -> 'a -> unit) -> 'a -> error --- -2.0.4 - diff --git a/camlp5-6.12-63a8c30f.patch b/camlp5-6.12-63a8c30f.patch deleted file mode 100644 index 1820949..0000000 --- a/camlp5-6.12-63a8c30f.patch +++ /dev/null @@ -1,20986 +0,0 @@ -diff -urN camlp5-6.11/boot/.cvsignore camlp5-6.12-63a8c30f/boot/.cvsignore ---- camlp5-6.11/boot/.cvsignore 2010-09-15 17:00:18.000000000 +0100 -+++ camlp5-6.12-63a8c30f/boot/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1,5 +0,0 @@ --*.cm[oia] --camlp5 --camlp5o --camlp5r --SAVED -diff -urN camlp5-6.11/boot/.gitignore camlp5-6.12-63a8c30f/boot/.gitignore ---- camlp5-6.11/boot/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/boot/.gitignore 2014-08-01 10:14:54.283065418 +0100 -@@ -0,0 +1,5 @@ -+*.cm[oia] -+camlp5 -+camlp5o -+camlp5r -+SAVED -diff -urN camlp5-6.11/CHANGES camlp5-6.12-63a8c30f/CHANGES ---- camlp5-6.11/CHANGES 2013-07-22 10:53:23.000000000 +0100 -+++ camlp5-6.12-63a8c30f/CHANGES 2014-08-01 10:14:54.283065418 +0100 -@@ -1,3 +1,17 @@ -+Camlp5 Version 6.12: -+-------------------- -+ -+* [17 Apr 14] Updated for ocaml trunk (4.02.0) svn rev 14621. -+* [14 Apr 14] Updated for ocaml version 4.01.1. -+* [19 Dec 13] Dummy line numbers are now 1 instead of -1 to prevent -+ errors that sometimes happen later at assembling phase. -+* [19 Dec 13] Fixed problem in top/Makefile when OCLIBDIR contains spaces. -+* [06 Sep 13] Added flag Grammar.utf8_print to print grammars entries -+ (with Grammar.Entry.print) displaying strings in utf-8 (default: True). -+ Usefull e.g. for Coq in command 'Print Grammar constr' when using utf8. -+* [27 Aug 13] Fixed bug in normal syntax: "let f { x } = ...", "{ x }" -+ and "let open ..." were refused. -+ - Camlp5 Version 6.11: - -------------------- - -diff -urN camlp5-6.11/compile/comp_head.ml.tpl camlp5-6.12-63a8c30f/compile/comp_head.ml.tpl ---- camlp5-6.11/compile/comp_head.ml.tpl 2012-01-09 14:22:19.000000000 +0000 -+++ camlp5-6.12-63a8c30f/compile/comp_head.ml.tpl 2014-08-01 10:14:54.284065419 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: comp_head.ml.tpl,v 6.5 2012-01-09 14:22:19 deraugla Exp $ *) -+(* comp_head.ml.tpl,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "q_MLast.cmo"; -diff -urN camlp5-6.11/compile/compile.ml camlp5-6.12-63a8c30f/compile/compile.ml ---- camlp5-6.11/compile/compile.ml 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/compile/compile.ml 2014-08-01 10:14:54.284065419 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: compile.ml,v 6.6 2012-01-09 14:22:20 deraugla Exp $ *) -+(* compile.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "q_MLast.cmo"; -diff -urN camlp5-6.11/compile/.cvsignore camlp5-6.12-63a8c30f/compile/.cvsignore ---- camlp5-6.11/compile/.cvsignore 2010-09-15 17:00:18.000000000 +0100 -+++ camlp5-6.12-63a8c30f/compile/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1,7 +0,0 @@ --*.cm[oix] --*.fast --*.fast.opt --o_fast.ml.tmp --r_fast.ml.tmp --pa_o_fast.ml --pa_r_fast.ml -diff -urN camlp5-6.11/compile/.gitignore camlp5-6.12-63a8c30f/compile/.gitignore ---- camlp5-6.11/compile/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/compile/.gitignore 2014-08-01 10:14:54.283065418 +0100 -@@ -0,0 +1,7 @@ -+*.cm[oix] -+*.fast -+*.fast.opt -+o_fast.ml.tmp -+r_fast.ml.tmp -+pa_o_fast.ml -+pa_r_fast.ml -diff -urN camlp5-6.11/compile/Makefile camlp5-6.12-63a8c30f/compile/Makefile ---- camlp5-6.11/compile/Makefile 2012-03-07 08:55:31.000000000 +0000 -+++ camlp5-6.12-63a8c30f/compile/Makefile 2014-08-01 10:14:54.283065418 +0100 -@@ -1,4 +1,4 @@ --# $Id: Makefile,v 6.6 2012-03-07 08:55:31 deraugla Exp $ -+# Makefile,v - - TOP=.. - include ../config/Makefile -diff -urN camlp5-6.11/config/.cvsignore camlp5-6.12-63a8c30f/config/.cvsignore ---- camlp5-6.11/config/.cvsignore 2010-09-15 17:00:18.000000000 +0100 -+++ camlp5-6.12-63a8c30f/config/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1,2 +0,0 @@ --Makefile.cnf --Makefile -diff -urN camlp5-6.11/config/.gitignore camlp5-6.12-63a8c30f/config/.gitignore ---- camlp5-6.11/config/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/config/.gitignore 2014-08-01 10:14:54.284065419 +0100 -@@ -0,0 +1,2 @@ -+Makefile.cnf -+Makefile -diff -urN camlp5-6.11/config/Makefile.tpl camlp5-6.12-63a8c30f/config/Makefile.tpl ---- camlp5-6.11/config/Makefile.tpl 2012-03-02 18:49:56.000000000 +0000 -+++ camlp5-6.12-63a8c30f/config/Makefile.tpl 2014-08-01 10:14:54.284065419 +0100 -@@ -1,4 +1,4 @@ --# $Id: Makefile.tpl,v 6.4 2012-03-02 18:49:56 deraugla Exp $ -+# Makefile.tpl,v - - CAMLP5_COMM=OPT=$(OPT) EXE=$(EXE) OCAMLN=$(OCAMLN) MODE=$(MODE) COMPWITH=$(COMPWITH) CAMLP5N=$(CAMLP5N) ../tools/camlp5_comm.sh - OCAMLC=@OPT=$(OPT) EXE=$(EXE) OCAMLN=$(OCAMLN) ../tools/ocamlc.sh -diff -urN camlp5-6.11/configure camlp5-6.12-63a8c30f/configure ---- camlp5-6.11/configure 2012-07-01 02:27:07.000000000 +0100 -+++ camlp5-6.12-63a8c30f/configure 2014-08-01 10:14:54.284065419 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: configure,v 6.16 2012-07-01 01:27:07 deraugla Exp $ -+# configure,v - - prefix='' - bindir='' -diff -urN camlp5-6.11/.cvsignore camlp5-6.12-63a8c30f/.cvsignore ---- camlp5-6.11/.cvsignore 2010-09-15 17:00:18.000000000 +0100 -+++ camlp5-6.12-63a8c30f/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --myconfig -diff -urN camlp5-6.11/doc/.cvsignore camlp5-6.12-63a8c30f/doc/.cvsignore ---- camlp5-6.11/doc/.cvsignore 2010-09-15 17:00:19.000000000 +0100 -+++ camlp5-6.12-63a8c30f/doc/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1,6 +0,0 @@ --*.aux --*.bbl --*.blg --*.dvi --*.log --*.toc -diff -urN camlp5-6.11/doc/.gitignore camlp5-6.12-63a8c30f/doc/.gitignore ---- camlp5-6.11/doc/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/doc/.gitignore 2014-08-01 10:14:54.284065419 +0100 -@@ -0,0 +1,6 @@ -+*.aux -+*.bbl -+*.blg -+*.dvi -+*.log -+*.toc -diff -urN camlp5-6.11/doc/html/.cvsignore camlp5-6.12-63a8c30f/doc/html/.cvsignore ---- camlp5-6.11/doc/html/.cvsignore 2010-09-15 17:00:19.000000000 +0100 -+++ camlp5-6.12-63a8c30f/doc/html/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1,2 +0,0 @@ --*.html --rss -diff -urN camlp5-6.11/doc/html/.gitignore camlp5-6.12-63a8c30f/doc/html/.gitignore ---- camlp5-6.11/doc/html/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/doc/html/.gitignore 2014-08-01 10:14:54.284065419 +0100 -@@ -0,0 +1,2 @@ -+*.html -+rss -Binary files camlp5-6.11/doc/html/images/valid-xhtml11.png and camlp5-6.12-63a8c30f/doc/html/images/valid-xhtml11.png differ -diff -urN camlp5-6.11/doc/html/styles/base.css camlp5-6.12-63a8c30f/doc/html/styles/base.css ---- camlp5-6.11/doc/html/styles/base.css 2010-09-15 17:00:19.000000000 +0100 -+++ camlp5-6.12-63a8c30f/doc/html/styles/base.css 2014-08-01 10:14:54.284065419 +0100 -@@ -1,4 +1,4 @@ --/* $Id: base.css,v 6.1 2010-09-15 16:00:19 deraugla Exp $ */ -+/* base.css,v */ - - body { margin: 0 0 1px 0; background-color: rgb(189,225,255) } - body { border: 0 } -diff -urN camlp5-6.11/doc/htmlp/about.html camlp5-6.12-63a8c30f/doc/htmlp/about.html ---- camlp5-6.11/doc/htmlp/about.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/about.html 2014-08-01 10:14:54.285065419 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - About Camlp5 - -diff -urN camlp5-6.11/doc/htmlp/ast_strict.html camlp5-6.12-63a8c30f/doc/htmlp/ast_strict.html ---- camlp5-6.11/doc/htmlp/ast_strict.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/ast_strict.html 2014-08-01 10:14:54.285065419 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - AST - strict - -diff -urN camlp5-6.11/doc/htmlp/ast_transi.html camlp5-6.12-63a8c30f/doc/htmlp/ast_transi.html ---- camlp5-6.11/doc/htmlp/ast_transi.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/ast_transi.html 2014-08-01 10:14:54.286065420 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - AST - transitional - -diff -urN camlp5-6.11/doc/htmlp/bparsers.html camlp5-6.12-63a8c30f/doc/htmlp/bparsers.html ---- camlp5-6.11/doc/htmlp/bparsers.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/bparsers.html 2014-08-01 10:14:54.286065420 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - backtracking parsers - -diff -urN camlp5-6.11/doc/htmlp/commands.html camlp5-6.12-63a8c30f/doc/htmlp/commands.html ---- camlp5-6.11/doc/htmlp/commands.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/commands.html 2014-08-01 10:14:54.286065420 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Commands and Files - -diff -urN camlp5-6.11/doc/htmlp/conclusion.html camlp5-6.12-63a8c30f/doc/htmlp/conclusion.html ---- camlp5-6.11/doc/htmlp/conclusion.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/conclusion.html 2014-08-01 10:14:54.286065420 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Conclusion - -diff -urN camlp5-6.11/doc/htmlp/.cvsignore camlp5-6.12-63a8c30f/doc/htmlp/.cvsignore ---- camlp5-6.11/doc/htmlp/.cvsignore 2010-09-15 17:00:19.000000000 +0100 -+++ camlp5-6.12-63a8c30f/doc/htmlp/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1,9 +0,0 @@ --camlp5.aux --camlp5.dvi --camlp5.info* --camlp5.log --camlp5.pdf --camlp5.ps --camlp5.tex --camlp5.texi --camlp5.toc -diff -urN camlp5-6.11/doc/htmlp/directives.html camlp5-6.12-63a8c30f/doc/htmlp/directives.html ---- camlp5-6.11/doc/htmlp/directives.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/directives.html 2014-08-01 10:14:54.286065420 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Directives - -diff -urN camlp5-6.11/doc/htmlp/extfun.html camlp5-6.12-63a8c30f/doc/htmlp/extfun.html ---- camlp5-6.11/doc/htmlp/extfun.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/extfun.html 2014-08-01 10:14:54.286065420 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Extensible functions - -diff -urN camlp5-6.11/doc/htmlp/fparsers.html camlp5-6.12-63a8c30f/doc/htmlp/fparsers.html ---- camlp5-6.11/doc/htmlp/fparsers.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/fparsers.html 2014-08-01 10:14:54.286065420 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - functional parsers - -diff -urN camlp5-6.11/doc/htmlp/.gitignore camlp5-6.12-63a8c30f/doc/htmlp/.gitignore ---- camlp5-6.11/doc/htmlp/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/doc/htmlp/.gitignore 2014-08-01 10:14:54.284065419 +0100 -@@ -0,0 +1,9 @@ -+camlp5.aux -+camlp5.dvi -+camlp5.info* -+camlp5.log -+camlp5.pdf -+camlp5.ps -+camlp5.tex -+camlp5.texi -+camlp5.toc -diff -urN camlp5-6.11/doc/htmlp/grammars.html camlp5-6.12-63a8c30f/doc/htmlp/grammars.html ---- camlp5-6.11/doc/htmlp/grammars.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/grammars.html 2014-08-01 10:14:54.287065420 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - extensible grammars - -diff -urN camlp5-6.11/doc/htmlp/html2latex camlp5-6.12-63a8c30f/doc/htmlp/html2latex ---- camlp5-6.11/doc/htmlp/html2latex 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/html2latex 2014-08-01 10:14:54.287065420 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: html2latex,v 6.4 2012-01-09 14:22:20 deraugla Exp $ -+# html2latex,v - - FILES1="index.html strict.html ptools.html" - FILES2="parsers.html lexers.html fparsers.html bparsers.html grammars.html" -diff -urN camlp5-6.11/doc/htmlp/html2texi camlp5-6.12-63a8c30f/doc/htmlp/html2texi ---- camlp5-6.11/doc/htmlp/html2texi 2010-09-15 17:00:19.000000000 +0100 -+++ camlp5-6.12-63a8c30f/doc/htmlp/html2texi 2014-08-01 10:14:54.287065420 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: html2texi,v 6.1 2010-09-15 16:00:19 deraugla Exp $ -+# html2texi,v - - FILES1="index.html strict.html ptools.html" - FILES2="parsers.html lexers.html fparsers.html bparsers.html grammars.html" -diff -urN camlp5-6.11/doc/htmlp/htmlp2html camlp5-6.12-63a8c30f/doc/htmlp/htmlp2html ---- camlp5-6.11/doc/htmlp/htmlp2html 2010-09-15 17:00:19.000000000 +0100 -+++ camlp5-6.12-63a8c30f/doc/htmlp/htmlp2html 2014-08-01 10:14:54.287065420 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: htmlp2html,v 6.1 2010-09-15 16:00:19 deraugla Exp $ -+# htmlp2html,v - - FILE=$1 - VERSION="$(grep "value version =" ../../main/pcaml.ml | sed -e 's/^[^"]*"\([^"]*\).*$/\1/')" -diff -urN camlp5-6.11/doc/htmlp/index.html camlp5-6.12-63a8c30f/doc/htmlp/index.html ---- camlp5-6.11/doc/htmlp/index.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/index.html 2014-08-01 10:14:54.287065420 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Camlp5 - -diff -urN camlp5-6.11/doc/htmlp/lexers.html camlp5-6.12-63a8c30f/doc/htmlp/lexers.html ---- camlp5-6.11/doc/htmlp/lexers.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/lexers.html 2014-08-01 10:14:54.287065420 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - lexers - -diff -urN camlp5-6.11/doc/htmlp/library.html camlp5-6.12-63a8c30f/doc/htmlp/library.html ---- camlp5-6.11/doc/htmlp/library.html 2013-01-28 09:27:12.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/library.html 2014-08-01 10:14:54.287065420 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Library - -diff -urN camlp5-6.11/doc/htmlp/locations.html camlp5-6.12-63a8c30f/doc/htmlp/locations.html ---- camlp5-6.11/doc/htmlp/locations.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/locations.html 2014-08-01 10:14:54.287065420 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Locations - -diff -urN camlp5-6.11/doc/htmlp/macros.html camlp5-6.12-63a8c30f/doc/htmlp/macros.html ---- camlp5-6.11/doc/htmlp/macros.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/macros.html 2014-08-01 10:14:54.288065421 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - macros - -diff -urN camlp5-6.11/doc/htmlp/Makefile camlp5-6.12-63a8c30f/doc/htmlp/Makefile ---- camlp5-6.11/doc/htmlp/Makefile 2010-09-29 03:32:05.000000000 +0100 -+++ camlp5-6.12-63a8c30f/doc/htmlp/Makefile 2014-08-01 10:14:54.285065419 +0100 -@@ -1,4 +1,4 @@ --# $Id: Makefile,v 6.2 2010-09-29 02:32:05 deraugla Exp $ -+# Makefile,v - - H=../html - OBJS=$H/index.html $H/about.html $H/ast_strict.html $H/ast_transi.html $H/bparsers.html $H/commands.html $H/conclusion.html $H/directives.html $H/extfun.html $H/fparsers.html $H/grammars.html $H/lexers.html $H/library.html $H/locations.html $H/macros.html $H/ml_ast.html $H/opretty.html $H/parsers.html $H/pcaml.html $H/pprintf.html $H/pragma.html $H/pretty.html $H/printers.html $H/ptools.html $H/q_ast.html $H/quot.html $H/redef.html $H/revsynt.html $H/scheme.html $H/sources.html $H/strict.html $H/syntext.html -diff -urN camlp5-6.11/doc/htmlp/mkstri.sh camlp5-6.12-63a8c30f/doc/htmlp/mkstri.sh ---- camlp5-6.11/doc/htmlp/mkstri.sh 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/mkstri.sh 2014-08-01 10:14:54.288065421 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: mkstri.sh,v 6.16 2012-01-09 14:22:20 deraugla Exp $ -+# mkstri.sh,v - - top=../.. - file=$top/test/quot_r.ml -@@ -12,7 +12,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - AST - strict - -diff -urN camlp5-6.11/doc/htmlp/mktrans.sh camlp5-6.12-63a8c30f/doc/htmlp/mktrans.sh ---- camlp5-6.11/doc/htmlp/mktrans.sh 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/mktrans.sh 2014-08-01 10:14:54.288065421 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: mktrans.sh,v 6.17 2012-01-09 14:22:20 deraugla Exp $ -+# mktrans.sh,v - - top=../.. - file=$top/test/quot_r.ml -@@ -12,7 +12,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - AST - transitional - -diff -urN camlp5-6.11/doc/htmlp/ml_ast.html camlp5-6.12-63a8c30f/doc/htmlp/ml_ast.html ---- camlp5-6.11/doc/htmlp/ml_ast.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/ml_ast.html 2014-08-01 10:14:54.288065421 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Abstract tree in concrete syntax - -diff -urN camlp5-6.11/doc/htmlp/opretty.html camlp5-6.12-63a8c30f/doc/htmlp/opretty.html ---- camlp5-6.11/doc/htmlp/opretty.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/opretty.html 2014-08-01 10:14:54.288065421 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Extensions of printing - -diff -urN camlp5-6.11/doc/htmlp/parsers.html camlp5-6.12-63a8c30f/doc/htmlp/parsers.html ---- camlp5-6.11/doc/htmlp/parsers.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/parsers.html 2014-08-01 10:14:54.288065421 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - parsers - -diff -urN camlp5-6.11/doc/htmlp/pcaml.html camlp5-6.12-63a8c30f/doc/htmlp/pcaml.html ---- camlp5-6.11/doc/htmlp/pcaml.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/pcaml.html 2014-08-01 10:14:54.288065421 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Pcaml - -diff -urN camlp5-6.11/doc/htmlp/pprintf.html camlp5-6.12-63a8c30f/doc/htmlp/pprintf.html ---- camlp5-6.11/doc/htmlp/pprintf.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/pprintf.html 2014-08-01 10:14:54.288065421 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - pprintf - -diff -urN camlp5-6.11/doc/htmlp/pragma.html camlp5-6.12-63a8c30f/doc/htmlp/pragma.html ---- camlp5-6.11/doc/htmlp/pragma.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/pragma.html 2014-08-01 10:14:54.289065422 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - pragma - -diff -urN camlp5-6.11/doc/htmlp/pretty.html camlp5-6.12-63a8c30f/doc/htmlp/pretty.html ---- camlp5-6.11/doc/htmlp/pretty.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/pretty.html 2014-08-01 10:14:54.289065422 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Pretty print - -diff -urN camlp5-6.11/doc/htmlp/printers.html camlp5-6.12-63a8c30f/doc/htmlp/printers.html ---- camlp5-6.11/doc/htmlp/printers.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/printers.html 2014-08-01 10:14:54.289065422 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - extensible printers - -diff -urN camlp5-6.11/doc/htmlp/ptools.html camlp5-6.12-63a8c30f/doc/htmlp/ptools.html ---- camlp5-6.11/doc/htmlp/ptools.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/ptools.html 2014-08-01 10:14:54.289065422 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - parsing and printing tools - -diff -urN camlp5-6.11/doc/htmlp/q_ast.html camlp5-6.12-63a8c30f/doc/htmlp/q_ast.html ---- camlp5-6.11/doc/htmlp/q_ast.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/q_ast.html 2014-08-01 10:14:54.289065422 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - q_ast.cmo - -diff -urN camlp5-6.11/doc/htmlp/quot.html camlp5-6.12-63a8c30f/doc/htmlp/quot.html ---- camlp5-6.11/doc/htmlp/quot.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/quot.html 2014-08-01 10:14:54.289065422 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - quotations - -diff -urN camlp5-6.11/doc/htmlp/redef.html camlp5-6.12-63a8c30f/doc/htmlp/redef.html ---- camlp5-6.11/doc/htmlp/redef.html 2010-09-15 17:00:20.000000000 +0100 -+++ camlp5-6.12-63a8c30f/doc/htmlp/redef.html 2014-08-01 10:14:54.289065422 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Redefining OCaml syntax - -diff -urN camlp5-6.11/doc/htmlp/revsynt.html camlp5-6.12-63a8c30f/doc/htmlp/revsynt.html ---- camlp5-6.11/doc/htmlp/revsynt.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/revsynt.html 2014-08-01 10:14:54.289065422 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - revised syntax - -diff -urN camlp5-6.11/doc/htmlp/scheme.html camlp5-6.12-63a8c30f/doc/htmlp/scheme.html ---- camlp5-6.11/doc/htmlp/scheme.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/scheme.html 2014-08-01 10:14:54.289065422 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Scheme - -diff -urN camlp5-6.11/doc/htmlp/sources.html camlp5-6.12-63a8c30f/doc/htmlp/sources.html ---- camlp5-6.11/doc/htmlp/sources.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/sources.html 2014-08-01 10:14:54.290065422 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Camlp5 sources - -diff -urN camlp5-6.11/doc/htmlp/strict.html camlp5-6.12-63a8c30f/doc/htmlp/strict.html ---- camlp5-6.11/doc/htmlp/strict.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/strict.html 2014-08-01 10:14:54.290065422 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Camlp5 - -diff -urN camlp5-6.11/doc/htmlp/syntext.html camlp5-6.12-63a8c30f/doc/htmlp/syntext.html ---- camlp5-6.11/doc/htmlp/syntext.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/syntext.html 2014-08-01 10:14:54.290065422 +0100 -@@ -2,7 +2,7 @@ - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - -- -+ - - Extensions of syntax - -diff -urN camlp5-6.11/doc/htmlp/trailer.html camlp5-6.12-63a8c30f/doc/htmlp/trailer.html ---- camlp5-6.11/doc/htmlp/trailer.html 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/doc/htmlp/trailer.html 2014-08-01 10:14:54.290065422 +0100 -@@ -5,7 +5,6 @@ - -

- Valid XHTML 1.1 -

- -diff -urN camlp5-6.11/etc/.cvsignore camlp5-6.12-63a8c30f/etc/.cvsignore ---- camlp5-6.11/etc/.cvsignore 2010-09-15 17:00:20.000000000 +0100 -+++ camlp5-6.12-63a8c30f/etc/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1,7 +0,0 @@ --*.cm[oiax] --camlp5o --camlp5sch --camlp5o.opt --mkcamlp5.sh --mkcamlp5.opt.sh --META -diff -urN camlp5-6.11/etc/elexer.ml camlp5-6.12-63a8c30f/etc/elexer.ml ---- camlp5-6.11/etc/elexer.ml 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/elexer.ml 2014-08-01 10:14:54.290065422 +0100 -@@ -1,11 +1,13 @@ - (* camlp5r *) --(* $Id: elexer.ml,v 6.3 2012-01-09 14:22:20 deraugla Exp $ *) -+(* elexer.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* lexer written with extensible grammars; experimental *) - - #load "pa_extend.cmo"; - -+open Versdep; -+ - value lexlex cs = (cs, fun i -> Plexing.make_loc (i, i + 1)); - - value next_char s i = -@@ -100,7 +102,7 @@ - ; - - value implode l = -- let s = String.create (List.length l) in -+ let s = string_create (List.length l) in - loop 0 l where rec loop i = - fun - [ [c :: l] -> do { String.unsafe_set s i c; loop (i + 1) l } -diff -urN camlp5-6.11/etc/.gitignore camlp5-6.12-63a8c30f/etc/.gitignore ---- camlp5-6.11/etc/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/etc/.gitignore 2014-08-01 10:14:54.290065422 +0100 -@@ -0,0 +1,7 @@ -+*.cm[oiax] -+camlp5o -+camlp5sch -+camlp5o.opt -+mkcamlp5.sh -+mkcamlp5.opt.sh -+META -diff -urN camlp5-6.11/etc/lib.sml camlp5-6.12-63a8c30f/etc/lib.sml ---- camlp5-6.11/etc/lib.sml 2010-09-15 17:00:21.000000000 +0100 -+++ camlp5-6.12-63a8c30f/etc/lib.sml 2014-08-01 10:14:54.290065422 +0100 -@@ -1,4 +1,4 @@ --(* $Id: lib.sml,v 6.1 2010-09-15 16:00:21 deraugla Exp $ *) -+(* lib.sml,v *) - - datatype 'a option = SOME of 'a | NONE - exception Fail of string -diff -urN camlp5-6.11/etc/Makefile camlp5-6.12-63a8c30f/etc/Makefile ---- camlp5-6.11/etc/Makefile 2012-03-03 02:47:04.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/Makefile 2014-08-01 10:14:54.290065422 +0100 -@@ -1,4 +1,4 @@ --# $Id: Makefile,v 6.7 2012-03-03 02:47:04 deraugla Exp $ -+# Makefile,v - - include ../config/Makefile - -diff -urN camlp5-6.11/etc/Makefile.withnew camlp5-6.12-63a8c30f/etc/Makefile.withnew ---- camlp5-6.11/etc/Makefile.withnew 2010-09-15 17:00:21.000000000 +0100 -+++ camlp5-6.12-63a8c30f/etc/Makefile.withnew 2014-08-01 10:14:54.290065422 +0100 -@@ -1,4 +1,4 @@ --# $Id: Makefile.withnew,v 6.1 2010-09-15 16:00:21 deraugla Exp $ -+# Makefile.withnew,v - - include ../config/Makefile - -diff -urN camlp5-6.11/etc/mkcamlp5.opt.sh.tpl camlp5-6.12-63a8c30f/etc/mkcamlp5.opt.sh.tpl ---- camlp5-6.11/etc/mkcamlp5.opt.sh.tpl 2012-03-03 02:47:04.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/mkcamlp5.opt.sh.tpl 2014-08-01 10:14:54.290065422 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: mkcamlp5.opt.sh.tpl,v 6.2 2012-03-03 02:47:04 deraugla Exp $ -+# mkcamlp5.opt.sh.tpl,v - - OLIB=`OCAMLNc -where` - LIB=LIBDIR/CAMLP5N -diff -urN camlp5-6.11/etc/mkcamlp5.sh.tpl camlp5-6.12-63a8c30f/etc/mkcamlp5.sh.tpl ---- camlp5-6.11/etc/mkcamlp5.sh.tpl 2012-03-03 02:47:04.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/mkcamlp5.sh.tpl 2014-08-01 10:14:54.290065422 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: mkcamlp5.sh.tpl,v 6.2 2012-03-03 02:47:04 deraugla Exp $ -+# mkcamlp5.sh.tpl,v - - OLIB=`OCAMLNc -where` - LIB=LIBDIR/CAMLP5N -diff -urN camlp5-6.11/etc/pa_extfold.ml camlp5-6.12-63a8c30f/etc/pa_extfold.ml ---- camlp5-6.11/etc/pa_extfold.ml 2010-09-15 17:00:21.000000000 +0100 -+++ camlp5-6.12-63a8c30f/etc/pa_extfold.ml 2014-08-01 10:14:54.290065422 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_extfold.ml,v 6.1 2010-09-15 16:00:21 deraugla Exp $ *) -+(* pa_extfold.ml,v *) - - #load "pa_extend.cmo"; - #load "q_MLast.cmo"; -diff -urN camlp5-6.11/etc/pa_extfun.ml camlp5-6.12-63a8c30f/etc/pa_extfun.ml ---- camlp5-6.11/etc/pa_extfun.ml 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pa_extfun.ml 2014-08-01 10:14:54.291065423 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_extfun.ml,v 6.3 2012-01-09 14:22:20 deraugla Exp $ *) -+(* pa_extfun.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "q_MLast.cmo"; -diff -urN camlp5-6.11/etc/pa_extprint.ml camlp5-6.12-63a8c30f/etc/pa_extprint.ml ---- camlp5-6.11/etc/pa_extprint.ml 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pa_extprint.ml 2014-08-01 10:14:54.291065423 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_extprint.ml,v 6.3 2012-01-09 14:22:20 deraugla Exp $ *) -+(* pa_extprint.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_extend.cmo"; -diff -urN camlp5-6.11/etc/pa_lefteval.ml camlp5-6.12-63a8c30f/etc/pa_lefteval.ml ---- camlp5-6.11/etc/pa_lefteval.ml 2013-07-02 17:12:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/etc/pa_lefteval.ml 2014-08-01 10:14:54.291065423 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_lefteval.ml,v 6.4 2013-07-02 16:12:43 deraugla Exp $ *) -+(* pa_lefteval.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "q_MLast.cmo"; -diff -urN camlp5-6.11/etc/pa_lex.ml camlp5-6.12-63a8c30f/etc/pa_lex.ml ---- camlp5-6.11/etc/pa_lex.ml 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pa_lex.ml 2014-08-01 10:14:54.291065423 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_lex.ml,v 6.3 2012-01-09 14:22:20 deraugla Exp $ *) -+(* pa_lex.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_extend.cmo"; -diff -urN camlp5-6.11/etc/pa_lisp.ml camlp5-6.12-63a8c30f/etc/pa_lisp.ml ---- camlp5-6.11/etc/pa_lisp.ml 2012-01-09 14:22:20.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pa_lisp.ml 2014-08-01 10:14:54.291065423 +0100 -@@ -1,8 +1,9 @@ - ;; camlp5 ./pa_lispr.cmo pa_extend.cmo q_MLast.cmo pr_dump.cmo --;; $Id: pa_lisp.ml,v 6.9 2012-01-09 14:22:20 deraugla Exp $ -+;; pa_lisp.ml,v - ;; Copyright (c) INRIA 2007-2012 - - (open Pcaml) -+(open Versdep) - - (type (choice 'a 'b) (sum (Left 'a) (Right 'b))) - -@@ -10,13 +11,13 @@ - - (module Buff - (struct -- (value buff (ref (String.create 80))) -+ (value buff (ref (string_create 80))) - (value store (lambda (len x) - (if (>= len (String.length buff.val)) - (:= buff.val - (^ buff.val -- (String.create (String.length buff.val))))) -- (:= ([] buff.val len) x) -+ (string_create (String.length buff.val))))) -+ (string_set buff.val len x) - (succ len))) - (value get (lambda len (String.sub buff.val 0 len))))) - -diff -urN camlp5-6.11/etc/pa_lispr.ml camlp5-6.12-63a8c30f/etc/pa_lispr.ml ---- camlp5-6.11/etc/pa_lispr.ml 2013-05-20 06:56:33.000000000 +0100 -+++ camlp5-6.12-63a8c30f/etc/pa_lispr.ml 2014-08-01 10:14:54.291065423 +0100 -@@ -1,8 +1,9 @@ - (* camlp5 pa_r.cmo pa_rp.cmo pa_extend.cmo q_MLast.cmo pr_dump.cmo *) --(* File generated by pretty print; do not edit! *) -+(* pa_lisp.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Pcaml; -+open Versdep; - - type choice α β = - [ Left of α -@@ -13,12 +14,12 @@ - - module Buff = - struct -- value buff = ref (String.create 80); -+ value buff = ref (string_create 80); - value store len x = do { - if len >= String.length buff.val then -- buff.val := buff.val ^ String.create (String.length buff.val) -+ buff.val := buff.val ^ string_create (String.length buff.val) - else (); -- buff.val.[len] := x; -+ string_set buff.val len x; - succ len - }; - value get len = String.sub buff.val 0 len; -diff -urN camlp5-6.11/etc/pa_mkast.ml camlp5-6.12-63a8c30f/etc/pa_mkast.ml ---- camlp5-6.11/etc/pa_mkast.ml 2012-03-06 14:57:58.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pa_mkast.ml 2014-08-01 10:14:54.291065423 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_mkast.ml,v 6.5 2012-03-06 14:57:58 deraugla Exp $ *) -+(* pa_mkast.ml,v *) - - (* - meta/camlp5r etc/pa_mkast.cmo etc/pr_r.cmo -impl main/mLast.mli -diff -urN camlp5-6.11/etc/pa_mktest.ml camlp5-6.12-63a8c30f/etc/pa_mktest.ml ---- camlp5-6.11/etc/pa_mktest.ml 2010-11-12 23:23:59.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pa_mktest.ml 2014-08-01 10:14:54.291065423 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_mktest.ml,v 6.15 2010-11-12 23:23:59 deraugla Exp $ *) -+(* pa_mktest.ml,v *) - - (* - meta/camlp5r etc/pa_mktest.cmo etc/pr_r.cmo -flag D -impl main/mLast.mli -diff -urN camlp5-6.11/etc/pa_o.ml camlp5-6.12-63a8c30f/etc/pa_o.ml ---- camlp5-6.11/etc/pa_o.ml 2013-07-02 17:12:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/etc/pa_o.ml 2014-08-01 10:14:54.292065424 +0100 -@@ -1,9 +1,10 @@ --(* camlp5r pa_macro.cmo *) --(* $Id: pa_o.ml,v 6.50 2013-07-02 16:12:43 deraugla Exp $ *) -+(* camlp5r *) -+(* pa_o.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_extend.cmo"; - #load "q_MLast.cmo"; -+#load "pa_macro.cmo"; - - open Pcaml; - -@@ -253,7 +254,7 @@ - [ Some (("UIDENT", _) | ("LIDENT", _) | ("", ".")) -> - test (lev + 1) strm - | Some ("ANTIQUOT_LOC", _) -> () -- | Some ("", "=") -> () -+ | Some ("", "=" | ";" | "}") -> () - | _ -> raise Stream.Failure ]) - ; - -@@ -356,6 +357,13 @@ - Reloc.expr floc 0 e - ; - -+value expr_of_patt p = -+ let loc = MLast.loc_of_patt p in -+ match p with -+ [ <:patt< $lid:x$ >> -> <:expr< $lid:x$ >> -+ | _ -> Ploc.raise loc (Stream.Error "identifier expected") ] -+; -+ - EXTEND - GLOBAL: sig_item str_item ctyp patt expr module_type module_expr - signature structure class_type class_expr class_sig_item class_str_item -@@ -525,6 +533,8 @@ - | "let"; "module"; m = V UIDENT; mb = mod_fun_binding; "in"; - e = expr LEVEL "top" -> - <:expr< let module $_uid:m$ = $mb$ in $e$ >> -+ | "let"; "open"; m = V UIDENT; "in"; e = expr LEVEL "top" -> -+ <:expr< $_uid:m$ . ($e$) >> - | "function"; OPT "|"; l = V (LIST1 match_case SEP "|") -> - <:expr< fun [ $_list:l$ ] >> - | "fun"; p = patt LEVEL "simple"; (eo, e) = fun_def -> -@@ -697,7 +707,8 @@ - | le = lbl_expr -> [le] ] ] - ; - lbl_expr: -- [ [ i = patt_label_ident; "="; e = expr LEVEL "expr1" -> (i, e) ] ] -+ [ [ i = patt_label_ident; "="; e = expr LEVEL "expr1" -> (i, e) -+ | i = patt_label_ident -> (i, expr_of_patt i) ] ] - ; - expr1_semi_list: - [ [ el = LIST1 (expr LEVEL "expr1") SEP ";" OPT_SEP -> el ] ] -@@ -817,6 +828,7 @@ - ; - lbl_patt: - [ [ i = patt_label_ident; "="; p = patt -> (i, p) -+ | i = patt_label_ident -> (i, i) - | "_" -> (<:patt< _ >>, <:patt< _ >>) ] ] - ; - patt_label_ident: -diff -urN camlp5-6.11/etc/pa_oop.ml camlp5-6.12-63a8c30f/etc/pa_oop.ml ---- camlp5-6.11/etc/pa_oop.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pa_oop.ml 2014-08-01 10:14:54.292065424 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_oop.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* pa_oop.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_extend.cmo"; -diff -urN camlp5-6.11/etc/pa_op.ml camlp5-6.12-63a8c30f/etc/pa_op.ml ---- camlp5-6.11/etc/pa_op.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pa_op.ml 2014-08-01 10:14:54.292065424 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_op.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* pa_op.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_extend.cmo"; -diff -urN camlp5-6.11/etc/pa_pprintf.ml camlp5-6.12-63a8c30f/etc/pa_pprintf.ml ---- camlp5-6.11/etc/pa_pprintf.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pa_pprintf.ml 2014-08-01 10:14:54.292065424 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_pprintf.ml,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) -+(* pa_pprintf.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_extend.cmo"; -@@ -7,6 +7,7 @@ - #load "q_MLast.cmo"; - - open Pcaml; -+open Versdep; - - (** Types and Functions for the [pprintf] statement *) - -@@ -33,10 +34,10 @@ - ; - - value implode l = -- let s = String.create (List.length l) in -+ let s = string_create (List.length l) in - loop 0 l where rec loop i = - fun -- [ [c :: l] -> do { String.set s i c; loop (i + 1) l } -+ [ [c :: l] -> do { string_set s i c; loop (i + 1) l } - | [] -> s ] - ; - -diff -urN camlp5-6.11/etc/pa_pragma.ml camlp5-6.12-63a8c30f/etc/pa_pragma.ml ---- camlp5-6.11/etc/pa_pragma.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pa_pragma.ml 2014-08-01 10:14:54.292065424 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_pragma.ml,v 6.6 2012-01-09 14:22:21 deraugla Exp $ *) -+(* pa_pragma.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_macro.cmo"; -@@ -999,7 +999,7 @@ - ("String.set", - fun loc -> - {ctyp = <:ctyp< string -> int -> char -> unit >>; -- expr = Obj.repr String.set; -+ expr = Obj.repr string_set; - patt = no_patt loc}); - ("String.sub", - fun loc -> -diff -urN camlp5-6.11/etc/pa_reloc.ml camlp5-6.12-63a8c30f/etc/pa_reloc.ml ---- camlp5-6.11/etc/pa_reloc.ml 2012-03-06 14:57:58.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pa_reloc.ml 2014-08-01 10:14:54.292065424 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_reloc.ml,v 6.6 2012-03-06 14:57:58 deraugla Exp $ *) -+(* pa_reloc.ml,v *) - - (* - meta/camlp5r etc/pa_reloc.cmo etc/pr_r.cmo -impl main/mLast.mli -diff -urN camlp5-6.11/etc/pa_scheme.ml camlp5-6.12-63a8c30f/etc/pa_scheme.ml ---- camlp5-6.11/etc/pa_scheme.ml 2013-07-02 17:12:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/etc/pa_scheme.ml 2014-08-01 10:14:54.293065424 +0100 -@@ -1,9 +1,10 @@ - ; camlp5 ./pa_schemer.cmo pa_extend.cmo q_MLast.cmo pr_dump.cmo --; $Id: pa_scheme.ml,v 6.10 2013-07-02 16:12:43 deraugla Exp $ -+; pa_scheme.ml,v - ; Copyright (c) INRIA 2007-2012 - - (open Pcaml) - (open Exparser) -+(open Versdep) - - (type (choice 'a 'b) - (sum -@@ -14,12 +15,12 @@ - - (module Buff - (struct -- (define buff (ref (String.create 80))) -+ (define buff (ref (string_create 80))) - (define (store len x) - (begin - (if (>= len (String.length buff.val)) -- (:= buff.val (^ buff.val (String.create (String.length buff.val))))) -- (:= buff.val.[len] x) -+ (:= buff.val (^ buff.val (string_create (String.length buff.val))))) -+ (string_set buff.val len x) - (succ len))) - (define (mstore len s) - (letrec -diff -urN camlp5-6.11/etc/pa_schemer.ml camlp5-6.12-63a8c30f/etc/pa_schemer.ml ---- camlp5-6.11/etc/pa_schemer.ml 2013-07-02 17:12:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/etc/pa_schemer.ml 2014-08-01 10:14:54.293065424 +0100 -@@ -1,9 +1,10 @@ - (* camlp5 pa_r.cmo pa_rp.cmo pa_extend.cmo q_MLast.cmo pr_dump.cmo *) --(* File generated by pretty print; do not edit! *) -+(* pa_scheme.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Pcaml; - open Exparser; -+open Versdep; - - type choice α β = - [ Left of α -@@ -14,12 +15,12 @@ - - module Buff = - struct -- value buff = ref (String.create 80); -+ value buff = ref (string_create 80); - value store len x = do { - if len >= String.length buff.val then -- buff.val := buff.val ^ String.create (String.length buff.val) -+ buff.val := buff.val ^ string_create (String.length buff.val) - else (); -- buff.val.[len] := x; -+ string_set buff.val len x; - succ len - }; - value mstore len s = -diff -urN camlp5-6.11/etc/pa_sml.ml camlp5-6.12-63a8c30f/etc/pa_sml.ml ---- camlp5-6.11/etc/pa_sml.ml 2013-07-02 17:12:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/etc/pa_sml.ml 2014-08-01 10:14:54.293065424 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_sml.ml,v 6.7 2013-07-02 16:12:43 deraugla Exp $ *) -+(* pa_sml.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_extend.cmo"; -diff -urN camlp5-6.11/etc/pr_depend.ml camlp5-6.12-63a8c30f/etc/pr_depend.ml ---- camlp5-6.11/etc/pr_depend.ml 2013-07-02 17:12:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/etc/pr_depend.ml 2014-08-01 10:14:54.293065424 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pr_depend.ml,v 6.17 2013-07-02 16:12:43 deraugla Exp $ *) -+(* pr_depend.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_macro.cmo"; -diff -urN camlp5-6.11/etc/pr_extend.ml camlp5-6.12-63a8c30f/etc/pr_extend.ml ---- camlp5-6.11/etc/pr_extend.ml 2012-03-09 14:01:54.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pr_extend.ml 2014-08-01 10:14:54.293065424 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pr_extend.ml,v 6.5 2012-03-09 14:01:54 deraugla Exp $ *) -+(* pr_extend.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #directory "."; -diff -urN camlp5-6.11/etc/pr_extfun.ml camlp5-6.12-63a8c30f/etc/pr_extfun.ml ---- camlp5-6.11/etc/pr_extfun.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pr_extfun.ml 2014-08-01 10:14:54.294065425 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pr_extfun.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* pr_extfun.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #directory "."; -diff -urN camlp5-6.11/etc/pr_extprint.ml camlp5-6.12-63a8c30f/etc/pr_extprint.ml ---- camlp5-6.11/etc/pr_extprint.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pr_extprint.ml 2014-08-01 10:14:54.294065425 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pr_extprint.ml,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) -+(* pr_extprint.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #directory "."; -diff -urN camlp5-6.11/etc/pr_null.ml camlp5-6.12-63a8c30f/etc/pr_null.ml ---- camlp5-6.11/etc/pr_null.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pr_null.ml 2014-08-01 10:14:54.294065425 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pr_null.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* pr_null.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - Pcaml.print_interf.val := fun _ -> (); -diff -urN camlp5-6.11/etc/pr_o.ml camlp5-6.12-63a8c30f/etc/pr_o.ml ---- camlp5-6.11/etc/pr_o.ml 2013-07-02 17:12:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/etc/pr_o.ml 2014-08-01 10:14:54.294065425 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pr_o.ml,v 6.63 2013-07-02 16:12:43 deraugla Exp $ *) -+(* pr_o.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #directory "."; -@@ -251,7 +251,7 @@ - if i = String.length s then String.sub s 0 j - else if s.[i] = '_' then loop (i + 1) j - else do { -- s.[j] := s.[i]; -+ string_set s j s.[i]; - loop (i + 1) (j + 1) - } - }; -diff -urN camlp5-6.11/etc/pr_op.ml camlp5-6.12-63a8c30f/etc/pr_op.ml ---- camlp5-6.11/etc/pr_op.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pr_op.ml 2014-08-01 10:14:54.294065425 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pr_op.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* pr_op.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #directory "."; -diff -urN camlp5-6.11/etc/pr_r.ml camlp5-6.12-63a8c30f/etc/pr_r.ml ---- camlp5-6.11/etc/pr_r.ml 2013-07-02 17:12:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/etc/pr_r.ml 2014-08-01 10:14:54.295065425 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pr_r.ml,v 6.79 2013-07-02 16:12:43 deraugla Exp $ *) -+(* pr_r.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #directory "."; -diff -urN camlp5-6.11/etc/pr_ro.ml camlp5-6.12-63a8c30f/etc/pr_ro.ml ---- camlp5-6.11/etc/pr_ro.ml 2012-03-09 12:43:14.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pr_ro.ml 2014-08-01 10:14:54.295065425 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pr_ro.ml,v 6.20 2012-03-09 12:43:14 deraugla Exp $ *) -+(* pr_ro.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #directory "."; -diff -urN camlp5-6.11/etc/pr_rp.ml camlp5-6.12-63a8c30f/etc/pr_rp.ml ---- camlp5-6.11/etc/pr_rp.ml 2013-03-15 16:17:17.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pr_rp.ml 2014-08-01 10:14:54.295065425 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pr_rp.ml,v 6.12 2013-03-15 16:17:17 deraugla Exp $ *) -+(* pr_rp.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #directory "."; -diff -urN camlp5-6.11/etc/pr_scheme.ml camlp5-6.12-63a8c30f/etc/pr_scheme.ml ---- camlp5-6.11/etc/pr_scheme.ml 2013-07-02 17:12:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/etc/pr_scheme.ml 2014-08-01 10:14:54.296065426 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pr_scheme.ml,v 6.9 2013-07-02 16:12:43 deraugla Exp $ *) -+(* pr_scheme.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #directory "."; -@@ -1445,12 +1445,12 @@ - - module Buff = - struct -- value buff = ref (String.create 80); -+ value buff = ref (string_create 80); - value store len x = do { - if len >= String.length buff.val then -- buff.val := buff.val ^ String.create (String.length buff.val) -+ buff.val := buff.val ^ string_create (String.length buff.val) - else (); -- buff.val.[len] := x; -+ string_set buff.val len x; - succ len - }; - value mstore len s = -diff -urN camlp5-6.11/etc/pr_schemep.ml camlp5-6.12-63a8c30f/etc/pr_schemep.ml ---- camlp5-6.11/etc/pr_schemep.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/pr_schemep.ml 2014-08-01 10:14:54.296065426 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pr_schemep.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* pr_schemep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #directory "."; -diff -urN camlp5-6.11/etc/q_phony.ml camlp5-6.12-63a8c30f/etc/q_phony.ml ---- camlp5-6.11/etc/q_phony.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/etc/q_phony.ml 2014-08-01 10:14:54.296065426 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: q_phony.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* q_phony.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #directory "."; -diff -urN camlp5-6.11/.gitignore camlp5-6.12-63a8c30f/.gitignore ---- camlp5-6.11/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/.gitignore 2014-08-01 10:14:54.283065418 +0100 -@@ -0,0 +1,2 @@ -+*.o -+myconfig -diff -urN camlp5-6.11/ICHANGES camlp5-6.12-63a8c30f/ICHANGES ---- camlp5-6.11/ICHANGES 2010-12-05 00:58:48.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ICHANGES 2014-08-01 10:14:54.283065418 +0100 -@@ -1,6 +1,12 @@ - Internal, very small, undocumented, or invisible changes - ******************************************************** - -+Camlp5 Version 6.12: -+-------------------- -+* [20 Jan 14] Removed W3C icon image (in documentation) that should -+ not be in Camlp5 distribution (violates Debian guidelines, in -+ particular). -+ - Camlp5 Version 6.02.1: - ---------------------- - -diff -urN camlp5-6.11/lib/.cvsignore camlp5-6.12-63a8c30f/lib/.cvsignore ---- camlp5-6.11/lib/.cvsignore 2010-09-15 17:00:22.000000000 +0100 -+++ camlp5-6.12-63a8c30f/lib/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1,4 +0,0 @@ --*.a --*.cm[oiax] --*.cmxa --*.lib -diff -urN camlp5-6.11/lib/.depend camlp5-6.12-63a8c30f/lib/.depend ---- camlp5-6.11/lib/.depend 2010-09-15 17:00:22.000000000 +0100 -+++ camlp5-6.12-63a8c30f/lib/.depend 2014-08-01 10:14:54.296065426 +0100 -@@ -19,8 +19,8 @@ - plexer.cmo: plexer.cmi plexing.cmi ploc.cmi versdep.cmo - plexer.cmx: plexer.cmi plexing.cmx ploc.cmx versdep.cmx - plexer.cmi: plexing.cmi --plexing.cmo: plexing.cmi ploc.cmi --plexing.cmx: plexing.cmi ploc.cmx -+plexing.cmo: plexing.cmi ploc.cmi versdep.cmo -+plexing.cmx: plexing.cmi ploc.cmx versdep.cmx - plexing.cmi: ploc.cmi - ploc.cmo: ploc.cmi - ploc.cmx: ploc.cmi -diff -urN camlp5-6.11/lib/diff.ml camlp5-6.12-63a8c30f/lib/diff.ml ---- camlp5-6.11/lib/diff.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/diff.ml 2014-08-01 10:14:54.296065426 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: diff.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* diff.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* Parts of Code of GNU diff (analyze.c) translated from C to OCaml -diff -urN camlp5-6.11/lib/diff.mli camlp5-6.12-63a8c30f/lib/diff.mli ---- camlp5-6.11/lib/diff.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/diff.mli 2014-08-01 10:14:54.296065426 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: diff.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* diff.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Differences between two arrays. *) -diff -urN camlp5-6.11/lib/eprinter.ml camlp5-6.12-63a8c30f/lib/eprinter.ml ---- camlp5-6.11/lib/eprinter.ml 2012-03-08 10:43:30.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/eprinter.ml 2014-08-01 10:14:54.296065426 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: eprinter.ml,v 6.4 2012-03-08 10:43:30 deraugla Exp $ *) -+(* eprinter.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_macro.cmo"; -diff -urN camlp5-6.11/lib/eprinter.mli camlp5-6.12-63a8c30f/lib/eprinter.mli ---- camlp5-6.11/lib/eprinter.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/eprinter.mli 2014-08-01 10:14:54.296065426 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: eprinter.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* eprinter.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Extensible printers. -diff -urN camlp5-6.11/lib/extfold.ml camlp5-6.12-63a8c30f/lib/extfold.ml ---- camlp5-6.11/lib/extfold.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/extfold.ml 2014-08-01 10:14:54.296065426 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: extfold.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* extfold.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type t 'te 'a 'b = -diff -urN camlp5-6.11/lib/extfold.mli camlp5-6.12-63a8c30f/lib/extfold.mli ---- camlp5-6.11/lib/extfold.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/extfold.mli 2014-08-01 10:14:54.296065426 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: extfold.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* extfold.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type t 'te 'a 'b = -diff -urN camlp5-6.11/lib/extfun.ml camlp5-6.12-63a8c30f/lib/extfun.ml ---- camlp5-6.11/lib/extfun.ml 2012-03-08 14:01:06.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/extfun.ml 2014-08-01 10:14:54.296065426 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: extfun.ml,v 6.4 2012-03-08 14:01:06 deraugla Exp $ *) -+(* extfun.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* Extensible Functions *) -diff -urN camlp5-6.11/lib/extfun.mli camlp5-6.12-63a8c30f/lib/extfun.mli ---- camlp5-6.11/lib/extfun.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/extfun.mli 2014-08-01 10:14:54.296065426 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: extfun.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* extfun.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Extensible functions. -diff -urN camlp5-6.11/lib/fstream.ml camlp5-6.12-63a8c30f/lib/fstream.ml ---- camlp5-6.11/lib/fstream.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/fstream.ml 2014-08-01 10:14:54.296065426 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: fstream.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* fstream.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type mlazy_c 'a = -diff -urN camlp5-6.11/lib/fstream.mli camlp5-6.12-63a8c30f/lib/fstream.mli ---- camlp5-6.11/lib/fstream.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/fstream.mli 2014-08-01 10:14:54.297065427 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: fstream.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* fstream.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* Module [Fstream]: functional streams *) -diff -urN camlp5-6.11/lib/.gitignore camlp5-6.12-63a8c30f/lib/.gitignore ---- camlp5-6.11/lib/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/lib/.gitignore 2014-08-01 10:14:54.296065426 +0100 -@@ -0,0 +1,4 @@ -+*.a -+*.cm[oiax] -+*.cmxa -+*.lib -diff -urN camlp5-6.11/lib/gramext.ml camlp5-6.12-63a8c30f/lib/gramext.ml ---- camlp5-6.11/lib/gramext.ml 2013-01-28 09:27:12.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/gramext.ml 2014-08-01 10:14:54.297065427 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: gramext.ml,v 6.8 2013-01-28 09:27:12 deraugla Exp $ *) -+(* gramext.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Printf; -diff -urN camlp5-6.11/lib/gramext.mli camlp5-6.12-63a8c30f/lib/gramext.mli ---- camlp5-6.11/lib/gramext.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/gramext.mli 2014-08-01 10:14:54.297065427 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: gramext.mli,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) -+(* gramext.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type parser_t 'a = Stream.t 'a -> Obj.t; -diff -urN camlp5-6.11/lib/grammar.ml camlp5-6.12-63a8c30f/lib/grammar.ml ---- camlp5-6.11/lib/grammar.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/grammar.ml 2014-08-01 10:14:54.297065427 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: grammar.ml,v 6.6 2012-01-09 14:22:21 deraugla Exp $ *) -+(* grammar.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_fstream.cmo"; -@@ -17,7 +17,32 @@ - List.map (fun l -> [n :: l]) (flatten_tree s) @ flatten_tree b ] - ; - --value print_str ppf s = fprintf ppf "\"%s\"" (String.escaped s); -+value utf8_print = ref True; -+ -+value utf8_string_escaped s = -+ let b = Buffer.create (String.length s) in -+ loop 0 where rec loop i = -+ if i = String.length s then Buffer.contents b -+ else do { -+ match s.[i] with -+ | '"' → Buffer.add_string b "\\\"" -+ | '\\' → Buffer.add_string b "\\\\" -+ | '\n' → Buffer.add_string b "\\n" -+ | '\t' → Buffer.add_string b "\\t" -+ | '\r' → Buffer.add_string b "\\r" -+ | '\b' → Buffer.add_string b "\\b" -+ | c → Buffer.add_char b c -+ end; -+ loop (i + 1) -+ } -+; -+ -+value string_escaped s = -+ if utf8_print.val then utf8_string_escaped s -+ else String.escaped s -+; -+ -+value print_str ppf s = fprintf ppf "\"%s\"" (string_escaped s); - - value rec print_symbol ppf = - fun -diff -urN camlp5-6.11/lib/grammar.mli camlp5-6.12-63a8c30f/lib/grammar.mli ---- camlp5-6.11/lib/grammar.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/grammar.mli 2014-08-01 10:14:54.297065427 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: grammar.mli,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) -+(* grammar.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Extensible grammars. -@@ -201,6 +201,10 @@ - (** Flag to apply strict parsing, without trying to recover errors; - default = [False] *) - -+value utf8_print : ref bool; -+ (** Flag to consider strings as utf8-encoded when printing them; -+ default = [True] *) -+ - value print_entry : Format.formatter -> Gramext.g_entry 'te -> unit; - (** General printer for all kinds of entries (obj entries) *) - -diff -urN camlp5-6.11/lib/Makefile camlp5-6.12-63a8c30f/lib/Makefile ---- camlp5-6.11/lib/Makefile 2012-03-01 03:33:18.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/Makefile 2014-08-01 10:14:54.296065426 +0100 -@@ -1,4 +1,4 @@ --# $Id: Makefile,v 6.2 2012-03-01 03:33:18 deraugla Exp $ -+# Makefile,v - - TOP=.. - include $(TOP)/config/Makefile -diff -urN camlp5-6.11/lib/plexer.ml camlp5-6.12-63a8c30f/lib/plexer.ml ---- camlp5-6.11/lib/plexer.ml 2013-07-03 02:43:10.000000000 +0100 -+++ camlp5-6.12-63a8c30f/lib/plexer.ml 2014-08-01 10:14:54.298065427 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: plexer.ml,v 6.19 2013-07-03 01:43:10 deraugla Exp $ *) -+(* plexer.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_lexer.cmo"; -@@ -39,10 +39,10 @@ - ; - - value rev_implode l = -- let s = String.create (List.length l) in -+ let s = string_create (List.length l) in - loop (String.length s - 1) l where rec loop i = - fun -- [ [c :: l] -> do { String.unsafe_set s i c; loop (i - 1) l } -+ [ [c :: l] -> do { string_unsafe_set s i c; loop (i - 1) l } - | [] -> s ] - ; - -diff -urN camlp5-6.11/lib/plexer.mli camlp5-6.12-63a8c30f/lib/plexer.mli ---- camlp5-6.11/lib/plexer.mli 2013-06-14 04:03:31.000000000 +0100 -+++ camlp5-6.12-63a8c30f/lib/plexer.mli 2014-08-01 10:14:54.298065427 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: plexer.mli,v 6.4 2013-06-14 03:03:31 deraugla Exp $ *) -+(* plexer.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** This module contains the lexer used for ocaml syntax (revised and -diff -urN camlp5-6.11/lib/plexing.ml camlp5-6.12-63a8c30f/lib/plexing.ml ---- camlp5-6.11/lib/plexing.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/plexing.ml 2014-08-01 10:14:54.298065427 +0100 -@@ -1,7 +1,9 @@ - (* camlp5r *) --(* $Id: plexing.ml,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) -+(* plexing.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - -+open Versdep; -+ - type pattern = (string * string); - - exception Error of string; -@@ -75,7 +77,8 @@ - let lb = - Lexing.from_function - (fun s n -> -- try do { s.[0] := Stream.next cs; 1 } with [ Stream.Failure -> 0 ]) -+ try do { string_set s 0 (Stream.next cs); 1 } with -+ [ Stream.Failure -> 0 ]) - in - let next_token_loc _ = - let tok = lexfun lb in -@@ -87,12 +90,12 @@ - - (* Char and string tokens to real chars and string *) - --value buff = ref (String.create 80); -+value buff = ref (string_create 80); - value store len x = do { - if len >= String.length buff.val then -- buff.val := buff.val ^ String.create (String.length buff.val) -+ buff.val := buff.val ^ string_create (String.length buff.val) - else (); -- buff.val.[len] := x; -+ string_set buff.val len x; - succ len - }; - value get_buff len = String.sub buff.val 0 len; -@@ -215,10 +218,10 @@ - (* The lexing buffer used by pa_lexer.cmo *) - - value rev_implode l = -- let s = String.create (List.length l) in -+ let s = string_create (List.length l) in - loop (String.length s - 1) l where rec loop i = - fun -- [ [c :: l] -> do { String.unsafe_set s i c; loop (i - 1) l } -+ [ [c :: l] -> do { string_unsafe_set s i c; loop (i - 1) l } - | [] -> s ] - ; - -diff -urN camlp5-6.11/lib/plexing.mli camlp5-6.12-63a8c30f/lib/plexing.mli ---- camlp5-6.11/lib/plexing.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/plexing.mli 2014-08-01 10:14:54.298065427 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: plexing.mli,v 6.5 2012-01-09 14:22:21 deraugla Exp $ *) -+(* plexing.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Lexing for Camlp5 grammars. -diff -urN camlp5-6.11/lib/ploc.ml camlp5-6.12-63a8c30f/lib/ploc.ml ---- camlp5-6.11/lib/ploc.ml 2012-03-09 12:43:14.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/ploc.ml 2014-08-01 10:14:54.298065427 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: ploc.ml,v 6.13 2012-03-09 12:43:14 deraugla Exp $ *) -+(* ploc.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_macro.cmo"; -@@ -23,12 +23,12 @@ - ; - - value make_unlined (bp, ep) = -- {fname = ""; line_nb = -1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; -+ {fname = ""; line_nb = 1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; - bp = bp; ep = ep; comm = ""; ecomm = ""} - ; - - value dummy = -- {fname = ""; line_nb = -1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; -+ {fname = ""; line_nb = 1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; - bp = 0; ep = 0; comm = ""; ecomm = ""} - ; - -diff -urN camlp5-6.11/lib/ploc.mli camlp5-6.12-63a8c30f/lib/ploc.mli ---- camlp5-6.11/lib/ploc.mli 2012-03-09 11:03:05.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/ploc.mli 2014-08-01 10:14:54.298065427 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: ploc.mli,v 6.9 2012-03-09 11:03:05 deraugla Exp $ *) -+(* ploc.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Locations and some pervasive type and value. *) -diff -urN camlp5-6.11/lib/pprintf.ml camlp5-6.12-63a8c30f/lib/pprintf.ml ---- camlp5-6.11/lib/pprintf.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/pprintf.ml 2014-08-01 10:14:54.298065427 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pprintf.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* pprintf.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_macro.cmo"; -diff -urN camlp5-6.11/lib/pprintf.mli camlp5-6.12-63a8c30f/lib/pprintf.mli ---- camlp5-6.11/lib/pprintf.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/pprintf.mli 2014-08-01 10:14:54.298065427 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pprintf.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* pprintf.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Definitions for pprintf statement. -diff -urN camlp5-6.11/lib/pretty.ml camlp5-6.12-63a8c30f/lib/pretty.ml ---- camlp5-6.11/lib/pretty.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/pretty.ml 2014-08-01 10:14:54.298065427 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pretty.ml,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) -+(* pretty.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_macro.cmo"; -diff -urN camlp5-6.11/lib/pretty.mli camlp5-6.12-63a8c30f/lib/pretty.mli ---- camlp5-6.11/lib/pretty.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/pretty.mli 2014-08-01 10:14:54.298065427 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pretty.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* pretty.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Pretty printing on strings *) -diff -urN camlp5-6.11/lib/stdpp.ml camlp5-6.12-63a8c30f/lib/stdpp.ml ---- camlp5-6.11/lib/stdpp.ml 2012-03-03 09:06:39.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/stdpp.ml 2014-08-01 10:14:54.298065427 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: stdpp.ml,v 6.7 2012-03-03 09:06:39 deraugla Exp $ *) -+(* stdpp.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type location = Ploc.t; -diff -urN camlp5-6.11/lib/stdpp.mli camlp5-6.12-63a8c30f/lib/stdpp.mli ---- camlp5-6.11/lib/stdpp.mli 2012-03-15 07:05:39.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/stdpp.mli 2014-08-01 10:14:54.299065428 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: stdpp.mli,v 6.5 2012-03-15 07:05:39 deraugla Exp $ *) -+(* stdpp.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Module deprecated since Camlp5 version 5.00. Use now module Ploc. -diff -urN camlp5-6.11/lib/token.ml camlp5-6.12-63a8c30f/lib/token.ml ---- camlp5-6.11/lib/token.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/token.ml 2014-08-01 10:14:54.299065428 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: token.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* token.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type pattern = Plexing.pattern; -diff -urN camlp5-6.11/lib/token.mli camlp5-6.12-63a8c30f/lib/token.mli ---- camlp5-6.11/lib/token.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/lib/token.mli 2014-08-01 10:14:54.299065428 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: token.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* token.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Module deprecated since Camlp5 version 5.00. Use now module Plexing. -diff -urN camlp5-6.11/lib/versdep.ml camlp5-6.12-63a8c30f/lib/versdep.ml ---- camlp5-6.11/lib/versdep.ml 2013-06-10 16:57:21.000000000 +0100 -+++ camlp5-6.12-63a8c30f/lib/versdep.ml 2014-08-01 10:14:54.299065428 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* $Id: versdep.ml,v 6.36 2013-06-10 15:57:21 deraugla Exp $ *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree; -@@ -94,22 +94,72 @@ - | [] -> Some (List.rev rev_l) ] - ; - --value ocaml_value_description t p = -+value ocaml_value_description vn t p = - IFDEF OCAML_VERSION < OCAML_4_00 THEN {pval_type = t; pval_prim = p} -- ELSE {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} -+ ELSE -+ {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc; -+ pval_name = mkloc t.ptyp_loc vn; pval_attributes = []} -+ END - ; - - value ocaml_class_type_field loc ctfd = - IFDEF OCAML_VERSION < OCAML_4_00 THEN ctfd -- ELSE {pctf_desc = ctfd; pctf_loc = loc} END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ {pctf_desc = ctfd; pctf_loc = loc} -+ ELSE -+ {pctf_desc = ctfd; pctf_loc = loc; pctf_attributes = []} -+ END - ; - - value ocaml_class_field loc cfd = - IFDEF OCAML_VERSION < OCAML_4_00 THEN cfd -- ELSE {pcf_desc = cfd; pcf_loc = loc} END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN {pcf_desc = cfd; pcf_loc = loc} -+ ELSE {pcf_desc = cfd; pcf_loc = loc; pcf_attributes = []} END -+; -+ -+value ocaml_mktyp loc x = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN {ptyp_desc = x; ptyp_loc = loc} -+ ELSE {ptyp_desc = x; ptyp_loc = loc; ptyp_attributes = []} END -+; -+value ocaml_mkpat loc x = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN {ppat_desc = x; ppat_loc = loc} -+ ELSE {ppat_desc = x; ppat_loc = loc; ppat_attributes = []} END -+; -+value ocaml_mkexp loc x = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN {pexp_desc = x; pexp_loc = loc} -+ ELSE {pexp_desc = x; pexp_loc = loc; pexp_attributes = []} END -+; -+value ocaml_mkmty loc x = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN {pmty_desc = x; pmty_loc = loc} -+ ELSE {pmty_desc = x; pmty_loc = loc; pmty_attributes = []} END -+; -+value ocaml_mkmod loc x = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN {pmod_desc = x; pmod_loc = loc} -+ ELSE {pmod_desc = x; pmod_loc = loc; pmod_attributes = []} END -+; -+value ocaml_mkfield loc (lab, x) fl = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ [{pfield_desc = Pfield lab x; pfield_loc = loc} :: fl] -+ ELSE [(lab, x) :: fl] END -+; -+value ocaml_mkfield_var loc = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ [{pfield_desc = Pfield_var; pfield_loc = loc}] -+ ELSE [] END - ; - --value ocaml_type_declaration params cl tk pf tm loc variance = -+IFDEF OCAML_VERSION >= OCAML_4_02_0 THEN -+ value variance_of_bool_bool = -+ fun -+ [ (False, True) -> Contravariant -+ | (True, False) -> Covariant -+ | _ -> Invariant ] -+ ; -+END; -+ -+value ocaml_type_declaration tn params cl tk pf tm loc variance = - IFDEF OCAML_VERSION = OCAML_3_13_0_gadt THEN - Right - {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; -@@ -147,12 +197,28 @@ - {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; - ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; - ptype_variance = variance} -- ELSE -- let params = List.map (fun os -> Some (mknoloc os)) params in -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ let params = List.map (fun os -> Some (mkloc loc os)) params in - Right - {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; - ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; - ptype_variance = variance} -+ ELSE -+ let _ = -+ if List.length params <> List.length variance then -+ failwith "internal error: ocaml_type_declaration" -+ else () -+ in -+ let params = -+ List.map2 -+ (fun os va -> -+ (ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va)) -+ params variance -+ in -+ Right -+ {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; -+ ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; -+ ptype_name = mkloc loc tn; ptype_attributes = []} - END - | None -> Left "no '_' type param in this ocaml version" ] - END -@@ -160,22 +226,35 @@ - - value ocaml_class_type = - IFDEF OCAML_VERSION <= OCAML_1_07 THEN None -- ELSE Some (fun d loc -> {pcty_desc = d; pcty_loc = loc}) END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Some (fun d loc -> {pcty_desc = d; pcty_loc = loc}) -+ ELSE -+ Some (fun d loc -> {pcty_desc = d; pcty_loc = loc; pcty_attributes = []}) -+ END - ; - - value ocaml_class_expr = - IFDEF OCAML_VERSION <= OCAML_1_07 THEN None -- ELSE Some (fun d loc -> {pcl_desc = d; pcl_loc = loc}) END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Some (fun d loc -> {pcl_desc = d; pcl_loc = loc}) -+ ELSE -+ Some (fun d loc -> {pcl_desc = d; pcl_loc = loc; pcl_attributes = []}) -+ END - ; - - value ocaml_class_structure p cil = - IFDEF OCAML_VERSION <= OCAML_4_00 THEN (p, cil) -- ELSE {pcstr_pat = p; pcstr_fields = cil} END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ {pcstr_pat = p; pcstr_fields = cil} -+ ELSE {pcstr_self = p; pcstr_fields = cil} END - ; - - value ocaml_pmty_ident loc li = Pmty_ident (mkloc loc li); - --value ocaml_pmty_functor sloc s mt1 mt2 = Pmty_functor (mkloc sloc s) mt1 mt2; -+value ocaml_pmty_functor sloc s mt1 mt2 = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pmty_functor (mkloc sloc s) mt1 mt2 -+ ELSE Pmty_functor (mkloc sloc s) (Some mt1) mt2 END -+; - - value ocaml_pmty_typeof = - IFDEF OCAML_VERSION < OCAML_3_12 THEN None -@@ -183,8 +262,12 @@ - ; - - value ocaml_pmty_with mt lcl = -- let lcl = List.map (fun (s, c) → (mknoloc s, c)) lcl in -- Pmty_with mt lcl -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ let lcl = List.map (fun (s, c) → (mknoloc s, c)) lcl in -+ Pmty_with mt lcl -+ ELSE -+ let lcl = List.map snd lcl in Pmty_with mt lcl -+ END - ; - - value ocaml_ptype_abstract = -@@ -209,9 +292,16 @@ - Ptype_record ltl priv - ELSIFDEF OCAML_VERSION < OCAML_4_00 THEN - Ptype_record ltl -- ELSE -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN - Ptype_record - (List.map (fun (s, mf, ct, loc) → (mkloc loc s, mf, ct, loc)) ltl) -+ ELSE -+ Ptype_record -+ (List.map -+ (fun (s, mf, ct, loc) -> -+ {pld_name = mkloc loc s; pld_mutable = mf; pld_type = ct; -+ pld_loc = loc; pld_attributes = []}) -+ ltl) - END - ; - -@@ -250,7 +340,7 @@ - ctl - in - Some (Ptype_variant ctl) -- ELSE -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN - let ctl = - List.map - (fun (c, tl, rto, loc) -> -@@ -258,6 +348,17 @@ - ctl - in - Some (Ptype_variant ctl) -+ ELSE -+ let ctl = -+ List.map -+ (fun (c, tl, rto, loc) -> -+ if rto <> None then raise Exit -+ else -+ {pcd_name = mkloc loc c; pcd_args = tl; pcd_res = None; -+ pcd_loc = loc; pcd_attributes = []}) -+ ctl -+ in -+ Some (Ptype_variant ctl) - END - with - [ Exit -> None ] -@@ -271,10 +372,19 @@ - - value ocaml_ptyp_class li tl ll = - IFDEF OCAML_VERSION <= OCAML_2_04 THEN Ptyp_class li tl -- ELSE Ptyp_class (mknoloc li) tl ll END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Ptyp_class (mknoloc li) tl ll -+ ELSE Ptyp_class (mknoloc li) tl END - ; - --value ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li) tl; -+value ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li) tl; -+ -+value ocaml_ptyp_object ml = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Ptyp_object ml -+ ELSE -+ let ml = List.map (fun (s, t) -> (s, [], t)) ml in -+ Ptyp_object ml Closed -+ END -+; - - value ocaml_ptyp_package = - IFDEF OCAML_VERSION < OCAML_3_12_0 THEN None -@@ -283,7 +393,15 @@ - - value ocaml_ptyp_poly = - IFDEF OCAML_VERSION <= OCAML_3_04 THEN None -- ELSE Some (fun cl t -> Ptyp_poly cl t) END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Some (fun cl t -> Ptyp_poly cl t) -+ ELSE -+ Some -+ (fun cl t -> -+ match cl with -+ [ [] -> t.ptyp_desc -+ | _ -> Ptyp_poly cl t ]) -+ END - ; - - value ocaml_ptyp_variant catl clos sl_opt = -@@ -301,7 +419,7 @@ - Some (Ptyp_variant catl clos sl) - with - [ Exit -> None ] -- ELSE -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN - let catl = - List.map - (fun -@@ -310,6 +428,16 @@ - catl - in - Some (Ptyp_variant catl clos sl_opt) -+ ELSE -+ let catl = -+ List.map -+ (fun -+ [ Left (c, a, tl) -> Rtag c [] a tl -+ | Right t -> Rinherit t ]) -+ catl -+ in -+ let clos = if clos then Closed else Open in -+ Some (Ptyp_variant catl clos sl_opt) - END - ; - -@@ -317,6 +445,11 @@ - (mknoloc li, List.map (fun (li, t) → (mkloc t.ptyp_loc li, t)) ltl) - ; - -+value ocaml_const_string s = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Const_string s -+ ELSE Const_string s None END -+; -+ - value ocaml_const_int32 = - IFDEF OCAML_VERSION <= OCAML_3_06 THEN None - ELSE Some (fun s -> Const_int32 (Int32.of_string s)) END -@@ -350,7 +483,11 @@ - let bucket = ghexp (Pexp_construct excep (Some triple) False) in - let raise_ = ghexp (Pexp_ident (Ldot (Lident "Pervasives") "raise")) in - ocaml_pexp_apply raise_ [("", bucket)] -- ELSE Pexp_assertfalse END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pexp_assertfalse -+ ELSE -+ Pexp_assert -+ (ocaml_mkexp loc (Pexp_construct (mkloc loc (Lident "false")) None)) -+ END - ; - - value ocaml_pexp_assert fname loc e = -@@ -377,17 +514,84 @@ - ELSE Pexp_assert e END - ; - -+value ocaml_pexp_constraint e ot1 ot2 = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pexp_constraint e ot1 ot2 -+ ELSE -+ match ot2 with -+ | Some t2 -> Pexp_coerce e ot1 t2 -+ | None -> -+ match ot1 with -+ | Some t1 -> Pexp_constraint e t1 -+ | None -> failwith "internal error: ocaml_pexp_constraint" -+ end -+ end -+ END -+; -+ - value ocaml_pexp_construct loc li po chk_arity = -- Pexp_construct (mkloc loc li) po chk_arity -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Pexp_construct (mkloc loc li) po chk_arity -+ ELSE -+ Pexp_construct (mkloc loc li) po -+ END -+; -+ -+value ocaml_pexp_construct_args = -+ IFDEF OCAML_VERSION < OCAML_4_00_0 THEN -+ fun -+ [ Pexp_construct li po chk_arity -> Some (li, 0, po, chk_arity) -+ | _ -> None ] -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ fun -+ [ Pexp_construct li po chk_arity -> Some (li.txt, li.loc, po, chk_arity) -+ | _ -> None ] -+ ELSE -+ fun -+ [ Pexp_construct li po -> Some (li.txt, li.loc, po, 0) -+ | _ -> None ] -+ END -+; -+ -+value mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) True) -+ ELSE -+ {pexp_desc = ocaml_pexp_construct li_loc li (Some a) True; -+ pexp_loc = loc; -+ pexp_attributes = [(mkloc loc "ocaml.explicit_arity", PStr [])]} -+ END - ; - - value ocaml_pexp_field loc e li = Pexp_field e (mkloc loc li); - --value ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i) e1 e2 df e; -+value ocaml_pexp_for i e1 e2 df e = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pexp_for (mknoloc i) e1 e2 df e -+ ELSE Pexp_for (ocaml_mkpat loc_none (Ppat_var (mknoloc i))) e1 e2 df e END -+; -+ -+value ocaml_case (p, wo, loc, e) = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ match wo with -+ | Some w -> (p, ocaml_mkexp loc (Pexp_when w e)) -+ | None -> (p, e) -+ end -+ ELSE -+ {pc_lhs = p; pc_guard = wo; pc_rhs = e} -+ END -+; - - value ocaml_pexp_function lab eo pel = - IFDEF OCAML_VERSION <= OCAML_2_04 THEN Pexp_function pel -- ELSE Pexp_function lab eo pel END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pexp_function lab eo pel -+ ELSE -+ match pel with -+ | [{pc_lhs = p; pc_guard = None; pc_rhs = e}] -> Pexp_fun lab eo p e -+ | pel -> -+ if lab = "" && eo = None then Pexp_function pel -+ else failwith "internal error: bad ast in ocaml_pexp_function" -+ end -+ END - ; - - value ocaml_pexp_lazy = -@@ -469,6 +673,11 @@ - END - ; - -+value ocaml_value_binding loc p e = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN (p, e) -+ ELSE {pvb_pat = p; pvb_expr = e; pvb_loc = loc; pvb_attributes = []} END -+; -+ - value ocaml_ppat_alias p i iloc = Ppat_alias p (mkloc iloc i); - - value ocaml_ppat_array = -@@ -476,20 +685,40 @@ - ELSE Some (fun pl -> Ppat_array pl) END - ; - --value ocaml_ppat_construct li li_loc po chk_arity = -+value ocaml_ppat_construct loc li po chk_arity = - IFDEF OCAML_VERSION < OCAML_4_00 THEN - Ppat_construct li po chk_arity -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Ppat_construct (mkloc loc li) po chk_arity - ELSE -- Ppat_construct (mkloc li_loc li) po chk_arity -+ Ppat_construct (mkloc loc li) po - END - ; - - value ocaml_ppat_construct_args = -- fun -- [ Ppat_construct li po chk_arity -> -- IFDEF OCAML_VERSION < OCAML_4_00 THEN Some (li, 0, po, chk_arity) -- ELSE Some (li.txt, li.loc, po, chk_arity) END -- | _ -> None ] -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ fun -+ [ Ppat_construct li po chk_arity -> -+ IFDEF OCAML_VERSION < OCAML_4_00 THEN Some (li, 0, po, chk_arity) -+ ELSE Some (li.txt, li.loc, po, chk_arity) END -+ | _ -> None ] -+ ELSE -+ fun -+ [ Ppat_construct li po -> Some (li.txt, li.loc, po, 0) -+ | _ -> None ] -+ END -+; -+ -+value mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) True) -+ ELSE -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ {ppat_desc = ocaml_ppat_construct li_loc li (Some a) True; -+ ppat_loc = loc; -+ ppat_attributes = [(mkloc loc "ocaml.explicit_arity", PStr [])]} -+ END - ; - - value ocaml_ppat_lazy = -@@ -535,80 +764,206 @@ - ELSE Some (fun ctl -> Psig_class_type ctl) END - ; - --value ocaml_psig_exception s ed = Psig_exception (mknoloc s) ed; -+value ocaml_psig_exception loc s ed = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Psig_exception (mkloc loc s) ed -+ ELSE -+ Psig_exception -+ {pext_name = mkloc loc s; pext_kind = Pext_decl ed None; -+ pext_loc = loc; pext_attributes = []} -+ END -+; -+ -+value ocaml_psig_include loc mt = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Psig_include mt -+ ELSE -+ Psig_include {pincl_mod = mt; pincl_loc = loc; pincl_attributes = []} -+ END -+; - --value ocaml_psig_module s mt = Psig_module (mknoloc s) mt; -+value ocaml_psig_module loc s mt = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Psig_module (mknoloc s) mt -+ ELSE -+ Psig_module -+ {pmd_name = mkloc loc s; pmd_type = mt; pmd_attributes = []; -+ pmd_loc = loc} -+ END -+; - --value ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s) mtd; -+value ocaml_psig_modtype loc s mto = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ let mtd = -+ match mto with -+ | None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ end -+ in -+ Psig_modtype (mknoloc s) mtd -+ ELSE -+ let pmtd = -+ {pmtd_name = mkloc loc s; pmtd_type = mto; pmtd_attributes = []; -+ pmtd_loc = loc} -+ in -+ Psig_modtype pmtd -+ END -+; - --value ocaml_psig_open li = -- IFDEF OCAML_VERSION < OCAML_4_01 THEN Psig_open (mknoloc li) -- ELSE Psig_open Fresh (mknoloc li) END -+value ocaml_psig_open loc li = -+ IFDEF OCAML_VERSION < OCAML_4_01 THEN Psig_open (mkloc loc li) -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Psig_open Fresh (mkloc loc li) -+ ELSE -+ Psig_open -+ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; -+ popen_attributes = []} -+ END - ; - - value ocaml_psig_recmodule = - IFDEF OCAML_VERSION <= OCAML_3_06 THEN None -- ELSE -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN - let f ntl = - let ntl = List.map (fun (s, mt) → (mknoloc s, mt)) ntl in - Psig_recmodule ntl - in - Some f -+ ELSE -+ let f ntl = -+ let ntl = -+ List.map -+ (fun (s, mt) -> -+ {pmd_name = mknoloc s; pmd_type = mt; pmd_attributes = []; -+ pmd_loc = loc_none}) -+ ntl -+ in -+ Psig_recmodule ntl -+ in -+ Some f - END - ; - - value ocaml_psig_type stl = -- let stl = List.map (fun (s, t) → (mknoloc s, t)) stl in -- Psig_type stl -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ let stl = List.map (fun (s, t) → (mknoloc s, t)) stl in -+ Psig_type stl -+ ELSE -+ let stl = List.map (fun (s, t) -> t) stl in Psig_type stl -+ END - ; - --value ocaml_psig_value s vd = Psig_value (mknoloc s) vd; -+value ocaml_psig_value s vd = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Psig_value (mknoloc s) vd -+ ELSE Psig_value vd END -+; - - value ocaml_pstr_class_type = - IFDEF OCAML_VERSION <= OCAML_1_07 THEN None - ELSE Some (fun ctl -> Pstr_class_type ctl) END - ; - --value ocaml_pstr_exception s ed = Pstr_exception (mknoloc s) ed; -+value ocaml_pstr_eval e = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_eval e -+ ELSE Pstr_eval e [] END -+; -+ -+value ocaml_pstr_exception loc s ed = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_exception (mkloc loc s) ed -+ ELSE -+ Pstr_exception -+ {pext_name = mkloc loc s; pext_kind = Pext_decl ed None; -+ pext_loc = loc; pext_attributes = []} -+ END -+; - - value ocaml_pstr_exn_rebind = - IFDEF OCAML_VERSION <= OCAML_2_99 THEN None -- ELSE Some (fun s li -> Pstr_exn_rebind (mknoloc s) (mknoloc li)) END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s) (mkloc loc li)) -+ ELSE -+ Some -+ (fun loc s li -> -+ Pstr_exception -+ {pext_name = mkloc loc s; pext_kind = Pext_rebind (mkloc loc li); -+ pext_loc = loc; pext_attributes = []}) -+ END - ; - - value ocaml_pstr_include = - IFDEF OCAML_VERSION <= OCAML_3_00 THEN None -- ELSE Some (fun me -> Pstr_include me) END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Some (fun loc me -> Pstr_include me) -+ ELSE -+ Some -+ (fun loc me -> -+ Pstr_include -+ {pincl_mod = me; pincl_loc = loc; pincl_attributes = []}) -+ END - ; - --value ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s) mt; -+value ocaml_pstr_modtype loc s mt = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_modtype (mkloc loc s) mt -+ ELSE -+ let pmtd = -+ {pmtd_name = mkloc loc s; pmtd_type = Some mt; pmtd_attributes = []; -+ pmtd_loc = loc} -+ in -+ Pstr_modtype pmtd -+ END -+; - --value ocaml_pstr_module s me = Pstr_module (mknoloc s) me; -+value ocaml_pstr_module loc s me = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_module (mkloc loc s) me -+ ELSE -+ let mb = -+ {pmb_name = mkloc loc s; pmb_expr = me; pmb_attributes = []; -+ pmb_loc = loc} -+ in -+ Pstr_module mb -+ END -+; - --value ocaml_pstr_open li = -+value ocaml_pstr_open loc li = - IFDEF OCAML_VERSION < OCAML_4_01 THEN Pstr_open (mknoloc li) -- ELSE Pstr_open Fresh (mknoloc li) END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_open Fresh (mknoloc li) -+ ELSE -+ Pstr_open -+ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; -+ popen_attributes = []} -+ END - ; - --value ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s) vd; -+value ocaml_pstr_primitive s vd = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_primitive (mknoloc s) vd -+ ELSE Pstr_primitive vd END -+; - - value ocaml_pstr_recmodule = - IFDEF OCAML_VERSION <= OCAML_3_06 THEN None - ELSIFDEF OCAML_VERSION < OCAML_4_00 THEN - Some (fun nel -> Pstr_recmodule nel) -- ELSE -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN - let f nel = - Pstr_recmodule (List.map (fun (s, mt, me) → (mknoloc s, mt, me)) nel) - in - Some f -+ ELSE -+ let f nel = -+ Pstr_recmodule -+ (List.map -+ (fun (s, mt, me) -> -+ {pmb_name = mknoloc s; pmb_expr = me; pmb_attributes = []; -+ pmb_loc = loc_none}) -+ nel) -+ in -+ Some f - END - ; - - value ocaml_pstr_type stl = - IFDEF OCAML_VERSION < OCAML_4_00 THEN Pstr_type stl -- ELSE -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN - let stl = List.map (fun (s, t) → (mknoloc s, t)) stl in - Pstr_type stl -+ ELSE -+ let stl = List.map (fun (s, t) -> t) stl in Pstr_type stl - END - ; - -@@ -619,18 +974,37 @@ - (fun virt params name expr loc variance -> - {pci_virt = virt; pci_params = params; pci_name = name; - pci_expr = expr; pci_loc = loc}) -- ELSE -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN - Some - (fun virt (sl, sloc) name expr loc variance -> - let params = (List.map (fun s → mkloc loc s) sl, sloc) in - {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; - pci_expr = expr; pci_loc = loc; pci_variance = variance}) -+ ELSE -+ Some -+ (fun virt (sl, sloc) name expr loc variance -> -+ let _ = -+ if List.length sl <> List.length variance then -+ failwith "internal error: ocaml_class_infos" -+ else () -+ in -+ let params = -+ List.map2 -+ (fun os va -> -+ (ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va)) -+ sl variance -+ in -+ {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; -+ pci_expr = expr; pci_loc = loc; pci_attributes = []}) - END - ; - - value ocaml_pmod_ident li = Pmod_ident (mknoloc li); - --value ocaml_pmod_functor s mt me = Pmod_functor (mknoloc s) mt me; -+value ocaml_pmod_functor s mt me = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pmod_functor (mknoloc s) mt me -+ ELSE Pmod_functor (mknoloc s) (Some mt) me END -+; - - value ocaml_pmod_unpack = - IFDEF OCAML_VERSION < OCAML_3_12 THEN None -@@ -646,41 +1020,58 @@ - IFDEF OCAML_VERSION <= OCAML_1_07 THEN None - ELSIFDEF OCAML_VERSION < OCAML_4_00 THEN - Some (fun (t1, t2, loc) -> Pcf_cstr (t1, t2, loc)) -- ELSE Some (fun (t1, t2, loc) -> Pcf_constr (t1, t2)) END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Some (fun (t1, t2, loc) -> Pcf_constr (t1, t2)) -+ ELSE -+ Some (fun (t1, t2, loc) -> Pcf_constraint (t1, t2)) -+ END - ; - - value ocaml_pcf_inher = - IFDEF OCAML_VERSION <= OCAML_1_07 THEN - fun (id, cl, el, loc) pb -> Pcf_inher (id, cl, el, pb, loc) -- ELSIFDEF OCAML_VERSION >= OCAML_3_12 THEN -+ ELSIFDEF OCAML_VERSION < OCAML_3_12 THEN -+ fun ce pb -> Pcf_inher ce pb -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN - fun ce pb -> Pcf_inher Fresh ce pb - ELSE -- fun ce pb -> Pcf_inher ce pb -+ fun ce pb -> Pcf_inherit Fresh ce pb - END - ; - - value ocaml_pcf_init = - IFDEF OCAML_VERSION <= OCAML_1_07 THEN None -- ELSE Some (fun e -> Pcf_init e) END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Some (fun e -> Pcf_init e) -+ ELSE Some (fun e -> Pcf_initializer e) END - ; - - value ocaml_pcf_meth (s, pf, ovf, e, loc) = - let pf = if pf then Private else Public in -- IFDEF OCAML_VERSION >= OCAML_3_12 THEN -+ IFDEF OCAML_VERSION < OCAML_3_12 THEN Pcf_meth (s, pf, e, loc) -+ ELSE - let ovf = if ovf then Override else Fresh in - IFDEF OCAML_VERSION < OCAML_4_00 THEN Pcf_meth (s, pf, ovf, e, loc) -- ELSE Pcf_meth (mkloc loc s, pf, ovf, e) END -- ELSE Pcf_meth (s, pf, e, loc) END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Pcf_meth (mkloc loc s, pf, ovf, e) -+ ELSE -+ Pcf_method (mkloc loc s, pf, Cfk_concrete ovf e) -+ END -+ END - ; - - value ocaml_pcf_val (s, mf, ovf, e, loc) = - let mf = if mf then Mutable else Immutable in - IFDEF OCAML_VERSION <= OCAML_1_07 THEN Pcf_val (s, Public, mf, Some e, loc) -- ELSIFDEF OCAML_VERSION >= OCAML_3_12 THEN -+ ELSIFDEF OCAML_VERSION < OCAML_3_12 THEN Pcf_val (s, mf, e, loc) -+ ELSE - let ovf = if ovf then Override else Fresh in - IFDEF OCAML_VERSION < OCAML_4_00 THEN Pcf_val (s, mf, ovf, e, loc) -- ELSE Pcf_val (mkloc loc s, mf, ovf, e) END -- ELSE Pcf_val (s, mf, e, loc) END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Pcf_val (mkloc loc s, mf, ovf, e) -+ ELSE -+ Pcf_val (mkloc loc s, mf, Cfk_concrete ovf e) -+ END -+ END - ; - - value ocaml_pcf_valvirt = -@@ -689,7 +1080,9 @@ - let ocaml_pcf (s, mf, t, loc) = - let mf = if mf then Mutable else Immutable in - IFDEF OCAML_VERSION < OCAML_4_00 THEN Pcf_valvirt (s, mf, t, loc) -- ELSE Pcf_valvirt (mkloc loc s, mf, t) END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Pcf_valvirt (mkloc loc s, mf, t) -+ ELSE Pcf_val (mkloc loc s, mf, Cfk_virtual t) END - in - Some ocaml_pcf - END -@@ -697,7 +1090,8 @@ - - value ocaml_pcf_virt (s, pf, t, loc) = - IFDEF OCAML_VERSION < OCAML_4_00 THEN Pcf_virt (s, pf, t, loc) -- ELSE Pcf_virt (mkloc loc s, pf, t) END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pcf_virt (mkloc loc s, pf, t) -+ ELSE Pcf_val (mkloc loc s, Immutable, Cfk_virtual t) END - ; - - value ocaml_pcl_apply = -@@ -743,13 +1137,22 @@ - IFDEF OCAML_VERSION <= OCAML_1_07 THEN None - ELSIFDEF OCAML_VERSION < OCAML_4_00 THEN - Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc)) -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2)) - ELSE -- Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2)) END -+ Some (fun (t1, t2, loc) -> Pctf_constraint (t1, t2)) -+ END -+; -+ -+value ocaml_pctf_inher ct = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pctf_inher ct -+ ELSE Pctf_inherit ct END - ; - - value ocaml_pctf_meth (s, pf, t, loc) = - IFDEF OCAML_VERSION < OCAML_4_00 THEN Pctf_meth (s, pf, t, loc) -- ELSE Pctf_meth (s, pf, t) END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pctf_meth (s, pf, t) -+ ELSE Pctf_method (s, pf, Concrete, t) END - ; - - value ocaml_pctf_val (s, mf, t, loc) = -@@ -761,7 +1164,8 @@ - - value ocaml_pctf_virt (s, pf, t, loc) = - IFDEF OCAML_VERSION < OCAML_4_00 THEN Pctf_virt (s, pf, t, loc) -- ELSE Pctf_virt (s, pf, t) END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pctf_virt (s, pf, t) -+ ELSE Pctf_val (s, Immutable, Virtual, t) END - ; - - value ocaml_pcty_constr = -@@ -774,8 +1178,11 @@ - None - ELSIFDEF OCAML_VERSION <= OCAML_2_04 THEN - Some (fun lab t ct -> Pcty_fun t ct) -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Some (fun lab t ct -> Pcty_fun lab t ct) - ELSE -- Some (fun lab t ct -> Pcty_fun lab t ct) END -+ Some (fun lab t ct -> Pcty_arrow lab t ct) -+ END - ; - - value ocaml_pcty_signature = -@@ -785,7 +1192,11 @@ - ELSE - let f (t, ctfl) = - let cs = -- {pcsig_self = t; pcsig_fields = ctfl; pcsig_loc = t.ptyp_loc} -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ {pcsig_self = t; pcsig_fields = ctfl; pcsig_loc = t.ptyp_loc} -+ ELSE -+ {pcsig_self = t; pcsig_fields = ctfl} -+ END - in - Pcty_signature cs - in -@@ -800,10 +1211,22 @@ - - value ocaml_pwith_modsubst = - IFDEF OCAML_VERSION < OCAML_3_12_0 THEN None -- ELSE Some (fun loc me -> Pwith_modsubst (mkloc loc me)) END -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Some (fun loc me -> Pwith_modsubst (mkloc loc me)) -+ ELSE -+ Some (fun loc me -> Pwith_modsubst (mkloc loc "") (mkloc loc me)) -+ END -+; -+ -+value ocaml_pwith_type loc (i, td) = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pwith_type td -+ ELSE Pwith_type (mkloc loc i) td END - ; - --value ocaml_pwith_module loc me = Pwith_module (mkloc loc me); -+value ocaml_pwith_module loc me = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pwith_module (mkloc loc me) -+ ELSE Pwith_module (mkloc loc (Lident "")) (mkloc loc me) END -+; - - value ocaml_pwith_typesubst = - IFDEF OCAML_VERSION < OCAML_3_12_0 THEN None -@@ -1009,3 +1432,18 @@ - String.contains - END - ; -+ -+value string_create = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN String.create -+ ELSE Bytes.create END -+; -+ -+value string_unsafe_set = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN String.unsafe_set -+ ELSE Bytes.unsafe_set END -+; -+ -+value string_set = -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN String.set -+ ELSE Bytes.set END -+; -diff -urN camlp5-6.11/main/argl.ml camlp5-6.12-63a8c30f/main/argl.ml ---- camlp5-6.11/main/argl.ml 2012-03-01 03:33:18.000000000 +0000 -+++ camlp5-6.12-63a8c30f/main/argl.ml 2014-08-01 10:14:54.299065428 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: argl.ml,v 6.2 2012-03-01 03:33:18 deraugla Exp $ *) -+(* argl.ml,v *) - - open Printf; - open Versdep; -diff -urN camlp5-6.11/main/argl.mli camlp5-6.12-63a8c30f/main/argl.mli ---- camlp5-6.11/main/argl.mli 2010-09-15 17:00:24.000000000 +0100 -+++ camlp5-6.12-63a8c30f/main/argl.mli 2014-08-01 10:14:54.299065428 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: argl.mli,v 6.1 2010-09-15 16:00:24 deraugla Exp $ *) -+(* argl.mli,v *) - - value usage : - list (string * Arg.spec * string) -> list (string * Arg.spec * string) -> -diff -urN camlp5-6.11/main/ast2pt.ml camlp5-6.12-63a8c30f/main/ast2pt.ml ---- camlp5-6.11/main/ast2pt.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/main/ast2pt.ml 2014-08-01 10:14:54.300065429 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: ast2pt.ml,v 6.53 2013-03-19 15:25:22 deraugla Exp $ *) -+(* ast2pt.ml,v *) - - #load "q_MLast.cmo"; - -@@ -62,14 +62,16 @@ - ocaml_location (glob_fname.val, lnum, bolp, lnuml, bolpl, bp, ep) - ; - --value mktyp loc d = {ptyp_desc = d; ptyp_loc = mkloc loc}; --value mkpat loc d = {ppat_desc = d; ppat_loc = mkloc loc}; --value mkexp loc d = {pexp_desc = d; pexp_loc = mkloc loc}; --value mkmty loc d = {pmty_desc = d; pmty_loc = mkloc loc}; -+value mktyp loc d = ocaml_mktyp (mkloc loc) d; -+value mkpat loc d = ocaml_mkpat (mkloc loc) d; -+value mkexp loc d = ocaml_mkexp (mkloc loc) d; -+value mkmty loc d = ocaml_mkmty (mkloc loc) d; - value mksig loc d = {psig_desc = d; psig_loc = mkloc loc}; --value mkmod loc d = {pmod_desc = d; pmod_loc = mkloc loc}; -+value mkmod loc d = ocaml_mkmod (mkloc loc) d; - value mkstr loc d = {pstr_desc = d; pstr_loc = mkloc loc}; --value mkfield loc d = {pfield_desc = d; pfield_loc = mkloc loc}; -+value mkfield loc d fl = ocaml_mkfield (mkloc loc) d fl; -+value mkfield_var loc = ocaml_mkfield_var (mkloc loc); -+ - value mkcty loc d = - match ocaml_class_type with - [ Some class_type → class_type d (mkloc loc) -@@ -87,9 +89,10 @@ - let ghpat = mkpat loc in - let ghexp = mkexp loc in - let void_pat = -- ghpat (ocaml_ppat_construct (Lident "()") (mkloc loc) None False) -+ ghpat (ocaml_ppat_construct (mkloc loc) (Lident "()") None False) - in -- let f = ghexp (ocaml_pexp_function "" None [(void_pat, e)]) in -+ let pwe = ocaml_case (void_pat, None, mkloc loc, e) in -+ let f = ghexp (ocaml_pexp_function "" None [pwe]) in - let delayed = Ldot (Lident "Lazy") "Delayed" in - let cloc = mkloc loc in - let df = ghexp (ocaml_pexp_construct cloc delayed (Some f) False) in -@@ -104,7 +107,7 @@ - loop 0 0 where rec loop i j = - if i = String.length s then String.sub s 0 j - else if s.[i] = '_' then loop (i + 1) j -- else do { s.[j] := s.[i]; loop (i + 1) (j + 1) } -+ else do { string_set s j s.[i]; loop (i + 1) (j + 1) } - | None → s ] - ; - -@@ -240,7 +243,7 @@ - [ TyAcc loc _ _ as f → - let (is_cls, li) = ctyp_long_id f in - if is_cls then mktyp loc (ocaml_ptyp_class li [] []) -- else mktyp loc (ocaml_ptyp_constr li []) -+ else mktyp loc (ocaml_ptyp_constr (mkloc loc) li []) - | TyAli loc t1 t2 → - let (t, i) = - match (t1, t2) with -@@ -254,7 +257,7 @@ - let (f, al) = ctyp_fa [] f in - let (is_cls, li) = ctyp_long_id f in - if is_cls then mktyp loc (ocaml_ptyp_class li (List.map ctyp al) []) -- else mktyp loc (ocaml_ptyp_constr li (List.map ctyp al)) -+ else mktyp loc (ocaml_ptyp_constr (mkloc loc) li (List.map ctyp al)) - | TyArr loc (TyLab loc1 lab t1) t2 → - mktyp loc (ocaml_ptyp_arrow (uv lab) (ctyp t1) (ctyp t2)) - | TyArr loc (TyOlb loc1 lab t1) t2 → -@@ -264,11 +267,11 @@ - in - mktyp loc (ocaml_ptyp_arrow ("?" ^ uv lab) (ctyp t1) (ctyp t2)) - | TyArr loc t1 t2 → mktyp loc (ocaml_ptyp_arrow "" (ctyp t1) (ctyp t2)) -- | TyObj loc fl v → mktyp loc (Ptyp_object (meth_list loc (uv fl) v)) -+ | TyObj loc fl v → mktyp loc (ocaml_ptyp_object (meth_list loc (uv fl) v)) - | TyCls loc id → - mktyp loc (ocaml_ptyp_class (long_id_of_string_list loc (uv id)) [] []) - | TyLab loc _ _ → error loc "labeled type not allowed here" -- | TyLid loc s → mktyp loc (ocaml_ptyp_constr (Lident (uv s)) []) -+ | TyLid loc s → mktyp loc (ocaml_ptyp_constr (mkloc loc) (Lident (uv s)) []) - | TyMan loc _ _ _ → error loc "type manifest not allowed here" - | TyOlb loc lab _ → error loc "labeled type not allowed here" - | TyPck loc mt → -@@ -286,7 +289,7 @@ - | TyRec loc _ → error loc "record type not allowed here" - | TySum loc _ → error loc "sum type not allowed here" - | TyTup loc tl → mktyp loc (Ptyp_tuple (List.map ctyp (uv tl))) -- | TyUid loc s → mktyp loc (ocaml_ptyp_constr (Lident (uv s)) []) -+ | TyUid loc s → mktyp loc (ocaml_ptyp_constr (mkloc loc) (Lident (uv s)) []) - | TyVrn loc catl ool → - let catl = - List.map -@@ -309,9 +312,9 @@ - | TyXtr loc _ _ → error loc "bad ast TyXtr" ] - and meth_list loc fl v = - match fl with -- [ [] → if uv v then [mkfield loc Pfield_var] else [] -+ [ [] → if uv v then mkfield_var loc else [] - | [(lab, t) :: fl] → -- [mkfield loc (Pfield lab (add_polytype t)) :: meth_list loc fl v] ] -+ mkfield loc (lab, add_polytype t) (meth_list loc fl v) ] - and add_polytype t = - match ocaml_ptyp_poly with - [ Some ptyp_poly → -@@ -363,11 +366,11 @@ - | None → (False, False) ] - ; - --value mktype loc tl cl tk pf tm = -+value mktype loc tn tl cl tk pf tm = - let (params, var_list) = List.split tl in - let variance = List.map variance_of_var var_list in - let params = List.map uv params in -- match ocaml_type_declaration params cl tk pf tm (mkloc loc) variance with -+ match ocaml_type_declaration tn params cl tk pf tm (mkloc loc) variance with - [ Right td → td - | Left msg → error loc msg ] - ; -@@ -407,18 +410,18 @@ - | None → error loc "no generalized data types in this ocaml version" ] - ; - --value type_decl tl priv cl = -+value type_decl tn tl priv cl = - fun - [ TyMan loc t pf <:ctyp< { $list:ltl$ } >> → - let priv = if uv pf then Private else Public in -- mktype loc tl cl (mktrecord ltl (uv pf)) priv (Some (ctyp t)) -+ mktype loc tn tl cl (mktrecord ltl (uv pf)) priv (Some (ctyp t)) - | TyMan loc t pf <:ctyp< [ $list:ctl$ ] >> → - let priv = if uv pf then Private else Public in -- mktype loc tl cl (mktvariant loc ctl (uv pf)) priv (Some (ctyp t)) -+ mktype loc tn tl cl (mktvariant loc ctl (uv pf)) priv (Some (ctyp t)) - | TyRec loc ltl → -- mktype loc tl cl (mktrecord (uv ltl) False) priv None -+ mktype loc tn tl cl (mktrecord (uv ltl) False) priv None - | TySum loc ctl → -- mktype loc tl cl (mktvariant loc (uv ctl) False) priv None -+ mktype loc tn tl cl (mktvariant loc (uv ctl) False) priv None - | t → - let m = - match t with -@@ -427,10 +430,10 @@ - else None - | _ → Some (ctyp t) ] - in -- mktype (loc_of_ctyp t) tl cl Ptype_abstract priv m ] -+ mktype (loc_of_ctyp t) tn tl cl Ptype_abstract priv m ] - ; - --value mkvalue_desc t p = ocaml_value_description (ctyp t) p; -+value mkvalue_desc vn t p = ocaml_value_description vn (ctyp t) p; - - value option f = - fun -@@ -456,14 +459,14 @@ - | t → error (loc_of_module_expr t) "bad module expr long ident" ] - ; - --value type_decl_of_with_type loc tpl pf ct = -+value type_decl_of_with_type loc tn tpl pf ct = - let (params, var_list) = List.split (uv tpl) in - let variance = List.map variance_of_var var_list in - let params = List.map uv params in - let ct = Some (ctyp ct) in - let tk = if pf then ocaml_ptype_abstract else Ptype_abstract in - let pf = if pf then Private else Public in -- ocaml_type_declaration params [] tk pf ct (mkloc loc) variance -+ ocaml_type_declaration tn params [] tk pf ct (mkloc loc) variance - ; - - value mkwithc = -@@ -478,13 +481,14 @@ - pwith_modsubst (mkloc loc) (module_expr_long_id m)) - | None → error loc "no with module := in this ocaml version" ] - | WcTyp loc id tpl pf ct → -- match type_decl_of_with_type loc tpl (uv pf) ct with -- [ Right td → (long_id_of_string_list loc (uv id), Pwith_type td) -+ let li = long_id_of_string_list loc (uv id) in -+ match type_decl_of_with_type loc "" tpl (uv pf) ct with -+ [ Right td -> (li, ocaml_pwith_type (mkloc loc) (li, td)) - | Left msg → error loc msg ] - | WcTys loc id tpl t → - match ocaml_pwith_typesubst with - [ Some pwith_typesubst → -- match type_decl_of_with_type loc tpl False t with -+ match type_decl_of_with_type loc "" tpl False t with - [ Right td → - let li = long_id_of_string_list loc (uv id) in - (li, pwith_typesubst td) -@@ -533,8 +537,8 @@ - [ (<:patt:< $uid:i$ >>, il) → - match p2 with - [ <:patt< $uid:s$ >> → -- ocaml_ppat_construct (mkli (conv_con s) [i :: il]) -- (mkloc loc) None (not Prtools.no_constructors_arity.val) -+ ocaml_ppat_construct (mkloc loc) (mkli (conv_con s) [i :: il]) -+ None (not Prtools.no_constructors_arity.val) - | _ → error (loc_of_patt p2) "bad access pattern" ] - | _ → error (loc_of_patt p2) "bad pattern" ] - in -@@ -558,13 +562,11 @@ - if Prtools.no_constructors_arity.val then - let a = - match al with -- [ [a] → a -- | _ → mkpat loc (Ppat_tuple al) ] -+ [ [a] -> a -+ | _ -> mkpat loc (Ppat_tuple al) ] - in -- mkpat loc (ocaml_ppat_construct li li_loc (Some a) False) -- else -- let a = mkpat loc (Ppat_tuple al) in -- mkpat loc (ocaml_ppat_construct li li_loc (Some a) True) -+ mkpat loc (ocaml_ppat_construct li_loc li (Some a) False) -+ else mkpat_ocaml_ppat_construct_arity (mkloc loc) li_loc li al - | Some _ | None → - match ocaml_ppat_variant with - [ Some (ppat_variant_pat, ppat_variant) → -@@ -620,7 +622,8 @@ - mkpat loc (ocaml_ppat_record (List.map mklabpat lpl) is_closed) - | PaStr loc s → - mkpat loc -- (Ppat_constant (Const_string (string_of_string_token loc (uv s)))) -+ (Ppat_constant -+ (ocaml_const_string (string_of_string_token loc (uv s)))) - | PaTup loc pl → mkpat loc (Ppat_tuple (List.map patt (uv pl))) - | PaTyc loc p t → mkpat loc (Ppat_constraint (patt p) (ctyp t)) - | PaTyp loc sl → -@@ -632,7 +635,7 @@ - | PaUid loc s → - let ca = not Prtools.no_constructors_arity.val in - mkpat loc -- (ocaml_ppat_construct (Lident (conv_con (uv s))) (mkloc loc) None ca) -+ (ocaml_ppat_construct (mkloc loc) (Lident (conv_con (uv s))) None ca) - | PaUnp loc s mto → - match ocaml_ppat_unpack with - [ Some (ppat_unpack, ptyp_package) → -@@ -788,20 +791,20 @@ - | _ → f ] - in - let al = List.rev (List.fold_left label_expr [] al) in -- match (expr f).pexp_desc with -- [ Pexp_construct li None _ → -+ match ocaml_pexp_construct_args (expr f).pexp_desc with -+ [ Some (li, li_loc, None, _) → - let al = List.map snd al in - if Prtools.no_constructors_arity.val then - let a = - match al with -- [ [a] → a -- | _ → mkexp loc (Pexp_tuple al) ] -+ [ [a] -> a -+ | _ -> mkexp loc (Pexp_tuple al) ] - in -- mkexp loc (Pexp_construct li (Some a) False) -+ mkexp loc (ocaml_pexp_construct li_loc li (Some a) False) - else -- let a = mkexp loc (Pexp_tuple al) in -- mkexp loc (Pexp_construct li (Some a) True) -- | e → -+ mkexp_ocaml_pexp_construct_arity (mkloc loc) li_loc li al -+ | Some _ | None → -+ let e = (expr f).pexp_desc in - match ocaml_pexp_variant with - [ Some (pexp_variant_pat, pexp_variant) → - match pexp_variant_pat e with -@@ -861,7 +864,8 @@ - | ExChr loc s → - mkexp loc (Pexp_constant (Const_char (char_of_char_token loc (uv s)))) - | ExCoe loc e t1 t2 → -- mkexp loc (Pexp_constraint (expr e) (option ctyp t1) (Some (ctyp t2))) -+ mkexp loc -+ (ocaml_pexp_constraint (expr e) (option ctyp t1) (Some (ctyp t2))) - | ExFlo loc s → mkexp loc (Pexp_constant (Const_float (uv s))) - | ExFor loc i e1 e2 df el → - let e3 = <:expr< do { $list:uv el$ } >> in -@@ -870,16 +874,16 @@ - | ExFun loc pel → - match uv pel with - [ [(PaLab ploc lppo, w, e)] → -- List.fold_right -- (fun (p, po) e → -- let lab = label_of_patt p in -- let p = -- match uv po with -- [ Some p → p -- | None → p ] -- in -- mkexp loc (ocaml_pexp_function lab None [(patt p, e)])) -- (uv lppo) (when_expr e (uv w)) -+ match uv lppo with -+ [ [(p, po)] → -+ let lab = label_of_patt p in -+ let p = -+ match uv po with -+ [ Some p → p -+ | None → p ] -+ in -+ mkexp loc (ocaml_pexp_function lab None [mkpwe (p, w, e)]) -+ | _ → error loc "bad AST" ] - | [(PaNty loc s, w, e)] → - match ocaml_pexp_newtype with - [ Some newtype → -@@ -896,7 +900,7 @@ - in - mkexp loc - (ocaml_pexp_function ("?" ^ lab) (option expr (uv eo)) -- [(patt p, when_expr e (uv w))]) -+ [mkpwe (p, w, e)]) - | pel → - let pel = - if split_or_patterns_with_bindings then -@@ -972,7 +976,7 @@ - match mto with - [ Some mt → - let pt = package_of_module_type loc mt in -- Pexp_constraint (mkexp loc e) -+ ocaml_pexp_constraint (mkexp loc e) - (Some (mktyp loc (ptyp_package pt))) None - | None → e ] - in -@@ -1036,10 +1040,12 @@ - [("", expr e1); ("", expr e2)]) - | ExStr loc s → - mkexp loc -- (Pexp_constant (Const_string (string_of_string_token loc (uv s)))) -+ (Pexp_constant -+ (ocaml_const_string (string_of_string_token loc (uv s)))) - | ExTry loc e pel → mkexp loc (Pexp_try (expr e) (List.map mkpwe (uv pel))) - | ExTup loc el → mkexp loc (Pexp_tuple (List.map expr (uv el))) -- | ExTyc loc e t → mkexp loc (Pexp_constraint (expr e) (Some (ctyp t)) None) -+ | ExTyc loc e t → -+ mkexp loc (ocaml_pexp_constraint (expr e) (Some (ctyp t)) None) - | ExUid loc s → - let ca = not Prtools.no_constructors_arity.val in - let cloc = mkloc loc in -@@ -1091,7 +1097,7 @@ - [ Some p → patt p - | None → - mkpat loc -- (ocaml_ppat_construct (Lident "()") (mkloc loc) None -+ (ocaml_ppat_construct (mkloc loc) (Lident "()") None - False) ] - in - (mkloc locp, (mkloc loc, uv s), p)) -@@ -1102,6 +1108,7 @@ - in - (mkloc jc.jcLoc, jcval) - and mkpe (p, e) = -+ let loc = Ploc.encl (loc_of_patt p) (loc_of_expr e) in - let (p, e) = - match e with - [ ExTyc loc e (TyPol _ _ _ as t) → (PaTyc loc p t, e) -@@ -1113,7 +1120,7 @@ - [ PaTyc loc p (TyPot loc1 nt ct) → expand_gadt_type loc p loc1 nt ct e - | p → (p, e) ] - in -- (patt p, expr e) -+ ocaml_value_binding (mkloc loc) (patt p) (expr e) - and expand_gadt_type loc p loc1 nt ct e = - let nt = uv nt in - let e = <:expr< ($e$ : $ct$) >> in -@@ -1125,11 +1132,8 @@ - let tp = List.map (fun s → "&" ^ s) nt in - let ct = <:ctyp< ! $list:tp$ . $ct$ >> in - (<:patt< ($p$ : $ct$) >>, e) --and mkpwe (p, w, e) = (patt p, when_expr e (uv w)) --and when_expr e = -- fun -- [ Some w → mkexp (loc_of_expr e) (Pexp_when (expr w) (expr e)) -- | None → expr e ] -+and mkpwe (p, w, e) = -+ ocaml_case (patt p, option expr (uv w), mkloc (loc_of_expr e), expr e) - and mklabexp (lab, e) = - (patt_label_long_id lab, mkloc (loc_of_patt lab), expr e) - and mkideexp (ide, e) = (ide, expr e) -@@ -1142,7 +1146,8 @@ - (ctyp t1, ctyp t2, mkloc loc)) - (uv td.tdCon) - in -- (uv (snd (uv td.tdNam)), type_decl (uv td.tdPrm) priv cl td.tdDef) -+ let tn = uv (snd (uv td.tdNam)) in -+ (tn, type_decl tn (uv td.tdPrm) priv cl td.tdDef) - and module_type = - fun - [ MtAcc loc _ _ as f → -@@ -1179,15 +1184,20 @@ - | SgDcl loc sl → List.fold_right sig_item (uv sl) l - | SgDir loc _ _ → l - | SgExc loc n tl → -- [mksig loc (ocaml_psig_exception (uv n) (List.map ctyp (uv tl))) :: l] -+ [mksig loc -+ (ocaml_psig_exception (mkloc loc) (uv n) (List.map ctyp (uv tl))) :: -+ l] - | SgExt loc n t p → -- [mksig loc (ocaml_psig_value (uv n) (mkvalue_desc t (uv p))) :: l] -- | SgInc loc mt → [mksig loc (Psig_include (module_type mt)) :: l] -+ let vn = uv n in -+ [mksig loc (ocaml_psig_value vn (mkvalue_desc vn t (uv p))) :: l] -+ | SgInc loc mt → -+ [mksig loc (ocaml_psig_include (mkloc loc) (module_type mt)) :: l] - | SgMod loc rf ntl → - if not (uv rf) then - List.fold_right - (fun (n, mt) l → -- [mksig loc (ocaml_psig_module (uv n) (module_type mt)) :: l]) -+ [mksig loc -+ (ocaml_psig_module (mkloc loc) (uv n) (module_type mt)) :: l]) - (uv ntl) l - else - match ocaml_psig_recmodule with -@@ -1198,21 +1208,25 @@ - [mksig loc (psig_recmodule ntl) :: l] - | None → error loc "no recursive module in this ocaml version" ] - | SgMty loc n mt → -- let si = -+ let mto = - match mt with -- [ MtQuo _ _ → Pmodtype_abstract -- | _ → Pmodtype_manifest (module_type mt) ] -+ | MtQuo _ _ -> None -+ | _ -> Some (module_type mt) -+ end - in -- [mksig loc (ocaml_psig_modtype (uv n) si) :: l] -+ [mksig loc (ocaml_psig_modtype (mkloc loc) (uv n) mto) :: l] - | SgOpn loc id → -- [mksig loc (ocaml_psig_open (long_id_of_string_list loc (uv id))) :: l] -+ [mksig loc -+ (ocaml_psig_open (mkloc loc) (long_id_of_string_list loc (uv id))) :: -+ l] - | SgTyp loc tdl → - [mksig loc (ocaml_psig_type (List.map mktype_decl (uv tdl))) :: l] - | SgUse loc fn sl → - Ploc.call_with glob_fname (uv fn) - (fun () → List.fold_right (fun (si, _) → sig_item si) (uv sl) l) () - | SgVal loc n t → -- [mksig loc (ocaml_psig_value (uv n) (mkvalue_desc t [])) :: l] -+ let vn = uv n in -+ [mksig loc (ocaml_psig_value vn (mkvalue_desc vn t [])) :: l] - | SgXtr loc _ _ → error loc "bad ast SgXtr" ] - and module_expr = - fun -@@ -1240,7 +1254,7 @@ - [ Some mt → - let pt = package_of_module_type loc mt in - let t = mktyp loc (ptyp_package pt) in -- mkexp loc (Pexp_constraint (expr e) (Some t) None) -+ mkexp loc (ocaml_pexp_constraint (expr e) (Some t) None) - | None → - expr e ] - in -@@ -1269,28 +1283,33 @@ - | StExc loc n tl sl → - let si = - match (uv tl, uv sl) with -- [ (tl, []) → ocaml_pstr_exception (uv n) (List.map ctyp tl) -+ [ (tl, []) → -+ ocaml_pstr_exception (mkloc loc) (uv n) (List.map ctyp tl) - | ([], sl) → - match ocaml_pstr_exn_rebind with - [ Some pstr_exn_rebind → -- pstr_exn_rebind (uv n) (long_id_of_string_list loc sl) -+ pstr_exn_rebind (mkloc loc) (uv n) -+ (long_id_of_string_list loc sl) - | None → - error loc "no exception renaming in this ocaml version" ] - | _ → error loc "renamed exception should not have parameters" ] - in - [mkstr loc si :: l] -- | StExp loc e → [mkstr loc (Pstr_eval (expr e)) :: l] -+ | StExp loc e → [mkstr loc (ocaml_pstr_eval (expr e)) :: l] - | StExt loc n t p → -- [mkstr loc (ocaml_pstr_primitive (uv n) (mkvalue_desc t (uv p))) :: l] -+ let vn = uv n in -+ [mkstr loc (ocaml_pstr_primitive vn (mkvalue_desc vn t (uv p))) :: l] - | StInc loc me → - match ocaml_pstr_include with -- [ Some pstr_include → [mkstr loc (pstr_include (module_expr me)) :: l] -+ [ Some pstr_include → -+ [mkstr loc (pstr_include (mkloc loc) (module_expr me)) :: l] - | None → error loc "no include in this ocaml version" ] - | StMod loc rf nel → - if not (uv rf) then - List.fold_right - (fun (n, me) l → -- [mkstr loc (ocaml_pstr_module (uv n) (module_expr me)) :: l]) -+ let m = ocaml_pstr_module (mkloc loc) (uv n) (module_expr me) in -+ [mkstr loc m :: l]) - (uv nel) l - else - match ocaml_pstr_recmodule with -@@ -1311,9 +1330,12 @@ - [mkstr loc (pstr_recmodule nel) :: l] - | None → error loc "no recursive module in this ocaml version" ] - | StMty loc n mt → -- [mkstr loc (ocaml_pstr_modtype (uv n) (module_type mt)) :: l] -+ let m = ocaml_pstr_modtype (mkloc loc) (uv n) (module_type mt) in -+ [mkstr loc m :: l] - | StOpn loc id → -- [mkstr loc (ocaml_pstr_open (long_id_of_string_list loc (uv id))) :: l] -+ [mkstr loc -+ (ocaml_pstr_open (mkloc loc) (long_id_of_string_list loc (uv id))) :: -+ l] - | StTyp loc tdl → - [mkstr loc (ocaml_pstr_type (List.map mktype_decl (uv tdl))) :: l] - | StUse loc fn sl → -@@ -1375,7 +1397,8 @@ - | None → error loc "no class constraint in this ocaml version" ] - | CgDcl loc cl → List.fold_right class_sig_item (uv cl) l - | CgInh loc ct → -- [ocaml_class_type_field (mkloc loc) (Pctf_inher (class_type ct)) :: l] -+ [ocaml_class_type_field (mkloc loc) -+ (ocaml_pctf_inher (class_type ct)) :: l] - | CgMth loc pf s t → - [ocaml_class_type_field (mkloc loc) - (ocaml_pctf_meth -@@ -1521,18 +1544,17 @@ - - value directive loc = - fun -- [ None → Pdir_none -- | Some <:expr< $str:s$ >> → Pdir_string s -- | Some <:expr< $int:i$ >> → Pdir_int (int_of_string_l loc i) -- | Some <:expr< True >> → -+ [ <:expr< $str:s$ >> → Pdir_string s -+ | <:expr< $int:i$ >> → Pdir_int (int_of_string_l loc i) -+ | <:expr< True >> → - match ocaml_pdir_bool with - [ Some pdir_bool → pdir_bool True - | None → error loc "no such kind of directive in this ocaml version" ] -- | Some <:expr< False >> → -+ | <:expr< False >> → - match ocaml_pdir_bool with - [ Some pdir_bool → pdir_bool False - | None → error loc "no such kind of directive in this ocaml version" ] -- | Some e → -+ | e → - let sl = - loop e where rec loop = - fun -@@ -1545,9 +1567,16 @@ - Pdir_ident (long_id_of_string_list loc sl) ] - ; - -+value directive_args loc d = -+ match d with -+ | Some d -> directive loc d -+ | None -> Pdir_none -+ end -+; -+ - value phrase = - fun -- [ StDir loc d dp → Ptop_dir (uv d) (directive loc (uv dp)) -+ [ StDir loc d dp → Ptop_dir (uv d) (directive_args loc (uv dp)) - | si → do { - glob_fname.val := Plexing.input_file.val; - Ptop_def (str_item si []) -diff -urN camlp5-6.11/main/ast2pt.mli camlp5-6.12-63a8c30f/main/ast2pt.mli ---- camlp5-6.11/main/ast2pt.mli 2010-09-15 17:00:24.000000000 +0100 -+++ camlp5-6.12-63a8c30f/main/ast2pt.mli 2014-08-01 10:14:54.300065429 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: ast2pt.mli,v 6.1 2010-09-15 16:00:24 deraugla Exp $ *) -+(* ast2pt.mli,v *) - - (** Conversion between Camlp5 AST into OCaml AST *) - -diff -urN camlp5-6.11/main/.cvsignore camlp5-6.12-63a8c30f/main/.cvsignore ---- camlp5-6.11/main/.cvsignore 2010-09-15 17:00:24.000000000 +0100 -+++ camlp5-6.12-63a8c30f/main/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1,6 +0,0 @@ --*.a --*.cm[oiax] --*.cmxa --*.lib --crc.tmp --camlp5 -diff -urN camlp5-6.11/main/exparser.ml camlp5-6.12-63a8c30f/main/exparser.ml ---- camlp5-6.11/main/exparser.ml 2013-03-15 16:17:17.000000000 +0000 -+++ camlp5-6.12-63a8c30f/main/exparser.ml 2014-08-01 10:14:54.300065429 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: exparser.ml,v 6.7 2013-03-15 16:17:17 deraugla Exp $ *) -+(* exparser.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "q_MLast.cmo"; -diff -urN camlp5-6.11/main/exparser.mli camlp5-6.12-63a8c30f/main/exparser.mli ---- camlp5-6.11/main/exparser.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/main/exparser.mli 2014-08-01 10:14:54.300065429 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: exparser.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* exparser.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* expand parser ast into normal one *) -diff -urN camlp5-6.11/main/.gitignore camlp5-6.12-63a8c30f/main/.gitignore ---- camlp5-6.11/main/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/main/.gitignore 2014-08-01 10:14:54.299065428 +0100 -@@ -0,0 +1,6 @@ -+*.a -+*.cm[oiax] -+*.cmxa -+*.lib -+crc.tmp -+camlp5 -diff -urN camlp5-6.11/main/main.ml camlp5-6.12-63a8c30f/main/main.ml ---- camlp5-6.11/main/main.ml 2013-03-13 06:48:13.000000000 +0000 -+++ camlp5-6.12-63a8c30f/main/main.ml 2014-08-01 10:14:54.300065429 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: main.ml,v 6.11 2013-03-13 06:48:13 deraugla Exp $ *) -+(* main.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "q_MLast.cmo"; -diff -urN camlp5-6.11/main/Makefile camlp5-6.12-63a8c30f/main/Makefile ---- camlp5-6.11/main/Makefile 2012-03-06 11:00:53.000000000 +0000 -+++ camlp5-6.12-63a8c30f/main/Makefile 2014-08-01 10:14:54.299065428 +0100 -@@ -1,4 +1,4 @@ --# $Id: Makefile,v 6.8 2012-03-06 11:00:53 deraugla Exp $ -+# Makefile,v - - TOP=.. - include $(TOP)/config/Makefile -diff -urN camlp5-6.11/main/mkreloc.sh camlp5-6.12-63a8c30f/main/mkreloc.sh ---- camlp5-6.11/main/mkreloc.sh 2012-03-06 11:00:53.000000000 +0000 -+++ camlp5-6.12-63a8c30f/main/mkreloc.sh 2014-08-01 10:14:54.300065429 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: mkreloc.sh,v 6.4 2012-03-06 11:00:53 deraugla Exp $ -+# mkreloc.sh,v - - IFILE=pa_r.ml - OFILE=reloc.ml -diff -urN camlp5-6.11/main/mLast.mli camlp5-6.12-63a8c30f/main/mLast.mli ---- camlp5-6.11/main/mLast.mli 2013-07-02 17:31:25.000000000 +0100 -+++ camlp5-6.12-63a8c30f/main/mLast.mli 2014-08-01 10:14:54.300065429 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: mLast.mli,v 6.26 2013-07-02 16:31:25 deraugla Exp $ *) -+(* mLast.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_macro.cmo"; -diff -urN camlp5-6.11/main/parserify.ml camlp5-6.12-63a8c30f/main/parserify.ml ---- camlp5-6.11/main/parserify.ml 2013-03-14 21:34:32.000000000 +0000 -+++ camlp5-6.12-63a8c30f/main/parserify.ml 2014-08-01 10:14:54.300065429 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: parserify.ml,v 6.5 2013-03-14 21:34:32 deraugla Exp $ *) -+(* parserify.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "q_MLast.cmo"; -diff -urN camlp5-6.11/main/parserify.mli camlp5-6.12-63a8c30f/main/parserify.mli ---- camlp5-6.11/main/parserify.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/main/parserify.mli 2014-08-01 10:14:54.300065429 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: parserify.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* parserify.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type spat_comp = -diff -urN camlp5-6.11/main/pcaml.ml camlp5-6.12-63a8c30f/main/pcaml.ml ---- camlp5-6.11/main/pcaml.ml 2013-08-15 23:08:21.000000000 +0100 -+++ camlp5-6.12-63a8c30f/main/pcaml.ml 2014-08-01 10:14:54.300065429 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pcaml.ml,v 6.45 2013-08-15 22:08:21 deraugla Exp $ *) -+(* pcaml.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_macro.cmo"; -@@ -7,7 +7,7 @@ - - open Printf; - --value version = "6.11"; -+value version = "6.12-exp"; - value syntax_name = ref ""; - - value gram = -diff -urN camlp5-6.11/main/pcaml.mli camlp5-6.12-63a8c30f/main/pcaml.mli ---- camlp5-6.11/main/pcaml.mli 2013-04-19 09:43:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/main/pcaml.mli 2014-08-01 10:14:54.301065429 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pcaml.mli,v 6.7 2013-04-19 08:43:39 deraugla Exp $ *) -+(* pcaml.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_macro.cmo"; -diff -urN camlp5-6.11/main/prtools.ml camlp5-6.12-63a8c30f/main/prtools.ml ---- camlp5-6.11/main/prtools.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/main/prtools.ml 2014-08-01 10:14:54.301065429 +0100 -@@ -1,11 +1,12 @@ - (* camlp5r *) --(* $Id: prtools.ml,v 6.10 2012-01-09 14:22:21 deraugla Exp $ *) -+(* prtools.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "q_MLast.cmo"; - #load "pa_macro.cmo"; - - open Pretty; -+open Versdep; - - type pr_context = - Pprintf.pr_context == -@@ -352,12 +353,12 @@ - - module Buff = - struct -- value buff = ref (String.create 80); -+ value buff = ref (string_create 80); - value store len x = do { - if len >= String.length buff.val then -- buff.val := buff.val ^ String.create (String.length buff.val) -+ buff.val := buff.val ^ string_create (String.length buff.val) - else (); -- buff.val.[len] := x; -+ string_set buff.val len x; - succ len - }; - value mstore len s = -diff -urN camlp5-6.11/main/prtools.mli camlp5-6.12-63a8c30f/main/prtools.mli ---- camlp5-6.11/main/prtools.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/main/prtools.mli 2014-08-01 10:14:54.301065429 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: prtools.mli,v 6.5 2012-01-09 14:22:21 deraugla Exp $ *) -+(* prtools.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type pr_context = -diff -urN camlp5-6.11/main/quotation.ml camlp5-6.12-63a8c30f/main/quotation.ml ---- camlp5-6.11/main/quotation.ml 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/main/quotation.ml 2014-08-01 10:14:54.301065429 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: quotation.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* quotation.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type expander = -diff -urN camlp5-6.11/main/quotation.mli camlp5-6.12-63a8c30f/main/quotation.mli ---- camlp5-6.11/main/quotation.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/main/quotation.mli 2014-08-01 10:14:54.301065429 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: quotation.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* quotation.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Quotation operations. *) -diff -urN camlp5-6.11/main/reloc.ml camlp5-6.12-63a8c30f/main/reloc.ml ---- camlp5-6.11/main/reloc.ml 2012-03-09 14:01:54.000000000 +0000 -+++ camlp5-6.12-63a8c30f/main/reloc.ml 2014-08-01 10:14:54.301065429 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: reloc.ml,v 6.26 2012-03-09 14:01:54 deraugla Exp $ *) -+(* reloc.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_macro.cmo"; -diff -urN camlp5-6.11/main/reloc.mli camlp5-6.12-63a8c30f/main/reloc.mli ---- camlp5-6.11/main/reloc.mli 2012-01-09 14:22:21.000000000 +0000 -+++ camlp5-6.12-63a8c30f/main/reloc.mli 2014-08-01 10:14:54.301065429 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: reloc.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) -+(* reloc.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - value expr : (MLast.loc -> MLast.loc) -> int -> MLast.expr -> MLast.expr; -diff -urN camlp5-6.11/Makefile camlp5-6.12-63a8c30f/Makefile ---- camlp5-6.11/Makefile 2013-03-06 10:08:18.000000000 +0000 -+++ camlp5-6.12-63a8c30f/Makefile 2014-08-01 10:14:54.283065418 +0100 -@@ -1,4 +1,4 @@ --# $Id: Makefile,v 6.29 2013-03-06 10:08:18 deraugla Exp $ -+# Makefile,v - - include config/Makefile - -@@ -86,13 +86,13 @@ - - backup: - mkdir boot.new -- $(MAKE) mv_cvs FROM=boot TO=boot.new -+ $(MAKE) mv_git FROM=boot TO=boot.new - mv boot boot.new/SAVED - mv boot.new boot - - restore: - mv boot/SAVED boot.new -- $(MAKE) mv_cvs FROM=boot TO=boot.new -+ $(MAKE) mv_git FROM=boot TO=boot.new - rm -rf boot - mv boot.new boot - -@@ -181,8 +181,6 @@ - - # Bootstrap the sources - --TXTGEN=File generated by program: edit only if it does not compile. -- - bootstrap_sources: - rm -rf ocaml_src.new - mkdir ocaml_src.new -@@ -196,8 +194,7 @@ - rmdir ocaml_src.new/$$DIR - rmdir ocaml_src.new - --new_sources: -- cd etc; $(MAKE) $(PR_O) -+new_sources: oprinter - @-for i in $(FDIRS); do \ - mkdir ocaml_src.new/$$i; \ - $(MAKE) $(NO_PR_DIR) new_source DIR=$$i FILE=Makefile; \ -@@ -231,17 +228,14 @@ - echo ============================================; \ - echo ocaml_src.new/$$DIR/$$k; \ - if [ "$$k" = "Makefile" ]; then \ -- sed 's/# $$Id.*\$$/# $(TXTGEN)/' Makefile | \ -- sed 's-^TOP=..$$-TOP=../..-'; \ -+ sed 's-^TOP=..$$-TOP=../..-' Makefile; \ - else \ - OCAMLN=$(OCAMLN) CAMLP5N=$(CAMLP5N) VERSDIR=$$VERSDIR \ -- ../tools/conv.sh $(PR_O) $$opt $$FILE | \ -- sed 's/$$Id.*\$$/$(TXTGEN)/'; \ -+ ../tools/conv.sh $(PR_O) $$opt $$FILE; \ - fi > \ - ../ocaml_src.new/$$DIR/$$k - --compare_sources: -- cd etc; $(MAKE) $(PR_O) -+compare_sources: oprinter - @-for i in $(FDIRS); do \ - $(MAKE) $(NO_PR_DIR) compare_source DIR=$$i FILE=Makefile; \ - echo ============================================; \ -@@ -268,17 +262,14 @@ - echo ============================================; \ - echo ocaml_src/$$DIR/$$k; \ - if [ "$$k" = "Makefile" ]; then \ -- sed 's/# $$Id.*\$$/# $(TXTGEN)/' Makefile | \ -- sed 's-^TOP=..$$-TOP=../..-'; \ -+ sed 's-^TOP=..$$-TOP=../..-' Makefile; \ - else \ - OCAMLN=$(OCAMLN) CAMLP5N=$(CAMLP5N) VERSDIR=$$VERSDIR \ -- ../tools/conv.sh $(PR_O) $$opt $$FILE | \ -- sed 's/$$Id.*\$$/$(TXTGEN)/'; \ -+ ../tools/conv.sh $(PR_O) $$opt $$FILE; \ - fi | \ - diff $(DIFF_OPT) ../ocaml_src/$$DIR/$$k - || : - --bootstrap_all_versdep: -- cd etc; $(MAKE) $(PR_O) -+bootstrap_all_versdep: oprinter - @-for i in ocaml_src/lib/versdep/*.ml; do \ - $(MAKE) $(NO_PR_DIR) bootstrap_versdep i=$$i n=ocaml; \ - done; \ -@@ -298,11 +289,9 @@ - n=$$(echo $$n | tr a-z A-Z); \ - opt="-U$$k -U$$m -D$$j -D$$n"; \ - OCAMLN=$(OCAMLN) CAMLP5N=$(CAMLP5N) ../tools/conv.sh $(PR_O) $$opt \ -- versdep.ml | \ -- sed -e 's/\$$Id.*\$$/$(TXTGEN)/' > ../$$i - -+ versdep.ml > ../$$i - --compare_all_versdep: -- cd etc; $(MAKE) $(PR_O) -+compare_all_versdep: oprinter - @-for i in ocaml_src/lib/versdep/*.ml; do \ - $(MAKE) $(NO_PR_DIR) compare_versdep i=$$i n=ocaml; \ - done; \ -@@ -323,7 +312,10 @@ - opt="-U$$k -U$$m -D$$j -D$$n"; \ - OCAMLN=$(OCAMLN) CAMLP5N=$(CAMLP5N) \ - ../tools/conv.sh $(PR_O) $$opt versdep.ml | \ -- sed -e 's/\$$Id.*\$$/$(TXTGEN)/' | diff ../$$i - -+ diff $(DIFF_OPT) ../$$i - -+ -+oprinter: -+ cd etc; $(MAKE) $(PR_O) - - untouch_sources: - @-cd ocaml_src; \ -@@ -336,9 +328,9 @@ - done - - promote_sources: -- $(MAKE) mv_cvs FROM=ocaml_src TO=ocaml_src.new -+ $(MAKE) mv_git FROM=ocaml_src TO=ocaml_src.new - for i in $(FDIRS) lib/versdep lib/versdep/jocaml; do \ -- $(MAKE) mv_cvs FROM=ocaml_src/$$i TO=ocaml_src.new/$$i; \ -+ $(MAKE) mv_git FROM=ocaml_src/$$i TO=ocaml_src.new/$$i; \ - done - mv ocaml_src/tools ocaml_src.new/. - mv ocaml_src ocaml_src.new/SAVED -@@ -349,9 +341,9 @@ - mv ocaml_src.new/SAVED ocaml_src - mv ocaml_src.new/tools ocaml_src/. - for i in $(FDIRS) lib/versdep lib/versdep/jocaml; do \ -- $(MAKE) mv_cvs FROM=ocaml_src.new/$$i TO=ocaml_src/$$i; \ -+ $(MAKE) mv_git FROM=ocaml_src.new/$$i TO=ocaml_src/$$i; \ - done -- $(MAKE) mv_cvs FROM=ocaml_src.new TO=ocaml_src -+ $(MAKE) mv_git FROM=ocaml_src.new TO=ocaml_src - - clean_sources: - rm -rf ocaml_src/SAVED/SAVED -@@ -369,4 +361,7 @@ - test ! -d $(FROM)/.svn || mv $(FROM)/.svn $(TO)/. - test ! -f $(FROM)/.cvsignore || mv $(FROM)/.cvsignore $(TO)/. - -+mv_git: -+ test ! -f $(FROM)/.gitignore || mv $(FROM)/.gitignore $(TO)/. -+ - .PHONY: install -diff -urN camlp5-6.11/man/.cvsignore camlp5-6.12-63a8c30f/man/.cvsignore ---- camlp5-6.11/man/.cvsignore 2010-09-15 17:00:24.000000000 +0100 -+++ camlp5-6.12-63a8c30f/man/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1,2 +0,0 @@ --camlp5.1 --camlp5.help -diff -urN camlp5-6.11/man/.gitignore camlp5-6.12-63a8c30f/man/.gitignore ---- camlp5-6.11/man/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/man/.gitignore 2014-08-01 10:14:54.301065429 +0100 -@@ -0,0 +1,2 @@ -+camlp5.1 -+camlp5.help -diff -urN camlp5-6.11/man/Makefile camlp5-6.12-63a8c30f/man/Makefile ---- camlp5-6.11/man/Makefile 2012-03-02 19:14:36.000000000 +0000 -+++ camlp5-6.12-63a8c30f/man/Makefile 2014-08-01 10:14:54.301065429 +0100 -@@ -1,4 +1,4 @@ --# $Id: Makefile,v 6.3 2012-03-02 19:14:36 deraugla Exp $ -+# Makefile,v - - include ../config/Makefile - -diff -urN camlp5-6.11/meta/.cvsignore camlp5-6.12-63a8c30f/meta/.cvsignore ---- camlp5-6.11/meta/.cvsignore 2010-09-15 17:00:24.000000000 +0100 -+++ camlp5-6.12-63a8c30f/meta/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1,3 +0,0 @@ --*.cm[oiax] --camlp5r --camlp5r.opt -diff -urN camlp5-6.11/meta/.gitignore camlp5-6.12-63a8c30f/meta/.gitignore ---- camlp5-6.11/meta/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/meta/.gitignore 2014-08-01 10:14:54.302065430 +0100 -@@ -0,0 +1,3 @@ -+*.cm[oiax] -+camlp5r -+camlp5r.opt -diff -urN camlp5-6.11/meta/Makefile camlp5-6.12-63a8c30f/meta/Makefile ---- camlp5-6.11/meta/Makefile 2012-03-06 11:00:53.000000000 +0000 -+++ camlp5-6.12-63a8c30f/meta/Makefile 2014-08-01 10:14:54.302065430 +0100 -@@ -1,4 +1,4 @@ --# $Id: Makefile,v 6.3 2012-03-06 11:00:53 deraugla Exp $ -+# Makefile,v - - TOP=.. - include $(TOP)/config/Makefile -diff -urN camlp5-6.11/meta/mk_q_ast.sh camlp5-6.12-63a8c30f/meta/mk_q_ast.sh ---- camlp5-6.11/meta/mk_q_ast.sh 2012-03-06 11:00:53.000000000 +0000 -+++ camlp5-6.12-63a8c30f/meta/mk_q_ast.sh 2014-08-01 10:14:54.302065430 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: mk_q_ast.sh,v 6.4 2012-03-06 11:00:53 deraugla Exp $ -+# mk_q_ast.sh,v - - IFILE=pa_r.ml - OFILE=q_ast.ml -diff -urN camlp5-6.11/meta/mk_q_MLast.sh camlp5-6.12-63a8c30f/meta/mk_q_MLast.sh ---- camlp5-6.11/meta/mk_q_MLast.sh 2012-03-09 15:22:46.000000000 +0000 -+++ camlp5-6.12-63a8c30f/meta/mk_q_MLast.sh 2014-08-01 10:14:54.302065430 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: mk_q_MLast.sh,v 6.4 2012-03-09 15:22:46 deraugla Exp $ -+# mk_q_MLast.sh,v - - IFILE=pa_r.ml - OFILE=q_MLast.ml -diff -urN camlp5-6.11/meta/pa_extend.ml camlp5-6.12-63a8c30f/meta/pa_extend.ml ---- camlp5-6.11/meta/pa_extend.ml 2012-01-09 14:22:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/meta/pa_extend.ml 2014-08-01 10:14:54.302065430 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_extend.ml,v 6.7 2012-01-09 14:22:22 deraugla Exp $ *) -+(* pa_extend.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_macro.cmo"; -diff -urN camlp5-6.11/meta/pa_extend_m.ml camlp5-6.12-63a8c30f/meta/pa_extend_m.ml ---- camlp5-6.11/meta/pa_extend_m.ml 2012-01-09 14:22:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/meta/pa_extend_m.ml 2014-08-01 10:14:54.302065430 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_extend_m.ml,v 6.4 2012-01-09 14:22:22 deraugla Exp $ *) -+(* pa_extend_m.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_extend.cmo"; -diff -urN camlp5-6.11/meta/pa_fstream.ml camlp5-6.12-63a8c30f/meta/pa_fstream.ml ---- camlp5-6.11/meta/pa_fstream.ml 2010-09-15 17:00:25.000000000 +0100 -+++ camlp5-6.12-63a8c30f/meta/pa_fstream.ml 2014-08-01 10:14:54.302065430 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_fstream.ml,v 6.1 2010-09-15 16:00:25 deraugla Exp $ *) -+(* pa_fstream.ml,v *) - - #load "pa_extend.cmo"; - #load "q_MLast.cmo"; -diff -urN camlp5-6.11/meta/pa_lexer.ml camlp5-6.12-63a8c30f/meta/pa_lexer.ml ---- camlp5-6.11/meta/pa_lexer.ml 2012-01-09 14:22:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/meta/pa_lexer.ml 2014-08-01 10:14:54.302065430 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_lexer.ml,v 6.4 2012-01-09 14:22:22 deraugla Exp $ *) -+(* pa_lexer.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_extend.cmo"; -diff -urN camlp5-6.11/meta/pa_macro.ml camlp5-6.12-63a8c30f/meta/pa_macro.ml ---- camlp5-6.11/meta/pa_macro.ml 2013-03-13 06:48:13.000000000 +0000 -+++ camlp5-6.12-63a8c30f/meta/pa_macro.ml 2014-08-01 10:14:54.302065430 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_macro.ml,v 6.12 2013-03-13 06:48:13 deraugla Exp $ *) -+(* pa_macro.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_extend.cmo"; -@@ -103,6 +103,7 @@ - - open Pcaml; - open Printf; -+open Versdep; - - type macro_value = - [ MvExpr of list string and MLast.expr -@@ -129,7 +130,7 @@ - for i = 0 to String.length v - 1 do { - match v.[i] with - [ '0'..'9' | 'a'..'z' | 'A'..'Z' -> () -- | _ -> v.[i] := '_' ]; -+ | _ -> string_set v i '_' ]; - }; - v - }; -diff -urN camlp5-6.11/meta/pa_r.ml camlp5-6.12-63a8c30f/meta/pa_r.ml ---- camlp5-6.11/meta/pa_r.ml 2013-07-02 17:12:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/meta/pa_r.ml 2014-08-01 10:14:54.303065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_r.ml,v 6.48 2013-07-02 16:12:43 deraugla Exp $ *) -+(* pa_r.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_extend.cmo"; -diff -urN camlp5-6.11/meta/pa_rp.ml camlp5-6.12-63a8c30f/meta/pa_rp.ml ---- camlp5-6.11/meta/pa_rp.ml 2012-01-09 14:22:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/meta/pa_rp.ml 2014-08-01 10:14:54.303065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pa_rp.ml,v 6.3 2012-01-09 14:22:22 deraugla Exp $ *) -+(* pa_rp.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_extend.cmo"; -diff -urN camlp5-6.11/meta/pr_dump.ml camlp5-6.12-63a8c30f/meta/pr_dump.ml ---- camlp5-6.11/meta/pr_dump.ml 2012-01-09 14:22:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/meta/pr_dump.ml 2014-08-01 10:14:54.303065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: pr_dump.ml,v 6.5 2012-01-09 14:22:22 deraugla Exp $ *) -+(* pr_dump.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Versdep; -diff -urN camlp5-6.11/meta/q_ast.ml camlp5-6.12-63a8c30f/meta/q_ast.ml ---- camlp5-6.11/meta/q_ast.ml 2012-03-09 14:01:54.000000000 +0000 -+++ camlp5-6.12-63a8c30f/meta/q_ast.ml 2014-08-01 10:14:54.304065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: q_ast.ml,v 6.32 2012-03-09 14:01:54 deraugla Exp $ *) -+(* q_ast.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_macro.cmo"; -diff -urN camlp5-6.11/meta/q_MLast.ml camlp5-6.12-63a8c30f/meta/q_MLast.ml ---- camlp5-6.11/meta/q_MLast.ml 2013-07-02 17:12:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/meta/q_MLast.ml 2014-08-01 10:14:54.303065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: q_MLast.ml,v 6.43 2013-07-02 16:12:43 deraugla Exp $ *) -+(* q_MLast.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_extend.cmo"; -diff -urN camlp5-6.11/ocaml_src/.cvsignore camlp5-6.12-63a8c30f/ocaml_src/.cvsignore ---- camlp5-6.11/ocaml_src/.cvsignore 2010-09-15 17:00:25.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --SAVED -diff -urN camlp5-6.11/ocaml_src/.gitignore camlp5-6.12-63a8c30f/ocaml_src/.gitignore ---- camlp5-6.11/ocaml_src/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/.gitignore 2014-08-01 10:14:54.304065431 +0100 -@@ -0,0 +1 @@ -+SAVED -diff -urN camlp5-6.11/ocaml_src/lib/.cvsignore camlp5-6.12-63a8c30f/ocaml_src/lib/.cvsignore ---- camlp5-6.11/ocaml_src/lib/.cvsignore 2010-09-15 17:00:25.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --versdep.ml -diff -urN camlp5-6.11/ocaml_src/lib/.depend camlp5-6.12-63a8c30f/ocaml_src/lib/.depend ---- camlp5-6.11/ocaml_src/lib/.depend 2010-09-15 17:00:25.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/.depend 2014-08-01 10:14:54.304065431 +0100 -@@ -19,8 +19,8 @@ - plexer.cmo: plexer.cmi plexing.cmi ploc.cmi versdep.cmo - plexer.cmx: plexer.cmi plexing.cmx ploc.cmx versdep.cmx - plexer.cmi: plexing.cmi --plexing.cmo: plexing.cmi ploc.cmi --plexing.cmx: plexing.cmi ploc.cmx -+plexing.cmo: plexing.cmi ploc.cmi versdep.cmo -+plexing.cmx: plexing.cmi ploc.cmx versdep.cmx - plexing.cmi: ploc.cmi - ploc.cmo: ploc.cmi - ploc.cmx: ploc.cmi -diff -urN camlp5-6.11/ocaml_src/lib/diff.ml camlp5-6.12-63a8c30f/ocaml_src/lib/diff.ml ---- camlp5-6.11/ocaml_src/lib/diff.ml 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/diff.ml 2014-08-01 10:14:54.304065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* diff.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* Parts of Code of GNU diff (analyze.c) translated from C to OCaml -diff -urN camlp5-6.11/ocaml_src/lib/diff.mli camlp5-6.12-63a8c30f/ocaml_src/lib/diff.mli ---- camlp5-6.11/ocaml_src/lib/diff.mli 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/diff.mli 2014-08-01 10:14:54.304065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* diff.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Differences between two arrays. *) -diff -urN camlp5-6.11/ocaml_src/lib/eprinter.ml camlp5-6.12-63a8c30f/ocaml_src/lib/eprinter.ml ---- camlp5-6.11/ocaml_src/lib/eprinter.ml 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/eprinter.ml 2014-08-01 10:14:54.304065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* eprinter.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_macro.cmo" *) -diff -urN camlp5-6.11/ocaml_src/lib/eprinter.mli camlp5-6.12-63a8c30f/ocaml_src/lib/eprinter.mli ---- camlp5-6.11/ocaml_src/lib/eprinter.mli 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/eprinter.mli 2014-08-01 10:14:54.304065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* eprinter.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Extensible printers. -diff -urN camlp5-6.11/ocaml_src/lib/extfold.ml camlp5-6.12-63a8c30f/ocaml_src/lib/extfold.ml ---- camlp5-6.11/ocaml_src/lib/extfold.ml 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/extfold.ml 2014-08-01 10:14:54.304065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* extfold.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type ('te, 'a, 'b) t = -diff -urN camlp5-6.11/ocaml_src/lib/extfold.mli camlp5-6.12-63a8c30f/ocaml_src/lib/extfold.mli ---- camlp5-6.11/ocaml_src/lib/extfold.mli 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/extfold.mli 2014-08-01 10:14:54.304065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* extfold.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type ('te, 'a, 'b) t = -diff -urN camlp5-6.11/ocaml_src/lib/extfun.ml camlp5-6.12-63a8c30f/ocaml_src/lib/extfun.ml ---- camlp5-6.11/ocaml_src/lib/extfun.ml 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/extfun.ml 2014-08-01 10:14:54.304065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* extfun.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* Extensible Functions *) -diff -urN camlp5-6.11/ocaml_src/lib/extfun.mli camlp5-6.12-63a8c30f/ocaml_src/lib/extfun.mli ---- camlp5-6.11/ocaml_src/lib/extfun.mli 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/extfun.mli 2014-08-01 10:14:54.304065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* extfun.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Extensible functions. -diff -urN camlp5-6.11/ocaml_src/lib/fstream.ml camlp5-6.12-63a8c30f/ocaml_src/lib/fstream.ml ---- camlp5-6.11/ocaml_src/lib/fstream.ml 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/fstream.ml 2014-08-01 10:14:54.304065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* fstream.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type 'a mlazy_c = -diff -urN camlp5-6.11/ocaml_src/lib/fstream.mli camlp5-6.12-63a8c30f/ocaml_src/lib/fstream.mli ---- camlp5-6.11/ocaml_src/lib/fstream.mli 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/fstream.mli 2014-08-01 10:14:54.304065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* fstream.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* Module [Fstream]: functional streams *) -diff -urN camlp5-6.11/ocaml_src/lib/.gitignore camlp5-6.12-63a8c30f/ocaml_src/lib/.gitignore ---- camlp5-6.11/ocaml_src/lib/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/.gitignore 2014-08-01 10:14:54.304065431 +0100 -@@ -0,0 +1,2 @@ -+*.cm[oia] -+versdep.ml -diff -urN camlp5-6.11/ocaml_src/lib/gramext.ml camlp5-6.12-63a8c30f/ocaml_src/lib/gramext.ml ---- camlp5-6.11/ocaml_src/lib/gramext.ml 2013-01-28 09:27:12.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/gramext.ml 2014-08-01 10:14:54.304065431 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* gramext.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Printf;; -diff -urN camlp5-6.11/ocaml_src/lib/gramext.mli camlp5-6.12-63a8c30f/ocaml_src/lib/gramext.mli ---- camlp5-6.11/ocaml_src/lib/gramext.mli 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/gramext.mli 2014-08-01 10:14:54.305065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* gramext.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type 'a parser_t = 'a Stream.t -> Obj.t;; -diff -urN camlp5-6.11/ocaml_src/lib/grammar.ml camlp5-6.12-63a8c30f/ocaml_src/lib/grammar.ml ---- camlp5-6.11/ocaml_src/lib/grammar.ml 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/grammar.ml 2014-08-01 10:14:54.305065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* grammar.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_fstream.cmo" *) -@@ -17,7 +17,34 @@ - List.map (fun l -> n :: l) (flatten_tree s) @ flatten_tree b - ;; - --let print_str ppf s = fprintf ppf "\"%s\"" (String.escaped s);; -+let utf8_print = ref true;; -+ -+let utf8_string_escaped s = -+ let b = Buffer.create (String.length s) in -+ let rec loop i = -+ if i = String.length s then Buffer.contents b -+ else -+ begin -+ begin match s.[i] with -+ '"' -> Buffer.add_string b "\\\"" -+ | '\\' -> Buffer.add_string b "\\\\" -+ | '\n' -> Buffer.add_string b "\\n" -+ | '\t' -> Buffer.add_string b "\\t" -+ | '\r' -> Buffer.add_string b "\\r" -+ | '\b' -> Buffer.add_string b "\\b" -+ | c -> Buffer.add_char b c -+ end; -+ loop (i + 1) -+ end -+ in -+ loop 0 -+;; -+ -+let string_escaped s = -+ if !utf8_print then utf8_string_escaped s else String.escaped s -+;; -+ -+let print_str ppf s = fprintf ppf "\"%s\"" (string_escaped s);; - - let rec print_symbol ppf = - function -diff -urN camlp5-6.11/ocaml_src/lib/grammar.mli camlp5-6.12-63a8c30f/ocaml_src/lib/grammar.mli ---- camlp5-6.11/ocaml_src/lib/grammar.mli 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/grammar.mli 2014-08-01 10:14:54.305065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* grammar.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Extensible grammars. -@@ -196,6 +196,10 @@ - (** Flag to apply strict parsing, without trying to recover errors; - default = [False] *) - -+val utf8_print : bool ref;; -+ (** Flag to consider strings as utf8-encoded when printing them; -+ default = [True] *) -+ - val print_entry : Format.formatter -> 'te Gramext.g_entry -> unit;; - (** General printer for all kinds of entries (obj entries) *) - -diff -urN camlp5-6.11/ocaml_src/lib/Makefile camlp5-6.12-63a8c30f/ocaml_src/lib/Makefile ---- camlp5-6.11/ocaml_src/lib/Makefile 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/Makefile 2014-08-01 10:14:54.304065431 +0100 -@@ -1,4 +1,4 @@ --# File generated by program: edit only if it does not compile. -+# Makefile,v - - TOP=../.. - include $(TOP)/config/Makefile -diff -urN camlp5-6.11/ocaml_src/lib/plexer.ml camlp5-6.12-63a8c30f/ocaml_src/lib/plexer.ml ---- camlp5-6.11/ocaml_src/lib/plexer.ml 2013-07-03 02:43:11.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/plexer.ml 2014-08-01 10:14:54.305065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* plexer.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_lexer.cmo" *) -@@ -38,10 +38,10 @@ - ;; - - let rev_implode l = -- let s = String.create (List.length l) in -+ let s = string_create (List.length l) in - let rec loop i = - function -- c :: l -> String.unsafe_set s i c; loop (i - 1) l -+ c :: l -> string_unsafe_set s i c; loop (i - 1) l - | [] -> s - in - loop (String.length s - 1) l -diff -urN camlp5-6.11/ocaml_src/lib/plexer.mli camlp5-6.12-63a8c30f/ocaml_src/lib/plexer.mli ---- camlp5-6.11/ocaml_src/lib/plexer.mli 2013-06-14 04:03:31.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/plexer.mli 2014-08-01 10:14:54.305065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* plexer.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** This module contains the lexer used for ocaml syntax (revised and -diff -urN camlp5-6.11/ocaml_src/lib/plexing.ml camlp5-6.12-63a8c30f/ocaml_src/lib/plexing.ml ---- camlp5-6.11/ocaml_src/lib/plexing.ml 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/plexing.ml 2014-08-01 10:14:54.305065432 +0100 -@@ -1,7 +1,9 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* plexing.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - -+open Versdep;; -+ - type pattern = string * string;; - - exception Error of string;; -@@ -70,7 +72,8 @@ - let lexer_func_of_ocamllex lexfun cs = - let lb = - Lexing.from_function -- (fun s n -> try s.[0] <- Stream.next cs; 1 with Stream.Failure -> 0) -+ (fun s n -> -+ try string_set s 0 (Stream.next cs); 1 with Stream.Failure -> 0) - in - let next_token_loc _ = - let tok = lexfun lb in -@@ -82,11 +85,11 @@ - - (* Char and string tokens to real chars and string *) - --let buff = ref (String.create 80);; -+let buff = ref (string_create 80);; - let store len x = - if len >= String.length !buff then -- buff := !buff ^ String.create (String.length !buff); -- !buff.[len] <- x; -+ buff := !buff ^ string_create (String.length !buff); -+ string_set !buff len x; - succ len - ;; - let get_buff len = String.sub !buff 0 len;; -@@ -207,10 +210,10 @@ - (* The lexing buffer used by pa_lexer.cmo *) - - let rev_implode l = -- let s = String.create (List.length l) in -+ let s = string_create (List.length l) in - let rec loop i = - function -- c :: l -> String.unsafe_set s i c; loop (i - 1) l -+ c :: l -> string_unsafe_set s i c; loop (i - 1) l - | [] -> s - in - loop (String.length s - 1) l -diff -urN camlp5-6.11/ocaml_src/lib/plexing.mli camlp5-6.12-63a8c30f/ocaml_src/lib/plexing.mli ---- camlp5-6.11/ocaml_src/lib/plexing.mli 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/plexing.mli 2014-08-01 10:14:54.306065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* plexing.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Lexing for Camlp5 grammars. -diff -urN camlp5-6.11/ocaml_src/lib/ploc.ml camlp5-6.12-63a8c30f/ocaml_src/lib/ploc.ml ---- camlp5-6.11/ocaml_src/lib/ploc.ml 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/ploc.ml 2014-08-01 10:14:54.306065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* ploc.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_macro.cmo" *) -@@ -23,12 +23,12 @@ - ;; - - let make_unlined (bp, ep) = -- {fname = ""; line_nb = -1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; -+ {fname = ""; line_nb = 1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; - bp = bp; ep = ep; comm = ""; ecomm = ""} - ;; - - let dummy = -- {fname = ""; line_nb = -1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; -+ {fname = ""; line_nb = 1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; - bp = 0; ep = 0; comm = ""; ecomm = ""} - ;; - -diff -urN camlp5-6.11/ocaml_src/lib/ploc.mli camlp5-6.12-63a8c30f/ocaml_src/lib/ploc.mli ---- camlp5-6.11/ocaml_src/lib/ploc.mli 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/ploc.mli 2014-08-01 10:14:54.306065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* ploc.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Locations and some pervasive type and value. *) -diff -urN camlp5-6.11/ocaml_src/lib/pprintf.ml camlp5-6.12-63a8c30f/ocaml_src/lib/pprintf.ml ---- camlp5-6.11/ocaml_src/lib/pprintf.ml 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/pprintf.ml 2014-08-01 10:14:54.306065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* pprintf.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_macro.cmo" *) -diff -urN camlp5-6.11/ocaml_src/lib/pprintf.mli camlp5-6.12-63a8c30f/ocaml_src/lib/pprintf.mli ---- camlp5-6.11/ocaml_src/lib/pprintf.mli 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/pprintf.mli 2014-08-01 10:14:54.306065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* pprintf.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Definitions for pprintf statement. -diff -urN camlp5-6.11/ocaml_src/lib/pretty.ml camlp5-6.12-63a8c30f/ocaml_src/lib/pretty.ml ---- camlp5-6.11/ocaml_src/lib/pretty.ml 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/pretty.ml 2014-08-01 10:14:54.306065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* pretty.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_macro.cmo" *) -diff -urN camlp5-6.11/ocaml_src/lib/pretty.mli camlp5-6.12-63a8c30f/ocaml_src/lib/pretty.mli ---- camlp5-6.11/ocaml_src/lib/pretty.mli 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/pretty.mli 2014-08-01 10:14:54.306065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* pretty.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Pretty printing on strings *) -diff -urN camlp5-6.11/ocaml_src/lib/stdpp.ml camlp5-6.12-63a8c30f/ocaml_src/lib/stdpp.ml ---- camlp5-6.11/ocaml_src/lib/stdpp.ml 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/stdpp.ml 2014-08-01 10:14:54.306065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* stdpp.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type location = Ploc.t;; -diff -urN camlp5-6.11/ocaml_src/lib/stdpp.mli camlp5-6.12-63a8c30f/ocaml_src/lib/stdpp.mli ---- camlp5-6.11/ocaml_src/lib/stdpp.mli 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/stdpp.mli 2014-08-01 10:14:54.306065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* stdpp.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Module deprecated since Camlp5 version 5.00. Use now module Ploc. -diff -urN camlp5-6.11/ocaml_src/lib/token.ml camlp5-6.12-63a8c30f/ocaml_src/lib/token.ml ---- camlp5-6.11/ocaml_src/lib/token.ml 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/token.ml 2014-08-01 10:14:54.306065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* token.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type pattern = Plexing.pattern;; -diff -urN camlp5-6.11/ocaml_src/lib/token.mli camlp5-6.12-63a8c30f/ocaml_src/lib/token.mli ---- camlp5-6.11/ocaml_src/lib/token.mli 2012-06-02 14:23:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/token.mli 2014-08-01 10:14:54.306065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* token.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Module deprecated since Camlp5 version 5.00. Use now module Plexing. -diff -urN camlp5-6.11/ocaml_src/lib/versdep/1.06.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/1.06.ml ---- camlp5-6.11/ocaml_src/lib/versdep/1.06.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/1.06.ml 2014-08-01 10:14:54.306065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -41,13 +41,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - let cl_opt = -@@ -107,7 +119,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -119,6 +133,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = None;; - - let ocaml_const_int64 = None;; -@@ -164,14 +180,33 @@ - Pexp_ifthenelse (not_try_e, raise_af, None) - ;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function pel;; - - let ocaml_pexp_lazy = None;; -@@ -207,11 +242,13 @@ - - let ocaml_pexp_variant = None;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = None;; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -221,6 +258,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -238,13 +280,22 @@ - - let ocaml_psig_class_type = None;; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = None;; - -@@ -256,17 +307,19 @@ - - let ocaml_pstr_class_type = None;; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = None;; - - let ocaml_pstr_include = None;; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -315,6 +368,8 @@ - - let ocaml_pctf_cstr = None;; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, Public, mf, Some t, loc);; -@@ -331,6 +386,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -426,3 +483,9 @@ - in - loop 0 - ;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/1.07.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/1.07.ml ---- camlp5-6.11/ocaml_src/lib/versdep/1.07.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/1.07.ml 2014-08-01 10:14:54.306065432 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -41,13 +41,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - let cl_opt = -@@ -107,7 +119,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -119,6 +133,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = None;; - - let ocaml_const_int64 = None;; -@@ -164,14 +180,33 @@ - Pexp_ifthenelse (not_try_e, raise_af, None) - ;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function pel;; - - let ocaml_pexp_lazy = None;; -@@ -207,11 +242,13 @@ - - let ocaml_pexp_variant = None;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = None;; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -221,6 +258,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -238,13 +280,22 @@ - - let ocaml_psig_class_type = None;; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = None;; - -@@ -256,17 +307,19 @@ - - let ocaml_pstr_class_type = None;; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = None;; - - let ocaml_pstr_include = None;; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -315,6 +368,8 @@ - - let ocaml_pctf_cstr = None;; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, Public, mf, Some t, loc);; -@@ -331,6 +386,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -426,3 +483,9 @@ - in - loop 0 - ;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.00.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.00.ml ---- camlp5-6.11/ocaml_src/lib/versdep/2.00.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.00.ml 2014-08-01 10:14:54.307065433 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -41,13 +41,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -95,7 +107,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -107,6 +121,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = None;; - - let ocaml_const_int64 = None;; -@@ -152,14 +168,33 @@ - Pexp_ifthenelse (not_try_e, raise_af, None) - ;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function pel;; - - let ocaml_pexp_lazy = None;; -@@ -195,11 +230,13 @@ - - let ocaml_pexp_variant = None;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -209,6 +246,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -226,13 +268,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = None;; - -@@ -244,17 +295,19 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = None;; - - let ocaml_pstr_include = None;; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -307,6 +360,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -323,6 +378,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -418,3 +475,9 @@ - in - loop 0 - ;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.01.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.01.ml ---- camlp5-6.11/ocaml_src/lib/versdep/2.01.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.01.ml 2014-08-01 10:14:54.307065433 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -41,13 +41,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -95,7 +107,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -107,6 +121,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = None;; - - let ocaml_const_int64 = None;; -@@ -152,14 +168,33 @@ - Pexp_ifthenelse (not_try_e, raise_af, None) - ;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function pel;; - - let ocaml_pexp_lazy = None;; -@@ -195,11 +230,13 @@ - - let ocaml_pexp_variant = None;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -209,6 +246,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -226,13 +268,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = None;; - -@@ -244,17 +295,19 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = None;; - - let ocaml_pstr_include = None;; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -307,6 +360,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -323,6 +378,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -411,3 +468,9 @@ - ;; - - let string_contains s c = s <> "" && String.contains s c;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.02.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.02.ml ---- camlp5-6.11/ocaml_src/lib/versdep/2.02.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.02.ml 2014-08-01 10:14:54.307065433 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -41,13 +41,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -95,7 +107,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -107,6 +121,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = None;; - - let ocaml_const_int64 = None;; -@@ -152,14 +168,33 @@ - Pexp_ifthenelse (not_try_e, raise_af, None) - ;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function pel;; - - let ocaml_pexp_lazy = None;; -@@ -195,11 +230,13 @@ - - let ocaml_pexp_variant = None;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -209,6 +246,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -226,13 +268,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = None;; - -@@ -244,17 +295,19 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = None;; - - let ocaml_pstr_include = None;; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -307,6 +360,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -323,6 +378,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -409,3 +466,9 @@ - ;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.03.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.03.ml ---- camlp5-6.11/ocaml_src/lib/versdep/2.03.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.03.ml 2014-08-01 10:14:54.307065433 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -42,13 +42,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -96,7 +108,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -108,6 +122,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = None;; - - let ocaml_const_int64 = None;; -@@ -153,14 +169,33 @@ - Pexp_ifthenelse (not_try_e, raise_af, None) - ;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function pel;; - - let ocaml_pexp_lazy = None;; -@@ -196,11 +231,13 @@ - - let ocaml_pexp_variant = None;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -210,6 +247,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -227,13 +269,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = None;; - -@@ -245,17 +296,19 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = None;; - - let ocaml_pstr_include = None;; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -308,6 +361,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -324,6 +379,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -403,3 +460,9 @@ - ;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.04.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.04.ml ---- camlp5-6.11/ocaml_src/lib/versdep/2.04.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.04.ml 2014-08-01 10:14:54.307065433 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -42,13 +42,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -96,7 +108,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -108,6 +122,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = None;; - - let ocaml_const_int64 = None;; -@@ -153,14 +169,33 @@ - Pexp_ifthenelse (not_try_e, raise_af, None) - ;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function pel;; - - let ocaml_pexp_lazy = None;; -@@ -196,11 +231,13 @@ - - let ocaml_pexp_variant = None;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -210,6 +247,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -227,13 +269,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = None;; - -@@ -245,17 +296,19 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = None;; - - let ocaml_pstr_include = None;; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -308,6 +361,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -324,6 +379,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -403,3 +460,9 @@ - ;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.99.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.99.ml ---- camlp5-6.11/ocaml_src/lib/versdep/2.99.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.99.ml 2014-08-01 10:14:54.307065433 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -42,13 +42,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -96,7 +108,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = None;; - - let ocaml_const_int64 = None;; -@@ -169,14 +185,33 @@ - Pexp_ifthenelse (not_try_e, raise_af, None) - ;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = None;; -@@ -220,11 +255,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -234,6 +271,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -259,13 +301,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = None;; - -@@ -277,17 +328,19 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = None;; - - let ocaml_pstr_include = None;; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -340,6 +393,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -356,6 +411,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -435,3 +492,9 @@ - ;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.00.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.00.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.00.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.00.ml 2014-08-01 10:14:54.307065433 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -42,13 +42,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -96,7 +108,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = None;; - - let ocaml_const_int64 = None;; -@@ -169,14 +185,33 @@ - Pexp_ifthenelse (not_try_e, raise_af, None) - ;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = None;; -@@ -220,11 +255,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -234,6 +271,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -259,13 +301,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = None;; - -@@ -277,19 +328,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - - let ocaml_pstr_include = None;; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -342,6 +395,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -358,6 +413,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -437,3 +494,9 @@ - ;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.01.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.01.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.01.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.01.ml 2014-08-01 10:14:54.307065433 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -42,13 +42,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -96,7 +108,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = None;; - - let ocaml_const_int64 = None;; -@@ -136,14 +152,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = None;; -@@ -187,11 +222,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -201,6 +238,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -226,13 +268,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = None;; - -@@ -244,19 +295,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -310,6 +363,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -326,6 +381,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -405,3 +462,9 @@ - ;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.02.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.02.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.02.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.02.ml 2014-08-01 10:14:54.307065433 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -42,13 +42,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -96,7 +108,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = None;; - - let ocaml_const_int64 = None;; -@@ -136,14 +152,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = None;; -@@ -187,11 +222,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -201,6 +238,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -226,13 +268,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = None;; - -@@ -244,19 +295,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -310,6 +363,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -326,6 +381,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -405,3 +462,9 @@ - ;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.03.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.03.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.03.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.03.ml 2014-08-01 10:14:54.307065433 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -42,13 +42,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -96,7 +108,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -117,6 +131,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = None;; - - let ocaml_const_int64 = None;; -@@ -129,14 +145,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = None;; -@@ -180,11 +215,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -194,6 +231,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -219,13 +261,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = None;; - -@@ -237,19 +288,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -303,6 +356,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -319,6 +374,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -398,3 +455,9 @@ - ;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.04.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.04.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.04.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.04.ml 2014-08-01 10:14:54.307065433 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -42,13 +42,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -96,7 +108,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -117,6 +131,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = None;; - - let ocaml_const_int64 = None;; -@@ -129,14 +145,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = None;; -@@ -180,11 +215,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -194,6 +231,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -219,13 +261,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = None;; - -@@ -237,19 +288,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -303,6 +356,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -319,6 +374,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -398,3 +455,9 @@ - ;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.05.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.05.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.05.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.05.ml 2014-08-01 10:14:54.307065433 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -42,13 +42,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -96,7 +108,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -117,6 +131,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = None;; - - let ocaml_const_int64 = None;; -@@ -129,14 +145,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -180,11 +215,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -194,6 +231,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -219,13 +261,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = None;; - -@@ -237,19 +288,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -303,6 +356,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -319,6 +374,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -378,3 +435,9 @@ - let printf_ksprintf = Printf.kprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.06.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.06.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.06.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.06.ml 2014-08-01 10:14:54.307065433 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -42,13 +42,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -96,7 +108,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -117,6 +131,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = None;; - - let ocaml_const_int64 = None;; -@@ -129,14 +145,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -180,11 +215,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -194,6 +231,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -219,13 +261,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = None;; - -@@ -237,19 +288,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -303,6 +356,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -319,6 +374,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -378,3 +435,9 @@ - let printf_ksprintf = Printf.kprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.07.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.07.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.07.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.07.ml 2014-08-01 10:14:54.307065433 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -318,6 +371,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -334,6 +389,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -417,3 +474,9 @@ - let printf_ksprintf = Printf.kprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.08.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.0.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.08.0.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.0.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -318,6 +371,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -334,6 +389,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -417,3 +474,9 @@ - let printf_ksprintf = Printf.kprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.08.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.1.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.08.1.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.1.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -318,6 +371,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -334,6 +389,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -417,3 +474,9 @@ - let printf_ksprintf = Printf.kprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.08.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.2.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.08.2.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.2.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -318,6 +371,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -334,6 +389,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -417,3 +474,9 @@ - let printf_ksprintf = Printf.kprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.08.3.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.3.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.08.3.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.3.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -318,6 +371,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -334,6 +389,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -417,3 +474,9 @@ - let printf_ksprintf = Printf.kprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.08.4.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.4.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.08.4.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.4.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -318,6 +371,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -334,6 +389,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -417,3 +474,9 @@ - let printf_ksprintf = Printf.kprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.09.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.0.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.09.0.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.0.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -318,6 +371,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -334,6 +389,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -417,3 +474,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.09.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.1.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.09.1.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.1.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -318,6 +371,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -334,6 +389,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -417,3 +474,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.09.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.2.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.09.2.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.2.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -318,6 +371,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -334,6 +389,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -417,3 +474,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.09.3.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.3.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.09.3.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.3.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -318,6 +371,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -334,6 +389,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -417,3 +474,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.09.4.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.4.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.09.4.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.4.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -318,6 +371,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; -@@ -334,6 +389,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -417,3 +474,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.10.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.0.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.10.0.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.0.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -323,6 +376,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -339,6 +394,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -422,3 +479,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.10.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.1.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.10.1.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.1.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -323,6 +376,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -339,6 +394,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -422,3 +479,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.10.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.2.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.10.2.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.2.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -323,6 +376,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -339,6 +394,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -422,3 +479,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.10.3.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.3.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.10.3.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.3.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -323,6 +376,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -339,6 +394,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -422,3 +479,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.10.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.10.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -103,7 +115,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -124,6 +138,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -138,14 +154,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = None;; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -318,6 +371,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -334,6 +389,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -417,3 +474,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.11.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.0.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.11.0.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.0.ml 2014-08-01 10:14:54.308065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -101,7 +113,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -122,6 +136,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -136,14 +152,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -187,11 +222,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -201,6 +238,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -226,13 +268,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -250,19 +301,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -321,6 +374,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -337,6 +392,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -416,3 +473,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.11.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.1.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.11.1.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.1.ml 2014-08-01 10:14:54.309065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -101,7 +113,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -122,6 +136,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -136,14 +152,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -187,11 +222,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -201,6 +238,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -226,13 +268,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -250,19 +301,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -321,6 +374,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -337,6 +392,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -416,3 +473,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.11.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.2.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.11.2.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.2.ml 2014-08-01 10:14:54.309065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -101,7 +113,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -122,6 +136,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -136,14 +152,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -187,11 +222,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -201,6 +238,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -226,13 +268,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -250,19 +301,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -321,6 +374,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -337,6 +392,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -416,3 +473,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.11.3.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.3.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.11.3.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.3.ml 2014-08-01 10:14:54.309065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -101,7 +113,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -122,6 +136,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -136,14 +152,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -187,11 +222,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -201,6 +238,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -226,13 +268,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -250,19 +301,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -321,6 +374,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -337,6 +392,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -416,3 +473,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.11.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.11.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.ml 2014-08-01 10:14:54.309065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -101,7 +113,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = None;; - -@@ -122,6 +136,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -136,14 +152,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -187,11 +222,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -201,6 +238,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -226,13 +268,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -250,19 +301,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -321,6 +374,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -337,6 +392,8 @@ - - let ocaml_pwith_modsubst = None;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = None;; -@@ -416,3 +473,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.12.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.0.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.12.0.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.0.ml 2014-08-01 10:14:54.309065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -101,7 +113,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; - -@@ -122,6 +136,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -136,14 +152,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -187,11 +222,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -201,6 +238,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -226,13 +268,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -250,19 +301,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -323,6 +376,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -341,6 +396,8 @@ - Some (fun loc me -> Pwith_modsubst (mkloc loc me)) - ;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; -@@ -420,3 +477,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.12.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.1.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.12.1.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.1.ml 2014-08-01 10:14:54.309065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -101,7 +113,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; - -@@ -122,6 +136,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -136,14 +152,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -187,11 +222,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -201,6 +238,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -226,13 +268,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -250,19 +301,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -323,6 +376,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -341,6 +396,8 @@ - Some (fun loc me -> Pwith_modsubst (mkloc loc me)) - ;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; -@@ -420,3 +477,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.12.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.2.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.12.2.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.2.ml 2014-08-01 10:14:54.309065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -101,7 +113,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; - -@@ -122,6 +136,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -136,14 +152,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -187,11 +222,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -201,6 +238,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -226,13 +268,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -250,19 +301,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -323,6 +376,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -341,6 +396,8 @@ - Some (fun loc me -> Pwith_modsubst (mkloc loc me)) - ;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; -@@ -420,3 +477,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.13.0-gadt.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.13.0-gadt.ml ---- camlp5-6.11/ocaml_src/lib/versdep/3.13.0-gadt.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.13.0-gadt.ml 2014-08-01 10:14:54.309065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -55,13 +55,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - Right - {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; - ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; -@@ -96,7 +108,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; - -@@ -117,6 +131,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -131,14 +147,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -184,11 +219,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -198,6 +235,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -225,13 +267,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -249,19 +300,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -324,6 +377,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -342,6 +397,8 @@ - Some (fun loc me -> Pwith_modsubst (mkloc loc me)) - ;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; -@@ -421,3 +478,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.00.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.0.ml ---- camlp5-6.11/ocaml_src/lib/versdep/4.00.0.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.0.ml 2014-08-01 10:14:54.309065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -62,7 +62,7 @@ - loop [] l - ;; - --let ocaml_value_description t p = -+let ocaml_value_description vn t p = - {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} - ;; - -@@ -70,10 +70,22 @@ - - let ocaml_class_field loc cfd = {pcf_desc = cfd; pcf_loc = loc};; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> -- let params = List.map (fun os -> Some (mknoloc os)) params in -+ let params = List.map (fun os -> Some (mkloc loc os)) params in - Right - {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; - ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; -@@ -122,7 +134,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; - -@@ -143,6 +157,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -157,14 +173,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -210,12 +245,14 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -- Ppat_construct (mkloc li_loc li, po, chk_arity) -+let ocaml_ppat_construct loc li po chk_arity = -+ Ppat_construct (mkloc loc li, po, chk_arity) - ;; - - let ocaml_ppat_construct_args = -@@ -224,6 +261,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -251,13 +293,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -275,19 +326,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -360,6 +413,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; -@@ -384,6 +439,8 @@ - Some (fun loc me -> Pwith_modsubst (mkloc loc me)) - ;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; -@@ -463,3 +520,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.00.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.1.ml ---- camlp5-6.11/ocaml_src/lib/versdep/4.00.1.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.1.ml 2014-08-01 10:14:54.309065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -62,7 +62,7 @@ - loop [] l - ;; - --let ocaml_value_description t p = -+let ocaml_value_description vn t p = - {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} - ;; - -@@ -70,10 +70,22 @@ - - let ocaml_class_field loc cfd = {pcf_desc = cfd; pcf_loc = loc};; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> -- let params = List.map (fun os -> Some (mknoloc os)) params in -+ let params = List.map (fun os -> Some (mkloc loc os)) params in - Right - {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; - ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; -@@ -122,7 +134,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; - -@@ -143,6 +157,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -157,14 +173,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -210,12 +245,14 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -- Ppat_construct (mkloc li_loc li, po, chk_arity) -+let ocaml_ppat_construct loc li po chk_arity = -+ Ppat_construct (mkloc loc li, po, chk_arity) - ;; - - let ocaml_ppat_construct_args = -@@ -224,6 +261,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -251,13 +293,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -275,19 +326,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -360,6 +413,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; -@@ -384,6 +439,8 @@ - Some (fun loc me -> Pwith_modsubst (mkloc loc me)) - ;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; -@@ -463,3 +520,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.00.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.2.ml ---- camlp5-6.11/ocaml_src/lib/versdep/4.00.2.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.2.ml 2014-08-01 10:14:54.309065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -62,7 +62,7 @@ - loop [] l - ;; - --let ocaml_value_description t p = -+let ocaml_value_description vn t p = - {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} - ;; - -@@ -70,10 +70,22 @@ - - let ocaml_class_field loc cfd = {pcf_desc = cfd; pcf_loc = loc};; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> -- let params = List.map (fun os -> Some (mknoloc os)) params in -+ let params = List.map (fun os -> Some (mkloc loc os)) params in - Right - {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; - ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; -@@ -122,7 +134,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; - -@@ -143,6 +157,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -157,14 +173,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -210,12 +245,14 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -- Ppat_construct (mkloc li_loc li, po, chk_arity) -+let ocaml_ppat_construct loc li po chk_arity = -+ Ppat_construct (mkloc loc li, po, chk_arity) - ;; - - let ocaml_ppat_construct_args = -@@ -224,6 +261,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -251,13 +293,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -275,19 +326,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -360,6 +413,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; -@@ -384,6 +439,8 @@ - Some (fun loc me -> Pwith_modsubst (mkloc loc me)) - ;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; -@@ -463,3 +520,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.01.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.01.0.ml ---- camlp5-6.11/ocaml_src/lib/versdep/4.01.0.ml 2013-06-10 16:57:21.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.01.0.ml 2014-08-01 10:14:54.309065434 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -62,7 +62,7 @@ - loop [] l - ;; - --let ocaml_value_description t p = -+let ocaml_value_description vn t p = - {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} - ;; - -@@ -70,10 +70,22 @@ - - let ocaml_class_field loc cfd = {pcf_desc = cfd; pcf_loc = loc};; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> -- let params = List.map (fun os -> Some (mknoloc os)) params in -+ let params = List.map (fun os -> Some (mkloc loc os)) params in - Right - {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; - ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; -@@ -122,7 +134,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; - -@@ -143,6 +157,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -157,14 +173,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -210,12 +245,14 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -- Ppat_construct (mkloc li_loc li, po, chk_arity) -+let ocaml_ppat_construct loc li po chk_arity = -+ Ppat_construct (mkloc loc li, po, chk_arity) - ;; - - let ocaml_ppat_construct_args = -@@ -224,6 +261,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -251,13 +293,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (Fresh, mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (Fresh, mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -275,19 +326,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (Fresh, mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (Fresh, mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -360,6 +413,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; -@@ -384,6 +439,8 @@ - Some (fun loc me -> Pwith_modsubst (mkloc loc me)) - ;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; -@@ -463,3 +520,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.01.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.01.1.ml ---- camlp5-6.11/ocaml_src/lib/versdep/4.01.1.ml 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.01.1.ml 2014-08-01 10:14:54.309065434 +0100 -@@ -0,0 +1,528 @@ -+(* camlp5r pa_macro.cmo *) -+(* versdep.ml,v *) -+(* Copyright (c) INRIA 2007-2012 *) -+ -+open Parsetree;; -+open Longident;; -+open Asttypes;; -+ -+type ('a, 'b) choice = -+ Left of 'a -+ | Right of 'b -+;; -+ -+let sys_ocaml_version = Sys.ocaml_version;; -+ -+let ocaml_location (fname, lnum, bolp, lnuml, bolpl, bp, ep) = -+ let loc_at n lnum bolp = -+ {Lexing.pos_fname = if lnum = -1 then "" else fname; -+ Lexing.pos_lnum = lnum; Lexing.pos_bol = bolp; Lexing.pos_cnum = n} -+ in -+ {Location.loc_start = loc_at bp lnum bolp; -+ Location.loc_end = loc_at ep lnuml bolpl; -+ Location.loc_ghost = bp = 0 && ep = 0} -+;; -+ -+let loc_none = -+ let loc = -+ {Lexing.pos_fname = "_none_"; Lexing.pos_lnum = 1; Lexing.pos_bol = 0; -+ Lexing.pos_cnum = -1} -+ in -+ {Location.loc_start = loc; Location.loc_end = loc; -+ Location.loc_ghost = true} -+;; -+ -+let mkloc loc txt = {Location.txt = txt; Location.loc = loc};; -+let mknoloc txt = mkloc loc_none txt;; -+ -+let ocaml_id_or_li_of_string_list loc sl = -+ let mkli s = -+ let rec loop f = -+ function -+ i :: il -> loop (fun s -> Ldot (f i, s)) il -+ | [] -> f s -+ in -+ loop (fun s -> Lident s) -+ in -+ match List.rev sl with -+ [] -> None -+ | s :: sl -> Some (mkli s (List.rev sl)) -+;; -+ -+let list_map_check f l = -+ let rec loop rev_l = -+ function -+ x :: l -> -+ begin match f x with -+ Some s -> loop (s :: rev_l) l -+ | None -> None -+ end -+ | [] -> Some (List.rev rev_l) -+ in -+ loop [] l -+;; -+ -+let ocaml_value_description vn t p = -+ {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} -+;; -+ -+let ocaml_class_type_field loc ctfd = {pctf_desc = ctfd; pctf_loc = loc};; -+ -+let ocaml_class_field loc cfd = {pcf_desc = cfd; pcf_loc = loc};; -+ -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = -+ match list_map_check (fun s_opt -> s_opt) params with -+ Some params -> -+ let params = List.map (fun os -> Some (mkloc loc os)) params in -+ Right -+ {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; -+ ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; -+ ptype_variance = variance} -+ | None -> Left "no '_' type param in this ocaml version" -+;; -+ -+let ocaml_class_type = Some (fun d loc -> {pcty_desc = d; pcty_loc = loc});; -+ -+let ocaml_class_expr = Some (fun d loc -> {pcl_desc = d; pcl_loc = loc});; -+ -+let ocaml_class_structure p cil = {pcstr_pat = p; pcstr_fields = cil};; -+ -+let ocaml_pmty_ident loc li = Pmty_ident (mkloc loc li);; -+ -+let ocaml_pmty_functor sloc s mt1 mt2 = -+ Pmty_functor (mkloc sloc s, mt1, mt2) -+;; -+ -+let ocaml_pmty_typeof = Some (fun me -> Pmty_typeof me);; -+ -+let ocaml_pmty_with mt lcl = -+ let lcl = List.map (fun (s, c) -> mknoloc s, c) lcl in Pmty_with (mt, lcl) -+;; -+ -+let ocaml_ptype_abstract = Ptype_abstract;; -+ -+let ocaml_ptype_record ltl priv = -+ Ptype_record -+ (List.map (fun (s, mf, ct, loc) -> mkloc loc s, mf, ct, loc) ltl) -+;; -+ -+let ocaml_ptype_variant ctl priv = -+ try -+ let ctl = -+ List.map -+ (fun (c, tl, rto, loc) -> -+ if rto <> None then raise Exit else mknoloc c, tl, None, loc) -+ ctl -+ in -+ Some (Ptype_variant ctl) -+ with Exit -> None -+;; -+ -+let ocaml_ptyp_arrow lab t1 t2 = Ptyp_arrow (lab, t1, t2);; -+ -+let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -+ -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; -+ -+let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; -+ -+let ocaml_ptyp_poly = Some (fun cl t -> Ptyp_poly (cl, t));; -+ -+let ocaml_ptyp_variant catl clos sl_opt = -+ let catl = -+ List.map -+ (function -+ Left (c, a, tl) -> Rtag (c, a, tl) -+ | Right t -> Rinherit t) -+ catl -+ in -+ Some (Ptyp_variant (catl, clos, sl_opt)) -+;; -+ -+let ocaml_package_type li ltl = -+ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl -+;; -+ -+let ocaml_const_string s = Const_string s;; -+ -+let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; -+ -+let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -+ -+let ocaml_const_nativeint = -+ Some (fun s -> Const_nativeint (Nativeint.of_string s)) -+;; -+ -+let ocaml_pexp_apply f lel = Pexp_apply (f, lel);; -+ -+let ocaml_pexp_assertfalse fname loc = Pexp_assertfalse;; -+ -+let ocaml_pexp_assert fname loc e = Pexp_assert e;; -+ -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ -+let ocaml_pexp_construct loc li po chk_arity = -+ Pexp_construct (mkloc loc li, po, chk_arity) -+;; -+ -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ -+let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; -+ -+let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; -+ -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ -+let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; -+ -+let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -+ -+let ocaml_pexp_ident li = Pexp_ident (mknoloc li);; -+ -+let ocaml_pexp_letmodule = -+ Some (fun i me e -> Pexp_letmodule (mknoloc i, me, e)) -+;; -+ -+let ocaml_pexp_new loc li = Pexp_new (mkloc loc li);; -+ -+let ocaml_pexp_newtype = Some (fun s e -> Pexp_newtype (s, e));; -+ -+let ocaml_pexp_object = Some (fun cs -> Pexp_object cs);; -+ -+let ocaml_pexp_open = Some (fun li e -> Pexp_open (Fresh, mknoloc li, e));; -+ -+let ocaml_pexp_override sel = -+ let sel = List.map (fun (s, e) -> mknoloc s, e) sel in Pexp_override sel -+;; -+ -+let ocaml_pexp_pack : ('a -> 'b -> 'c, 'd) choice option = -+ Some (Right ((fun me -> Pexp_pack me), (fun pt -> Ptyp_package pt))) -+;; -+ -+let ocaml_pexp_poly = Some (fun e t -> Pexp_poly (e, t));; -+ -+let ocaml_pexp_record lel eo = -+ let lel = List.map (fun (li, loc, e) -> mkloc loc li, e) lel in -+ Pexp_record (lel, eo) -+;; -+ -+let ocaml_pexp_setinstvar s e = Pexp_setinstvar (mknoloc s, e);; -+ -+let ocaml_pexp_variant = -+ let pexp_variant_pat = -+ function -+ Pexp_variant (lab, eo) -> Some (lab, eo) -+ | _ -> None -+ in -+ let pexp_variant (lab, eo) = Pexp_variant (lab, eo) in -+ Some (pexp_variant_pat, pexp_variant) -+;; -+ -+let ocaml_value_binding loc p e = p, e;; -+ -+let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; -+ -+let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -+ -+let ocaml_ppat_construct loc li po chk_arity = -+ Ppat_construct (mkloc loc li, po, chk_arity) -+;; -+ -+let ocaml_ppat_construct_args = -+ function -+ Ppat_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ -+let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; -+ -+let ocaml_ppat_record lpl is_closed = -+ let lpl = List.map (fun (li, loc, p) -> mkloc loc li, p) lpl in -+ Ppat_record (lpl, (if is_closed then Closed else Open)) -+;; -+ -+let ocaml_ppat_type = Some (fun loc li -> Ppat_type (mkloc loc li));; -+ -+let ocaml_ppat_unpack = -+ Some ((fun loc s -> Ppat_unpack (mkloc loc s)), (fun pt -> Ptyp_package pt)) -+;; -+ -+let ocaml_ppat_var loc s = Ppat_var (mkloc loc s);; -+ -+let ocaml_ppat_variant = -+ let ppat_variant_pat = -+ function -+ Ppat_variant (lab, po) -> Some (lab, po) -+ | _ -> None -+ in -+ let ppat_variant (lab, po) = Ppat_variant (lab, po) in -+ Some (ppat_variant_pat, ppat_variant) -+;; -+ -+let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -+ -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -+ -+let ocaml_psig_include loc mt = Psig_include mt;; -+ -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; -+ -+let ocaml_psig_open loc li = Psig_open (Fresh, mkloc loc li);; -+ -+let ocaml_psig_recmodule = -+ let f ntl = -+ let ntl = List.map (fun (s, mt) -> mknoloc s, mt) ntl in -+ Psig_recmodule ntl -+ in -+ Some f -+;; -+ -+let ocaml_psig_type stl = -+ let stl = List.map (fun (s, t) -> mknoloc s, t) stl in Psig_type stl -+;; -+ -+let ocaml_psig_value s vd = Psig_value (mknoloc s, vd);; -+ -+let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -+ -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; -+ -+let ocaml_pstr_exn_rebind = -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) -+;; -+ -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -+ -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -+ -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -+ -+let ocaml_pstr_open loc li = Pstr_open (Fresh, mknoloc li);; -+ -+let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; -+ -+let ocaml_pstr_recmodule = -+ let f nel = -+ Pstr_recmodule (List.map (fun (s, mt, me) -> mknoloc s, mt, me) nel) -+ in -+ Some f -+;; -+ -+let ocaml_pstr_type stl = -+ let stl = List.map (fun (s, t) -> mknoloc s, t) stl in Pstr_type stl -+;; -+ -+let ocaml_class_infos = -+ Some -+ (fun virt (sl, sloc) name expr loc variance -> -+ let params = List.map (fun s -> mkloc loc s) sl, sloc in -+ {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; -+ pci_expr = expr; pci_loc = loc; pci_variance = variance}) -+;; -+ -+let ocaml_pmod_ident li = Pmod_ident (mknoloc li);; -+ -+let ocaml_pmod_functor s mt me = Pmod_functor (mknoloc s, mt, me);; -+ -+let ocaml_pmod_unpack : ('a -> 'b -> 'c, 'd) choice option = -+ Some (Right ((fun e -> Pmod_unpack e), (fun pt -> Ptyp_package pt))) -+;; -+ -+let ocaml_pcf_cstr = Some (fun (t1, t2, loc) -> Pcf_constr (t1, t2));; -+ -+let ocaml_pcf_inher ce pb = Pcf_inher (Fresh, ce, pb);; -+ -+let ocaml_pcf_init = Some (fun e -> Pcf_init e);; -+ -+let ocaml_pcf_meth (s, pf, ovf, e, loc) = -+ let pf = if pf then Private else Public in -+ let ovf = if ovf then Override else Fresh in -+ Pcf_meth (mkloc loc s, pf, ovf, e) -+;; -+ -+let ocaml_pcf_val (s, mf, ovf, e, loc) = -+ let mf = if mf then Mutable else Immutable in -+ let ovf = if ovf then Override else Fresh in -+ Pcf_val (mkloc loc s, mf, ovf, e) -+;; -+ -+let ocaml_pcf_valvirt = -+ let ocaml_pcf (s, mf, t, loc) = -+ let mf = if mf then Mutable else Immutable in -+ Pcf_valvirt (mkloc loc s, mf, t) -+ in -+ Some ocaml_pcf -+;; -+ -+let ocaml_pcf_virt (s, pf, t, loc) = Pcf_virt (mkloc loc s, pf, t);; -+ -+let ocaml_pcl_apply = Some (fun ce lel -> Pcl_apply (ce, lel));; -+ -+let ocaml_pcl_constr = Some (fun li ctl -> Pcl_constr (mknoloc li, ctl));; -+ -+let ocaml_pcl_constraint = Some (fun ce ct -> Pcl_constraint (ce, ct));; -+ -+let ocaml_pcl_fun = Some (fun lab ceo p ce -> Pcl_fun (lab, ceo, p, ce));; -+ -+let ocaml_pcl_let = Some (fun rf pel ce -> Pcl_let (rf, pel, ce));; -+ -+let ocaml_pcl_structure = Some (fun cs -> Pcl_structure cs);; -+ -+let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2));; -+ -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ -+let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t);; -+ -+let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; -+ -+let ocaml_pctf_virt (s, pf, t, loc) = Pctf_virt (s, pf, t);; -+ -+let ocaml_pcty_constr = Some (fun li ltl -> Pcty_constr (mknoloc li, ltl));; -+ -+let ocaml_pcty_fun = Some (fun lab t ct -> Pcty_fun (lab, t, ct));; -+ -+let ocaml_pcty_signature = -+ let f (t, ctfl) = -+ let cs = {pcsig_self = t; pcsig_fields = ctfl; pcsig_loc = t.ptyp_loc} in -+ Pcty_signature cs -+ in -+ Some f -+;; -+ -+let ocaml_pdir_bool = Some (fun b -> Pdir_bool b);; -+ -+let ocaml_pwith_modsubst = -+ Some (fun loc me -> Pwith_modsubst (mkloc loc me)) -+;; -+ -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ -+let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; -+ -+let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; -+ -+let module_prefix_can_be_in_first_record_label_only = true;; -+ -+let split_or_patterns_with_bindings = false;; -+ -+let has_records_with_with = true;; -+ -+(* *) -+ -+let jocaml_pstr_def : (_ -> _) option = None;; -+ -+let jocaml_pexp_def : (_ -> _ -> _) option = None;; -+ -+let jocaml_pexp_par : (_ -> _ -> _) option = None;; -+ -+let jocaml_pexp_reply : (_ -> _ -> _ -> _) option = None;; -+ -+let jocaml_pexp_spawn : (_ -> _) option = None;; -+ -+let arg_rest = -+ function -+ Arg.Rest r -> Some r -+ | _ -> None -+;; -+ -+let arg_set_string = -+ function -+ Arg.Set_string r -> Some r -+ | _ -> None -+;; -+ -+let arg_set_int = -+ function -+ Arg.Set_int r -> Some r -+ | _ -> None -+;; -+ -+let arg_set_float = -+ function -+ Arg.Set_float r -> Some r -+ | _ -> None -+;; -+ -+let arg_symbol = -+ function -+ Arg.Symbol (s, f) -> Some (s, f) -+ | _ -> None -+;; -+ -+let arg_tuple = -+ function -+ Arg.Tuple t -> Some t -+ | _ -> None -+;; -+ -+let arg_bool = -+ function -+ Arg.Bool f -> Some f -+ | _ -> None -+;; -+ -+let char_escaped = Char.escaped;; -+ -+let hashtbl_mem = Hashtbl.mem;; -+ -+let list_rev_append = List.rev_append;; -+ -+let list_rev_map = List.rev_map;; -+ -+let list_sort = List.sort;; -+ -+let pervasives_set_binary_mode_out = Pervasives.set_binary_mode_out;; -+ -+let printf_ksprintf = Printf.ksprintf;; -+ -+let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.02.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.02.0.ml ---- camlp5-6.11/ocaml_src/lib/versdep/4.02.0.ml 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.02.0.ml 2014-08-01 10:14:54.309065434 +0100 -@@ -0,0 +1,657 @@ -+(* camlp5r pa_macro.cmo *) -+(* versdep.ml,v *) -+(* Copyright (c) INRIA 2007-2012 *) -+ -+open Parsetree;; -+open Longident;; -+open Asttypes;; -+ -+type ('a, 'b) choice = -+ Left of 'a -+ | Right of 'b -+;; -+ -+let sys_ocaml_version = Sys.ocaml_version;; -+ -+let ocaml_location (fname, lnum, bolp, lnuml, bolpl, bp, ep) = -+ let loc_at n lnum bolp = -+ {Lexing.pos_fname = if lnum = -1 then "" else fname; -+ Lexing.pos_lnum = lnum; Lexing.pos_bol = bolp; Lexing.pos_cnum = n} -+ in -+ {Location.loc_start = loc_at bp lnum bolp; -+ Location.loc_end = loc_at ep lnuml bolpl; -+ Location.loc_ghost = bp = 0 && ep = 0} -+;; -+ -+let loc_none = -+ let loc = -+ {Lexing.pos_fname = "_none_"; Lexing.pos_lnum = 1; Lexing.pos_bol = 0; -+ Lexing.pos_cnum = -1} -+ in -+ {Location.loc_start = loc; Location.loc_end = loc; -+ Location.loc_ghost = true} -+;; -+ -+let mkloc loc txt = {Location.txt = txt; Location.loc = loc};; -+let mknoloc txt = mkloc loc_none txt;; -+ -+let ocaml_id_or_li_of_string_list loc sl = -+ let mkli s = -+ let rec loop f = -+ function -+ i :: il -> loop (fun s -> Ldot (f i, s)) il -+ | [] -> f s -+ in -+ loop (fun s -> Lident s) -+ in -+ match List.rev sl with -+ [] -> None -+ | s :: sl -> Some (mkli s (List.rev sl)) -+;; -+ -+let list_map_check f l = -+ let rec loop rev_l = -+ function -+ x :: l -> -+ begin match f x with -+ Some s -> loop (s :: rev_l) l -+ | None -> None -+ end -+ | [] -> Some (List.rev rev_l) -+ in -+ loop [] l -+;; -+ -+let ocaml_value_description vn t p = -+ {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc; -+ pval_name = mkloc t.ptyp_loc vn; pval_attributes = []} -+;; -+ -+let ocaml_class_type_field loc ctfd = -+ {pctf_desc = ctfd; pctf_loc = loc; pctf_attributes = []} -+;; -+ -+let ocaml_class_field loc cfd = -+ {pcf_desc = cfd; pcf_loc = loc; pcf_attributes = []} -+;; -+ -+let ocaml_mktyp loc x = -+ {ptyp_desc = x; ptyp_loc = loc; ptyp_attributes = []} -+;; -+let ocaml_mkpat loc x = -+ {ppat_desc = x; ppat_loc = loc; ppat_attributes = []} -+;; -+let ocaml_mkexp loc x = -+ {pexp_desc = x; pexp_loc = loc; pexp_attributes = []} -+;; -+let ocaml_mkmty loc x = -+ {pmty_desc = x; pmty_loc = loc; pmty_attributes = []} -+;; -+let ocaml_mkmod loc x = -+ {pmod_desc = x; pmod_loc = loc; pmod_attributes = []} -+;; -+let ocaml_mkfield loc (lab, x) fl = (lab, x) :: fl;; -+let ocaml_mkfield_var loc = [];; -+ -+let variance_of_bool_bool = -+ function -+ false, true -> Contravariant -+ | true, false -> Covariant -+ | _ -> Invariant -+;; -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = -+ match list_map_check (fun s_opt -> s_opt) params with -+ Some params -> -+ let _ = -+ if List.length params <> List.length variance then -+ failwith "internal error: ocaml_type_declaration" -+ in -+ let params = -+ List.map2 -+ (fun os va -> -+ ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) -+ params variance -+ in -+ Right -+ {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; -+ ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; -+ ptype_name = mkloc loc tn; ptype_attributes = []} -+ | None -> Left "no '_' type param in this ocaml version" -+;; -+ -+let ocaml_class_type = -+ Some (fun d loc -> {pcty_desc = d; pcty_loc = loc; pcty_attributes = []}) -+;; -+ -+let ocaml_class_expr = -+ Some (fun d loc -> {pcl_desc = d; pcl_loc = loc; pcl_attributes = []}) -+;; -+ -+let ocaml_class_structure p cil = {pcstr_self = p; pcstr_fields = cil};; -+ -+let ocaml_pmty_ident loc li = Pmty_ident (mkloc loc li);; -+ -+let ocaml_pmty_functor sloc s mt1 mt2 = -+ Pmty_functor (mkloc sloc s, Some mt1, mt2) -+;; -+ -+let ocaml_pmty_typeof = Some (fun me -> Pmty_typeof me);; -+ -+let ocaml_pmty_with mt lcl = -+ let lcl = List.map snd lcl in Pmty_with (mt, lcl) -+;; -+ -+let ocaml_ptype_abstract = Ptype_abstract;; -+ -+let ocaml_ptype_record ltl priv = -+ Ptype_record -+ (List.map -+ (fun (s, mf, ct, loc) -> -+ {pld_name = mkloc loc s; pld_mutable = mf; pld_type = ct; -+ pld_loc = loc; pld_attributes = []}) -+ ltl) -+;; -+ -+let ocaml_ptype_variant ctl priv = -+ try -+ let ctl = -+ List.map -+ (fun (c, tl, rto, loc) -> -+ if rto <> None then raise Exit -+ else -+ {pcd_name = mkloc loc c; pcd_args = tl; pcd_res = None; -+ pcd_loc = loc; pcd_attributes = []}) -+ ctl -+ in -+ Some (Ptype_variant ctl) -+ with Exit -> None -+;; -+ -+let ocaml_ptyp_arrow lab t1 t2 = Ptyp_arrow (lab, t1, t2);; -+ -+let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl);; -+ -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = -+ let ml = List.map (fun (s, t) -> s, [], t) ml in Ptyp_object (ml, Closed) -+;; -+ -+let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; -+ -+let ocaml_ptyp_poly = -+ Some -+ (fun cl t -> -+ match cl with -+ [] -> t.ptyp_desc -+ | _ -> Ptyp_poly (cl, t)) -+;; -+ -+let ocaml_ptyp_variant catl clos sl_opt = -+ let catl = -+ List.map -+ (function -+ Left (c, a, tl) -> Rtag (c, [], a, tl) -+ | Right t -> Rinherit t) -+ catl -+ in -+ let clos = if clos then Closed else Open in -+ Some (Ptyp_variant (catl, clos, sl_opt)) -+;; -+ -+let ocaml_package_type li ltl = -+ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl -+;; -+ -+let ocaml_const_string s = Const_string (s, None);; -+ -+let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; -+ -+let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -+ -+let ocaml_const_nativeint = -+ Some (fun s -> Const_nativeint (Nativeint.of_string s)) -+;; -+ -+let ocaml_pexp_apply f lel = Pexp_apply (f, lel);; -+ -+let ocaml_pexp_assertfalse fname loc = -+ Pexp_assert -+ (ocaml_mkexp loc (Pexp_construct (mkloc loc (Lident "false"), None))) -+;; -+ -+let ocaml_pexp_assert fname loc e = Pexp_assert e;; -+ -+let ocaml_pexp_constraint e ot1 ot2 = -+ match ot2 with -+ Some t2 -> Pexp_coerce (e, ot1, t2) -+ | None -> -+ match ot1 with -+ Some t1 -> Pexp_constraint (e, t1) -+ | None -> failwith "internal error: ocaml_pexp_constraint" -+;; -+ -+let ocaml_pexp_construct loc li po chk_arity = -+ Pexp_construct (mkloc loc li, po) -+;; -+ -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po) -> Some (li.txt, li.loc, po, 0) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ {pexp_desc = ocaml_pexp_construct li_loc li (Some a) true; pexp_loc = loc; -+ pexp_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} -+;; -+ -+let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; -+ -+let ocaml_pexp_for i e1 e2 df e = -+ Pexp_for (ocaml_mkpat loc_none (Ppat_var (mknoloc i)), e1, e2, df, e) -+;; -+ -+let ocaml_case (p, wo, loc, e) = {pc_lhs = p; pc_guard = wo; pc_rhs = e};; -+ -+let ocaml_pexp_function lab eo pel = -+ match pel with -+ [{pc_lhs = p; pc_guard = None; pc_rhs = e}] -> Pexp_fun (lab, eo, p, e) -+ | pel -> -+ if lab = "" && eo = None then Pexp_function pel -+ else failwith "internal error: bad ast in ocaml_pexp_function" -+;; -+ -+let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -+ -+let ocaml_pexp_ident li = Pexp_ident (mknoloc li);; -+ -+let ocaml_pexp_letmodule = -+ Some (fun i me e -> Pexp_letmodule (mknoloc i, me, e)) -+;; -+ -+let ocaml_pexp_new loc li = Pexp_new (mkloc loc li);; -+ -+let ocaml_pexp_newtype = Some (fun s e -> Pexp_newtype (s, e));; -+ -+let ocaml_pexp_object = Some (fun cs -> Pexp_object cs);; -+ -+let ocaml_pexp_open = Some (fun li e -> Pexp_open (Fresh, mknoloc li, e));; -+ -+let ocaml_pexp_override sel = -+ let sel = List.map (fun (s, e) -> mknoloc s, e) sel in Pexp_override sel -+;; -+ -+let ocaml_pexp_pack : ('a -> 'b -> 'c, 'd) choice option = -+ Some (Right ((fun me -> Pexp_pack me), (fun pt -> Ptyp_package pt))) -+;; -+ -+let ocaml_pexp_poly = Some (fun e t -> Pexp_poly (e, t));; -+ -+let ocaml_pexp_record lel eo = -+ let lel = List.map (fun (li, loc, e) -> mkloc loc li, e) lel in -+ Pexp_record (lel, eo) -+;; -+ -+let ocaml_pexp_setinstvar s e = Pexp_setinstvar (mknoloc s, e);; -+ -+let ocaml_pexp_variant = -+ let pexp_variant_pat = -+ function -+ Pexp_variant (lab, eo) -> Some (lab, eo) -+ | _ -> None -+ in -+ let pexp_variant (lab, eo) = Pexp_variant (lab, eo) in -+ Some (pexp_variant_pat, pexp_variant) -+;; -+ -+let ocaml_value_binding loc p e = -+ {pvb_pat = p; pvb_expr = e; pvb_loc = loc; pvb_attributes = []} -+;; -+ -+let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; -+ -+let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -+ -+let ocaml_ppat_construct loc li po chk_arity = -+ Ppat_construct (mkloc loc li, po) -+;; -+ -+let ocaml_ppat_construct_args = -+ function -+ Ppat_construct (li, po) -> Some (li.txt, li.loc, po, 0) -+ | _ -> None -+;; -+ -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ {ppat_desc = ocaml_ppat_construct li_loc li (Some a) true; ppat_loc = loc; -+ ppat_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} -+;; -+ -+let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; -+ -+let ocaml_ppat_record lpl is_closed = -+ let lpl = List.map (fun (li, loc, p) -> mkloc loc li, p) lpl in -+ Ppat_record (lpl, (if is_closed then Closed else Open)) -+;; -+ -+let ocaml_ppat_type = Some (fun loc li -> Ppat_type (mkloc loc li));; -+ -+let ocaml_ppat_unpack = -+ Some ((fun loc s -> Ppat_unpack (mkloc loc s)), (fun pt -> Ptyp_package pt)) -+;; -+ -+let ocaml_ppat_var loc s = Ppat_var (mkloc loc s);; -+ -+let ocaml_ppat_variant = -+ let ppat_variant_pat = -+ function -+ Ppat_variant (lab, po) -> Some (lab, po) -+ | _ -> None -+ in -+ let ppat_variant (lab, po) = Ppat_variant (lab, po) in -+ Some (ppat_variant_pat, ppat_variant) -+;; -+ -+let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -+ -+let ocaml_psig_exception loc s ed = -+ Psig_exception -+ {pext_name = mkloc loc s; pext_kind = Pext_decl (ed, None); -+ pext_loc = loc; pext_attributes = []} -+;; -+ -+let ocaml_psig_include loc mt = -+ Psig_include {pincl_mod = mt; pincl_loc = loc; pincl_attributes = []} -+;; -+ -+let ocaml_psig_module loc s mt = -+ Psig_module -+ {pmd_name = mkloc loc s; pmd_type = mt; pmd_attributes = []; -+ pmd_loc = loc} -+;; -+ -+let ocaml_psig_modtype loc s mto = -+ let pmtd = -+ {pmtd_name = mkloc loc s; pmtd_type = mto; pmtd_attributes = []; -+ pmtd_loc = loc} -+ in -+ Psig_modtype pmtd -+;; -+ -+let ocaml_psig_open loc li = -+ Psig_open -+ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; -+ popen_attributes = []} -+;; -+ -+let ocaml_psig_recmodule = -+ let f ntl = -+ let ntl = -+ List.map -+ (fun (s, mt) -> -+ {pmd_name = mknoloc s; pmd_type = mt; pmd_attributes = []; -+ pmd_loc = loc_none}) -+ ntl -+ in -+ Psig_recmodule ntl -+ in -+ Some f -+;; -+ -+let ocaml_psig_type stl = -+ let stl = List.map (fun (s, t) -> t) stl in Psig_type stl -+;; -+ -+let ocaml_psig_value s vd = Psig_value vd;; -+ -+let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -+ -+let ocaml_pstr_eval e = Pstr_eval (e, []);; -+ -+let ocaml_pstr_exception loc s ed = -+ Pstr_exception -+ {pext_name = mkloc loc s; pext_kind = Pext_decl (ed, None); -+ pext_loc = loc; pext_attributes = []} -+;; -+ -+let ocaml_pstr_exn_rebind = -+ Some -+ (fun loc s li -> -+ Pstr_exception -+ {pext_name = mkloc loc s; pext_kind = Pext_rebind (mkloc loc li); -+ pext_loc = loc; pext_attributes = []}) -+;; -+ -+let ocaml_pstr_include = -+ Some -+ (fun loc me -> -+ Pstr_include {pincl_mod = me; pincl_loc = loc; pincl_attributes = []}) -+;; -+ -+let ocaml_pstr_modtype loc s mt = -+ let pmtd = -+ {pmtd_name = mkloc loc s; pmtd_type = Some mt; pmtd_attributes = []; -+ pmtd_loc = loc} -+ in -+ Pstr_modtype pmtd -+;; -+ -+let ocaml_pstr_module loc s me = -+ let mb = -+ {pmb_name = mkloc loc s; pmb_expr = me; pmb_attributes = []; -+ pmb_loc = loc} -+ in -+ Pstr_module mb -+;; -+ -+let ocaml_pstr_open loc li = -+ Pstr_open -+ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; -+ popen_attributes = []} -+;; -+ -+let ocaml_pstr_primitive s vd = Pstr_primitive vd;; -+ -+let ocaml_pstr_recmodule = -+ let f nel = -+ Pstr_recmodule -+ (List.map -+ (fun (s, mt, me) -> -+ {pmb_name = mknoloc s; pmb_expr = me; pmb_attributes = []; -+ pmb_loc = loc_none}) -+ nel) -+ in -+ Some f -+;; -+ -+let ocaml_pstr_type stl = -+ let stl = List.map (fun (s, t) -> t) stl in Pstr_type stl -+;; -+ -+let ocaml_class_infos = -+ Some -+ (fun virt (sl, sloc) name expr loc variance -> -+ let _ = -+ if List.length sl <> List.length variance then -+ failwith "internal error: ocaml_class_infos" -+ in -+ let params = -+ List.map2 -+ (fun os va -> -+ ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) -+ sl variance -+ in -+ {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; -+ pci_expr = expr; pci_loc = loc; pci_attributes = []}) -+;; -+ -+let ocaml_pmod_ident li = Pmod_ident (mknoloc li);; -+ -+let ocaml_pmod_functor s mt me = Pmod_functor (mknoloc s, Some mt, me);; -+ -+let ocaml_pmod_unpack : ('a -> 'b -> 'c, 'd) choice option = -+ Some (Right ((fun e -> Pmod_unpack e), (fun pt -> Ptyp_package pt))) -+;; -+ -+let ocaml_pcf_cstr = Some (fun (t1, t2, loc) -> Pcf_constraint (t1, t2));; -+ -+let ocaml_pcf_inher ce pb = Pcf_inherit (Fresh, ce, pb);; -+ -+let ocaml_pcf_init = Some (fun e -> Pcf_initializer e);; -+ -+let ocaml_pcf_meth (s, pf, ovf, e, loc) = -+ let pf = if pf then Private else Public in -+ let ovf = if ovf then Override else Fresh in -+ Pcf_method (mkloc loc s, pf, Cfk_concrete (ovf, e)) -+;; -+ -+let ocaml_pcf_val (s, mf, ovf, e, loc) = -+ let mf = if mf then Mutable else Immutable in -+ let ovf = if ovf then Override else Fresh in -+ Pcf_val (mkloc loc s, mf, Cfk_concrete (ovf, e)) -+;; -+ -+let ocaml_pcf_valvirt = -+ let ocaml_pcf (s, mf, t, loc) = -+ let mf = if mf then Mutable else Immutable in -+ Pcf_val (mkloc loc s, mf, Cfk_virtual t) -+ in -+ Some ocaml_pcf -+;; -+ -+let ocaml_pcf_virt (s, pf, t, loc) = -+ Pcf_val (mkloc loc s, Immutable, Cfk_virtual t) -+;; -+ -+let ocaml_pcl_apply = Some (fun ce lel -> Pcl_apply (ce, lel));; -+ -+let ocaml_pcl_constr = Some (fun li ctl -> Pcl_constr (mknoloc li, ctl));; -+ -+let ocaml_pcl_constraint = Some (fun ce ct -> Pcl_constraint (ce, ct));; -+ -+let ocaml_pcl_fun = Some (fun lab ceo p ce -> Pcl_fun (lab, ceo, p, ce));; -+ -+let ocaml_pcl_let = Some (fun rf pel ce -> Pcl_let (rf, pel, ce));; -+ -+let ocaml_pcl_structure = Some (fun cs -> Pcl_structure cs);; -+ -+let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_constraint (t1, t2));; -+ -+let ocaml_pctf_inher ct = Pctf_inherit ct;; -+ -+let ocaml_pctf_meth (s, pf, t, loc) = Pctf_method (s, pf, Concrete, t);; -+ -+let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; -+ -+let ocaml_pctf_virt (s, pf, t, loc) = Pctf_val (s, Immutable, Virtual, t);; -+ -+let ocaml_pcty_constr = Some (fun li ltl -> Pcty_constr (mknoloc li, ltl));; -+ -+let ocaml_pcty_fun = Some (fun lab t ct -> Pcty_arrow (lab, t, ct));; -+ -+let ocaml_pcty_signature = -+ let f (t, ctfl) = -+ let cs = {pcsig_self = t; pcsig_fields = ctfl} in Pcty_signature cs -+ in -+ Some f -+;; -+ -+let ocaml_pdir_bool = Some (fun b -> Pdir_bool b);; -+ -+let ocaml_pwith_modsubst = -+ Some (fun loc me -> Pwith_modsubst (mkloc loc "", mkloc loc me)) -+;; -+ -+let ocaml_pwith_type loc (i, td) = Pwith_type (mkloc loc i, td);; -+ -+let ocaml_pwith_module loc me = -+ Pwith_module (mkloc loc (Lident ""), mkloc loc me) -+;; -+ -+let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; -+ -+let module_prefix_can_be_in_first_record_label_only = true;; -+ -+let split_or_patterns_with_bindings = false;; -+ -+let has_records_with_with = true;; -+ -+(* *) -+ -+let jocaml_pstr_def : (_ -> _) option = None;; -+ -+let jocaml_pexp_def : (_ -> _ -> _) option = None;; -+ -+let jocaml_pexp_par : (_ -> _ -> _) option = None;; -+ -+let jocaml_pexp_reply : (_ -> _ -> _ -> _) option = None;; -+ -+let jocaml_pexp_spawn : (_ -> _) option = None;; -+ -+let arg_rest = -+ function -+ Arg.Rest r -> Some r -+ | _ -> None -+;; -+ -+let arg_set_string = -+ function -+ Arg.Set_string r -> Some r -+ | _ -> None -+;; -+ -+let arg_set_int = -+ function -+ Arg.Set_int r -> Some r -+ | _ -> None -+;; -+ -+let arg_set_float = -+ function -+ Arg.Set_float r -> Some r -+ | _ -> None -+;; -+ -+let arg_symbol = -+ function -+ Arg.Symbol (s, f) -> Some (s, f) -+ | _ -> None -+;; -+ -+let arg_tuple = -+ function -+ Arg.Tuple t -> Some t -+ | _ -> None -+;; -+ -+let arg_bool = -+ function -+ Arg.Bool f -> Some f -+ | _ -> None -+;; -+ -+let char_escaped = Char.escaped;; -+ -+let hashtbl_mem = Hashtbl.mem;; -+ -+let list_rev_append = List.rev_append;; -+ -+let list_rev_map = List.rev_map;; -+ -+let list_sort = List.sort;; -+ -+let pervasives_set_binary_mode_out = Pervasives.set_binary_mode_out;; -+ -+let printf_ksprintf = Printf.ksprintf;; -+ -+let string_contains = String.contains;; -+ -+let string_create = Bytes.create;; -+ -+let string_unsafe_set = Bytes.unsafe_set;; -+ -+let string_set = Bytes.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.03.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.03.0.ml ---- camlp5-6.11/ocaml_src/lib/versdep/4.03.0.ml 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.03.0.ml 2014-08-01 10:14:54.309065434 +0100 -@@ -0,0 +1,657 @@ -+(* camlp5r pa_macro.cmo *) -+(* versdep.ml,v *) -+(* Copyright (c) INRIA 2007-2012 *) -+ -+open Parsetree;; -+open Longident;; -+open Asttypes;; -+ -+type ('a, 'b) choice = -+ Left of 'a -+ | Right of 'b -+;; -+ -+let sys_ocaml_version = Sys.ocaml_version;; -+ -+let ocaml_location (fname, lnum, bolp, lnuml, bolpl, bp, ep) = -+ let loc_at n lnum bolp = -+ {Lexing.pos_fname = if lnum = -1 then "" else fname; -+ Lexing.pos_lnum = lnum; Lexing.pos_bol = bolp; Lexing.pos_cnum = n} -+ in -+ {Location.loc_start = loc_at bp lnum bolp; -+ Location.loc_end = loc_at ep lnuml bolpl; -+ Location.loc_ghost = bp = 0 && ep = 0} -+;; -+ -+let loc_none = -+ let loc = -+ {Lexing.pos_fname = "_none_"; Lexing.pos_lnum = 1; Lexing.pos_bol = 0; -+ Lexing.pos_cnum = -1} -+ in -+ {Location.loc_start = loc; Location.loc_end = loc; -+ Location.loc_ghost = true} -+;; -+ -+let mkloc loc txt = {Location.txt = txt; Location.loc = loc};; -+let mknoloc txt = mkloc loc_none txt;; -+ -+let ocaml_id_or_li_of_string_list loc sl = -+ let mkli s = -+ let rec loop f = -+ function -+ i :: il -> loop (fun s -> Ldot (f i, s)) il -+ | [] -> f s -+ in -+ loop (fun s -> Lident s) -+ in -+ match List.rev sl with -+ [] -> None -+ | s :: sl -> Some (mkli s (List.rev sl)) -+;; -+ -+let list_map_check f l = -+ let rec loop rev_l = -+ function -+ x :: l -> -+ begin match f x with -+ Some s -> loop (s :: rev_l) l -+ | None -> None -+ end -+ | [] -> Some (List.rev rev_l) -+ in -+ loop [] l -+;; -+ -+let ocaml_value_description vn t p = -+ {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc; -+ pval_name = mkloc t.ptyp_loc vn; pval_attributes = []} -+;; -+ -+let ocaml_class_type_field loc ctfd = -+ {pctf_desc = ctfd; pctf_loc = loc; pctf_attributes = []} -+;; -+ -+let ocaml_class_field loc cfd = -+ {pcf_desc = cfd; pcf_loc = loc; pcf_attributes = []} -+;; -+ -+let ocaml_mktyp loc x = -+ {ptyp_desc = x; ptyp_loc = loc; ptyp_attributes = []} -+;; -+let ocaml_mkpat loc x = -+ {ppat_desc = x; ppat_loc = loc; ppat_attributes = []} -+;; -+let ocaml_mkexp loc x = -+ {pexp_desc = x; pexp_loc = loc; pexp_attributes = []} -+;; -+let ocaml_mkmty loc x = -+ {pmty_desc = x; pmty_loc = loc; pmty_attributes = []} -+;; -+let ocaml_mkmod loc x = -+ {pmod_desc = x; pmod_loc = loc; pmod_attributes = []} -+;; -+let ocaml_mkfield loc (lab, x) fl = (lab, x) :: fl;; -+let ocaml_mkfield_var loc = [];; -+ -+let variance_of_bool_bool = -+ function -+ false, true -> Contravariant -+ | true, false -> Covariant -+ | _ -> Invariant -+;; -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = -+ match list_map_check (fun s_opt -> s_opt) params with -+ Some params -> -+ let _ = -+ if List.length params <> List.length variance then -+ failwith "internal error: ocaml_type_declaration" -+ in -+ let params = -+ List.map2 -+ (fun os va -> -+ ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) -+ params variance -+ in -+ Right -+ {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; -+ ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; -+ ptype_name = mkloc loc tn; ptype_attributes = []} -+ | None -> Left "no '_' type param in this ocaml version" -+;; -+ -+let ocaml_class_type = -+ Some (fun d loc -> {pcty_desc = d; pcty_loc = loc; pcty_attributes = []}) -+;; -+ -+let ocaml_class_expr = -+ Some (fun d loc -> {pcl_desc = d; pcl_loc = loc; pcl_attributes = []}) -+;; -+ -+let ocaml_class_structure p cil = {pcstr_self = p; pcstr_fields = cil};; -+ -+let ocaml_pmty_ident loc li = Pmty_ident (mkloc loc li);; -+ -+let ocaml_pmty_functor sloc s mt1 mt2 = -+ Pmty_functor (mkloc sloc s, Some mt1, mt2) -+;; -+ -+let ocaml_pmty_typeof = Some (fun me -> Pmty_typeof me);; -+ -+let ocaml_pmty_with mt lcl = -+ let lcl = List.map snd lcl in Pmty_with (mt, lcl) -+;; -+ -+let ocaml_ptype_abstract = Ptype_abstract;; -+ -+let ocaml_ptype_record ltl priv = -+ Ptype_record -+ (List.map -+ (fun (s, mf, ct, loc) -> -+ {pld_name = mkloc loc s; pld_mutable = mf; pld_type = ct; -+ pld_loc = loc; pld_attributes = []}) -+ ltl) -+;; -+ -+let ocaml_ptype_variant ctl priv = -+ try -+ let ctl = -+ List.map -+ (fun (c, tl, rto, loc) -> -+ if rto <> None then raise Exit -+ else -+ {pcd_name = mkloc loc c; pcd_args = tl; pcd_res = None; -+ pcd_loc = loc; pcd_attributes = []}) -+ ctl -+ in -+ Some (Ptype_variant ctl) -+ with Exit -> None -+;; -+ -+let ocaml_ptyp_arrow lab t1 t2 = Ptyp_arrow (lab, t1, t2);; -+ -+let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl);; -+ -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = -+ let ml = List.map (fun (s, t) -> s, [], t) ml in Ptyp_object (ml, Closed) -+;; -+ -+let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; -+ -+let ocaml_ptyp_poly = -+ Some -+ (fun cl t -> -+ match cl with -+ [] -> t.ptyp_desc -+ | _ -> Ptyp_poly (cl, t)) -+;; -+ -+let ocaml_ptyp_variant catl clos sl_opt = -+ let catl = -+ List.map -+ (function -+ Left (c, a, tl) -> Rtag (c, [], a, tl) -+ | Right t -> Rinherit t) -+ catl -+ in -+ let clos = if clos then Closed else Open in -+ Some (Ptyp_variant (catl, clos, sl_opt)) -+;; -+ -+let ocaml_package_type li ltl = -+ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl -+;; -+ -+let ocaml_const_string s = Const_string (s, None);; -+ -+let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; -+ -+let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -+ -+let ocaml_const_nativeint = -+ Some (fun s -> Const_nativeint (Nativeint.of_string s)) -+;; -+ -+let ocaml_pexp_apply f lel = Pexp_apply (f, lel);; -+ -+let ocaml_pexp_assertfalse fname loc = -+ Pexp_assert -+ (ocaml_mkexp loc (Pexp_construct (mkloc loc (Lident "false"), None))) -+;; -+ -+let ocaml_pexp_assert fname loc e = Pexp_assert e;; -+ -+let ocaml_pexp_constraint e ot1 ot2 = -+ match ot2 with -+ Some t2 -> Pexp_coerce (e, ot1, t2) -+ | None -> -+ match ot1 with -+ Some t1 -> Pexp_constraint (e, t1) -+ | None -> failwith "internal error: ocaml_pexp_constraint" -+;; -+ -+let ocaml_pexp_construct loc li po chk_arity = -+ Pexp_construct (mkloc loc li, po) -+;; -+ -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po) -> Some (li.txt, li.loc, po, 0) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ {pexp_desc = ocaml_pexp_construct li_loc li (Some a) true; pexp_loc = loc; -+ pexp_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} -+;; -+ -+let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; -+ -+let ocaml_pexp_for i e1 e2 df e = -+ Pexp_for (ocaml_mkpat loc_none (Ppat_var (mknoloc i)), e1, e2, df, e) -+;; -+ -+let ocaml_case (p, wo, loc, e) = {pc_lhs = p; pc_guard = wo; pc_rhs = e};; -+ -+let ocaml_pexp_function lab eo pel = -+ match pel with -+ [{pc_lhs = p; pc_guard = None; pc_rhs = e}] -> Pexp_fun (lab, eo, p, e) -+ | pel -> -+ if lab = "" && eo = None then Pexp_function pel -+ else failwith "internal error: bad ast in ocaml_pexp_function" -+;; -+ -+let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -+ -+let ocaml_pexp_ident li = Pexp_ident (mknoloc li);; -+ -+let ocaml_pexp_letmodule = -+ Some (fun i me e -> Pexp_letmodule (mknoloc i, me, e)) -+;; -+ -+let ocaml_pexp_new loc li = Pexp_new (mkloc loc li);; -+ -+let ocaml_pexp_newtype = Some (fun s e -> Pexp_newtype (s, e));; -+ -+let ocaml_pexp_object = Some (fun cs -> Pexp_object cs);; -+ -+let ocaml_pexp_open = Some (fun li e -> Pexp_open (Fresh, mknoloc li, e));; -+ -+let ocaml_pexp_override sel = -+ let sel = List.map (fun (s, e) -> mknoloc s, e) sel in Pexp_override sel -+;; -+ -+let ocaml_pexp_pack : ('a -> 'b -> 'c, 'd) choice option = -+ Some (Right ((fun me -> Pexp_pack me), (fun pt -> Ptyp_package pt))) -+;; -+ -+let ocaml_pexp_poly = Some (fun e t -> Pexp_poly (e, t));; -+ -+let ocaml_pexp_record lel eo = -+ let lel = List.map (fun (li, loc, e) -> mkloc loc li, e) lel in -+ Pexp_record (lel, eo) -+;; -+ -+let ocaml_pexp_setinstvar s e = Pexp_setinstvar (mknoloc s, e);; -+ -+let ocaml_pexp_variant = -+ let pexp_variant_pat = -+ function -+ Pexp_variant (lab, eo) -> Some (lab, eo) -+ | _ -> None -+ in -+ let pexp_variant (lab, eo) = Pexp_variant (lab, eo) in -+ Some (pexp_variant_pat, pexp_variant) -+;; -+ -+let ocaml_value_binding loc p e = -+ {pvb_pat = p; pvb_expr = e; pvb_loc = loc; pvb_attributes = []} -+;; -+ -+let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; -+ -+let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -+ -+let ocaml_ppat_construct loc li po chk_arity = -+ Ppat_construct (mkloc loc li, po) -+;; -+ -+let ocaml_ppat_construct_args = -+ function -+ Ppat_construct (li, po) -> Some (li.txt, li.loc, po, 0) -+ | _ -> None -+;; -+ -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ {ppat_desc = ocaml_ppat_construct li_loc li (Some a) true; ppat_loc = loc; -+ ppat_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} -+;; -+ -+let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; -+ -+let ocaml_ppat_record lpl is_closed = -+ let lpl = List.map (fun (li, loc, p) -> mkloc loc li, p) lpl in -+ Ppat_record (lpl, (if is_closed then Closed else Open)) -+;; -+ -+let ocaml_ppat_type = Some (fun loc li -> Ppat_type (mkloc loc li));; -+ -+let ocaml_ppat_unpack = -+ Some ((fun loc s -> Ppat_unpack (mkloc loc s)), (fun pt -> Ptyp_package pt)) -+;; -+ -+let ocaml_ppat_var loc s = Ppat_var (mkloc loc s);; -+ -+let ocaml_ppat_variant = -+ let ppat_variant_pat = -+ function -+ Ppat_variant (lab, po) -> Some (lab, po) -+ | _ -> None -+ in -+ let ppat_variant (lab, po) = Ppat_variant (lab, po) in -+ Some (ppat_variant_pat, ppat_variant) -+;; -+ -+let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -+ -+let ocaml_psig_exception loc s ed = -+ Psig_exception -+ {pext_name = mkloc loc s; pext_kind = Pext_decl (ed, None); -+ pext_loc = loc; pext_attributes = []} -+;; -+ -+let ocaml_psig_include loc mt = -+ Psig_include {pincl_mod = mt; pincl_loc = loc; pincl_attributes = []} -+;; -+ -+let ocaml_psig_module loc s mt = -+ Psig_module -+ {pmd_name = mkloc loc s; pmd_type = mt; pmd_attributes = []; -+ pmd_loc = loc} -+;; -+ -+let ocaml_psig_modtype loc s mto = -+ let pmtd = -+ {pmtd_name = mkloc loc s; pmtd_type = mto; pmtd_attributes = []; -+ pmtd_loc = loc} -+ in -+ Psig_modtype pmtd -+;; -+ -+let ocaml_psig_open loc li = -+ Psig_open -+ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; -+ popen_attributes = []} -+;; -+ -+let ocaml_psig_recmodule = -+ let f ntl = -+ let ntl = -+ List.map -+ (fun (s, mt) -> -+ {pmd_name = mknoloc s; pmd_type = mt; pmd_attributes = []; -+ pmd_loc = loc_none}) -+ ntl -+ in -+ Psig_recmodule ntl -+ in -+ Some f -+;; -+ -+let ocaml_psig_type stl = -+ let stl = List.map (fun (s, t) -> t) stl in Psig_type stl -+;; -+ -+let ocaml_psig_value s vd = Psig_value vd;; -+ -+let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -+ -+let ocaml_pstr_eval e = Pstr_eval (e, []);; -+ -+let ocaml_pstr_exception loc s ed = -+ Pstr_exception -+ {pext_name = mkloc loc s; pext_kind = Pext_decl (ed, None); -+ pext_loc = loc; pext_attributes = []} -+;; -+ -+let ocaml_pstr_exn_rebind = -+ Some -+ (fun loc s li -> -+ Pstr_exception -+ {pext_name = mkloc loc s; pext_kind = Pext_rebind (mkloc loc li); -+ pext_loc = loc; pext_attributes = []}) -+;; -+ -+let ocaml_pstr_include = -+ Some -+ (fun loc me -> -+ Pstr_include {pincl_mod = me; pincl_loc = loc; pincl_attributes = []}) -+;; -+ -+let ocaml_pstr_modtype loc s mt = -+ let pmtd = -+ {pmtd_name = mkloc loc s; pmtd_type = Some mt; pmtd_attributes = []; -+ pmtd_loc = loc} -+ in -+ Pstr_modtype pmtd -+;; -+ -+let ocaml_pstr_module loc s me = -+ let mb = -+ {pmb_name = mkloc loc s; pmb_expr = me; pmb_attributes = []; -+ pmb_loc = loc} -+ in -+ Pstr_module mb -+;; -+ -+let ocaml_pstr_open loc li = -+ Pstr_open -+ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; -+ popen_attributes = []} -+;; -+ -+let ocaml_pstr_primitive s vd = Pstr_primitive vd;; -+ -+let ocaml_pstr_recmodule = -+ let f nel = -+ Pstr_recmodule -+ (List.map -+ (fun (s, mt, me) -> -+ {pmb_name = mknoloc s; pmb_expr = me; pmb_attributes = []; -+ pmb_loc = loc_none}) -+ nel) -+ in -+ Some f -+;; -+ -+let ocaml_pstr_type stl = -+ let stl = List.map (fun (s, t) -> t) stl in Pstr_type stl -+;; -+ -+let ocaml_class_infos = -+ Some -+ (fun virt (sl, sloc) name expr loc variance -> -+ let _ = -+ if List.length sl <> List.length variance then -+ failwith "internal error: ocaml_class_infos" -+ in -+ let params = -+ List.map2 -+ (fun os va -> -+ ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) -+ sl variance -+ in -+ {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; -+ pci_expr = expr; pci_loc = loc; pci_attributes = []}) -+;; -+ -+let ocaml_pmod_ident li = Pmod_ident (mknoloc li);; -+ -+let ocaml_pmod_functor s mt me = Pmod_functor (mknoloc s, Some mt, me);; -+ -+let ocaml_pmod_unpack : ('a -> 'b -> 'c, 'd) choice option = -+ Some (Right ((fun e -> Pmod_unpack e), (fun pt -> Ptyp_package pt))) -+;; -+ -+let ocaml_pcf_cstr = Some (fun (t1, t2, loc) -> Pcf_constraint (t1, t2));; -+ -+let ocaml_pcf_inher ce pb = Pcf_inherit (Fresh, ce, pb);; -+ -+let ocaml_pcf_init = Some (fun e -> Pcf_initializer e);; -+ -+let ocaml_pcf_meth (s, pf, ovf, e, loc) = -+ let pf = if pf then Private else Public in -+ let ovf = if ovf then Override else Fresh in -+ Pcf_method (mkloc loc s, pf, Cfk_concrete (ovf, e)) -+;; -+ -+let ocaml_pcf_val (s, mf, ovf, e, loc) = -+ let mf = if mf then Mutable else Immutable in -+ let ovf = if ovf then Override else Fresh in -+ Pcf_val (mkloc loc s, mf, Cfk_concrete (ovf, e)) -+;; -+ -+let ocaml_pcf_valvirt = -+ let ocaml_pcf (s, mf, t, loc) = -+ let mf = if mf then Mutable else Immutable in -+ Pcf_val (mkloc loc s, mf, Cfk_virtual t) -+ in -+ Some ocaml_pcf -+;; -+ -+let ocaml_pcf_virt (s, pf, t, loc) = -+ Pcf_val (mkloc loc s, Immutable, Cfk_virtual t) -+;; -+ -+let ocaml_pcl_apply = Some (fun ce lel -> Pcl_apply (ce, lel));; -+ -+let ocaml_pcl_constr = Some (fun li ctl -> Pcl_constr (mknoloc li, ctl));; -+ -+let ocaml_pcl_constraint = Some (fun ce ct -> Pcl_constraint (ce, ct));; -+ -+let ocaml_pcl_fun = Some (fun lab ceo p ce -> Pcl_fun (lab, ceo, p, ce));; -+ -+let ocaml_pcl_let = Some (fun rf pel ce -> Pcl_let (rf, pel, ce));; -+ -+let ocaml_pcl_structure = Some (fun cs -> Pcl_structure cs);; -+ -+let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_constraint (t1, t2));; -+ -+let ocaml_pctf_inher ct = Pctf_inherit ct;; -+ -+let ocaml_pctf_meth (s, pf, t, loc) = Pctf_method (s, pf, Concrete, t);; -+ -+let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; -+ -+let ocaml_pctf_virt (s, pf, t, loc) = Pctf_val (s, Immutable, Virtual, t);; -+ -+let ocaml_pcty_constr = Some (fun li ltl -> Pcty_constr (mknoloc li, ltl));; -+ -+let ocaml_pcty_fun = Some (fun lab t ct -> Pcty_arrow (lab, t, ct));; -+ -+let ocaml_pcty_signature = -+ let f (t, ctfl) = -+ let cs = {pcsig_self = t; pcsig_fields = ctfl} in Pcty_signature cs -+ in -+ Some f -+;; -+ -+let ocaml_pdir_bool = Some (fun b -> Pdir_bool b);; -+ -+let ocaml_pwith_modsubst = -+ Some (fun loc me -> Pwith_modsubst (mkloc loc "", mkloc loc me)) -+;; -+ -+let ocaml_pwith_type loc (i, td) = Pwith_type (mkloc loc i, td);; -+ -+let ocaml_pwith_module loc me = -+ Pwith_module (mkloc loc (Lident ""), mkloc loc me) -+;; -+ -+let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; -+ -+let module_prefix_can_be_in_first_record_label_only = true;; -+ -+let split_or_patterns_with_bindings = false;; -+ -+let has_records_with_with = true;; -+ -+(* *) -+ -+let jocaml_pstr_def : (_ -> _) option = None;; -+ -+let jocaml_pexp_def : (_ -> _ -> _) option = None;; -+ -+let jocaml_pexp_par : (_ -> _ -> _) option = None;; -+ -+let jocaml_pexp_reply : (_ -> _ -> _ -> _) option = None;; -+ -+let jocaml_pexp_spawn : (_ -> _) option = None;; -+ -+let arg_rest = -+ function -+ Arg.Rest r -> Some r -+ | _ -> None -+;; -+ -+let arg_set_string = -+ function -+ Arg.Set_string r -> Some r -+ | _ -> None -+;; -+ -+let arg_set_int = -+ function -+ Arg.Set_int r -> Some r -+ | _ -> None -+;; -+ -+let arg_set_float = -+ function -+ Arg.Set_float r -> Some r -+ | _ -> None -+;; -+ -+let arg_symbol = -+ function -+ Arg.Symbol (s, f) -> Some (s, f) -+ | _ -> None -+;; -+ -+let arg_tuple = -+ function -+ Arg.Tuple t -> Some t -+ | _ -> None -+;; -+ -+let arg_bool = -+ function -+ Arg.Bool f -> Some f -+ | _ -> None -+;; -+ -+let char_escaped = Char.escaped;; -+ -+let hashtbl_mem = Hashtbl.mem;; -+ -+let list_rev_append = List.rev_append;; -+ -+let list_rev_map = List.rev_map;; -+ -+let list_sort = List.sort;; -+ -+let pervasives_set_binary_mode_out = Pervasives.set_binary_mode_out;; -+ -+let printf_ksprintf = Printf.ksprintf;; -+ -+let string_contains = String.contains;; -+ -+let string_create = Bytes.create;; -+ -+let string_unsafe_set = Bytes.unsafe_set;; -+ -+let string_set = Bytes.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.12.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.12.0.ml ---- camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.12.0.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.12.0.ml 2014-08-01 10:14:54.310065435 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -101,7 +113,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; - -@@ -122,6 +136,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -136,14 +152,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -187,11 +222,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -201,6 +238,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -226,13 +268,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -250,19 +301,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -323,6 +376,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -341,6 +396,8 @@ - Some (fun loc me -> Pwith_modsubst (mkloc loc me)) - ;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; -@@ -442,3 +499,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.12.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.12.1.ml ---- camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.12.1.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.12.1.ml 2014-08-01 10:14:54.310065435 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -101,7 +113,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; - -@@ -122,6 +136,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -136,14 +152,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -187,11 +222,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -201,6 +238,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -226,13 +268,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -250,19 +301,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -323,6 +376,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -341,6 +396,8 @@ - Some (fun loc me -> Pwith_modsubst (mkloc loc me)) - ;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; -@@ -442,3 +499,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.13.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.13.0.ml ---- camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.13.0.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.13.0.ml 2014-08-01 10:14:54.310065435 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* versdep.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Parsetree;; -@@ -47,13 +47,25 @@ - loop [] l - ;; - --let ocaml_value_description t p = {pval_type = t; pval_prim = p};; -+let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; - - let ocaml_class_type_field loc ctfd = ctfd;; - - let ocaml_class_field loc cfd = cfd;; - --let ocaml_type_declaration params cl tk pf tm loc variance = -+let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; -+let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; -+let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; -+let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; -+let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; -+let ocaml_mkfield loc (lab, x) fl = -+ {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl -+;; -+let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; -+ -+(* *) -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = - match list_map_check (fun s_opt -> s_opt) params with - Some params -> - Right -@@ -101,7 +113,9 @@ - - let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; - --let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object ml = Ptyp_object ml;; - - let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; - -@@ -122,6 +136,8 @@ - mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl - ;; - -+let ocaml_const_string s = Const_string s;; -+ - let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; - - let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -@@ -136,14 +152,33 @@ - - let ocaml_pexp_assert fname loc e = Pexp_assert e;; - -+let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; -+ - let ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li, po, chk_arity) - ;; - -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) -+;; -+ - let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; - - let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; - -+let ocaml_case (p, wo, loc, e) = -+ match wo with -+ Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) -+ | None -> p, e -+;; -+ - let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; - - let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -@@ -189,11 +224,13 @@ - Some (pexp_variant_pat, pexp_variant) - ;; - -+let ocaml_value_binding loc p e = p, e;; -+ - let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; - - let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; - --let ocaml_ppat_construct li li_loc po chk_arity = -+let ocaml_ppat_construct loc li po chk_arity = - Ppat_construct (li, po, chk_arity) - ;; - -@@ -203,6 +240,11 @@ - | _ -> None - ;; - -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) -+;; -+ - let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; - - let ocaml_ppat_record lpl is_closed = -@@ -228,13 +270,22 @@ - - let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; - --let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; -+let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; - --let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; -+let ocaml_psig_include loc mt = Psig_include mt;; - --let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; -+let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; -+ -+let ocaml_psig_modtype loc s mto = -+ let mtd = -+ match mto with -+ None -> Pmodtype_abstract -+ | Some t -> Pmodtype_manifest t -+ in -+ Psig_modtype (mknoloc s, mtd) -+;; - --let ocaml_psig_open li = Psig_open (mknoloc li);; -+let ocaml_psig_open loc li = Psig_open (mkloc loc li);; - - let ocaml_psig_recmodule = - let f ntl = -@@ -252,19 +303,21 @@ - - let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; - --let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; -+let ocaml_pstr_eval e = Pstr_eval e;; -+ -+let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; - - let ocaml_pstr_exn_rebind = -- Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) -+ Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) - ;; - --let ocaml_pstr_include = Some (fun me -> Pstr_include me);; -+let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; - --let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; -+let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; - --let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; -+let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; - --let ocaml_pstr_open li = Pstr_open (mknoloc li);; -+let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; - - let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; - -@@ -327,6 +380,8 @@ - - let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; - -+let ocaml_pctf_inher ct = Pctf_inher ct;; -+ - let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; - - let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; -@@ -345,6 +400,8 @@ - Some (fun loc me -> Pwith_modsubst (mkloc loc me)) - ;; - -+let ocaml_pwith_type loc (i, td) = Pwith_type td;; -+ - let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; - - let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; -@@ -446,3 +503,9 @@ - let printf_ksprintf = Printf.ksprintf;; - - let string_contains = String.contains;; -+ -+let string_create = String.create;; -+ -+let string_unsafe_set = String.unsafe_set;; -+ -+let string_set = String.set;; -diff -urN camlp5-6.11/ocaml_src/main/argl.ml camlp5-6.12-63a8c30f/ocaml_src/main/argl.ml ---- camlp5-6.11/ocaml_src/main/argl.ml 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/argl.ml 2014-08-01 10:14:54.310065435 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* argl.ml,v *) - - open Printf;; - open Versdep;; -diff -urN camlp5-6.11/ocaml_src/main/argl.mli camlp5-6.12-63a8c30f/ocaml_src/main/argl.mli ---- camlp5-6.11/ocaml_src/main/argl.mli 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/argl.mli 2014-08-01 10:14:54.310065435 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* argl.mli,v *) - - val usage : - (string * Arg.spec * string) list -> (string * Arg.spec * string) list -> -diff -urN camlp5-6.11/ocaml_src/main/ast2pt.ml camlp5-6.12-63a8c30f/ocaml_src/main/ast2pt.ml ---- camlp5-6.11/ocaml_src/main/ast2pt.ml 2013-03-19 15:25:22.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/ast2pt.ml 2014-08-01 10:14:54.311065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* ast2pt.ml,v *) - - (* #load "q_MLast.cmo" *) - -@@ -64,14 +64,16 @@ - ocaml_location (!glob_fname, lnum, bolp, lnuml, bolpl, bp, ep) - ;; - --let mktyp loc d = {ptyp_desc = d; ptyp_loc = mkloc loc};; --let mkpat loc d = {ppat_desc = d; ppat_loc = mkloc loc};; --let mkexp loc d = {pexp_desc = d; pexp_loc = mkloc loc};; --let mkmty loc d = {pmty_desc = d; pmty_loc = mkloc loc};; -+let mktyp loc d = ocaml_mktyp (mkloc loc) d;; -+let mkpat loc d = ocaml_mkpat (mkloc loc) d;; -+let mkexp loc d = ocaml_mkexp (mkloc loc) d;; -+let mkmty loc d = ocaml_mkmty (mkloc loc) d;; - let mksig loc d = {psig_desc = d; psig_loc = mkloc loc};; --let mkmod loc d = {pmod_desc = d; pmod_loc = mkloc loc};; -+let mkmod loc d = ocaml_mkmod (mkloc loc) d;; - let mkstr loc d = {pstr_desc = d; pstr_loc = mkloc loc};; --let mkfield loc d = {pfield_desc = d; pfield_loc = mkloc loc};; -+let mkfield loc d fl = ocaml_mkfield (mkloc loc) d fl;; -+let mkfield_var loc = ocaml_mkfield_var (mkloc loc);; -+ - let mkcty loc d = - match ocaml_class_type with - Some class_type -> class_type d (mkloc loc) -@@ -89,9 +91,10 @@ - let ghpat = mkpat loc in - let ghexp = mkexp loc in - let void_pat = -- ghpat (ocaml_ppat_construct (Lident "()") (mkloc loc) None false) -+ ghpat (ocaml_ppat_construct (mkloc loc) (Lident "()") None false) - in -- let f = ghexp (ocaml_pexp_function "" None [void_pat, e]) in -+ let pwe = ocaml_case (void_pat, None, mkloc loc, e) in -+ let f = ghexp (ocaml_pexp_function "" None [pwe]) in - let delayed = Ldot (Lident "Lazy", "Delayed") in - let cloc = mkloc loc in - let df = ghexp (ocaml_pexp_construct cloc delayed (Some f) false) in -@@ -106,7 +109,7 @@ - let rec loop i j = - if i = String.length s then String.sub s 0 j - else if s.[i] = '_' then loop (i + 1) j -- else begin s.[j] <- s.[i]; loop (i + 1) (j + 1) end -+ else begin string_set s j s.[i]; loop (i + 1) (j + 1) end - in - loop 0 0 - | None -> s -@@ -255,7 +258,7 @@ - TyAcc (loc, _, _) as f -> - let (is_cls, li) = ctyp_long_id f in - if is_cls then mktyp loc (ocaml_ptyp_class li [] []) -- else mktyp loc (ocaml_ptyp_constr li []) -+ else mktyp loc (ocaml_ptyp_constr (mkloc loc) li []) - | TyAli (loc, t1, t2) -> - let (t, i) = - match t1, t2 with -@@ -269,7 +272,7 @@ - let (f, al) = ctyp_fa [] f in - let (is_cls, li) = ctyp_long_id f in - if is_cls then mktyp loc (ocaml_ptyp_class li (List.map ctyp al) []) -- else mktyp loc (ocaml_ptyp_constr li (List.map ctyp al)) -+ else mktyp loc (ocaml_ptyp_constr (mkloc loc) li (List.map ctyp al)) - | TyArr (loc, TyLab (loc1, lab, t1), t2) -> - mktyp loc (ocaml_ptyp_arrow (uv lab) (ctyp t1) (ctyp t2)) - | TyArr (loc, TyOlb (loc1, lab, t1), t2) -> -@@ -278,11 +281,13 @@ - in - mktyp loc (ocaml_ptyp_arrow ("?" ^ uv lab) (ctyp t1) (ctyp t2)) - | TyArr (loc, t1, t2) -> mktyp loc (ocaml_ptyp_arrow "" (ctyp t1) (ctyp t2)) -- | TyObj (loc, fl, v) -> mktyp loc (Ptyp_object (meth_list loc (uv fl) v)) -+ | TyObj (loc, fl, v) -> -+ mktyp loc (ocaml_ptyp_object (meth_list loc (uv fl) v)) - | TyCls (loc, id) -> - mktyp loc (ocaml_ptyp_class (long_id_of_string_list loc (uv id)) [] []) - | TyLab (loc, _, _) -> error loc "labeled type not allowed here" -- | TyLid (loc, s) -> mktyp loc (ocaml_ptyp_constr (Lident (uv s)) []) -+ | TyLid (loc, s) -> -+ mktyp loc (ocaml_ptyp_constr (mkloc loc) (Lident (uv s)) []) - | TyMan (loc, _, _, _) -> error loc "type manifest not allowed here" - | TyOlb (loc, lab, _) -> error loc "labeled type not allowed here" - | TyPck (loc, mt) -> -@@ -302,7 +307,8 @@ - | TyRec (loc, _) -> error loc "record type not allowed here" - | TySum (loc, _) -> error loc "sum type not allowed here" - | TyTup (loc, tl) -> mktyp loc (Ptyp_tuple (List.map ctyp (uv tl))) -- | TyUid (loc, s) -> mktyp loc (ocaml_ptyp_constr (Lident (uv s)) []) -+ | TyUid (loc, s) -> -+ mktyp loc (ocaml_ptyp_constr (mkloc loc) (Lident (uv s)) []) - | TyVrn (loc, catl, ool) -> - let catl = - List.map -@@ -326,9 +332,8 @@ - | TyXtr (loc, _, _) -> error loc "bad ast TyXtr" - and meth_list loc fl v = - match fl with -- [] -> if uv v then [mkfield loc Pfield_var] else [] -- | (lab, t) :: fl -> -- mkfield loc (Pfield (lab, add_polytype t)) :: meth_list loc fl v -+ [] -> if uv v then mkfield_var loc else [] -+ | (lab, t) :: fl -> mkfield loc (lab, add_polytype t) (meth_list loc fl v) - and add_polytype t = - match ocaml_ptyp_poly with - Some ptyp_poly -> -@@ -379,11 +384,11 @@ - | None -> false, false - ;; - --let mktype loc tl cl tk pf tm = -+let mktype loc tn tl cl tk pf tm = - let (params, var_list) = List.split tl in - let variance = List.map variance_of_var var_list in - let params = List.map uv params in -- match ocaml_type_declaration params cl tk pf tm (mkloc loc) variance with -+ match ocaml_type_declaration tn params cl tk pf tm (mkloc loc) variance with - Right td -> td - | Left msg -> error loc msg - ;; -@@ -421,17 +426,18 @@ - | None -> error loc "no generalized data types in this ocaml version" - ;; - --let type_decl tl priv cl = -+let type_decl tn tl priv cl = - function - TyMan (loc, t, pf, MLast.TyRec (_, ltl)) -> - let priv = if uv pf then Private else Public in -- mktype loc tl cl (mktrecord ltl (uv pf)) priv (Some (ctyp t)) -+ mktype loc tn tl cl (mktrecord ltl (uv pf)) priv (Some (ctyp t)) - | TyMan (loc, t, pf, MLast.TySum (_, ctl)) -> - let priv = if uv pf then Private else Public in -- mktype loc tl cl (mktvariant loc ctl (uv pf)) priv (Some (ctyp t)) -- | TyRec (loc, ltl) -> mktype loc tl cl (mktrecord (uv ltl) false) priv None -+ mktype loc tn tl cl (mktvariant loc ctl (uv pf)) priv (Some (ctyp t)) -+ | TyRec (loc, ltl) -> -+ mktype loc tn tl cl (mktrecord (uv ltl) false) priv None - | TySum (loc, ctl) -> -- mktype loc tl cl (mktvariant loc (uv ctl) false) priv None -+ mktype loc tn tl cl (mktvariant loc (uv ctl) false) priv None - | t -> - let m = - match t with -@@ -440,10 +446,10 @@ - else None - | _ -> Some (ctyp t) - in -- mktype (loc_of_ctyp t) tl cl Ptype_abstract priv m -+ mktype (loc_of_ctyp t) tn tl cl Ptype_abstract priv m - ;; - --let mkvalue_desc t p = ocaml_value_description (ctyp t) p;; -+let mkvalue_desc vn t p = ocaml_value_description vn (ctyp t) p;; - - let option f = - function -@@ -469,14 +475,14 @@ - | t -> error (loc_of_module_expr t) "bad module expr long ident" - ;; - --let type_decl_of_with_type loc tpl pf ct = -+let type_decl_of_with_type loc tn tpl pf ct = - let (params, var_list) = List.split (uv tpl) in - let variance = List.map variance_of_var var_list in - let params = List.map uv params in - let ct = Some (ctyp ct) in - let tk = if pf then ocaml_ptype_abstract else Ptype_abstract in - let pf = if pf then Private else Public in -- ocaml_type_declaration params [] tk pf ct (mkloc loc) variance -+ ocaml_type_declaration tn params [] tk pf ct (mkloc loc) variance - ;; - - let mkwithc = -@@ -492,14 +498,15 @@ - | None -> error loc "no with module := in this ocaml version" - end - | WcTyp (loc, id, tpl, pf, ct) -> -- begin match type_decl_of_with_type loc tpl (uv pf) ct with -- Right td -> long_id_of_string_list loc (uv id), Pwith_type td -+ let li = long_id_of_string_list loc (uv id) in -+ begin match type_decl_of_with_type loc "" tpl (uv pf) ct with -+ Right td -> li, ocaml_pwith_type (mkloc loc) (li, td) - | Left msg -> error loc msg - end - | WcTys (loc, id, tpl, t) -> - match ocaml_pwith_typesubst with - Some pwith_typesubst -> -- begin match type_decl_of_with_type loc tpl false t with -+ begin match type_decl_of_with_type loc "" tpl false t with - Right td -> - let li = long_id_of_string_list loc (uv id) in - li, pwith_typesubst td -@@ -550,7 +557,7 @@ - MLast.PaUid (loc, i), il -> - begin match p2 with - MLast.PaUid (_, s) -> -- ocaml_ppat_construct (mkli (conv_con s) (i :: il)) (mkloc loc) -+ ocaml_ppat_construct (mkloc loc) (mkli (conv_con s) (i :: il)) - None (not !(Prtools.no_constructors_arity)) - | _ -> error (loc_of_patt p2) "bad access pattern" - end -@@ -579,10 +586,8 @@ - [a] -> a - | _ -> mkpat loc (Ppat_tuple al) - in -- mkpat loc (ocaml_ppat_construct li li_loc (Some a) false) -- else -- let a = mkpat loc (Ppat_tuple al) in -- mkpat loc (ocaml_ppat_construct li li_loc (Some a) true) -+ mkpat loc (ocaml_ppat_construct li_loc li (Some a) false) -+ else mkpat_ocaml_ppat_construct_arity (mkloc loc) li_loc li al - | Some _ | None -> - match ocaml_ppat_variant with - Some (ppat_variant_pat, ppat_variant) -> -@@ -642,7 +647,8 @@ - mkpat loc (ocaml_ppat_record (List.map mklabpat lpl) is_closed) - | PaStr (loc, s) -> - mkpat loc -- (Ppat_constant (Const_string (string_of_string_token loc (uv s)))) -+ (Ppat_constant -+ (ocaml_const_string (string_of_string_token loc (uv s)))) - | PaTup (loc, pl) -> mkpat loc (Ppat_tuple (List.map patt (uv pl))) - | PaTyc (loc, p, t) -> mkpat loc (Ppat_constraint (patt p, ctyp t)) - | PaTyp (loc, sl) -> -@@ -655,7 +661,7 @@ - | PaUid (loc, s) -> - let ca = not !(Prtools.no_constructors_arity) in - mkpat loc -- (ocaml_ppat_construct (Lident (conv_con (uv s))) (mkloc loc) None ca) -+ (ocaml_ppat_construct (mkloc loc) (Lident (conv_con (uv s))) None ca) - | PaUnp (loc, s, mto) -> - begin match ocaml_ppat_unpack with - Some (ppat_unpack, ptyp_package) -> -@@ -947,8 +953,8 @@ - | _ -> f - in - let al = List.rev (List.fold_left label_expr [] al) in -- begin match (expr f).pexp_desc with -- Pexp_construct (li, None, _) -> -+ begin match ocaml_pexp_construct_args (expr f).pexp_desc with -+ Some (li, li_loc, None, _) -> - let al = List.map snd al in - if !(Prtools.no_constructors_arity) then - let a = -@@ -956,11 +962,10 @@ - [a] -> a - | _ -> mkexp loc (Pexp_tuple al) - in -- mkexp loc (Pexp_construct (li, Some a, false)) -- else -- let a = mkexp loc (Pexp_tuple al) in -- mkexp loc (Pexp_construct (li, Some a, true)) -- | e -> -+ mkexp loc (ocaml_pexp_construct li_loc li (Some a) false) -+ else mkexp_ocaml_pexp_construct_arity (mkloc loc) li_loc li al -+ | Some _ | None -> -+ let e = (expr f).pexp_desc in - match ocaml_pexp_variant with - Some (pexp_variant_pat, pexp_variant) -> - begin match pexp_variant_pat e with -@@ -1024,7 +1029,8 @@ - | ExChr (loc, s) -> - mkexp loc (Pexp_constant (Const_char (char_of_char_token loc (uv s)))) - | ExCoe (loc, e, t1, t2) -> -- mkexp loc (Pexp_constraint (expr e, option ctyp t1, Some (ctyp t2))) -+ mkexp loc -+ (ocaml_pexp_constraint (expr e) (option ctyp t1) (Some (ctyp t2))) - | ExFlo (loc, s) -> mkexp loc (Pexp_constant (Const_float (uv s))) - | ExFor (loc, i, e1, e2, df, el) -> - let e3 = MLast.ExSeq (loc, uv el) in -@@ -1033,16 +1039,17 @@ - | ExFun (loc, pel) -> - begin match uv pel with - [PaLab (ploc, lppo), w, e] -> -- List.fold_right -- (fun (p, po) e -> -- let lab = label_of_patt p in -- let p = -- match uv po with -- Some p -> p -- | None -> p -- in -- mkexp loc (ocaml_pexp_function lab None [patt p, e])) -- (uv lppo) (when_expr e (uv w)) -+ begin match uv lppo with -+ [p, po] -> -+ let lab = label_of_patt p in -+ let p = -+ match uv po with -+ Some p -> p -+ | None -> p -+ in -+ mkexp loc (ocaml_pexp_function lab None [mkpwe (p, w, e)]) -+ | _ -> error loc "bad AST" -+ end - | [PaNty (loc, s), w, e] -> - begin match ocaml_pexp_newtype with - Some newtype -> -@@ -1061,7 +1068,7 @@ - in - mkexp loc - (ocaml_pexp_function ("?" ^ lab) (option expr (uv eo)) -- [patt p, when_expr e (uv w)]) -+ [mkpwe (p, w, e)]) - | pel -> - let pel = - if split_or_patterns_with_bindings then -@@ -1141,8 +1148,8 @@ - match mto with - Some mt -> - let pt = package_of_module_type loc mt in -- Pexp_constraint -- (mkexp loc e, Some (mktyp loc (ptyp_package pt)), None) -+ ocaml_pexp_constraint (mkexp loc e) -+ (Some (mktyp loc (ptyp_package pt))) None - | None -> e - in - mkexp loc e -@@ -1211,12 +1218,13 @@ - ["", expr e1; "", expr e2]) - | ExStr (loc, s) -> - mkexp loc -- (Pexp_constant (Const_string (string_of_string_token loc (uv s)))) -+ (Pexp_constant -+ (ocaml_const_string (string_of_string_token loc (uv s)))) - | ExTry (loc, e, pel) -> - mkexp loc (Pexp_try (expr e, List.map mkpwe (uv pel))) - | ExTup (loc, el) -> mkexp loc (Pexp_tuple (List.map expr (uv el))) - | ExTyc (loc, e, t) -> -- mkexp loc (Pexp_constraint (expr e, Some (ctyp t), None)) -+ mkexp loc (ocaml_pexp_constraint (expr e) (Some (ctyp t)) None) - | ExUid (loc, s) -> - let ca = not !(Prtools.no_constructors_arity) in - let cloc = mkloc loc in -@@ -1270,7 +1278,7 @@ - Some p -> patt p - | None -> - mkpat loc -- (ocaml_ppat_construct (Lident "()") (mkloc loc) None -+ (ocaml_ppat_construct (mkloc loc) (Lident "()") None - false) - in - mkloc locp, (mkloc loc, uv s), p) -@@ -1281,6 +1289,7 @@ - in - mkloc jc.jcLoc, jcval - and mkpe (p, e) = -+ let loc = Ploc.encl (loc_of_patt p) (loc_of_expr e) in - let (p, e) = - match e with - ExTyc (loc, e, (TyPol (_, _, _) as t)) -> PaTyc (loc, p, t), e -@@ -1293,7 +1302,7 @@ - expand_gadt_type loc p loc1 nt ct e - | p -> p, e - in -- patt p, expr e -+ ocaml_value_binding (mkloc loc) (patt p) (expr e) - and expand_gadt_type loc p loc1 nt ct e = - let nt = uv nt in - let e = MLast.ExTyc (loc, e, ct) in -@@ -1304,11 +1313,8 @@ - let ct = varify_constructors nt ct in - let tp = List.map (fun s -> "&" ^ s) nt in - let ct = MLast.TyPol (loc, tp, ct) in MLast.PaTyc (loc, p, ct), e --and mkpwe (p, w, e) = patt p, when_expr e (uv w) --and when_expr e = -- function -- Some w -> mkexp (loc_of_expr e) (Pexp_when (expr w, expr e)) -- | None -> expr e -+and mkpwe (p, w, e) = -+ ocaml_case (patt p, option expr (uv w), mkloc (loc_of_expr e), expr e) - and mklabexp (lab, e) = - patt_label_long_id lab, mkloc (loc_of_patt lab), expr e - and mkideexp (ide, e) = ide, expr e -@@ -1321,7 +1327,8 @@ - ctyp t1, ctyp t2, mkloc loc) - (uv td.tdCon) - in -- uv (snd (uv td.tdNam)), type_decl (uv td.tdPrm) priv cl td.tdDef -+ let tn = uv (snd (uv td.tdNam)) in -+ tn, type_decl tn (uv td.tdPrm) priv cl td.tdDef - and module_type = - function - MtAcc (loc, _, _) as f -> -@@ -1360,15 +1367,21 @@ - | SgDcl (loc, sl) -> List.fold_right sig_item (uv sl) l - | SgDir (loc, _, _) -> l - | SgExc (loc, n, tl) -> -- mksig loc (ocaml_psig_exception (uv n) (List.map ctyp (uv tl))) :: l -+ mksig loc -+ (ocaml_psig_exception (mkloc loc) (uv n) (List.map ctyp (uv tl))) :: -+ l - | SgExt (loc, n, t, p) -> -- mksig loc (ocaml_psig_value (uv n) (mkvalue_desc t (uv p))) :: l -- | SgInc (loc, mt) -> mksig loc (Psig_include (module_type mt)) :: l -+ let vn = uv n in -+ mksig loc (ocaml_psig_value vn (mkvalue_desc vn t (uv p))) :: l -+ | SgInc (loc, mt) -> -+ mksig loc (ocaml_psig_include (mkloc loc) (module_type mt)) :: l - | SgMod (loc, rf, ntl) -> - if not (uv rf) then - List.fold_right - (fun (n, mt) l -> -- mksig loc (ocaml_psig_module (uv n) (module_type mt)) :: l) -+ mksig loc -+ (ocaml_psig_module (mkloc loc) (uv n) (module_type mt)) :: -+ l) - (uv ntl) l - else - begin match ocaml_psig_recmodule with -@@ -1380,21 +1393,24 @@ - | None -> error loc "no recursive module in this ocaml version" - end - | SgMty (loc, n, mt) -> -- let si = -+ let mto = - match mt with -- MtQuo (_, _) -> Pmodtype_abstract -- | _ -> Pmodtype_manifest (module_type mt) -+ MtQuo (_, _) -> None -+ | _ -> Some (module_type mt) - in -- mksig loc (ocaml_psig_modtype (uv n) si) :: l -+ mksig loc (ocaml_psig_modtype (mkloc loc) (uv n) mto) :: l - | SgOpn (loc, id) -> -- mksig loc (ocaml_psig_open (long_id_of_string_list loc (uv id))) :: l -+ mksig loc -+ (ocaml_psig_open (mkloc loc) (long_id_of_string_list loc (uv id))) :: -+ l - | SgTyp (loc, tdl) -> - mksig loc (ocaml_psig_type (List.map mktype_decl (uv tdl))) :: l - | SgUse (loc, fn, sl) -> - Ploc.call_with glob_fname (uv fn) - (fun () -> List.fold_right (fun (si, _) -> sig_item si) (uv sl) l) () - | SgVal (loc, n, t) -> -- mksig loc (ocaml_psig_value (uv n) (mkvalue_desc t [])) :: l -+ let vn = uv n in -+ mksig loc (ocaml_psig_value vn (mkvalue_desc vn t [])) :: l - | SgXtr (loc, _, _) -> error loc "bad ast SgXtr" - and module_expr = - function -@@ -1424,7 +1440,7 @@ - Some mt -> - let pt = package_of_module_type loc mt in - let t = mktyp loc (ptyp_package pt) in -- mkexp loc (Pexp_constraint (expr e, Some t, None)) -+ mkexp loc (ocaml_pexp_constraint (expr e) (Some t) None) - | None -> expr e - in - mkmod loc (pmod_unpack e) -@@ -1455,29 +1471,33 @@ - | StExc (loc, n, tl, sl) -> - let si = - match uv tl, uv sl with -- tl, [] -> ocaml_pstr_exception (uv n) (List.map ctyp tl) -+ tl, [] -> ocaml_pstr_exception (mkloc loc) (uv n) (List.map ctyp tl) - | [], sl -> - begin match ocaml_pstr_exn_rebind with - Some pstr_exn_rebind -> -- pstr_exn_rebind (uv n) (long_id_of_string_list loc sl) -+ pstr_exn_rebind (mkloc loc) (uv n) -+ (long_id_of_string_list loc sl) - | None -> error loc "no exception renaming in this ocaml version" - end - | _ -> error loc "renamed exception should not have parameters" - in - mkstr loc si :: l -- | StExp (loc, e) -> mkstr loc (Pstr_eval (expr e)) :: l -+ | StExp (loc, e) -> mkstr loc (ocaml_pstr_eval (expr e)) :: l - | StExt (loc, n, t, p) -> -- mkstr loc (ocaml_pstr_primitive (uv n) (mkvalue_desc t (uv p))) :: l -+ let vn = uv n in -+ mkstr loc (ocaml_pstr_primitive vn (mkvalue_desc vn t (uv p))) :: l - | StInc (loc, me) -> - begin match ocaml_pstr_include with -- Some pstr_include -> mkstr loc (pstr_include (module_expr me)) :: l -+ Some pstr_include -> -+ mkstr loc (pstr_include (mkloc loc) (module_expr me)) :: l - | None -> error loc "no include in this ocaml version" - end - | StMod (loc, rf, nel) -> - if not (uv rf) then - List.fold_right - (fun (n, me) l -> -- mkstr loc (ocaml_pstr_module (uv n) (module_expr me)) :: l) -+ let m = ocaml_pstr_module (mkloc loc) (uv n) (module_expr me) in -+ mkstr loc m :: l) - (uv nel) l - else - begin match ocaml_pstr_recmodule with -@@ -1499,9 +1519,12 @@ - | None -> error loc "no recursive module in this ocaml version" - end - | StMty (loc, n, mt) -> -- mkstr loc (ocaml_pstr_modtype (uv n) (module_type mt)) :: l -+ let m = ocaml_pstr_modtype (mkloc loc) (uv n) (module_type mt) in -+ mkstr loc m :: l - | StOpn (loc, id) -> -- mkstr loc (ocaml_pstr_open (long_id_of_string_list loc (uv id))) :: l -+ mkstr loc -+ (ocaml_pstr_open (mkloc loc) (long_id_of_string_list loc (uv id))) :: -+ l - | StTyp (loc, tdl) -> - mkstr loc (ocaml_pstr_type (List.map mktype_decl (uv tdl))) :: l - | StUse (loc, fn, sl) -> -@@ -1581,7 +1604,8 @@ - end - | CgDcl (loc, cl) -> List.fold_right class_sig_item (uv cl) l - | CgInh (loc, ct) -> -- ocaml_class_type_field (mkloc loc) (Pctf_inher (class_type ct)) :: l -+ ocaml_class_type_field (mkloc loc) (ocaml_pctf_inher (class_type ct)) :: -+ l - | CgMth (loc, pf, s, t) -> - ocaml_class_type_field (mkloc loc) - (ocaml_pctf_meth -@@ -1733,20 +1757,19 @@ - - let directive loc = - function -- None -> Pdir_none -- | Some (MLast.ExStr (_, s)) -> Pdir_string s -- | Some (MLast.ExInt (_, i, "")) -> Pdir_int (int_of_string_l loc i) -- | Some (MLast.ExUid (_, "True")) -> -+ MLast.ExStr (_, s) -> Pdir_string s -+ | MLast.ExInt (_, i, "") -> Pdir_int (int_of_string_l loc i) -+ | MLast.ExUid (_, "True") -> - begin match ocaml_pdir_bool with - Some pdir_bool -> pdir_bool true - | None -> error loc "no such kind of directive in this ocaml version" - end -- | Some (MLast.ExUid (_, "False")) -> -+ | MLast.ExUid (_, "False") -> - begin match ocaml_pdir_bool with - Some pdir_bool -> pdir_bool false - | None -> error loc "no such kind of directive in this ocaml version" - end -- | Some e -> -+ | e -> - let sl = - let rec loop = - function -@@ -1761,8 +1784,14 @@ - Pdir_ident (long_id_of_string_list loc sl) - ;; - -+let directive_args loc d = -+ match d with -+ Some d -> directive loc d -+ | None -> Pdir_none -+;; -+ - let phrase = - function -- StDir (loc, d, dp) -> Ptop_dir (uv d, directive loc (uv dp)) -+ StDir (loc, d, dp) -> Ptop_dir (uv d, directive_args loc (uv dp)) - | si -> glob_fname := !(Plexing.input_file); Ptop_def (str_item si []) - ;; -diff -urN camlp5-6.11/ocaml_src/main/ast2pt.mli camlp5-6.12-63a8c30f/ocaml_src/main/ast2pt.mli ---- camlp5-6.11/ocaml_src/main/ast2pt.mli 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/ast2pt.mli 2014-08-01 10:14:54.311065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* ast2pt.mli,v *) - - (** Conversion between Camlp5 AST into OCaml AST *) - -diff -urN camlp5-6.11/ocaml_src/main/.cvsignore camlp5-6.12-63a8c30f/ocaml_src/main/.cvsignore ---- camlp5-6.11/ocaml_src/main/.cvsignore 2010-09-15 17:00:28.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --camlp5 -diff -urN camlp5-6.11/ocaml_src/main/exparser.ml camlp5-6.12-63a8c30f/ocaml_src/main/exparser.ml ---- camlp5-6.11/ocaml_src/main/exparser.ml 2013-03-19 14:29:57.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/exparser.ml 2014-08-01 10:14:54.311065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* exparser.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "q_MLast.cmo" *) -diff -urN camlp5-6.11/ocaml_src/main/exparser.mli camlp5-6.12-63a8c30f/ocaml_src/main/exparser.mli ---- camlp5-6.11/ocaml_src/main/exparser.mli 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/exparser.mli 2014-08-01 10:14:54.311065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* exparser.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* expand parser ast into normal one *) -diff -urN camlp5-6.11/ocaml_src/main/.gitignore camlp5-6.12-63a8c30f/ocaml_src/main/.gitignore ---- camlp5-6.11/ocaml_src/main/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/.gitignore 2014-08-01 10:14:54.310065435 +0100 -@@ -0,0 +1,2 @@ -+*.cm[oi] -+camlp5 -diff -urN camlp5-6.11/ocaml_src/main/main.ml camlp5-6.12-63a8c30f/ocaml_src/main/main.ml ---- camlp5-6.11/ocaml_src/main/main.ml 2013-03-13 14:55:40.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/main.ml 2014-08-01 10:14:54.311065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* main.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "q_MLast.cmo" *) -diff -urN camlp5-6.11/ocaml_src/main/Makefile camlp5-6.12-63a8c30f/ocaml_src/main/Makefile ---- camlp5-6.11/ocaml_src/main/Makefile 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/Makefile 2014-08-01 10:14:54.310065435 +0100 -@@ -1,4 +1,4 @@ --# File generated by program: edit only if it does not compile. -+# Makefile,v - - TOP=../.. - include $(TOP)/config/Makefile -diff -urN camlp5-6.11/ocaml_src/main/mLast.mli camlp5-6.12-63a8c30f/ocaml_src/main/mLast.mli ---- camlp5-6.11/ocaml_src/main/mLast.mli 2013-07-02 17:31:25.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/mLast.mli 2014-08-01 10:14:54.311065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* mLast.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_macro.cmo" *) -diff -urN camlp5-6.11/ocaml_src/main/parserify.ml camlp5-6.12-63a8c30f/ocaml_src/main/parserify.ml ---- camlp5-6.11/ocaml_src/main/parserify.ml 2013-03-15 09:39:40.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/parserify.ml 2014-08-01 10:14:54.311065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* parserify.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "q_MLast.cmo" *) -diff -urN camlp5-6.11/ocaml_src/main/parserify.mli camlp5-6.12-63a8c30f/ocaml_src/main/parserify.mli ---- camlp5-6.11/ocaml_src/main/parserify.mli 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/parserify.mli 2014-08-01 10:14:54.311065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* parserify.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type spat_comp = -diff -urN camlp5-6.11/ocaml_src/main/pcaml.ml camlp5-6.12-63a8c30f/ocaml_src/main/pcaml.ml ---- camlp5-6.11/ocaml_src/main/pcaml.ml 2013-08-15 23:08:21.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/pcaml.ml 2014-08-01 10:14:54.311065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* pcaml.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_macro.cmo" *) -@@ -7,7 +7,7 @@ - - open Printf;; - --let version = "6.11";; -+let version = "6.12-exp";; - let syntax_name = ref "";; - - let gram = -diff -urN camlp5-6.11/ocaml_src/main/pcaml.mli camlp5-6.12-63a8c30f/ocaml_src/main/pcaml.mli ---- camlp5-6.11/ocaml_src/main/pcaml.mli 2013-04-19 09:43:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/pcaml.mli 2014-08-01 10:14:54.311065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* pcaml.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_macro.cmo" *) -diff -urN camlp5-6.11/ocaml_src/main/prtools.ml camlp5-6.12-63a8c30f/ocaml_src/main/prtools.ml ---- camlp5-6.11/ocaml_src/main/prtools.ml 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/prtools.ml 2014-08-01 10:14:54.311065436 +0100 -@@ -1,11 +1,12 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* prtools.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "q_MLast.cmo" *) - (* #load "pa_macro.cmo" *) - - open Pretty;; -+open Versdep;; - - type pr_context = - Pprintf.pr_context = -@@ -334,11 +335,11 @@ - - module Buff = - struct -- let buff = ref (String.create 80);; -+ let buff = ref (string_create 80);; - let store len x = - if len >= String.length !buff then -- buff := !buff ^ String.create (String.length !buff); -- !buff.[len] <- x; -+ buff := !buff ^ string_create (String.length !buff); -+ string_set !buff len x; - succ len - ;; - let mstore len s = -diff -urN camlp5-6.11/ocaml_src/main/prtools.mli camlp5-6.12-63a8c30f/ocaml_src/main/prtools.mli ---- camlp5-6.11/ocaml_src/main/prtools.mli 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/prtools.mli 2014-08-01 10:14:54.311065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* prtools.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type pr_context = -diff -urN camlp5-6.11/ocaml_src/main/quotation.ml camlp5-6.12-63a8c30f/ocaml_src/main/quotation.ml ---- camlp5-6.11/ocaml_src/main/quotation.ml 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/quotation.ml 2014-08-01 10:14:54.311065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* quotation.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - type expander = -diff -urN camlp5-6.11/ocaml_src/main/quotation.mli camlp5-6.12-63a8c30f/ocaml_src/main/quotation.mli ---- camlp5-6.11/ocaml_src/main/quotation.mli 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/quotation.mli 2014-08-01 10:14:54.312065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* quotation.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (** Quotation operations. *) -diff -urN camlp5-6.11/ocaml_src/main/reloc.ml camlp5-6.12-63a8c30f/ocaml_src/main/reloc.ml ---- camlp5-6.11/ocaml_src/main/reloc.ml 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/reloc.ml 2014-08-01 10:14:54.312065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* reloc.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_macro.cmo" *) -diff -urN camlp5-6.11/ocaml_src/main/reloc.mli camlp5-6.12-63a8c30f/ocaml_src/main/reloc.mli ---- camlp5-6.11/ocaml_src/main/reloc.mli 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/main/reloc.mli 2014-08-01 10:14:54.312065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* reloc.mli,v *) - (* Copyright (c) INRIA 2007-2012 *) - - val expr : (MLast.loc -> MLast.loc) -> int -> MLast.expr -> MLast.expr;; -diff -urN camlp5-6.11/ocaml_src/meta/.cvsignore camlp5-6.12-63a8c30f/ocaml_src/meta/.cvsignore ---- camlp5-6.11/ocaml_src/meta/.cvsignore 2010-09-15 17:00:29.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/meta/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1,3 +0,0 @@ --*.cm[oiax] --camlp5r --camlp5r.opt -diff -urN camlp5-6.11/ocaml_src/meta/.gitignore camlp5-6.12-63a8c30f/ocaml_src/meta/.gitignore ---- camlp5-6.11/ocaml_src/meta/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/meta/.gitignore 2014-08-01 10:14:54.312065436 +0100 -@@ -0,0 +1,3 @@ -+*.cm[oiax] -+camlp5r -+camlp5r.opt -diff -urN camlp5-6.11/ocaml_src/meta/Makefile camlp5-6.12-63a8c30f/ocaml_src/meta/Makefile ---- camlp5-6.11/ocaml_src/meta/Makefile 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/meta/Makefile 2014-08-01 10:14:54.312065436 +0100 -@@ -1,4 +1,4 @@ --# File generated by program: edit only if it does not compile. -+# Makefile,v - - TOP=../.. - include $(TOP)/config/Makefile -diff -urN camlp5-6.11/ocaml_src/meta/pa_extend.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_extend.ml ---- camlp5-6.11/ocaml_src/meta/pa_extend.ml 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_extend.ml 2014-08-01 10:14:54.312065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* pa_extend.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_macro.cmo" *) -diff -urN camlp5-6.11/ocaml_src/meta/pa_extend_m.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_extend_m.ml ---- camlp5-6.11/ocaml_src/meta/pa_extend_m.ml 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_extend_m.ml 2014-08-01 10:14:54.312065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* pa_extend_m.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_extend.cmo" *) -diff -urN camlp5-6.11/ocaml_src/meta/pa_fstream.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_fstream.ml ---- camlp5-6.11/ocaml_src/meta/pa_fstream.ml 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_fstream.ml 2014-08-01 10:14:54.312065436 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* pa_fstream.ml,v *) - - (* #load "pa_extend.cmo" *) - (* #load "q_MLast.cmo" *) -diff -urN camlp5-6.11/ocaml_src/meta/pa_lexer.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_lexer.ml ---- camlp5-6.11/ocaml_src/meta/pa_lexer.ml 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_lexer.ml 2014-08-01 10:14:54.313065437 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* pa_lexer.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_extend.cmo" *) -diff -urN camlp5-6.11/ocaml_src/meta/pa_macro.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_macro.ml ---- camlp5-6.11/ocaml_src/meta/pa_macro.ml 2013-03-13 14:55:40.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_macro.ml 2014-08-01 10:14:54.313065437 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* pa_macro.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_extend.cmo" *) -@@ -103,6 +103,7 @@ - - open Pcaml;; - open Printf;; -+open Versdep;; - - type macro_value = - MvExpr of string list * MLast.expr -@@ -129,7 +130,7 @@ - for i = 0 to String.length v - 1 do - match v.[i] with - '0'..'9' | 'a'..'z' | 'A'..'Z' -> () -- | _ -> v.[i] <- '_' -+ | _ -> string_set v i '_' - done; - v - ;; -diff -urN camlp5-6.11/ocaml_src/meta/pa_r.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_r.ml ---- camlp5-6.11/ocaml_src/meta/pa_r.ml 2013-07-02 17:12:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_r.ml 2014-08-01 10:14:54.313065437 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* pa_r.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_extend.cmo" *) -diff -urN camlp5-6.11/ocaml_src/meta/pa_rp.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_rp.ml ---- camlp5-6.11/ocaml_src/meta/pa_rp.ml 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_rp.ml 2014-08-01 10:14:54.313065437 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* pa_rp.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_extend.cmo" *) -diff -urN camlp5-6.11/ocaml_src/meta/pr_dump.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pr_dump.ml ---- camlp5-6.11/ocaml_src/meta/pr_dump.ml 2012-06-02 14:23:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/meta/pr_dump.ml 2014-08-01 10:14:54.314065438 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* pr_dump.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Versdep;; -diff -urN camlp5-6.11/ocaml_src/meta/q_ast.ml camlp5-6.12-63a8c30f/ocaml_src/meta/q_ast.ml ---- camlp5-6.11/ocaml_src/meta/q_ast.ml 2012-06-02 14:23:42.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/meta/q_ast.ml 2014-08-01 10:14:54.315065438 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* q_ast.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_macro.cmo" *) -diff -urN camlp5-6.11/ocaml_src/meta/q_MLast.ml camlp5-6.12-63a8c30f/ocaml_src/meta/q_MLast.ml ---- camlp5-6.11/ocaml_src/meta/q_MLast.ml 2013-07-02 17:12:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/meta/q_MLast.ml 2014-08-01 10:14:54.315065438 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* q_MLast.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - (* #load "pa_extend.cmo" *) -diff -urN camlp5-6.11/ocaml_src/odyl/.cvsignore camlp5-6.12-63a8c30f/ocaml_src/odyl/.cvsignore ---- camlp5-6.11/ocaml_src/odyl/.cvsignore 2010-09-15 17:00:29.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/odyl/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1,2 +0,0 @@ --odyl --odyl_config.ml -diff -urN camlp5-6.11/ocaml_src/odyl/.gitignore camlp5-6.12-63a8c30f/ocaml_src/odyl/.gitignore ---- camlp5-6.11/ocaml_src/odyl/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/odyl/.gitignore 2014-08-01 10:14:54.315065438 +0100 -@@ -0,0 +1,3 @@ -+*.cm[oia] -+odyl -+odyl_config.ml -diff -urN camlp5-6.11/ocaml_src/odyl/Makefile camlp5-6.12-63a8c30f/ocaml_src/odyl/Makefile ---- camlp5-6.11/ocaml_src/odyl/Makefile 2012-06-02 14:23:42.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/odyl/Makefile 2014-08-01 10:14:54.315065438 +0100 -@@ -1,4 +1,4 @@ --# File generated by program: edit only if it does not compile. -+# Makefile,v - - TOP=../.. - include $(TOP)/config/Makefile -diff -urN camlp5-6.11/ocaml_src/odyl/odyl_main.ml camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl_main.ml ---- camlp5-6.11/ocaml_src/odyl/odyl_main.ml 2012-06-02 14:23:42.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl_main.ml 2014-08-01 10:14:54.315065438 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* File generated by program: edit only if it does not compile. *) -+(* odyl_main.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - let go = ref (fun () -> ());; -diff -urN camlp5-6.11/ocaml_src/odyl/odyl_main.mli camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl_main.mli ---- camlp5-6.11/ocaml_src/odyl/odyl_main.mli 2012-06-02 14:23:42.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl_main.mli 2014-08-01 10:14:54.316065439 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* odyl_main.mli,v *) - - exception Error of string * string;; - -diff -urN camlp5-6.11/ocaml_src/odyl/odyl.ml camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl.ml ---- camlp5-6.11/ocaml_src/odyl/odyl.ml 2012-06-02 14:23:42.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl.ml 2014-08-01 10:14:54.315065438 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* File generated by program: edit only if it does not compile. *) -+(* odyl.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - let apply_load () = -diff -urN camlp5-6.11/ocaml_stuff/1.06/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/1.06/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/1.06/parsing/.cvsignore 2010-09-15 17:00:30.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/1.06/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/1.06/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/1.06/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/1.06/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/1.06/parsing/.gitignore 2014-08-01 10:14:54.316065439 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/1.06/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/1.06/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/1.06/utils/.cvsignore 2010-09-15 17:00:30.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/1.06/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/1.06/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/1.06/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/1.06/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/1.06/utils/.gitignore 2014-08-01 10:14:54.316065439 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/1.07/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/1.07/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/1.07/parsing/.cvsignore 2010-09-15 17:00:30.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/1.07/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/1.07/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/1.07/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/1.07/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/1.07/parsing/.gitignore 2014-08-01 10:14:54.316065439 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/1.07/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/1.07/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/1.07/utils/.cvsignore 2010-09-15 17:00:30.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/1.07/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/1.07/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/1.07/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/1.07/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/1.07/utils/.gitignore 2014-08-01 10:14:54.317065439 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/2.00/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.00/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/2.00/parsing/.cvsignore 2010-09-15 17:00:30.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.00/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/2.00/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.00/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/2.00/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.00/parsing/.gitignore 2014-08-01 10:14:54.317065439 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/2.00/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.00/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/2.00/utils/.cvsignore 2010-09-15 17:00:31.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.00/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/2.00/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.00/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/2.00/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.00/utils/.gitignore 2014-08-01 10:14:54.317065439 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/2.01/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.01/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/2.01/parsing/.cvsignore 2010-09-15 17:00:31.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.01/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/2.01/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.01/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/2.01/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.01/parsing/.gitignore 2014-08-01 10:14:54.318065440 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/2.01/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.01/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/2.01/utils/.cvsignore 2010-09-15 17:00:31.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.01/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/2.01/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.01/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/2.01/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.01/utils/.gitignore 2014-08-01 10:14:54.318065440 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/2.02/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.02/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/2.02/parsing/.cvsignore 2010-09-15 17:00:31.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.02/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/2.02/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.02/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/2.02/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.02/parsing/.gitignore 2014-08-01 10:14:54.318065440 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/2.02/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.02/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/2.02/utils/.cvsignore 2010-09-15 17:00:32.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.02/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/2.02/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.02/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/2.02/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.02/utils/.gitignore 2014-08-01 10:14:54.319065441 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/2.03/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.03/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/2.03/parsing/.cvsignore 2010-09-15 17:00:32.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.03/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/2.03/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.03/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/2.03/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.03/parsing/.gitignore 2014-08-01 10:14:54.319065441 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/2.03/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.03/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/2.03/utils/.cvsignore 2010-09-15 17:00:32.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.03/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/2.03/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.03/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/2.03/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.03/utils/.gitignore 2014-08-01 10:14:54.319065441 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/2.04/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.04/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/2.04/parsing/.cvsignore 2010-09-15 17:00:32.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.04/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/2.04/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.04/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/2.04/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.04/parsing/.gitignore 2014-08-01 10:14:54.319065441 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/2.04/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.04/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/2.04/utils/.cvsignore 2010-09-15 17:00:32.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.04/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/2.04/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.04/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/2.04/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.04/utils/.gitignore 2014-08-01 10:14:54.320065441 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/2.99/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.99/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/2.99/parsing/.cvsignore 2010-09-15 17:00:33.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.99/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/2.99/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.99/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/2.99/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.99/parsing/.gitignore 2014-08-01 10:14:54.320065441 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/2.99/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.99/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/2.99/utils/.cvsignore 2010-09-15 17:00:33.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.99/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/2.99/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.99/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/2.99/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/2.99/utils/.gitignore 2014-08-01 10:14:54.320065441 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.00/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.00/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.00/parsing/.cvsignore 2010-09-15 17:00:33.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.00/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.00/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.00/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.00/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.00/parsing/.gitignore 2014-08-01 10:14:54.321065442 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.00/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.00/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.00/utils/.cvsignore 2010-09-15 17:00:33.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.00/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.00/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.00/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.00/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.00/utils/.gitignore 2014-08-01 10:14:54.321065442 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.01/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.01/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.01/parsing/.cvsignore 2010-09-15 17:00:34.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.01/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.01/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.01/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.01/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.01/parsing/.gitignore 2014-08-01 10:14:54.321065442 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.01/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.01/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.01/utils/.cvsignore 2010-09-15 17:00:34.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.01/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.01/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.01/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.01/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.01/utils/.gitignore 2014-08-01 10:14:54.322065443 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.02/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.02/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.02/parsing/.cvsignore 2010-09-15 17:00:34.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.02/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.02/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.02/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.02/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.02/parsing/.gitignore 2014-08-01 10:14:54.322065443 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.02/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.02/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.02/utils/.cvsignore 2010-09-15 17:00:34.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.02/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.02/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.02/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.02/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.02/utils/.gitignore 2014-08-01 10:14:54.322065443 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.03/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.03/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.03/parsing/.cvsignore 2010-09-15 17:00:35.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.03/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.03/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.03/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.03/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.03/parsing/.gitignore 2014-08-01 10:14:54.322065443 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.03/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.03/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.03/utils/.cvsignore 2010-09-15 17:00:35.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.03/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.03/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.03/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.03/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.03/utils/.gitignore 2014-08-01 10:14:54.323065443 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.04/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.04/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.04/parsing/.cvsignore 2010-09-15 17:00:35.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.04/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.04/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.04/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.04/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.04/parsing/.gitignore 2014-08-01 10:14:54.323065443 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.04/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.04/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.04/utils/.cvsignore 2010-09-15 17:00:35.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.04/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.04/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.04/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.04/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.04/utils/.gitignore 2014-08-01 10:14:54.323065443 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.05/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.05/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.05/parsing/.cvsignore 2010-09-15 17:00:35.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.05/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.05/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.05/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.05/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.05/parsing/.gitignore 2014-08-01 10:14:54.324065444 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.05/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.05/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.05/utils/.cvsignore 2010-09-15 17:00:36.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.05/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.05/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.05/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.05/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.05/utils/.gitignore 2014-08-01 10:14:54.324065444 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.06/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.06/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.06/parsing/.cvsignore 2010-09-15 17:00:36.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.06/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.06/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.06/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.06/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.06/parsing/.gitignore 2014-08-01 10:14:54.324065444 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.06/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.06/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.06/utils/.cvsignore 2010-09-15 17:00:36.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.06/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.06/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.06/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.06/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.06/utils/.gitignore 2014-08-01 10:14:54.324065444 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.07/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.07/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.07/parsing/.cvsignore 2010-09-15 17:00:36.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.07/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.07/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.07/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.07/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.07/parsing/.gitignore 2014-08-01 10:14:54.325065444 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.07/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.07/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.07/utils/.cvsignore 2010-09-15 17:00:37.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.07/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.07/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.07/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.07/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.07/utils/.gitignore 2014-08-01 10:14:54.325065444 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.08.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.08.0/parsing/.cvsignore 2010-09-15 17:00:37.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.08.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.08.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/parsing/.gitignore 2014-08-01 10:14:54.325065444 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.08.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.08.0/utils/.cvsignore 2010-09-15 17:00:37.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.08.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.08.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/utils/.gitignore 2014-08-01 10:14:54.326065445 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.08.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.08.1/parsing/.cvsignore 2010-09-15 17:00:37.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.08.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.08.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/parsing/.gitignore 2014-08-01 10:14:54.326065445 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.08.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.08.1/utils/.cvsignore 2010-09-15 17:00:38.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.08.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.08.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/utils/.gitignore 2014-08-01 10:14:54.327065446 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.08.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.08.2/parsing/.cvsignore 2010-09-15 17:00:38.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.08.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.08.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/parsing/.gitignore 2014-08-01 10:14:54.327065446 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.08.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.08.2/utils/.cvsignore 2010-09-15 17:00:38.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.08.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.08.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/utils/.gitignore 2014-08-01 10:14:54.327065446 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.08.3/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.08.3/parsing/.cvsignore 2010-09-15 17:00:38.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.08.3/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.08.3/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/parsing/.gitignore 2014-08-01 10:14:54.327065446 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.08.3/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.08.3/utils/.cvsignore 2010-09-15 17:00:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.08.3/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.08.3/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/utils/.gitignore 2014-08-01 10:14:54.328065446 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.08.4/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.08.4/parsing/.cvsignore 2010-09-15 17:00:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.08.4/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.08.4/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/parsing/.gitignore 2014-08-01 10:14:54.328065446 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.08.4/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.08.4/utils/.cvsignore 2010-09-15 17:00:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.08.4/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.08.4/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/utils/.gitignore 2014-08-01 10:14:54.328065446 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.09.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.09.0/parsing/.cvsignore 2010-09-15 17:00:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.09.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.09.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/parsing/.gitignore 2014-08-01 10:14:54.329065447 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.09.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.09.0/utils/.cvsignore 2010-09-15 17:00:39.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.09.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.09.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/utils/.gitignore 2014-08-01 10:14:54.329065447 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.09.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.09.1/parsing/.cvsignore 2010-09-15 17:00:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.09.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.09.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/parsing/.gitignore 2014-08-01 10:14:54.329065447 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.09.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.09.1/utils/.cvsignore 2010-09-15 17:00:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.09.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.09.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/utils/.gitignore 2014-08-01 10:14:54.329065447 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.09.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.09.2/parsing/.cvsignore 2010-09-15 17:00:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.09.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.09.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/parsing/.gitignore 2014-08-01 10:14:54.330065448 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.09.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.09.2/utils/.cvsignore 2010-09-15 17:00:40.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.09.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.09.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/utils/.gitignore 2014-08-01 10:14:54.330065448 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.09.3/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.09.3/parsing/.cvsignore 2010-09-15 17:00:41.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.09.3/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.09.3/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/parsing/.gitignore 2014-08-01 10:14:54.330065448 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.09.3/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.09.3/utils/.cvsignore 2010-09-15 17:00:41.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.09.3/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.09.3/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/utils/.gitignore 2014-08-01 10:14:54.331065448 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.09.4/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.09.4/parsing/.cvsignore 2010-09-15 17:00:41.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.09.4/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.09.4/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/parsing/.gitignore 2014-08-01 10:14:54.331065448 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.09.4/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.09.4/utils/.cvsignore 2010-09-15 17:00:41.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.09.4/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.09.4/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/utils/.gitignore 2014-08-01 10:14:54.331065448 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.10/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.10/parsing/.cvsignore 2010-09-15 17:00:41.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.10/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.10/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10/parsing/.gitignore 2014-08-01 10:14:54.334065450 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.10/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.10/utils/.cvsignore 2010-09-15 17:00:42.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.10/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.10/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10/utils/.gitignore 2014-08-01 10:14:54.334065450 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.10.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.10.0/parsing/.cvsignore 2010-09-15 17:00:42.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.10.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.10.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/parsing/.gitignore 2014-08-01 10:14:54.331065448 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.10.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.10.0/utils/.cvsignore 2010-09-15 17:00:42.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.10.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.10.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/utils/.gitignore 2014-08-01 10:14:54.332065449 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.10.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.10.1/parsing/.cvsignore 2010-09-15 17:00:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.10.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.10.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/parsing/.gitignore 2014-08-01 10:14:54.332065449 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.10.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.10.1/utils/.cvsignore 2010-09-15 17:00:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.10.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.10.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/utils/.gitignore 2014-08-01 10:14:54.332065449 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.10.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.10.2/parsing/.cvsignore 2010-09-15 17:00:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.10.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.10.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/parsing/.gitignore 2014-08-01 10:14:54.333065449 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.10.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.10.2/utils/.cvsignore 2010-09-15 17:00:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.10.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.10.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/utils/.gitignore 2014-08-01 10:14:54.333065449 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.10.3/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.10.3/parsing/.cvsignore 2010-09-15 17:00:43.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.10.3/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.10.3/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/parsing/.gitignore 2014-08-01 10:14:54.333065449 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.10.3/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.10.3/utils/.cvsignore 2010-09-15 17:00:44.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.10.3/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.10.3/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/utils/.gitignore 2014-08-01 10:14:54.333065449 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.11/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.11/parsing/.cvsignore 2010-09-15 17:00:44.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.11/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.11/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11/parsing/.gitignore 2014-08-01 10:14:54.337065452 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.11/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.11/utils/.cvsignore 2010-09-15 17:00:44.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.11/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.11/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11/utils/.gitignore 2014-08-01 10:14:54.337065452 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.11.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.11.0/parsing/.cvsignore 2010-09-15 17:00:44.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.11.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.11.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/parsing/.gitignore 2014-08-01 10:14:54.334065450 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.11.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.11.0/utils/.cvsignore 2010-09-15 17:00:45.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.11.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.11.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/utils/.gitignore 2014-08-01 10:14:54.335065451 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.11.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.11.1/parsing/.cvsignore 2010-09-15 17:00:45.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.11.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.11.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/parsing/.gitignore 2014-08-01 10:14:54.335065451 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.11.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.11.1/utils/.cvsignore 2010-09-15 17:00:45.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.11.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.11.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/utils/.gitignore 2014-08-01 10:14:54.335065451 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.11.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.11.2/parsing/.cvsignore 2010-09-15 17:00:45.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.11.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.11.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/parsing/.gitignore 2014-08-01 10:14:54.335065451 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.11.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.11.2/utils/.cvsignore 2010-09-15 17:00:45.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.11.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.11.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/utils/.gitignore 2014-08-01 10:14:54.336065452 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.11.3/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.11.3/parsing/.cvsignore 2010-09-15 17:00:46.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.11.3/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.11.3/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/parsing/.gitignore 2014-08-01 10:14:54.336065452 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.11.3/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.11.3/utils/.cvsignore 2010-09-15 17:00:46.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.11.3/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.11.3/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/utils/.gitignore 2014-08-01 10:14:54.336065452 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.12.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.12.0/parsing/.cvsignore 2010-09-15 17:00:46.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.12.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.12.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/parsing/.gitignore 2014-08-01 10:14:54.337065452 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.12.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.12.0/utils/.cvsignore 2010-09-15 17:00:46.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.12.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.12.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/utils/.gitignore 2014-08-01 10:14:54.338065453 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.12.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.12.1/parsing/.cvsignore 2010-09-15 17:00:47.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.12.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.12.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/parsing/.gitignore 2014-08-01 10:14:54.338065453 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.12.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.12.1/utils/.cvsignore 2010-09-15 17:00:47.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.12.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.12.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/utils/.gitignore 2014-08-01 10:14:54.338065453 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.12.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.12.2/parsing/.cvsignore 2012-03-14 09:25:26.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.12.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.12.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/parsing/.gitignore 2014-08-01 10:14:54.338065453 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.12.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.12.2/utils/.cvsignore 2012-03-14 09:25:26.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.12.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.12.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/utils/.gitignore 2014-08-01 10:14:54.339065453 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.13.0-gadt/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.13.0-gadt/parsing/.cvsignore 2010-11-12 23:24:02.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.13.0-gadt/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/3.13.0-gadt/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/parsing/.gitignore 2014-08-01 10:14:54.339065453 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/3.13.0-gadt/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/3.13.0-gadt/utils/.cvsignore 2010-11-12 23:24:03.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/3.13.0-gadt/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/3.13.0-gadt/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/utils/.gitignore 2014-08-01 10:14:54.340065454 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/4.00.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/4.00.0/parsing/.cvsignore 2012-03-09 19:31:12.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/4.00.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/4.00.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/parsing/.gitignore 2014-08-01 10:14:54.340065454 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/4.00.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/4.00.0/utils/.cvsignore 2012-03-09 19:31:12.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/4.00.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/4.00.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/utils/.gitignore 2014-08-01 10:14:54.340065454 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/4.00.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/4.00.1/parsing/.cvsignore 2012-09-12 09:11:07.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/4.00.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/4.00.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/parsing/.gitignore 2014-08-01 10:14:54.341065454 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/4.00.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/4.00.1/utils/.cvsignore 2012-09-12 09:11:07.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/4.00.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/4.00.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/utils/.gitignore 2014-08-01 10:14:54.341065454 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/4.00.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/4.00.2/parsing/.cvsignore 2013-03-15 18:30:46.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/4.00.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/4.00.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/parsing/.gitignore 2014-08-01 10:14:54.341065454 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/4.00.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/4.00.2/utils/.cvsignore 2013-03-15 18:30:46.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/4.00.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/4.00.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/utils/.gitignore 2014-08-01 10:14:54.342065455 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/4.01.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/4.01.0/parsing/.cvsignore 2012-06-01 15:56:53.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/4.01.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/4.01.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/parsing/.gitignore 2014-08-01 10:14:54.342065455 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/4.01.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/4.01.0/utils/.cvsignore 2012-06-01 15:56:53.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/4.01.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/4.01.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/utils/.gitignore 2014-08-01 10:14:54.342065455 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/asttypes.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/asttypes.mli ---- camlp5-6.11/ocaml_stuff/4.01.1/parsing/asttypes.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/asttypes.mli 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,43 @@ -+(***********************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. All rights reserved. This file is distributed *) -+(* under the terms of the Q Public License version 1.0. *) -+(* *) -+(***********************************************************************) -+ -+(* Auxiliary a.s.t. types used by parsetree and typedtree. *) -+ -+type constant = -+ Const_int of int -+ | Const_char of char -+ | Const_string of string -+ | Const_float of string -+ | Const_int32 of int32 -+ | Const_int64 of int64 -+ | Const_nativeint of nativeint -+ -+type rec_flag = Nonrecursive | Recursive | Default -+ -+type direction_flag = Upto | Downto -+ -+type private_flag = Private | Public -+ -+type mutable_flag = Immutable | Mutable -+ -+type virtual_flag = Virtual | Concrete -+ -+type override_flag = Override | Fresh -+ -+type closed_flag = Closed | Open -+ -+type label = string -+ -+type 'a loc = 'a Location.loc = { -+ txt : 'a; -+ loc : Location.t; -+} -diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/.depend ---- camlp5-6.11/ocaml_stuff/4.01.1/parsing/.depend 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/.depend 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,4 @@ -+asttypes.cmi : location.cmi -+location.cmi : ../utils/warnings.cmi -+longident.cmi : -+parsetree.cmi : longident.cmi location.cmi asttypes.cmi -diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/4.01.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/.gitignore 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/location.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/location.mli ---- camlp5-6.11/ocaml_stuff/4.01.1/parsing/location.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/location.mli 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,77 @@ -+(***********************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. All rights reserved. This file is distributed *) -+(* under the terms of the Q Public License version 1.0. *) -+(* *) -+(***********************************************************************) -+ -+(* Source code locations (ranges of positions), used in parsetree. *) -+ -+open Format -+ -+type t = { -+ loc_start: Lexing.position; -+ loc_end: Lexing.position; -+ loc_ghost: bool; -+} -+ -+(* Note on the use of Lexing.position in this module. -+ If [pos_fname = ""], then use [!input_name] instead. -+ If [pos_lnum = -1], then [pos_bol = 0]. Use [pos_cnum] and -+ re-parse the file to get the line and character numbers. -+ Else all fields are correct. -+*) -+ -+val none : t -+(** An arbitrary value of type [t]; describes an empty ghost range. *) -+val in_file : string -> t;; -+(** Return an empty ghost range located in a given file. *) -+val init : Lexing.lexbuf -> string -> unit -+(** Set the file name and line number of the [lexbuf] to be the start -+ of the named file. *) -+val curr : Lexing.lexbuf -> t -+(** Get the location of the current token from the [lexbuf]. *) -+ -+val symbol_rloc: unit -> t -+val symbol_gloc: unit -> t -+ -+(** [rhs_loc n] returns the location of the symbol at position [n], starting -+ at 1, in the current parser rule. *) -+val rhs_loc: int -> t -+ -+val input_name: string ref -+val input_lexbuf: Lexing.lexbuf option ref -+ -+val get_pos_info: Lexing.position -> string * int * int (* file, line, char *) -+val print_loc: formatter -> t -> unit -+val print_error: formatter -> t -> unit -+val print_error_cur_file: formatter -> unit -+val print_warning: t -> formatter -> Warnings.t -> unit -+val prerr_warning: t -> Warnings.t -> unit -+val echo_eof: unit -> unit -+val reset: unit -> unit -+ -+val highlight_locations: formatter -> t -> t -> bool -+ -+type 'a loc = { -+ txt : 'a; -+ loc : t; -+} -+ -+val mknoloc : 'a -> 'a loc -+val mkloc : 'a -> t -> 'a loc -+ -+val print: formatter -> t -> unit -+val print_filename: formatter -> string -> unit -+ -+val show_filename: string -> string -+ (** In -absname mode, return the absolute path for this filename. -+ Otherwise, returns the filename unchanged. *) -+ -+ -+val absname: bool ref -diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/longident.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/longident.mli ---- camlp5-6.11/ocaml_stuff/4.01.1/parsing/longident.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/longident.mli 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,22 @@ -+(***********************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. All rights reserved. This file is distributed *) -+(* under the terms of the Q Public License version 1.0. *) -+(* *) -+(***********************************************************************) -+ -+(* Long identifiers, used in parsetree. *) -+ -+type t = -+ Lident of string -+ | Ldot of t * string -+ | Lapply of t * t -+ -+val flatten: t -> string list -+val last: t -> string -+val parse: string -> t -diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/Makefile ---- camlp5-6.11/ocaml_stuff/4.01.1/parsing/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/Makefile 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,19 @@ -+# Id -+ -+FILES=asttypes.cmi location.cmi longident.cmi parsetree.cmi -+INCL=-I ../utils -+ -+all: $(FILES) -+ -+clean: -+ rm -f *.cmi -+ -+depend: -+ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend -+ -+.SUFFIXES: .mli .cmi -+ -+.mli.cmi: -+ $(OCAMLN)c $(INCL) -c $< -+ -+include .depend -diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/parsetree.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/parsetree.mli ---- camlp5-6.11/ocaml_stuff/4.01.1/parsing/parsetree.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/parsetree.mli 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,306 @@ -+(***********************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. All rights reserved. This file is distributed *) -+(* under the terms of the Q Public License version 1.0. *) -+(* *) -+(***********************************************************************) -+ -+(* Abstract syntax tree produced by parsing *) -+ -+open Asttypes -+ -+(* Type expressions for the core language *) -+ -+type core_type = -+ { ptyp_desc: core_type_desc; -+ ptyp_loc: Location.t } -+ -+and core_type_desc = -+ Ptyp_any -+ | Ptyp_var of string -+ | Ptyp_arrow of label * core_type * core_type -+ | Ptyp_tuple of core_type list -+ | Ptyp_constr of Longident.t loc * core_type list -+ | Ptyp_object of core_field_type list -+ | Ptyp_class of Longident.t loc * core_type list * label list -+ | Ptyp_alias of core_type * string -+ | Ptyp_variant of row_field list * bool * label list option -+ | Ptyp_poly of string list * core_type -+ | Ptyp_package of package_type -+ -+ -+and package_type = Longident.t loc * (Longident.t loc * core_type) list -+ -+and core_field_type = -+ { pfield_desc: core_field_desc; -+ pfield_loc: Location.t } -+ -+and core_field_desc = -+ Pfield of string * core_type -+ | Pfield_var -+ -+and row_field = -+ Rtag of label * bool * core_type list -+ | Rinherit of core_type -+ -+(* Type expressions for the class language *) -+ -+type 'a class_infos = -+ { pci_virt: virtual_flag; -+ pci_params: string loc list * Location.t; -+ pci_name: string loc; -+ pci_expr: 'a; -+ pci_variance: (bool * bool) list; -+ pci_loc: Location.t } -+ -+(* Value expressions for the core language *) -+ -+type pattern = -+ { ppat_desc: pattern_desc; -+ ppat_loc: Location.t } -+ -+and pattern_desc = -+ Ppat_any -+ | Ppat_var of string loc -+ | Ppat_alias of pattern * string loc -+ | Ppat_constant of constant -+ | Ppat_tuple of pattern list -+ | Ppat_construct of Longident.t loc * pattern option * bool -+ | Ppat_variant of label * pattern option -+ | Ppat_record of (Longident.t loc * pattern) list * closed_flag -+ | Ppat_array of pattern list -+ | Ppat_or of pattern * pattern -+ | Ppat_constraint of pattern * core_type -+ | Ppat_type of Longident.t loc -+ | Ppat_lazy of pattern -+ | Ppat_unpack of string loc -+ -+type expression = -+ { pexp_desc: expression_desc; -+ pexp_loc: Location.t } -+ -+and expression_desc = -+ Pexp_ident of Longident.t loc -+ | Pexp_constant of constant -+ | Pexp_let of rec_flag * (pattern * expression) list * expression -+ | Pexp_function of label * expression option * (pattern * expression) list -+ | Pexp_apply of expression * (label * expression) list -+ | Pexp_match of expression * (pattern * expression) list -+ | Pexp_try of expression * (pattern * expression) list -+ | Pexp_tuple of expression list -+ | Pexp_construct of Longident.t loc * expression option * bool -+ | Pexp_variant of label * expression option -+ | Pexp_record of (Longident.t loc * expression) list * expression option -+ | Pexp_field of expression * Longident.t loc -+ | Pexp_setfield of expression * Longident.t loc * expression -+ | Pexp_array of expression list -+ | Pexp_ifthenelse of expression * expression * expression option -+ | Pexp_sequence of expression * expression -+ | Pexp_while of expression * expression -+ | Pexp_for of -+ string loc * expression * expression * direction_flag * expression -+ | Pexp_constraint of expression * core_type option * core_type option -+ | Pexp_when of expression * expression -+ | Pexp_send of expression * string -+ | Pexp_new of Longident.t loc -+ | Pexp_setinstvar of string loc * expression -+ | Pexp_override of (string loc * expression) list -+ | Pexp_letmodule of string loc * module_expr * expression -+ | Pexp_assert of expression -+ | Pexp_assertfalse -+ | Pexp_lazy of expression -+ | Pexp_poly of expression * core_type option -+ | Pexp_object of class_structure -+ | Pexp_newtype of string * expression -+ | Pexp_pack of module_expr -+ | Pexp_open of override_flag * Longident.t loc * expression -+ -+(* Value descriptions *) -+ -+and value_description = -+ { pval_type: core_type; -+ pval_prim: string list; -+ pval_loc: Location.t -+ } -+ -+(* Type declarations *) -+ -+and type_declaration = -+ { ptype_params: string loc option list; -+ ptype_cstrs: (core_type * core_type * Location.t) list; -+ ptype_kind: type_kind; -+ ptype_private: private_flag; -+ ptype_manifest: core_type option; -+ ptype_variance: (bool * bool) list; -+ ptype_loc: Location.t } -+ -+and type_kind = -+ Ptype_abstract -+ | Ptype_variant of -+ (string loc * core_type list * core_type option * Location.t) list -+ | Ptype_record of -+ (string loc * mutable_flag * core_type * Location.t) list -+ -+and exception_declaration = core_type list -+ -+(* Type expressions for the class language *) -+ -+and class_type = -+ { pcty_desc: class_type_desc; -+ pcty_loc: Location.t } -+ -+and class_type_desc = -+ Pcty_constr of Longident.t loc * core_type list -+ | Pcty_signature of class_signature -+ | Pcty_fun of label * core_type * class_type -+ -+and class_signature = { -+ pcsig_self: core_type; -+ pcsig_fields: class_type_field list; -+ pcsig_loc: Location.t; -+ } -+ -+and class_type_field = { -+ pctf_desc: class_type_field_desc; -+ pctf_loc: Location.t; -+ } -+ -+and class_type_field_desc = -+ Pctf_inher of class_type -+ | Pctf_val of (string * mutable_flag * virtual_flag * core_type) -+ | Pctf_virt of (string * private_flag * core_type) -+ | Pctf_meth of (string * private_flag * core_type) -+ | Pctf_cstr of (core_type * core_type) -+ -+and class_description = class_type class_infos -+ -+and class_type_declaration = class_type class_infos -+ -+(* Value expressions for the class language *) -+ -+and class_expr = -+ { pcl_desc: class_expr_desc; -+ pcl_loc: Location.t } -+ -+and class_expr_desc = -+ Pcl_constr of Longident.t loc * core_type list -+ | Pcl_structure of class_structure -+ | Pcl_fun of label * expression option * pattern * class_expr -+ | Pcl_apply of class_expr * (label * expression) list -+ | Pcl_let of rec_flag * (pattern * expression) list * class_expr -+ | Pcl_constraint of class_expr * class_type -+ -+and class_structure = { -+ pcstr_pat: pattern; -+ pcstr_fields: class_field list; -+ } -+ -+and class_field = { -+ pcf_desc: class_field_desc; -+ pcf_loc: Location.t; -+ } -+ -+and class_field_desc = -+ Pcf_inher of override_flag * class_expr * string option -+ | Pcf_valvirt of (string loc * mutable_flag * core_type) -+ | Pcf_val of (string loc * mutable_flag * override_flag * expression) -+ | Pcf_virt of (string loc * private_flag * core_type) -+ | Pcf_meth of (string loc * private_flag * override_flag * expression) -+ | Pcf_constr of (core_type * core_type) -+ | Pcf_init of expression -+ -+and class_declaration = class_expr class_infos -+ -+(* Type expressions for the module language *) -+ -+and module_type = -+ { pmty_desc: module_type_desc; -+ pmty_loc: Location.t } -+ -+and module_type_desc = -+ Pmty_ident of Longident.t loc -+ | Pmty_signature of signature -+ | Pmty_functor of string loc * module_type * module_type -+ | Pmty_with of module_type * (Longident.t loc * with_constraint) list -+ | Pmty_typeof of module_expr -+ -+and signature = signature_item list -+ -+and signature_item = -+ { psig_desc: signature_item_desc; -+ psig_loc: Location.t } -+ -+and signature_item_desc = -+ Psig_value of string loc * value_description -+ | Psig_type of (string loc * type_declaration) list -+ | Psig_exception of string loc * exception_declaration -+ | Psig_module of string loc * module_type -+ | Psig_recmodule of (string loc * module_type) list -+ | Psig_modtype of string loc * modtype_declaration -+ | Psig_open of override_flag * Longident.t loc -+ | Psig_include of module_type -+ | Psig_class of class_description list -+ | Psig_class_type of class_type_declaration list -+ -+and modtype_declaration = -+ Pmodtype_abstract -+ | Pmodtype_manifest of module_type -+ -+and with_constraint = -+ Pwith_type of type_declaration -+ | Pwith_module of Longident.t loc -+ | Pwith_typesubst of type_declaration -+ | Pwith_modsubst of Longident.t loc -+ -+(* Value expressions for the module language *) -+ -+and module_expr = -+ { pmod_desc: module_expr_desc; -+ pmod_loc: Location.t } -+ -+and module_expr_desc = -+ Pmod_ident of Longident.t loc -+ | Pmod_structure of structure -+ | Pmod_functor of string loc * module_type * module_expr -+ | Pmod_apply of module_expr * module_expr -+ | Pmod_constraint of module_expr * module_type -+ | Pmod_unpack of expression -+ -+and structure = structure_item list -+ -+and structure_item = -+ { pstr_desc: structure_item_desc; -+ pstr_loc: Location.t } -+ -+and structure_item_desc = -+ Pstr_eval of expression -+ | Pstr_value of rec_flag * (pattern * expression) list -+ | Pstr_primitive of string loc * value_description -+ | Pstr_type of (string loc * type_declaration) list -+ | Pstr_exception of string loc * exception_declaration -+ | Pstr_exn_rebind of string loc * Longident.t loc -+ | Pstr_module of string loc * module_expr -+ | Pstr_recmodule of (string loc * module_type * module_expr) list -+ | Pstr_modtype of string loc * module_type -+ | Pstr_open of override_flag * Longident.t loc -+ | Pstr_class of class_declaration list -+ | Pstr_class_type of class_type_declaration list -+ | Pstr_include of module_expr -+ -+(* Toplevel phrases *) -+ -+type toplevel_phrase = -+ Ptop_def of structure -+ | Ptop_dir of string * directive_argument -+ -+and directive_argument = -+ Pdir_none -+ | Pdir_string of string -+ | Pdir_int of int -+ | Pdir_ident of Longident.t -+ | Pdir_bool of bool -diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/.depend ---- camlp5-6.11/ocaml_stuff/4.01.1/utils/.depend 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/.depend 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,2 @@ -+pconfig.cmo: pconfig.cmi -+pconfig.cmx: pconfig.cmi -diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/4.01.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/.gitignore 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/Makefile ---- camlp5-6.11/ocaml_stuff/4.01.1/utils/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/Makefile 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,27 @@ -+# Id -+ -+FILES=warnings.cmi pconfig.cmo -+INCL= -+ -+all: $(FILES) -+ -+opt: pconfig.cmx -+ -+clean: -+ rm -f *.cm[oix] *.o -+ -+depend: -+ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend -+ -+.SUFFIXES: .mli .cmi .ml .cmo .cmx -+ -+.mli.cmi: -+ $(OCAMLN)c $(INCL) -c $< -+ -+.ml.cmo: -+ $(OCAMLN)c $(INCL) -c $< -+ -+.ml.cmx: -+ $(OCAMLN)opt $(INCL) -c $< -+ -+include .depend -diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/pconfig.ml camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/pconfig.ml ---- camlp5-6.11/ocaml_stuff/4.01.1/utils/pconfig.ml 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/pconfig.ml 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,4 @@ -+let ocaml_version = "4.01.1" -+let ocaml_name = "ocaml" -+let ast_impl_magic_number = "Caml1999M016" -+let ast_intf_magic_number = "Caml1999N015" -diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/pconfig.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/pconfig.mli ---- camlp5-6.11/ocaml_stuff/4.01.1/utils/pconfig.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/pconfig.mli 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,4 @@ -+val ocaml_version : string -+val ocaml_name : string -+val ast_impl_magic_number : string -+val ast_intf_magic_number : string -diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/warnings.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/warnings.mli ---- camlp5-6.11/ocaml_stuff/4.01.1/utils/warnings.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/warnings.mli 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,80 @@ -+(***********************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Pierre Weis && Damien Doligez, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1998 Institut National de Recherche en Informatique et *) -+(* en Automatique. All rights reserved. This file is distributed *) -+(* under the terms of the Q Public License version 1.0. *) -+(* *) -+(***********************************************************************) -+ -+open Format -+ -+type t = -+ | Comment_start (* 1 *) -+ | Comment_not_end (* 2 *) -+ | Deprecated of string (* 3 *) -+ | Fragile_match of string (* 4 *) -+ | Partial_application (* 5 *) -+ | Labels_omitted (* 6 *) -+ | Method_override of string list (* 7 *) -+ | Partial_match of string (* 8 *) -+ | Non_closed_record_pattern of string (* 9 *) -+ | Statement_type (* 10 *) -+ | Unused_match (* 11 *) -+ | Unused_pat (* 12 *) -+ | Instance_variable_override of string list (* 13 *) -+ | Illegal_backslash (* 14 *) -+ | Implicit_public_methods of string list (* 15 *) -+ | Unerasable_optional_argument (* 16 *) -+ | Undeclared_virtual_method of string (* 17 *) -+ | Not_principal of string (* 18 *) -+ | Without_principality of string (* 19 *) -+ | Unused_argument (* 20 *) -+ | Nonreturning_statement (* 21 *) -+ | Camlp4 of string (* 22 *) -+ | Useless_record_with (* 23 *) -+ | Bad_module_name of string (* 24 *) -+ | All_clauses_guarded (* 25 *) -+ | Unused_var of string (* 26 *) -+ | Unused_var_strict of string (* 27 *) -+ | Wildcard_arg_to_constant_constr (* 28 *) -+ | Eol_in_string (* 29 *) -+ | Duplicate_definitions of string * string * string * string (* 30 *) -+ | Multiple_definition of string * string * string (* 31 *) -+ | Unused_value_declaration of string (* 32 *) -+ | Unused_open of string (* 33 *) -+ | Unused_type_declaration of string (* 34 *) -+ | Unused_for_index of string (* 35 *) -+ | Unused_ancestor of string (* 36 *) -+ | Unused_constructor of string * bool * bool (* 37 *) -+ | Unused_exception of string * bool (* 38 *) -+ | Unused_rec_flag (* 39 *) -+ | Name_out_of_scope of string * string list * bool (* 40 *) -+ | Ambiguous_name of string list * string list * bool (* 41 *) -+ | Disambiguated_name of string (* 42 *) -+ | Nonoptional_label of string (* 43 *) -+ | Open_shadow_identifier of string * string (* 44 *) -+ | Open_shadow_label_constructor of string * string (* 45 *) -+ | Bad_env_variable of string * string -+;; -+ -+val parse_options : bool -> string -> unit;; -+ -+val is_active : t -> bool;; -+val is_error : t -> bool;; -+ -+val defaults_w : string;; -+val defaults_warn_error : string;; -+ -+val print : formatter -> t -> int;; -+ (* returns the number of newlines in the printed string *) -+ -+ -+exception Errors of int;; -+ -+val check_fatal : unit -> unit;; -+ -+val help_warnings: unit -> unit -diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/asttypes.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/asttypes.mli ---- camlp5-6.11/ocaml_stuff/4.02.0/parsing/asttypes.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/asttypes.mli 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,49 @@ -+(***********************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. All rights reserved. This file is distributed *) -+(* under the terms of the Q Public License version 1.0. *) -+(* *) -+(***********************************************************************) -+ -+(* Auxiliary a.s.t. types used by parsetree and typedtree. *) -+ -+type constant = -+ Const_int of int -+ | Const_char of char -+ | Const_string of string * string option -+ | Const_float of string -+ | Const_int32 of int32 -+ | Const_int64 of int64 -+ | Const_nativeint of nativeint -+ -+type rec_flag = Nonrecursive | Recursive -+ -+type direction_flag = Upto | Downto -+ -+type private_flag = Private | Public -+ -+type mutable_flag = Immutable | Mutable -+ -+type virtual_flag = Virtual | Concrete -+ -+type override_flag = Override | Fresh -+ -+type closed_flag = Closed | Open -+ -+type label = string -+ -+type 'a loc = 'a Location.loc = { -+ txt : 'a; -+ loc : Location.t; -+} -+ -+ -+type variance = -+ | Covariant -+ | Contravariant -+ | Invariant -diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/.depend ---- camlp5-6.11/ocaml_stuff/4.02.0/parsing/.depend 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/.depend 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,4 @@ -+asttypes.cmi : location.cmi -+location.cmi : ../utils/warnings.cmi -+longident.cmi : -+parsetree.cmi : longident.cmi location.cmi asttypes.cmi -diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/4.02.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/.gitignore 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/location.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/location.mli ---- camlp5-6.11/ocaml_stuff/4.02.0/parsing/location.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/location.mli 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,116 @@ -+(***********************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. All rights reserved. This file is distributed *) -+(* under the terms of the Q Public License version 1.0. *) -+(* *) -+(***********************************************************************) -+ -+(* Source code locations (ranges of positions), used in parsetree. *) -+ -+open Format -+ -+type t = { -+ loc_start: Lexing.position; -+ loc_end: Lexing.position; -+ loc_ghost: bool; -+} -+ -+(* Note on the use of Lexing.position in this module. -+ If [pos_fname = ""], then use [!input_name] instead. -+ If [pos_lnum = -1], then [pos_bol = 0]. Use [pos_cnum] and -+ re-parse the file to get the line and character numbers. -+ Else all fields are correct. -+*) -+ -+val none : t -+(** An arbitrary value of type [t]; describes an empty ghost range. *) -+val in_file : string -> t;; -+(** Return an empty ghost range located in a given file. *) -+val init : Lexing.lexbuf -> string -> unit -+(** Set the file name and line number of the [lexbuf] to be the start -+ of the named file. *) -+val curr : Lexing.lexbuf -> t -+(** Get the location of the current token from the [lexbuf]. *) -+ -+val symbol_rloc: unit -> t -+val symbol_gloc: unit -> t -+ -+(** [rhs_loc n] returns the location of the symbol at position [n], starting -+ at 1, in the current parser rule. *) -+val rhs_loc: int -> t -+ -+val input_name: string ref -+val input_lexbuf: Lexing.lexbuf option ref -+ -+val get_pos_info: Lexing.position -> string * int * int (* file, line, char *) -+val print_loc: formatter -> t -> unit -+val print_error: formatter -> t -> unit -+val print_error_cur_file: formatter -> unit -+val print_warning: t -> formatter -> Warnings.t -> unit -+val prerr_warning: t -> Warnings.t -> unit -+val echo_eof: unit -> unit -+val reset: unit -> unit -+ -+val highlight_locations: formatter -> t list -> bool -+ -+type 'a loc = { -+ txt : 'a; -+ loc : t; -+} -+ -+val mknoloc : 'a -> 'a loc -+val mkloc : 'a -> t -> 'a loc -+ -+val print: formatter -> t -> unit -+val print_filename: formatter -> string -> unit -+ -+val absolute_path: string -> string -+ -+val show_filename: string -> string -+ (** In -absname mode, return the absolute path for this filename. -+ Otherwise, returns the filename unchanged. *) -+ -+ -+val absname: bool ref -+ -+ -+(* Support for located errors *) -+ -+type error = -+ { -+ loc: t; -+ msg: string; -+ sub: error list; -+ if_highlight: string; (* alternative message if locations are highlighted *) -+ } -+ -+exception Error of error -+ -+val error: ?loc:t -> ?sub:error list -> ?if_highlight:string -> string -> error -+ -+val errorf: ?loc:t -> ?sub:error list -> ?if_highlight:string -+ -> ('a, unit, string, error) format4 -> 'a -+ -+val error_of_printer: t -> (formatter -> 'a -> unit) -> 'a -> error -+ -+val error_of_printer_file: (formatter -> 'a -> unit) -> 'a -> error -+ -+val error_of_exn: exn -> error option -+ -+val register_error_of_exn: (exn -> error option) -> unit -+ (* Each compiler module which defines a custom type of exception -+ which can surface as a user-visible error should register -+ a "printer" for this exception using [register_error_of_exn]. -+ The result of the printer is an [error] value containing -+ a location, a message, and optionally sub-messages (each of them -+ being located as well). *) -+ -+val report_error: formatter -> error -> unit -+ -+val report_exception: formatter -> exn -> unit -+ (* Reraise the exception if it is unknown. *) -diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/longident.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/longident.mli ---- camlp5-6.11/ocaml_stuff/4.02.0/parsing/longident.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/longident.mli 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,22 @@ -+(***********************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. All rights reserved. This file is distributed *) -+(* under the terms of the Q Public License version 1.0. *) -+(* *) -+(***********************************************************************) -+ -+(* Long identifiers, used in parsetree. *) -+ -+type t = -+ Lident of string -+ | Ldot of t * string -+ | Lapply of t * t -+ -+val flatten: t -> string list -+val last: t -> string -+val parse: string -> t -diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/Makefile ---- camlp5-6.11/ocaml_stuff/4.02.0/parsing/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/Makefile 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,19 @@ -+# Makefile,v -+ -+FILES=asttypes.cmi location.cmi longident.cmi parsetree.cmi -+INCL=-I ../utils -+ -+all: $(FILES) -+ -+clean: -+ rm -f *.cmi -+ -+depend: -+ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend -+ -+.SUFFIXES: .mli .cmi -+ -+.mli.cmi: -+ $(OCAMLN)c $(INCL) -c $< -+ -+include .depend -diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/parsetree.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/parsetree.mli ---- camlp5-6.11/ocaml_stuff/4.02.0/parsing/parsetree.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/parsetree.mli 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,829 @@ -+(***********************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. All rights reserved. This file is distributed *) -+(* under the terms of the Q Public License version 1.0. *) -+(* *) -+(***********************************************************************) -+ -+(** Abstract syntax tree produced by parsing *) -+ -+open Asttypes -+ -+(** {2 Extension points} *) -+ -+type attribute = string loc * payload -+ (* [@id ARG] -+ [@@id ARG] -+ -+ Metadata containers passed around within the AST. -+ The compiler ignores unknown attributes. -+ *) -+ -+and extension = string loc * payload -+ (* [%id ARG] -+ [%%id ARG] -+ -+ Sub-language placeholder -- rejected by the typechecker. -+ *) -+ -+and attributes = attribute list -+ -+and payload = -+ | PStr of structure -+ | PTyp of core_type (* : T *) -+ | PPat of pattern * expression option (* : P or : P when E *) -+ -+(** {2 Core language} *) -+ -+(* Type expressions *) -+ -+and core_type = -+ { -+ ptyp_desc: core_type_desc; -+ ptyp_loc: Location.t; -+ ptyp_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and core_type_desc = -+ | Ptyp_any -+ (* _ *) -+ | Ptyp_var of string -+ (* 'a *) -+ | Ptyp_arrow of label * core_type * core_type -+ (* T1 -> T2 (label = "") -+ ~l:T1 -> T2 (label = "l") -+ ?l:T1 -> T2 (label = "?l") -+ *) -+ | Ptyp_tuple of core_type list -+ (* T1 * ... * Tn -+ -+ Invariant: n >= 2 -+ *) -+ | Ptyp_constr of Longident.t loc * core_type list -+ (* tconstr -+ T tconstr -+ (T1, ..., Tn) tconstr -+ *) -+ | Ptyp_object of (string * attributes * core_type) list * closed_flag -+ (* < l1:T1; ...; ln:Tn > (flag = Closed) -+ < l1:T1; ...; ln:Tn; .. > (flag = Open) -+ *) -+ | Ptyp_class of Longident.t loc * core_type list -+ (* #tconstr -+ T #tconstr -+ (T1, ..., Tn) #tconstr -+ *) -+ | Ptyp_alias of core_type * string -+ (* T as 'a *) -+ | Ptyp_variant of row_field list * closed_flag * label list option -+ (* [ `A|`B ] (flag = Closed; labels = None) -+ [> `A|`B ] (flag = Open; labels = None) -+ [< `A|`B ] (flag = Closed; labels = Some []) -+ [< `A|`B > `X `Y ](flag = Closed; labels = Some ["X";"Y"]) -+ *) -+ | Ptyp_poly of string list * core_type -+ (* 'a1 ... 'an. T -+ -+ Can only appear in the following context: -+ -+ - As the core_type of a Ppat_constraint node corresponding -+ to a constraint on a let-binding: let x : 'a1 ... 'an. T -+ = e ... -+ -+ - Under Cfk_virtual for methods (not values). -+ -+ - As the core_type of a Pctf_method node. -+ -+ - As the core_type of a Pexp_poly node. -+ -+ - As the pld_type field of a label_declaration. -+ -+ - As a core_type of a Ptyp_object node. -+ *) -+ -+ | Ptyp_package of package_type -+ (* (module S) *) -+ | Ptyp_extension of extension -+ (* [%id] *) -+ -+and package_type = Longident.t loc * (Longident.t loc * core_type) list -+ (* -+ (module S) -+ (module S with type t1 = T1 and ... and tn = Tn) -+ *) -+ -+and row_field = -+ | Rtag of label * attributes * bool * core_type list -+ (* [`A] ( true, [] ) -+ [`A of T] ( false, [T] ) -+ [`A of T1 & .. & Tn] ( false, [T1;...Tn] ) -+ [`A of & T1 & .. & Tn] ( true, [T1;...Tn] ) -+ -+ - The 2nd field is true if the tag contains a -+ constant (empty) constructor. -+ - '&' occurs when several types are used for the same constructor -+ (see 4.2 in the manual) -+ -+ - TODO: switch to a record representation, and keep location -+ *) -+ | Rinherit of core_type -+ (* [ T ] *) -+ -+(* Patterns *) -+ -+and pattern = -+ { -+ ppat_desc: pattern_desc; -+ ppat_loc: Location.t; -+ ppat_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and pattern_desc = -+ | Ppat_any -+ (* _ *) -+ | Ppat_var of string loc -+ (* x *) -+ | Ppat_alias of pattern * string loc -+ (* P as 'a *) -+ | Ppat_constant of constant -+ (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) -+ | Ppat_interval of constant * constant -+ (* 'a'..'z' -+ -+ Other forms of interval are recognized by the parser -+ but rejected by the type-checker. *) -+ | Ppat_tuple of pattern list -+ (* (P1, ..., Pn) -+ -+ Invariant: n >= 2 -+ *) -+ | Ppat_construct of Longident.t loc * pattern option -+ (* C None -+ C P Some P -+ C (P1, ..., Pn) Some (Ppat_tuple [P1; ...; Pn]) -+ *) -+ | Ppat_variant of label * pattern option -+ (* `A (None) -+ `A P (Some P) -+ *) -+ | Ppat_record of (Longident.t loc * pattern) list * closed_flag -+ (* { l1=P1; ...; ln=Pn } (flag = Closed) -+ { l1=P1; ...; ln=Pn; _} (flag = Open) -+ -+ Invariant: n > 0 -+ *) -+ | Ppat_array of pattern list -+ (* [| P1; ...; Pn |] *) -+ | Ppat_or of pattern * pattern -+ (* P1 | P2 *) -+ | Ppat_constraint of pattern * core_type -+ (* (P : T) *) -+ | Ppat_type of Longident.t loc -+ (* #tconst *) -+ | Ppat_lazy of pattern -+ (* lazy P *) -+ | Ppat_unpack of string loc -+ (* (module P) -+ Note: (module P : S) is represented as -+ Ppat_constraint(Ppat_unpack, Ptyp_package) -+ *) -+ | Ppat_exception of pattern -+ (* exception P *) -+ | Ppat_extension of extension -+ (* [%id] *) -+ -+(* Value expressions *) -+ -+and expression = -+ { -+ pexp_desc: expression_desc; -+ pexp_loc: Location.t; -+ pexp_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and expression_desc = -+ | Pexp_ident of Longident.t loc -+ (* x -+ M.x -+ *) -+ | Pexp_constant of constant -+ (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) -+ | Pexp_let of rec_flag * value_binding list * expression -+ (* let P1 = E1 and ... and Pn = EN in E (flag = Nonrecursive) -+ let rec P1 = E1 and ... and Pn = EN in E (flag = Recursive) -+ *) -+ | Pexp_function of case list -+ (* function P1 -> E1 | ... | Pn -> En *) -+ | Pexp_fun of label * expression option * pattern * expression -+ (* fun P -> E1 (lab = "", None) -+ fun ~l:P -> E1 (lab = "l", None) -+ fun ?l:P -> E1 (lab = "?l", None) -+ fun ?l:(P = E0) -> E1 (lab = "?l", Some E0) -+ -+ Notes: -+ - If E0 is provided, lab must start with '?'. -+ - "fun P1 P2 .. Pn -> E1" is represented as nested Pexp_fun. -+ - "let f P = E" is represented using Pexp_fun. -+ *) -+ | Pexp_apply of expression * (label * expression) list -+ (* E0 ~l1:E1 ... ~ln:En -+ li can be empty (non labeled argument) or start with '?' -+ (optional argument). -+ -+ Invariant: n > 0 -+ *) -+ | Pexp_match of expression * case list -+ (* match E0 with P1 -> E1 | ... | Pn -> En *) -+ | Pexp_try of expression * case list -+ (* try E0 with P1 -> E1 | ... | Pn -> En *) -+ | Pexp_tuple of expression list -+ (* (E1, ..., En) -+ -+ Invariant: n >= 2 -+ *) -+ | Pexp_construct of Longident.t loc * expression option -+ (* C None -+ C E Some E -+ C (E1, ..., En) Some (Pexp_tuple[E1;...;En]) -+ *) -+ | Pexp_variant of label * expression option -+ (* `A (None) -+ `A E (Some E) -+ *) -+ | Pexp_record of (Longident.t loc * expression) list * expression option -+ (* { l1=P1; ...; ln=Pn } (None) -+ { E0 with l1=P1; ...; ln=Pn } (Some E0) -+ -+ Invariant: n > 0 -+ *) -+ | Pexp_field of expression * Longident.t loc -+ (* E.l *) -+ | Pexp_setfield of expression * Longident.t loc * expression -+ (* E1.l <- E2 *) -+ | Pexp_array of expression list -+ (* [| E1; ...; En |] *) -+ | Pexp_ifthenelse of expression * expression * expression option -+ (* if E1 then E2 else E3 *) -+ | Pexp_sequence of expression * expression -+ (* E1; E2 *) -+ | Pexp_while of expression * expression -+ (* while E1 do E2 done *) -+ | Pexp_for of -+ pattern * expression * expression * direction_flag * expression -+ (* for i = E1 to E2 do E3 done (flag = Upto) -+ for i = E1 downto E2 do E3 done (flag = Downto) -+ *) -+ | Pexp_constraint of expression * core_type -+ (* (E : T) *) -+ | Pexp_coerce of expression * core_type option * core_type -+ (* (E :> T) (None, T) -+ (E : T0 :> T) (Some T0, T) -+ *) -+ | Pexp_send of expression * string -+ (* E # m *) -+ | Pexp_new of Longident.t loc -+ (* new M.c *) -+ | Pexp_setinstvar of string loc * expression -+ (* x <- 2 *) -+ | Pexp_override of (string loc * expression) list -+ (* {< x1 = E1; ...; Xn = En >} *) -+ | Pexp_letmodule of string loc * module_expr * expression -+ (* let module M = ME in E *) -+ | Pexp_assert of expression -+ (* assert E -+ Note: "assert false" is treated in a special way by the -+ type-checker. *) -+ | Pexp_lazy of expression -+ (* lazy E *) -+ | Pexp_poly of expression * core_type option -+ (* Used for method bodies. -+ -+ Can only be used as the expression under Cfk_concrete -+ for methods (not values). *) -+ | Pexp_object of class_structure -+ (* object ... end *) -+ | Pexp_newtype of string * expression -+ (* fun (type t) -> E *) -+ | Pexp_pack of module_expr -+ (* (module ME) -+ -+ (module ME : S) is represented as -+ Pexp_constraint(Pexp_pack, Ptyp_package S) *) -+ | Pexp_open of override_flag * Longident.t loc * expression -+ (* let open M in E -+ let! open M in E -+ *) -+ | Pexp_extension of extension -+ (* [%id] *) -+ -+and case = (* (P -> E) or (P when E0 -> E) *) -+ { -+ pc_lhs: pattern; -+ pc_guard: expression option; -+ pc_rhs: expression; -+ } -+ -+(* Value descriptions *) -+ -+and value_description = -+ { -+ pval_name: string loc; -+ pval_type: core_type; -+ pval_prim: string list; -+ pval_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ pval_loc: Location.t; -+ } -+ -+(* -+ val x: T (prim = []) -+ external x: T = "s1" ... "sn" (prim = ["s1";..."sn"]) -+ -+ Note: when used under Pstr_primitive, prim cannot be empty -+*) -+ -+(* Type declarations *) -+ -+and type_declaration = -+ { -+ ptype_name: string loc; -+ ptype_params: (core_type * variance) list; -+ (* ('a1,...'an) t; None represents _*) -+ ptype_cstrs: (core_type * core_type * Location.t) list; -+ (* ... constraint T1=T1' ... constraint Tn=Tn' *) -+ ptype_kind: type_kind; -+ ptype_private: private_flag; (* = private ... *) -+ ptype_manifest: core_type option; (* = T *) -+ ptype_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ ptype_loc: Location.t; -+ } -+ -+(* -+ type t (abstract, no manifest) -+ type t = T0 (abstract, manifest=T0) -+ type t = C of T | ... (variant, no manifest) -+ type t = T0 = C of T | ... (variant, manifest=T0) -+ type t = {l: T; ...} (record, no manifest) -+ type t = T0 = {l : T; ...} (record, manifest=T0) -+ type t = .. (open, no manifest) -+*) -+ -+and type_kind = -+ | Ptype_abstract -+ | Ptype_variant of constructor_declaration list -+ (* Invariant: non-empty list *) -+ | Ptype_record of label_declaration list -+ (* Invariant: non-empty list *) -+ | Ptype_open -+ -+and label_declaration = -+ { -+ pld_name: string loc; -+ pld_mutable: mutable_flag; -+ pld_type: core_type; -+ pld_loc: Location.t; -+ pld_attributes: attributes; (* l [@id1] [@id2] : T *) -+ } -+ -+(* { ...; l: T; ... } (mutable=Immutable) -+ { ...; mutable l: T; ... } (mutable=Mutable) -+ -+ Note: T can be a Pexp_poly. -+*) -+ -+and constructor_declaration = -+ { -+ pcd_name: string loc; -+ pcd_args: core_type list; -+ pcd_res: core_type option; -+ pcd_loc: Location.t; -+ pcd_attributes: attributes; (* C [@id1] [@id2] of ... *) -+ } -+(* -+ | C of T1 * ... * Tn (res = None) -+ | C: T0 (args = [], res = Some T0) -+ | C: T1 * ... * Tn -> T0 (res = Some T0) -+*) -+ -+and type_extension = -+ { -+ ptyext_path: Longident.t loc; -+ ptyext_params: (core_type * variance) list; -+ ptyext_constructors: extension_constructor list; -+ ptyext_private: private_flag; -+ ptyext_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ } -+(* -+ type t += ... -+*) -+ -+and extension_constructor = -+ { -+ pext_name: string loc; -+ pext_kind : extension_constructor_kind; -+ pext_loc : Location.t; -+ pext_attributes: attributes; (* C [@id1] [@id2] of ... *) -+ } -+ -+and extension_constructor_kind = -+ Pext_decl of core_type list * core_type option -+ (* -+ | C of T1 * ... * Tn ([T1; ...; Tn], None) -+ | C: T0 ([], Some T0) -+ | C: T1 * ... * Tn -> T0 ([T1; ...; Tn], Some T0) -+ *) -+ | Pext_rebind of Longident.t loc -+ (* -+ | C = D -+ *) -+ -+(** {2 Class language} *) -+ -+(* Type expressions for the class language *) -+ -+and class_type = -+ { -+ pcty_desc: class_type_desc; -+ pcty_loc: Location.t; -+ pcty_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and class_type_desc = -+ | Pcty_constr of Longident.t loc * core_type list -+ (* c -+ ['a1, ..., 'an] c *) -+ | Pcty_signature of class_signature -+ (* object ... end *) -+ | Pcty_arrow of label * core_type * class_type -+ (* T -> CT (label = "") -+ ~l:T -> CT (label = "l") -+ ?l:T -> CT (label = "?l") -+ *) -+ | Pcty_extension of extension -+ (* [%id] *) -+ -+and class_signature = -+ { -+ pcsig_self: core_type; -+ pcsig_fields: class_type_field list; -+ } -+(* object('selfpat) ... end -+ object ... end (self = Ptyp_any) -+ *) -+ -+and class_type_field = -+ { -+ pctf_desc: class_type_field_desc; -+ pctf_loc: Location.t; -+ pctf_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ } -+ -+and class_type_field_desc = -+ | Pctf_inherit of class_type -+ (* inherit CT *) -+ | Pctf_val of (string * mutable_flag * virtual_flag * core_type) -+ (* val x: T *) -+ | Pctf_method of (string * private_flag * virtual_flag * core_type) -+ (* method x: T -+ -+ Note: T can be a Pexp_poly. -+ *) -+ | Pctf_constraint of (core_type * core_type) -+ (* constraint T1 = T2 *) -+ | Pctf_attribute of attribute -+ (* [@@@id] *) -+ | Pctf_extension of extension -+ (* [%%id] *) -+ -+and 'a class_infos = -+ { -+ pci_virt: virtual_flag; -+ pci_params: (core_type * variance) list; -+ pci_name: string loc; -+ pci_expr: 'a; -+ pci_loc: Location.t; -+ pci_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ } -+(* class c = ... -+ class ['a1,...,'an] c = ... -+ class virtual c = ... -+ -+ Also used for "class type" declaration. -+*) -+ -+and class_description = class_type class_infos -+ -+and class_type_declaration = class_type class_infos -+ -+(* Value expressions for the class language *) -+ -+and class_expr = -+ { -+ pcl_desc: class_expr_desc; -+ pcl_loc: Location.t; -+ pcl_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and class_expr_desc = -+ | Pcl_constr of Longident.t loc * core_type list -+ (* c -+ ['a1, ..., 'an] c *) -+ | Pcl_structure of class_structure -+ (* object ... end *) -+ | Pcl_fun of label * expression option * pattern * class_expr -+ (* fun P -> CE (lab = "", None) -+ fun ~l:P -> CE (lab = "l", None) -+ fun ?l:P -> CE (lab = "?l", None) -+ fun ?l:(P = E0) -> CE (lab = "?l", Some E0) -+ *) -+ | Pcl_apply of class_expr * (label * expression) list -+ (* CE ~l1:E1 ... ~ln:En -+ li can be empty (non labeled argument) or start with '?' -+ (optional argument). -+ -+ Invariant: n > 0 -+ *) -+ | Pcl_let of rec_flag * value_binding list * class_expr -+ (* let P1 = E1 and ... and Pn = EN in CE (flag = Nonrecursive) -+ let rec P1 = E1 and ... and Pn = EN in CE (flag = Recursive) -+ *) -+ | Pcl_constraint of class_expr * class_type -+ (* (CE : CT) *) -+ | Pcl_extension of extension -+ (* [%id] *) -+ -+and class_structure = -+ { -+ pcstr_self: pattern; -+ pcstr_fields: class_field list; -+ } -+(* object(selfpat) ... end -+ object ... end (self = Ppat_any) -+ *) -+ -+and class_field = -+ { -+ pcf_desc: class_field_desc; -+ pcf_loc: Location.t; -+ pcf_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ } -+ -+and class_field_desc = -+ | Pcf_inherit of override_flag * class_expr * string option -+ (* inherit CE -+ inherit CE as x -+ inherit! CE -+ inherit! CE as x -+ *) -+ | Pcf_val of (string loc * mutable_flag * class_field_kind) -+ (* val x = E -+ val virtual x: T -+ *) -+ | Pcf_method of (string loc * private_flag * class_field_kind) -+ (* method x = E (E can be a Pexp_poly) -+ method virtual x: T (T can be a Ptyp_poly) -+ *) -+ | Pcf_constraint of (core_type * core_type) -+ (* constraint T1 = T2 *) -+ | Pcf_initializer of expression -+ (* initializer E *) -+ | Pcf_attribute of attribute -+ (* [@@@id] *) -+ | Pcf_extension of extension -+ (* [%%id] *) -+ -+and class_field_kind = -+ | Cfk_virtual of core_type -+ | Cfk_concrete of override_flag * expression -+ -+and class_declaration = class_expr class_infos -+ -+(** {2 Module language} *) -+ -+(* Type expressions for the module language *) -+ -+and module_type = -+ { -+ pmty_desc: module_type_desc; -+ pmty_loc: Location.t; -+ pmty_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and module_type_desc = -+ | Pmty_ident of Longident.t loc -+ (* S *) -+ | Pmty_signature of signature -+ (* sig ... end *) -+ | Pmty_functor of string loc * module_type option * module_type -+ (* functor(X : MT1) -> MT2 *) -+ | Pmty_with of module_type * with_constraint list -+ (* MT with ... *) -+ | Pmty_typeof of module_expr -+ (* module type of ME *) -+ | Pmty_extension of extension -+ (* [%id] *) -+ | Pmty_alias of Longident.t loc -+ (* (module M) *) -+ -+and signature = signature_item list -+ -+and signature_item = -+ { -+ psig_desc: signature_item_desc; -+ psig_loc: Location.t; -+ } -+ -+and signature_item_desc = -+ | Psig_value of value_description -+ (* -+ val x: T -+ external x: T = "s1" ... "sn" -+ *) -+ | Psig_type of type_declaration list -+ (* type t1 = ... and ... and tn = ... *) -+ | Psig_typext of type_extension -+ (* type t1 += ... *) -+ | Psig_exception of extension_constructor -+ (* exception C of T *) -+ | Psig_module of module_declaration -+ (* module X : MT *) -+ | Psig_recmodule of module_declaration list -+ (* module rec X1 : MT1 and ... and Xn : MTn *) -+ | Psig_modtype of module_type_declaration -+ (* module type S = MT -+ module type S *) -+ | Psig_open of open_description -+ (* open X *) -+ | Psig_include of include_description -+ (* include MT *) -+ | Psig_class of class_description list -+ (* class c1 : ... and ... and cn : ... *) -+ | Psig_class_type of class_type_declaration list -+ (* class type ct1 = ... and ... and ctn = ... *) -+ | Psig_attribute of attribute -+ (* [@@@id] *) -+ | Psig_extension of extension * attributes -+ (* [%%id] *) -+ -+and module_declaration = -+ { -+ pmd_name: string loc; -+ pmd_type: module_type; -+ pmd_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ pmd_loc: Location.t; -+ } -+(* S : MT *) -+ -+and module_type_declaration = -+ { -+ pmtd_name: string loc; -+ pmtd_type: module_type option; -+ pmtd_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ pmtd_loc: Location.t; -+ } -+(* S = MT -+ S (abstract module type declaration, pmtd_type = None) -+*) -+ -+and open_description = -+ { -+ popen_lid: Longident.t loc; -+ popen_override: override_flag; -+ popen_loc: Location.t; -+ popen_attributes: attributes; -+ } -+(* open! X - popen_override = Override (silences the 'used identifier -+ shadowing' warning) -+ open X - popen_override = Fresh -+ *) -+ -+and 'a include_infos = -+ { -+ pincl_mod: 'a; -+ pincl_loc: Location.t; -+ pincl_attributes: attributes; -+ } -+ -+and include_description = module_type include_infos -+(* include MT *) -+ -+and include_declaration = module_expr include_infos -+(* include ME *) -+ -+and with_constraint = -+ | Pwith_type of Longident.t loc * type_declaration -+ (* with type X.t = ... -+ -+ Note: the last component of the longident must match -+ the name of the type_declaration. *) -+ | Pwith_module of Longident.t loc * Longident.t loc -+ (* with module X.Y = Z *) -+ | Pwith_typesubst of type_declaration -+ (* with type t := ... *) -+ | Pwith_modsubst of string loc * Longident.t loc -+ (* with module X := Z *) -+ -+(* Value expressions for the module language *) -+ -+and module_expr = -+ { -+ pmod_desc: module_expr_desc; -+ pmod_loc: Location.t; -+ pmod_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and module_expr_desc = -+ | Pmod_ident of Longident.t loc -+ (* X *) -+ | Pmod_structure of structure -+ (* struct ... end *) -+ | Pmod_functor of string loc * module_type option * module_expr -+ (* functor(X : MT1) -> ME *) -+ | Pmod_apply of module_expr * module_expr -+ (* ME1(ME2) *) -+ | Pmod_constraint of module_expr * module_type -+ (* (ME : MT) *) -+ | Pmod_unpack of expression -+ (* (val E) *) -+ | Pmod_extension of extension -+ (* [%id] *) -+ -+and structure = structure_item list -+ -+and structure_item = -+ { -+ pstr_desc: structure_item_desc; -+ pstr_loc: Location.t; -+ } -+ -+and structure_item_desc = -+ | Pstr_eval of expression * attributes -+ (* E *) -+ | Pstr_value of rec_flag * value_binding list -+ (* let P1 = E1 and ... and Pn = EN (flag = Nonrecursive) -+ let rec P1 = E1 and ... and Pn = EN (flag = Recursive) -+ *) -+ | Pstr_primitive of value_description -+ (* external x: T = "s1" ... "sn" *) -+ | Pstr_type of type_declaration list -+ (* type t1 = ... and ... and tn = ... *) -+ | Pstr_typext of type_extension -+ (* type t1 += ... *) -+ | Pstr_exception of extension_constructor -+ (* exception C of T -+ exception C = M.X *) -+ | Pstr_module of module_binding -+ (* module X = ME *) -+ | Pstr_recmodule of module_binding list -+ (* module rec X1 = ME1 and ... and Xn = MEn *) -+ | Pstr_modtype of module_type_declaration -+ (* module type S = MT *) -+ | Pstr_open of open_description -+ (* open X *) -+ | Pstr_class of class_declaration list -+ (* class c1 = ... and ... and cn = ... *) -+ | Pstr_class_type of class_type_declaration list -+ (* class type ct1 = ... and ... and ctn = ... *) -+ | Pstr_include of include_declaration -+ (* include ME *) -+ | Pstr_attribute of attribute -+ (* [@@@id] *) -+ | Pstr_extension of extension * attributes -+ (* [%%id] *) -+ -+and value_binding = -+ { -+ pvb_pat: pattern; -+ pvb_expr: expression; -+ pvb_attributes: attributes; -+ pvb_loc: Location.t; -+ } -+ -+and module_binding = -+ { -+ pmb_name: string loc; -+ pmb_expr: module_expr; -+ pmb_attributes: attributes; -+ pmb_loc: Location.t; -+ } -+(* X = ME *) -+ -+(** {2 Toplevel} *) -+ -+(* Toplevel phrases *) -+ -+type toplevel_phrase = -+ | Ptop_def of structure -+ | Ptop_dir of string * directive_argument -+ (* #use, #load ... *) -+ -+and directive_argument = -+ | Pdir_none -+ | Pdir_string of string -+ | Pdir_int of int -+ | Pdir_ident of Longident.t -+ | Pdir_bool of bool -diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/.depend ---- camlp5-6.11/ocaml_stuff/4.02.0/utils/.depend 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/.depend 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1,2 @@ -+pconfig.cmo: pconfig.cmi -+pconfig.cmx: pconfig.cmi -diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/4.02.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/.gitignore 2014-08-01 10:14:54.343065456 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/Makefile ---- camlp5-6.11/ocaml_stuff/4.02.0/utils/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/Makefile 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1,27 @@ -+# Makefile,v -+ -+FILES=warnings.cmi pconfig.cmo -+INCL= -+ -+all: $(FILES) -+ -+opt: pconfig.cmx -+ -+clean: -+ rm -f *.cm[oix] *.o -+ -+depend: -+ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend -+ -+.SUFFIXES: .mli .cmi .ml .cmo .cmx -+ -+.mli.cmi: -+ $(OCAMLN)c $(INCL) -c $< -+ -+.ml.cmo: -+ $(OCAMLN)c $(INCL) -c $< -+ -+.ml.cmx: -+ $(OCAMLN)opt $(INCL) -c $< -+ -+include .depend -diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/pconfig.ml camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/pconfig.ml ---- camlp5-6.11/ocaml_stuff/4.02.0/utils/pconfig.ml 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/pconfig.ml 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1,4 @@ -+let ocaml_version = "4.02.0" -+let ocaml_name = "ocaml" -+let ast_impl_magic_number = "Caml1999M016" -+let ast_intf_magic_number = "Caml1999N015" -diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/pconfig.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/pconfig.mli ---- camlp5-6.11/ocaml_stuff/4.02.0/utils/pconfig.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/pconfig.mli 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1,4 @@ -+val ocaml_version : string -+val ocaml_name : string -+val ast_impl_magic_number : string -+val ast_intf_magic_number : string -diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/warnings.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/warnings.mli ---- camlp5-6.11/ocaml_stuff/4.02.0/utils/warnings.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/warnings.mli 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1,87 @@ -+(***********************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Pierre Weis && Damien Doligez, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1998 Institut National de Recherche en Informatique et *) -+(* en Automatique. All rights reserved. This file is distributed *) -+(* under the terms of the Q Public License version 1.0. *) -+(* *) -+(***********************************************************************) -+ -+open Format -+ -+type t = -+ | Comment_start (* 1 *) -+ | Comment_not_end (* 2 *) -+ | Deprecated of string (* 3 *) -+ | Fragile_match of string (* 4 *) -+ | Partial_application (* 5 *) -+ | Labels_omitted (* 6 *) -+ | Method_override of string list (* 7 *) -+ | Partial_match of string (* 8 *) -+ | Non_closed_record_pattern of string (* 9 *) -+ | Statement_type (* 10 *) -+ | Unused_match (* 11 *) -+ | Unused_pat (* 12 *) -+ | Instance_variable_override of string list (* 13 *) -+ | Illegal_backslash (* 14 *) -+ | Implicit_public_methods of string list (* 15 *) -+ | Unerasable_optional_argument (* 16 *) -+ | Undeclared_virtual_method of string (* 17 *) -+ | Not_principal of string (* 18 *) -+ | Without_principality of string (* 19 *) -+ | Unused_argument (* 20 *) -+ | Nonreturning_statement (* 21 *) -+ | Preprocessor of string (* 22 *) -+ | Useless_record_with (* 23 *) -+ | Bad_module_name of string (* 24 *) -+ | All_clauses_guarded (* 25 *) -+ | Unused_var of string (* 26 *) -+ | Unused_var_strict of string (* 27 *) -+ | Wildcard_arg_to_constant_constr (* 28 *) -+ | Eol_in_string (* 29 *) -+ | Duplicate_definitions of string * string * string * string (* 30 *) -+ | Multiple_definition of string * string * string (* 31 *) -+ | Unused_value_declaration of string (* 32 *) -+ | Unused_open of string (* 33 *) -+ | Unused_type_declaration of string (* 34 *) -+ | Unused_for_index of string (* 35 *) -+ | Unused_ancestor of string (* 36 *) -+ | Unused_constructor of string * bool * bool (* 37 *) -+ | Unused_extension of string * bool * bool (* 38 *) -+ | Unused_rec_flag (* 39 *) -+ | Name_out_of_scope of string * string list * bool (* 40 *) -+ | Ambiguous_name of string list * string list * bool (* 41 *) -+ | Disambiguated_name of string (* 42 *) -+ | Nonoptional_label of string (* 43 *) -+ | Open_shadow_identifier of string * string (* 44 *) -+ | Open_shadow_label_constructor of string * string (* 45 *) -+ | Bad_env_variable of string * string (* 46 *) -+ | Attribute_payload of string * string (* 47 *) -+ | Eliminated_optional_arguments of string list (* 48 *) -+ | No_cmi_file of string (* 49 *) -+;; -+ -+val parse_options : bool -> string -> unit;; -+ -+val is_active : t -> bool;; -+val is_error : t -> bool;; -+ -+val defaults_w : string;; -+val defaults_warn_error : string;; -+ -+val print : formatter -> t -> int;; -+ (* returns the number of newlines in the printed string *) -+ -+ -+exception Errors of int;; -+ -+val check_fatal : unit -> unit;; -+ -+val help_warnings: unit -> unit -+ -+type state -+val backup: unit -> state -+val restore: state -> unit -diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/asttypes.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/asttypes.mli ---- camlp5-6.11/ocaml_stuff/4.03.0/parsing/asttypes.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/asttypes.mli 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1,49 @@ -+(***********************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. All rights reserved. This file is distributed *) -+(* under the terms of the Q Public License version 1.0. *) -+(* *) -+(***********************************************************************) -+ -+(* Auxiliary a.s.t. types used by parsetree and typedtree. *) -+ -+type constant = -+ Const_int of int -+ | Const_char of char -+ | Const_string of string * string option -+ | Const_float of string -+ | Const_int32 of int32 -+ | Const_int64 of int64 -+ | Const_nativeint of nativeint -+ -+type rec_flag = Nonrecursive | Recursive -+ -+type direction_flag = Upto | Downto -+ -+type private_flag = Private | Public -+ -+type mutable_flag = Immutable | Mutable -+ -+type virtual_flag = Virtual | Concrete -+ -+type override_flag = Override | Fresh -+ -+type closed_flag = Closed | Open -+ -+type label = string -+ -+type 'a loc = 'a Location.loc = { -+ txt : 'a; -+ loc : Location.t; -+} -+ -+ -+type variance = -+ | Covariant -+ | Contravariant -+ | Invariant -diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/.depend ---- camlp5-6.11/ocaml_stuff/4.03.0/parsing/.depend 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/.depend 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1,4 @@ -+asttypes.cmi : location.cmi -+location.cmi : ../utils/warnings.cmi -+longident.cmi : -+parsetree.cmi : longident.cmi location.cmi asttypes.cmi -diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/4.03.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/.gitignore 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/location.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/location.mli ---- camlp5-6.11/ocaml_stuff/4.03.0/parsing/location.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/location.mli 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1,116 @@ -+(***********************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. All rights reserved. This file is distributed *) -+(* under the terms of the Q Public License version 1.0. *) -+(* *) -+(***********************************************************************) -+ -+(* Source code locations (ranges of positions), used in parsetree. *) -+ -+open Format -+ -+type t = { -+ loc_start: Lexing.position; -+ loc_end: Lexing.position; -+ loc_ghost: bool; -+} -+ -+(* Note on the use of Lexing.position in this module. -+ If [pos_fname = ""], then use [!input_name] instead. -+ If [pos_lnum = -1], then [pos_bol = 0]. Use [pos_cnum] and -+ re-parse the file to get the line and character numbers. -+ Else all fields are correct. -+*) -+ -+val none : t -+(** An arbitrary value of type [t]; describes an empty ghost range. *) -+val in_file : string -> t;; -+(** Return an empty ghost range located in a given file. *) -+val init : Lexing.lexbuf -> string -> unit -+(** Set the file name and line number of the [lexbuf] to be the start -+ of the named file. *) -+val curr : Lexing.lexbuf -> t -+(** Get the location of the current token from the [lexbuf]. *) -+ -+val symbol_rloc: unit -> t -+val symbol_gloc: unit -> t -+ -+(** [rhs_loc n] returns the location of the symbol at position [n], starting -+ at 1, in the current parser rule. *) -+val rhs_loc: int -> t -+ -+val input_name: string ref -+val input_lexbuf: Lexing.lexbuf option ref -+ -+val get_pos_info: Lexing.position -> string * int * int (* file, line, char *) -+val print_loc: formatter -> t -> unit -+val print_error: formatter -> t -> unit -+val print_error_cur_file: formatter -> unit -+val print_warning: t -> formatter -> Warnings.t -> unit -+val prerr_warning: t -> Warnings.t -> unit -+val echo_eof: unit -> unit -+val reset: unit -> unit -+ -+val highlight_locations: formatter -> t list -> bool -+ -+type 'a loc = { -+ txt : 'a; -+ loc : t; -+} -+ -+val mknoloc : 'a -> 'a loc -+val mkloc : 'a -> t -> 'a loc -+ -+val print: formatter -> t -> unit -+val print_filename: formatter -> string -> unit -+ -+val absolute_path: string -> string -+ -+val show_filename: string -> string -+ (** In -absname mode, return the absolute path for this filename. -+ Otherwise, returns the filename unchanged. *) -+ -+ -+val absname: bool ref -+ -+ -+(* Support for located errors *) -+ -+type error = -+ { -+ loc: t; -+ msg: string; -+ sub: error list; -+ if_highlight: string; (* alternative message if locations are highlighted *) -+ } -+ -+exception Error of error -+ -+val error: ?loc:t -> ?sub:error list -> ?if_highlight:string -> string -> error -+ -+val errorf: ?loc:t -> ?sub:error list -> ?if_highlight:string -+ -> ('a, unit, string, error) format4 -> 'a -+ -+val error_of_printer: t -> (formatter -> 'a -> unit) -> 'a -> error -+ -+val error_of_printer_file: (formatter -> 'a -> unit) -> 'a -> error -+ -+val error_of_exn: exn -> error option -+ -+val register_error_of_exn: (exn -> error option) -> unit -+ (* Each compiler module which defines a custom type of exception -+ which can surface as a user-visible error should register -+ a "printer" for this exception using [register_error_of_exn]. -+ The result of the printer is an [error] value containing -+ a location, a message, and optionally sub-messages (each of them -+ being located as well). *) -+ -+val report_error: formatter -> error -> unit -+ -+val report_exception: formatter -> exn -> unit -+ (* Reraise the exception if it is unknown. *) -diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/longident.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/longident.mli ---- camlp5-6.11/ocaml_stuff/4.03.0/parsing/longident.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/longident.mli 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1,22 @@ -+(***********************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. All rights reserved. This file is distributed *) -+(* under the terms of the Q Public License version 1.0. *) -+(* *) -+(***********************************************************************) -+ -+(* Long identifiers, used in parsetree. *) -+ -+type t = -+ Lident of string -+ | Ldot of t * string -+ | Lapply of t * t -+ -+val flatten: t -> string list -+val last: t -> string -+val parse: string -> t -diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/Makefile ---- camlp5-6.11/ocaml_stuff/4.03.0/parsing/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/Makefile 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1,19 @@ -+# Makefile,v -+ -+FILES=asttypes.cmi location.cmi longident.cmi parsetree.cmi -+INCL=-I ../utils -+ -+all: $(FILES) -+ -+clean: -+ rm -f *.cmi -+ -+depend: -+ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend -+ -+.SUFFIXES: .mli .cmi -+ -+.mli.cmi: -+ $(OCAMLN)c $(INCL) -c $< -+ -+include .depend -diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/parsetree.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/parsetree.mli ---- camlp5-6.11/ocaml_stuff/4.03.0/parsing/parsetree.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/parsetree.mli 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1,810 @@ -+(***********************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. All rights reserved. This file is distributed *) -+(* under the terms of the Q Public License version 1.0. *) -+(* *) -+(***********************************************************************) -+ -+(** Abstract syntax tree produced by parsing *) -+ -+open Asttypes -+ -+(** {2 Extension points} *) -+ -+type attribute = string loc * payload -+ (* [@id ARG] -+ [@@id ARG] -+ -+ Metadata containers passed around within the AST. -+ The compiler ignores unknown attributes. -+ *) -+ -+and extension = string loc * payload -+ (* [%id ARG] -+ [%%id ARG] -+ -+ Sub-language placeholder -- rejected by the typechecker. -+ *) -+ -+and attributes = attribute list -+ -+and payload = -+ | PStr of structure -+ | PTyp of core_type (* : T *) -+ | PPat of pattern * expression option (* : P or : P when E *) -+ -+(** {2 Core language} *) -+ -+(* Type expressions *) -+ -+and core_type = -+ { -+ ptyp_desc: core_type_desc; -+ ptyp_loc: Location.t; -+ ptyp_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and core_type_desc = -+ | Ptyp_any -+ (* _ *) -+ | Ptyp_var of string -+ (* 'a *) -+ | Ptyp_arrow of label * core_type * core_type -+ (* T1 -> T2 (label = "") -+ ~l:T1 -> T2 (label = "l") -+ ?l:T1 -> T2 (label = "?l") -+ *) -+ | Ptyp_tuple of core_type list -+ (* T1 * ... * Tn (n >= 2) *) -+ | Ptyp_constr of Longident.t loc * core_type list -+ (* tconstr -+ T tconstr -+ (T1, ..., Tn) tconstr -+ *) -+ | Ptyp_object of (string * attributes * core_type) list * closed_flag -+ (* < l1:T1; ...; ln:Tn > (flag = Closed) -+ < l1:T1; ...; ln:Tn; .. > (flag = Open) -+ *) -+ | Ptyp_class of Longident.t loc * core_type list -+ (* #tconstr -+ T #tconstr -+ (T1, ..., Tn) #tconstr -+ *) -+ | Ptyp_alias of core_type * string -+ (* T as 'a *) -+ | Ptyp_variant of row_field list * closed_flag * label list option -+ (* [ `A|`B ] (flag = Closed; labels = None) -+ [> `A|`B ] (flag = Open; labels = None) -+ [< `A|`B ] (flag = Closed; labels = Some []) -+ [< `A|`B > `X `Y ](flag = Closed; labels = Some ["X";"Y"]) -+ *) -+ | Ptyp_poly of string list * core_type -+ (* 'a1 ... 'an. T -+ -+ Can only appear in the following context: -+ -+ - As the core_type of a Ppat_constraint node corresponding -+ to a constraint on a let-binding: let x : 'a1 ... 'an. T -+ = e ... -+ -+ - Under Cfk_virtual for methods (not values). -+ -+ - As the core_type of a Pctf_method node. -+ -+ - As the core_type of a Pexp_poly node. -+ -+ - As the pld_type field of a label_declaration. -+ -+ - As a core_type of a Ptyp_object node. -+ *) -+ -+ | Ptyp_package of package_type -+ (* (module S) *) -+ | Ptyp_extension of extension -+ (* [%id] *) -+ -+and package_type = Longident.t loc * (Longident.t loc * core_type) list -+ (* -+ (module S) -+ (module S with type t1 = T1 and ... and tn = Tn) -+ *) -+ -+and row_field = -+ | Rtag of label * attributes * bool * core_type list -+ (* [`A] ( true, [] ) -+ [`A of T] ( false, [T] ) -+ [`A of T1 & .. & Tn] ( false, [T1;...Tn] ) -+ [`A of & T1 & .. & Tn] ( true, [T1;...Tn] ) -+ -+ - The 2nd field is true if the tag contains a -+ constant (empty) constructor. -+ - '&' occurs when several types are used for the same constructor -+ (see 4.2 in the manual) -+ -+ - TODO: switch to a record representation, and keep location -+ *) -+ | Rinherit of core_type -+ (* [ T ] *) -+ -+(* Patterns *) -+ -+and pattern = -+ { -+ ppat_desc: pattern_desc; -+ ppat_loc: Location.t; -+ ppat_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and pattern_desc = -+ | Ppat_any -+ (* _ *) -+ | Ppat_var of string loc -+ (* x *) -+ | Ppat_alias of pattern * string loc -+ (* P as 'a *) -+ | Ppat_constant of constant -+ (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) -+ | Ppat_interval of constant * constant -+ (* 'a'..'z' -+ -+ Other forms of interval are recognized by the parser -+ but rejected by the type-checker. *) -+ | Ppat_tuple of pattern list -+ (* (P1, ..., Pn) (n >= 2) *) -+ | Ppat_construct of Longident.t loc * pattern option -+ (* C None -+ C P Some P -+ C (P1, ..., Pn) Some (Ppat_tuple [P1; ...; Pn]) -+ *) -+ | Ppat_variant of label * pattern option -+ (* `A (None) -+ `A P (Some P) -+ *) -+ | Ppat_record of (Longident.t loc * pattern) list * closed_flag -+ (* { l1=P1; ...; ln=Pn } (flag = Closed) -+ { l1=P1; ...; ln=Pn; _} (flag = Open) -+ *) -+ | Ppat_array of pattern list -+ (* [| P1; ...; Pn |] *) -+ | Ppat_or of pattern * pattern -+ (* P1 | P2 *) -+ | Ppat_constraint of pattern * core_type -+ (* (P : T) *) -+ | Ppat_type of Longident.t loc -+ (* #tconst *) -+ | Ppat_lazy of pattern -+ (* lazy P *) -+ | Ppat_unpack of string loc -+ (* (module P) -+ Note: (module P : S) is represented as -+ Ppat_constraint(Ppat_unpack, Ptyp_package) -+ *) -+ | Ppat_exception of pattern -+ (* exception P *) -+ | Ppat_extension of extension -+ (* [%id] *) -+ -+(* Value expressions *) -+ -+and expression = -+ { -+ pexp_desc: expression_desc; -+ pexp_loc: Location.t; -+ pexp_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and expression_desc = -+ | Pexp_ident of Longident.t loc -+ (* x -+ M.x -+ *) -+ | Pexp_constant of constant -+ (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) -+ | Pexp_let of rec_flag * value_binding list * expression -+ (* let P1 = E1 and ... and Pn = EN in E (flag = Nonrecursive) -+ let rec P1 = E1 and ... and Pn = EN in E (flag = Recursive) -+ *) -+ | Pexp_function of case list -+ (* function P1 -> E1 | ... | Pn -> En *) -+ | Pexp_fun of label * expression option * pattern * expression -+ (* fun P -> E1 (lab = "", None) -+ fun ~l:P -> E1 (lab = "l", None) -+ fun ?l:P -> E1 (lab = "?l", None) -+ fun ?l:(P = E0) -> E1 (lab = "?l", Some E0) -+ -+ Notes: -+ - If E0 is provided, lab must start with '?'. -+ - "fun P1 P2 .. Pn -> E1" is represented as nested Pexp_fun. -+ - "let f P = E" is represented using Pexp_fun. -+ *) -+ | Pexp_apply of expression * (label * expression) list -+ (* E0 ~l1:E1 ... ~ln:En -+ li can be empty (non labeled argument) or start with '?' -+ (optional argument). -+ *) -+ | Pexp_match of expression * case list -+ (* match E0 with P1 -> E1 | ... | Pn -> En *) -+ | Pexp_try of expression * case list -+ (* try E0 with P1 -> E1 | ... | Pn -> En *) -+ | Pexp_tuple of expression list -+ (* (E1, ..., En) (n >= 2) *) -+ | Pexp_construct of Longident.t loc * expression option -+ (* C None -+ C E Some E -+ C (E1, ..., En) Some (Pexp_tuple[E1;...;En]) -+ *) -+ | Pexp_variant of label * expression option -+ (* `A (None) -+ `A E (Some E) -+ *) -+ | Pexp_record of (Longident.t loc * expression) list * expression option -+ (* { l1=P1; ...; ln=Pn } (None) -+ { E0 with l1=P1; ...; ln=Pn } (Some E0) -+ *) -+ | Pexp_field of expression * Longident.t loc -+ (* E.l *) -+ | Pexp_setfield of expression * Longident.t loc * expression -+ (* E1.l <- E2 *) -+ | Pexp_array of expression list -+ (* [| E1; ...; En |] *) -+ | Pexp_ifthenelse of expression * expression * expression option -+ (* if E1 then E2 else E3 *) -+ | Pexp_sequence of expression * expression -+ (* E1; E2 *) -+ | Pexp_while of expression * expression -+ (* while E1 do E2 done *) -+ | Pexp_for of -+ pattern * expression * expression * direction_flag * expression -+ (* for i = E1 to E2 do E3 done (flag = Upto) -+ for i = E1 downto E2 do E3 done (flag = Downto) -+ *) -+ | Pexp_constraint of expression * core_type -+ (* (E : T) *) -+ | Pexp_coerce of expression * core_type option * core_type -+ (* (E :> T) (None, T) -+ (E : T0 :> T) (Some T0, T) -+ *) -+ | Pexp_send of expression * string -+ (* E # m *) -+ | Pexp_new of Longident.t loc -+ (* new M.c *) -+ | Pexp_setinstvar of string loc * expression -+ (* x <- 2 *) -+ | Pexp_override of (string loc * expression) list -+ (* {< x1 = E1; ...; Xn = En >} *) -+ | Pexp_letmodule of string loc * module_expr * expression -+ (* let module M = ME in E *) -+ | Pexp_assert of expression -+ (* assert E -+ Note: "assert false" is treated in a special way by the -+ type-checker. *) -+ | Pexp_lazy of expression -+ (* lazy E *) -+ | Pexp_poly of expression * core_type option -+ (* Used for method bodies. -+ -+ Can only be used as the expression under Cfk_concrete -+ for methods (not values). *) -+ | Pexp_object of class_structure -+ (* object ... end *) -+ | Pexp_newtype of string * expression -+ (* fun (type t) -> E *) -+ | Pexp_pack of module_expr -+ (* (module ME) -+ -+ (module ME : S) is represented as -+ Pexp_constraint(Pexp_pack, Ptyp_package S) *) -+ | Pexp_open of override_flag * Longident.t loc * expression -+ (* let open M in E -+ let! open M in E -+ *) -+ | Pexp_extension of extension -+ (* [%id] *) -+ -+and case = (* (P -> E) or (P when E0 -> E) *) -+ { -+ pc_lhs: pattern; -+ pc_guard: expression option; -+ pc_rhs: expression; -+ } -+ -+(* Value descriptions *) -+ -+and value_description = -+ { -+ pval_name: string loc; -+ pval_type: core_type; -+ pval_prim: string list; -+ pval_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ pval_loc: Location.t; -+ } -+ -+(* -+ val x: T (prim = []) -+ external x: T = "s1" ... "sn" (prim = ["s1";..."sn"]) -+ -+ Note: when used under Pstr_primitive, prim cannot be empty -+*) -+ -+(* Type declarations *) -+ -+and type_declaration = -+ { -+ ptype_name: string loc; -+ ptype_params: (core_type * variance) list; -+ (* ('a1,...'an) t; None represents _*) -+ ptype_cstrs: (core_type * core_type * Location.t) list; -+ (* ... constraint T1=T1' ... constraint Tn=Tn' *) -+ ptype_kind: type_kind; -+ ptype_private: private_flag; (* = private ... *) -+ ptype_manifest: core_type option; (* = T *) -+ ptype_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ ptype_loc: Location.t; -+ } -+ -+(* -+ type t (abstract, no manifest) -+ type t = T0 (abstract, manifest=T0) -+ type t = C of T | ... (variant, no manifest) -+ type t = T0 = C of T | ... (variant, manifest=T0) -+ type t = {l: T; ...} (record, no manifest) -+ type t = T0 = {l : T; ...} (record, manifest=T0) -+ type t = .. (open, no manifest) -+*) -+ -+and type_kind = -+ | Ptype_abstract -+ | Ptype_variant of constructor_declaration list -+ | Ptype_record of label_declaration list -+ | Ptype_open -+ -+and label_declaration = -+ { -+ pld_name: string loc; -+ pld_mutable: mutable_flag; -+ pld_type: core_type; -+ pld_loc: Location.t; -+ pld_attributes: attributes; (* l [@id1] [@id2] : T *) -+ } -+ -+(* { ...; l: T; ... } (mutable=Immutable) -+ { ...; mutable l: T; ... } (mutable=Mutable) -+ -+ Note: T can be a Pexp_poly. -+*) -+ -+and constructor_declaration = -+ { -+ pcd_name: string loc; -+ pcd_args: core_type list; -+ pcd_res: core_type option; -+ pcd_loc: Location.t; -+ pcd_attributes: attributes; (* C [@id1] [@id2] of ... *) -+ } -+(* -+ | C of T1 * ... * Tn (res = None) -+ | C: T0 (args = [], res = Some T0) -+ | C: T1 * ... * Tn -> T0 (res = Some T0) -+*) -+ -+and type_extension = -+ { -+ ptyext_path: Longident.t loc; -+ ptyext_params: (core_type * variance) list; -+ ptyext_constructors: extension_constructor list; -+ ptyext_private: private_flag; -+ ptyext_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ } -+(* -+ type t += ... -+*) -+ -+and extension_constructor = -+ { -+ pext_name: string loc; -+ pext_kind : extension_constructor_kind; -+ pext_loc : Location.t; -+ pext_attributes: attributes; (* C [@id1] [@id2] of ... *) -+ } -+ -+and extension_constructor_kind = -+ Pext_decl of core_type list * core_type option -+ (* -+ | C of T1 * ... * Tn ([T1; ...; Tn], None) -+ | C: T0 ([], Some T0) -+ | C: T1 * ... * Tn -> T0 ([T1; ...; Tn], Some T0) -+ *) -+ | Pext_rebind of Longident.t loc -+ (* -+ | C = D -+ *) -+ -+(** {2 Class language} *) -+ -+(* Type expressions for the class language *) -+ -+and class_type = -+ { -+ pcty_desc: class_type_desc; -+ pcty_loc: Location.t; -+ pcty_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and class_type_desc = -+ | Pcty_constr of Longident.t loc * core_type list -+ (* c -+ ['a1, ..., 'an] c *) -+ | Pcty_signature of class_signature -+ (* object ... end *) -+ | Pcty_arrow of label * core_type * class_type -+ (* T -> CT (label = "") -+ ~l:T -> CT (label = "l") -+ ?l:T -> CT (label = "?l") -+ *) -+ | Pcty_extension of extension -+ (* [%id] *) -+ -+and class_signature = -+ { -+ pcsig_self: core_type; -+ pcsig_fields: class_type_field list; -+ } -+(* object('selfpat) ... end -+ object ... end (self = Ptyp_any) -+ *) -+ -+and class_type_field = -+ { -+ pctf_desc: class_type_field_desc; -+ pctf_loc: Location.t; -+ pctf_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ } -+ -+and class_type_field_desc = -+ | Pctf_inherit of class_type -+ (* inherit CT *) -+ | Pctf_val of (string * mutable_flag * virtual_flag * core_type) -+ (* val x: T *) -+ | Pctf_method of (string * private_flag * virtual_flag * core_type) -+ (* method x: T -+ -+ Note: T can be a Pexp_poly. -+ *) -+ | Pctf_constraint of (core_type * core_type) -+ (* constraint T1 = T2 *) -+ | Pctf_attribute of attribute -+ (* [@@@id] *) -+ | Pctf_extension of extension -+ (* [%%id] *) -+ -+and 'a class_infos = -+ { -+ pci_virt: virtual_flag; -+ pci_params: (core_type * variance) list; -+ pci_name: string loc; -+ pci_expr: 'a; -+ pci_loc: Location.t; -+ pci_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ } -+(* class c = ... -+ class ['a1,...,'an] c = ... -+ class virtual c = ... -+ -+ Also used for "class type" declaration. -+*) -+ -+and class_description = class_type class_infos -+ -+and class_type_declaration = class_type class_infos -+ -+(* Value expressions for the class language *) -+ -+and class_expr = -+ { -+ pcl_desc: class_expr_desc; -+ pcl_loc: Location.t; -+ pcl_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and class_expr_desc = -+ | Pcl_constr of Longident.t loc * core_type list -+ (* c -+ ['a1, ..., 'an] c *) -+ | Pcl_structure of class_structure -+ (* object ... end *) -+ | Pcl_fun of label * expression option * pattern * class_expr -+ (* fun P -> CE (lab = "", None) -+ fun ~l:P -> CE (lab = "l", None) -+ fun ?l:P -> CE (lab = "?l", None) -+ fun ?l:(P = E0) -> CE (lab = "?l", Some E0) -+ *) -+ | Pcl_apply of class_expr * (label * expression) list -+ (* CE ~l1:E1 ... ~ln:En -+ li can be empty (non labeled argument) or start with '?' -+ (optional argument). -+ *) -+ | Pcl_let of rec_flag * value_binding list * class_expr -+ (* let P1 = E1 and ... and Pn = EN in CE (flag = Nonrecursive) -+ let rec P1 = E1 and ... and Pn = EN in CE (flag = Recursive) -+ *) -+ | Pcl_constraint of class_expr * class_type -+ (* (CE : CT) *) -+ | Pcl_extension of extension -+ (* [%id] *) -+ -+and class_structure = -+ { -+ pcstr_self: pattern; -+ pcstr_fields: class_field list; -+ } -+(* object(selfpat) ... end -+ object ... end (self = Ppat_any) -+ *) -+ -+and class_field = -+ { -+ pcf_desc: class_field_desc; -+ pcf_loc: Location.t; -+ pcf_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ } -+ -+and class_field_desc = -+ | Pcf_inherit of override_flag * class_expr * string option -+ (* inherit CE -+ inherit CE as x -+ inherit! CE -+ inherit! CE as x -+ *) -+ | Pcf_val of (string loc * mutable_flag * class_field_kind) -+ (* val x = E -+ val virtual x: T -+ *) -+ | Pcf_method of (string loc * private_flag * class_field_kind) -+ (* method x = E (E can be a Pexp_poly) -+ method virtual x: T (T can be a Ptyp_poly) -+ *) -+ | Pcf_constraint of (core_type * core_type) -+ (* constraint T1 = T2 *) -+ | Pcf_initializer of expression -+ (* initializer E *) -+ | Pcf_attribute of attribute -+ (* [@@@id] *) -+ | Pcf_extension of extension -+ (* [%%id] *) -+ -+and class_field_kind = -+ | Cfk_virtual of core_type -+ | Cfk_concrete of override_flag * expression -+ -+and class_declaration = class_expr class_infos -+ -+(** {2 Module language} *) -+ -+(* Type expressions for the module language *) -+ -+and module_type = -+ { -+ pmty_desc: module_type_desc; -+ pmty_loc: Location.t; -+ pmty_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and module_type_desc = -+ | Pmty_ident of Longident.t loc -+ (* S *) -+ | Pmty_signature of signature -+ (* sig ... end *) -+ | Pmty_functor of string loc * module_type option * module_type -+ (* functor(X : MT1) -> MT2 *) -+ | Pmty_with of module_type * with_constraint list -+ (* MT with ... *) -+ | Pmty_typeof of module_expr -+ (* module type of ME *) -+ | Pmty_extension of extension -+ (* [%id] *) -+ | Pmty_alias of Longident.t loc -+ (* (module M) *) -+ -+and signature = signature_item list -+ -+and signature_item = -+ { -+ psig_desc: signature_item_desc; -+ psig_loc: Location.t; -+ } -+ -+and signature_item_desc = -+ | Psig_value of value_description -+ (* -+ val x: T -+ external x: T = "s1" ... "sn" -+ *) -+ | Psig_type of type_declaration list -+ (* type t1 = ... and ... and tn = ... *) -+ | Psig_typext of type_extension -+ (* type t1 += ... *) -+ | Psig_exception of extension_constructor -+ (* exception C of T *) -+ | Psig_module of module_declaration -+ (* module X : MT *) -+ | Psig_recmodule of module_declaration list -+ (* module rec X1 : MT1 and ... and Xn : MTn *) -+ | Psig_modtype of module_type_declaration -+ (* module type S = MT -+ module type S *) -+ | Psig_open of open_description -+ (* open X *) -+ | Psig_include of include_description -+ (* include MT *) -+ | Psig_class of class_description list -+ (* class c1 : ... and ... and cn : ... *) -+ | Psig_class_type of class_type_declaration list -+ (* class type ct1 = ... and ... and ctn = ... *) -+ | Psig_attribute of attribute -+ (* [@@@id] *) -+ | Psig_extension of extension * attributes -+ (* [%%id] *) -+ -+and module_declaration = -+ { -+ pmd_name: string loc; -+ pmd_type: module_type; -+ pmd_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ pmd_loc: Location.t; -+ } -+(* S : MT *) -+ -+and module_type_declaration = -+ { -+ pmtd_name: string loc; -+ pmtd_type: module_type option; -+ pmtd_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ pmtd_loc: Location.t; -+ } -+(* S = MT -+ S (abstract module type declaration, pmtd_type = None) -+*) -+ -+and open_description = -+ { -+ popen_lid: Longident.t loc; -+ popen_override: override_flag; -+ popen_loc: Location.t; -+ popen_attributes: attributes; -+ } -+(* open! X - popen_override = Override (silences the 'used identifier -+ shadowing' warning) -+ open X - popen_override = Fresh -+ *) -+ -+and 'a include_infos = -+ { -+ pincl_mod: 'a; -+ pincl_loc: Location.t; -+ pincl_attributes: attributes; -+ } -+ -+and include_description = module_type include_infos -+(* include MT *) -+ -+and include_declaration = module_expr include_infos -+(* include ME *) -+ -+and with_constraint = -+ | Pwith_type of Longident.t loc * type_declaration -+ (* with type X.t = ... -+ -+ Note: the last component of the longident must match -+ the name of the type_declaration. *) -+ | Pwith_module of Longident.t loc * Longident.t loc -+ (* with module X.Y = Z *) -+ | Pwith_typesubst of type_declaration -+ (* with type t := ... *) -+ | Pwith_modsubst of string loc * Longident.t loc -+ (* with module X := Z *) -+ -+(* Value expressions for the module language *) -+ -+and module_expr = -+ { -+ pmod_desc: module_expr_desc; -+ pmod_loc: Location.t; -+ pmod_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and module_expr_desc = -+ | Pmod_ident of Longident.t loc -+ (* X *) -+ | Pmod_structure of structure -+ (* struct ... end *) -+ | Pmod_functor of string loc * module_type option * module_expr -+ (* functor(X : MT1) -> ME *) -+ | Pmod_apply of module_expr * module_expr -+ (* ME1(ME2) *) -+ | Pmod_constraint of module_expr * module_type -+ (* (ME : MT) *) -+ | Pmod_unpack of expression -+ (* (val E) *) -+ | Pmod_extension of extension -+ (* [%id] *) -+ -+and structure = structure_item list -+ -+and structure_item = -+ { -+ pstr_desc: structure_item_desc; -+ pstr_loc: Location.t; -+ } -+ -+and structure_item_desc = -+ | Pstr_eval of expression * attributes -+ (* E *) -+ | Pstr_value of rec_flag * value_binding list -+ (* let P1 = E1 and ... and Pn = EN (flag = Nonrecursive) -+ let rec P1 = E1 and ... and Pn = EN (flag = Recursive) -+ *) -+ | Pstr_primitive of value_description -+ (* external x: T = "s1" ... "sn" *) -+ | Pstr_type of type_declaration list -+ (* type t1 = ... and ... and tn = ... *) -+ | Pstr_typext of type_extension -+ (* type t1 += ... *) -+ | Pstr_exception of extension_constructor -+ (* exception C of T -+ exception C = M.X *) -+ | Pstr_module of module_binding -+ (* module X = ME *) -+ | Pstr_recmodule of module_binding list -+ (* module rec X1 = ME1 and ... and Xn = MEn *) -+ | Pstr_modtype of module_type_declaration -+ (* module type S = MT *) -+ | Pstr_open of open_description -+ (* open X *) -+ | Pstr_class of class_declaration list -+ (* class c1 = ... and ... and cn = ... *) -+ | Pstr_class_type of class_type_declaration list -+ (* class type ct1 = ... and ... and ctn = ... *) -+ | Pstr_include of include_declaration -+ (* include ME *) -+ | Pstr_attribute of attribute -+ (* [@@@id] *) -+ | Pstr_extension of extension * attributes -+ (* [%%id] *) -+ -+and value_binding = -+ { -+ pvb_pat: pattern; -+ pvb_expr: expression; -+ pvb_attributes: attributes; -+ pvb_loc: Location.t; -+ } -+ -+and module_binding = -+ { -+ pmb_name: string loc; -+ pmb_expr: module_expr; -+ pmb_attributes: attributes; -+ pmb_loc: Location.t; -+ } -+(* X = ME *) -+ -+(** {2 Toplevel} *) -+ -+(* Toplevel phrases *) -+ -+type toplevel_phrase = -+ | Ptop_def of structure -+ | Ptop_dir of string * directive_argument -+ (* #use, #load ... *) -+ -+and directive_argument = -+ | Pdir_none -+ | Pdir_string of string -+ | Pdir_int of int -+ | Pdir_ident of Longident.t -+ | Pdir_bool of bool -diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/.depend ---- camlp5-6.11/ocaml_stuff/4.03.0/utils/.depend 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/.depend 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1,2 @@ -+pconfig.cmo: pconfig.cmi -+pconfig.cmx: pconfig.cmi -diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/4.03.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/.gitignore 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/Makefile ---- camlp5-6.11/ocaml_stuff/4.03.0/utils/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/Makefile 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1,27 @@ -+# Makefile,v -+ -+FILES=warnings.cmi pconfig.cmo -+INCL= -+ -+all: $(FILES) -+ -+opt: pconfig.cmx -+ -+clean: -+ rm -f *.cm[oix] *.o -+ -+depend: -+ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend -+ -+.SUFFIXES: .mli .cmi .ml .cmo .cmx -+ -+.mli.cmi: -+ $(OCAMLN)c $(INCL) -c $< -+ -+.ml.cmo: -+ $(OCAMLN)c $(INCL) -c $< -+ -+.ml.cmx: -+ $(OCAMLN)opt $(INCL) -c $< -+ -+include .depend -diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/pconfig.ml camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/pconfig.ml ---- camlp5-6.11/ocaml_stuff/4.03.0/utils/pconfig.ml 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/pconfig.ml 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1,4 @@ -+let ocaml_version = "4.03.0" -+let ocaml_name = "ocaml" -+let ast_impl_magic_number = "Caml1999M016" -+let ast_intf_magic_number = "Caml1999N015" -diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/pconfig.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/pconfig.mli ---- camlp5-6.11/ocaml_stuff/4.03.0/utils/pconfig.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/pconfig.mli 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1,4 @@ -+val ocaml_version : string -+val ocaml_name : string -+val ast_impl_magic_number : string -+val ast_intf_magic_number : string -diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/warnings.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/warnings.mli ---- camlp5-6.11/ocaml_stuff/4.03.0/utils/warnings.mli 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/warnings.mli 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1,87 @@ -+(***********************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Pierre Weis && Damien Doligez, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1998 Institut National de Recherche en Informatique et *) -+(* en Automatique. All rights reserved. This file is distributed *) -+(* under the terms of the Q Public License version 1.0. *) -+(* *) -+(***********************************************************************) -+ -+open Format -+ -+type t = -+ | Comment_start (* 1 *) -+ | Comment_not_end (* 2 *) -+ | Deprecated of string (* 3 *) -+ | Fragile_match of string (* 4 *) -+ | Partial_application (* 5 *) -+ | Labels_omitted (* 6 *) -+ | Method_override of string list (* 7 *) -+ | Partial_match of string (* 8 *) -+ | Non_closed_record_pattern of string (* 9 *) -+ | Statement_type (* 10 *) -+ | Unused_match (* 11 *) -+ | Unused_pat (* 12 *) -+ | Instance_variable_override of string list (* 13 *) -+ | Illegal_backslash (* 14 *) -+ | Implicit_public_methods of string list (* 15 *) -+ | Unerasable_optional_argument (* 16 *) -+ | Undeclared_virtual_method of string (* 17 *) -+ | Not_principal of string (* 18 *) -+ | Without_principality of string (* 19 *) -+ | Unused_argument (* 20 *) -+ | Nonreturning_statement (* 21 *) -+ | Preprocessor of string (* 22 *) -+ | Useless_record_with (* 23 *) -+ | Bad_module_name of string (* 24 *) -+ | All_clauses_guarded (* 25 *) -+ | Unused_var of string (* 26 *) -+ | Unused_var_strict of string (* 27 *) -+ | Wildcard_arg_to_constant_constr (* 28 *) -+ | Eol_in_string (* 29 *) -+ | Duplicate_definitions of string * string * string * string (* 30 *) -+ | Multiple_definition of string * string * string (* 31 *) -+ | Unused_value_declaration of string (* 32 *) -+ | Unused_open of string (* 33 *) -+ | Unused_type_declaration of string (* 34 *) -+ | Unused_for_index of string (* 35 *) -+ | Unused_ancestor of string (* 36 *) -+ | Unused_constructor of string * bool * bool (* 37 *) -+ | Unused_extension of string * bool * bool (* 38 *) -+ | Unused_rec_flag (* 39 *) -+ | Name_out_of_scope of string * string list * bool (* 40 *) -+ | Ambiguous_name of string list * string list * bool (* 41 *) -+ | Disambiguated_name of string (* 42 *) -+ | Nonoptional_label of string (* 43 *) -+ | Open_shadow_identifier of string * string (* 44 *) -+ | Open_shadow_label_constructor of string * string (* 45 *) -+ | Bad_env_variable of string * string (* 46 *) -+ | Attribute_payload of string * string (* 47 *) -+ | Eliminated_optional_arguments of string list (* 48 *) -+ | No_cmi_file of string (* 49 *) -+;; -+ -+val parse_options : bool -> string -> unit;; -+ -+val is_active : t -> bool;; -+val is_error : t -> bool;; -+ -+val defaults_w : string;; -+val defaults_warn_error : string;; -+ -+val print : formatter -> t -> int;; -+ (* returns the number of newlines in the printed string *) -+ -+ -+exception Errors of int;; -+ -+val check_fatal : unit -> unit;; -+ -+val help_warnings: unit -> unit -+ -+type state -+val backup: unit -> state -+val restore: state -> unit -diff -urN camlp5-6.11/ocaml_stuff/common/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/common/parsing/.cvsignore 2010-09-15 17:00:47.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/common/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/common/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/.gitignore 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/common/parsing/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/Makefile ---- camlp5-6.11/ocaml_stuff/common/parsing/Makefile 2012-03-02 18:49:57.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/Makefile 2014-08-01 10:14:54.344065456 +0100 -@@ -1,4 +1,4 @@ --# $Id: Makefile,v 6.3 2012-03-02 18:49:57 deraugla Exp $ -+# Makefile,v - - FILES=asttypes.cmi location.cmi longident.cmi parsetree.cmi - INCL=-I ../utils -diff -urN camlp5-6.11/ocaml_stuff/common/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/common/utils/.cvsignore 2010-09-15 17:00:48.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/common/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/common/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/.gitignore 2014-08-01 10:14:54.344065456 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/common/utils/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/Makefile ---- camlp5-6.11/ocaml_stuff/common/utils/Makefile 2012-03-02 18:49:57.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/Makefile 2014-08-01 10:14:54.344065456 +0100 -@@ -1,4 +1,4 @@ --# $Id: Makefile,v 6.3 2012-03-02 18:49:57 deraugla Exp $ -+# Makefile,v - - FILES=warnings.cmi pconfig.cmo - INCL= -diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/jocaml/3.12.0/parsing/.cvsignore 2012-03-06 10:09:10.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/jocaml/3.12.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/parsing/.gitignore 2014-08-01 10:14:54.345065457 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/jocaml/3.12.0/utils/.cvsignore 2012-03-06 10:09:10.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/jocaml/3.12.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/utils/.gitignore 2014-08-01 10:14:54.345065457 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/jocaml/3.12.1/parsing/.cvsignore 2012-03-06 09:57:07.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/jocaml/3.12.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/parsing/.gitignore 2014-08-01 10:14:54.345065457 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/jocaml/3.12.1/utils/.cvsignore 2012-03-06 09:57:07.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/jocaml/3.12.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/utils/.gitignore 2014-08-01 10:14:54.346065458 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.13.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/parsing/.cvsignore ---- camlp5-6.11/ocaml_stuff/jocaml/3.13.0/parsing/.cvsignore 2012-03-02 18:49:57.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.13.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/parsing/.gitignore ---- camlp5-6.11/ocaml_stuff/jocaml/3.13.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/parsing/.gitignore 2014-08-01 10:14:54.346065458 +0100 -@@ -0,0 +1 @@ -+*.cm[oi] -diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.13.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/utils/.cvsignore ---- camlp5-6.11/ocaml_stuff/jocaml/3.13.0/utils/.cvsignore 2012-03-02 18:49:57.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.13.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/utils/.gitignore ---- camlp5-6.11/ocaml_stuff/jocaml/3.13.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/utils/.gitignore 2014-08-01 10:14:54.346065458 +0100 -@@ -0,0 +1 @@ -+*.cm[oix] -diff -urN camlp5-6.11/ocaml_stuff/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/Makefile ---- camlp5-6.11/ocaml_stuff/Makefile 2013-06-10 16:41:26.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocaml_stuff/Makefile 2014-08-01 10:14:54.344065456 +0100 -@@ -1,4 +1,4 @@ --# $Id: Makefile,v 6.8 2013-06-10 15:41:26 deraugla Exp $ -+# Makefile,v - - TOP=.. - include ../config/Makefile -@@ -38,11 +38,11 @@ - cp common/utils/pconfig.mli $(VERSSDIR)/utils/. - sed 's/\$$Id.*\$$/Id/' common/utils/Makefile > \ - $(VERSSDIR)/utils/Makefile -- cp common/utils/.cvsignore $(VERSSDIR)/utils/. -+ cp common/utils/.gitignore $(VERSSDIR)/utils/. - cp common/utils/.depend $(VERSSDIR)/utils/. - sed 's/\$$Id.*\$$/Id/' common/parsing/Makefile > \ - $(VERSSDIR)/parsing/Makefile -- cp common/parsing/.cvsignore $(VERSSDIR)/parsing/. -+ cp common/parsing/.gitignore $(VERSSDIR)/parsing/. - cp common/parsing/.depend $(VERSSDIR)/parsing/. - (echo "let ocaml_version = \"$(OVERSION)\""; \ - echo "let ocaml_name = \"$(OCAMLN)\""; \ -diff -urN camlp5-6.11/ocpp/.cvsignore camlp5-6.12-63a8c30f/ocpp/.cvsignore ---- camlp5-6.11/ocpp/.cvsignore 2010-09-15 17:00:48.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocpp/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1,3 +0,0 @@ --*.cm[oia] --ocpp --crc.ml -diff -urN camlp5-6.11/ocpp/.gitignore camlp5-6.12-63a8c30f/ocpp/.gitignore ---- camlp5-6.11/ocpp/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/ocpp/.gitignore 2014-08-01 10:14:54.346065458 +0100 -@@ -0,0 +1,3 @@ -+*.cm[oia] -+ocpp -+crc.ml -diff -urN camlp5-6.11/ocpp/Makefile camlp5-6.12-63a8c30f/ocpp/Makefile ---- camlp5-6.11/ocpp/Makefile 2012-03-01 03:33:19.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocpp/Makefile 2014-08-01 10:14:54.346065458 +0100 -@@ -1,10 +1,10 @@ --# $Id: Makefile,v 6.2 2012-03-01 03:33:19 deraugla Exp $ -+# Makefile,v - - include ../config/Makefile - - SHELL=/bin/sh - --INCLUDES=-I ../main -I ../boot -I ../odyl -+INCLUDES=-I ../main -I ../boot -I ../odyl -I ../lib - OCAMLCFLAGS=$(WARNERR) $(INCLUDES) - LINKFLAGS=$(INCLUDES) - OBJS=ocpp.cmo -@@ -12,7 +12,7 @@ - all: ocpp$(EXE) - - ocpp$(EXE): $(OBJS) -- $(OCAMLC) $(LINKFLAGS) ../boot/ploc.cmo ../boot/stdpp.cmo ../main/quotation.cmo ../odyl/odyl.cma $(OBJS) ../odyl/odyl.cmo -linkall -o ocpp$(EXE) -+ $(OCAMLC) $(LINKFLAGS) ../boot/versdep.cmo ../boot/ploc.cmo ../boot/stdpp.cmo ../main/quotation.cmo ../odyl/odyl.cma $(OBJS) ../odyl/odyl.cmo -linkall -o ocpp$(EXE) - - clean:: - rm -f *.cm[ioa] *.pp[io] *.[ao] *.obj *.lib *.out *.bak .*.bak -diff -urN camlp5-6.11/ocpp/ocpp.ml camlp5-6.12-63a8c30f/ocpp/ocpp.ml ---- camlp5-6.11/ocpp/ocpp.ml 2012-01-09 14:22:25.000000000 +0000 -+++ camlp5-6.12-63a8c30f/ocpp/ocpp.ml 2014-08-01 10:14:54.346065458 +0100 -@@ -1,14 +1,16 @@ - (* camlp5r *) --(* $Id: ocpp.ml,v 6.3 2012-01-09 14:22:25 deraugla Exp $ *) -+(* ocpp.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - --value buff = ref (String.create 80); -+open Versdep; -+ -+value buff = ref (string_create 80); - value store len x = - do { - if len >= String.length buff.val then -- buff.val := buff.val ^ String.create (String.length buff.val) -+ buff.val := buff.val ^ string_create (String.length buff.val) - else (); -- buff.val.[len] := x; -+ string_set buff.val len x; - succ len - } - ; -diff -urN camlp5-6.11/odyl/.cvsignore camlp5-6.12-63a8c30f/odyl/.cvsignore ---- camlp5-6.11/odyl/.cvsignore 2010-09-15 17:00:48.000000000 +0100 -+++ camlp5-6.12-63a8c30f/odyl/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1,6 +0,0 @@ --*.a --*.cm[oiax] --*.cmxa --*.lib --odyl --odyl_config.ml -diff -urN camlp5-6.11/odyl/.gitignore camlp5-6.12-63a8c30f/odyl/.gitignore ---- camlp5-6.11/odyl/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/odyl/.gitignore 2014-08-01 10:14:54.347065458 +0100 -@@ -0,0 +1,6 @@ -+*.a -+*.cm[oiax] -+*.cmxa -+*.lib -+odyl -+odyl_config.ml -diff -urN camlp5-6.11/odyl/Makefile camlp5-6.12-63a8c30f/odyl/Makefile ---- camlp5-6.11/odyl/Makefile 2012-03-01 03:33:19.000000000 +0000 -+++ camlp5-6.12-63a8c30f/odyl/Makefile 2014-08-01 10:14:54.347065458 +0100 -@@ -1,4 +1,4 @@ --# $Id: Makefile,v 6.2 2012-03-01 03:33:19 deraugla Exp $ -+# Makefile,v - - TOP=.. - include $(TOP)/config/Makefile -diff -urN camlp5-6.11/odyl/odyl_main.ml camlp5-6.12-63a8c30f/odyl/odyl_main.ml ---- camlp5-6.11/odyl/odyl_main.ml 2012-01-09 14:22:25.000000000 +0000 -+++ camlp5-6.12-63a8c30f/odyl/odyl_main.ml 2014-08-01 10:14:54.347065458 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* $Id: odyl_main.ml,v 6.3 2012-01-09 14:22:25 deraugla Exp $ *) -+(* odyl_main.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - value go = ref (fun () -> ()); -diff -urN camlp5-6.11/odyl/odyl_main.mli camlp5-6.12-63a8c30f/odyl/odyl_main.mli ---- camlp5-6.11/odyl/odyl_main.mli 2010-09-15 17:00:48.000000000 +0100 -+++ camlp5-6.12-63a8c30f/odyl/odyl_main.mli 2014-08-01 10:14:54.347065458 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: odyl_main.mli,v 6.1 2010-09-15 16:00:48 deraugla Exp $ *) -+(* odyl_main.mli,v *) - - exception Error of string and string; - -diff -urN camlp5-6.11/odyl/odyl.ml camlp5-6.12-63a8c30f/odyl/odyl.ml ---- camlp5-6.11/odyl/odyl.ml 2012-01-09 14:22:25.000000000 +0000 -+++ camlp5-6.12-63a8c30f/odyl/odyl.ml 2014-08-01 10:14:54.347065458 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: odyl.ml,v 6.3 2012-01-09 14:22:25 deraugla Exp $ *) -+(* odyl.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - value apply_load () = -diff -urN camlp5-6.11/README camlp5-6.12-63a8c30f/README ---- camlp5-6.11/README 2013-08-15 23:08:21.000000000 +0100 -+++ camlp5-6.12-63a8c30f/README 2014-08-01 10:14:54.283065418 +0100 -@@ -5,7 +5,7 @@ - It is compatible with all versions of ocaml from 1.07 to 4.01.0 and - jocaml 3.12.0 to 3.12.1. - -- This Camlp5 version is 6.11. -+ This Camlp5 version is 6.12-exp. - - Camlp5 must be compiled either in "transitional mode" or in "strict mode". - See the file MODE for information. -diff -urN camlp5-6.11/test/check_ocaml_sources.sh camlp5-6.12-63a8c30f/test/check_ocaml_sources.sh ---- camlp5-6.11/test/check_ocaml_sources.sh 2010-09-24 12:04:54.000000000 +0100 -+++ camlp5-6.12-63a8c30f/test/check_ocaml_sources.sh 2014-08-01 10:14:54.347065458 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: check_ocaml_sources.sh,v 6.18 2010-09-24 11:04:54 deraugla Exp $ -+# check_ocaml_sources.sh,v - - dir='../ocaml/trunk' - suff=ml -diff -urN camlp5-6.11/test/check_ocaml_versions.sh camlp5-6.12-63a8c30f/test/check_ocaml_versions.sh ---- camlp5-6.11/test/check_ocaml_versions.sh 2012-06-18 10:53:42.000000000 +0100 -+++ camlp5-6.12-63a8c30f/test/check_ocaml_versions.sh 2014-08-01 10:14:54.347065458 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh -e --# $Id: check_ocaml_versions.sh,v 6.11 2012-06-18 09:53:42 deraugla Exp $ -+# check_ocaml_versions.sh,v - - TOP=$HOME/work - DEST=$TOP/usr -diff -urN camlp5-6.11/test/.cvsignore camlp5-6.12-63a8c30f/test/.cvsignore ---- camlp5-6.11/test/.cvsignore 2010-09-30 08:33:58.000000000 +0100 -+++ camlp5-6.12-63a8c30f/test/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.ml[tu] -diff -urN camlp5-6.11/test/.gitignore camlp5-6.12-63a8c30f/test/.gitignore ---- camlp5-6.11/test/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/test/.gitignore 2014-08-01 10:14:54.347065458 +0100 -@@ -0,0 +1 @@ -+*.ml[tu] -diff -urN camlp5-6.11/test/Makefile camlp5-6.12-63a8c30f/test/Makefile ---- camlp5-6.11/test/Makefile 2012-03-01 03:33:19.000000000 +0000 -+++ camlp5-6.12-63a8c30f/test/Makefile 2014-08-01 10:14:54.347065458 +0100 -@@ -1,4 +1,4 @@ --# $Id: Makefile,v 6.6 2012-03-01 03:33:19 deraugla Exp $ -+# Makefile,v - # Copyright (c) INRIA 2007-2012 - - DEP=../etc/pr_r.cmo quot_r.out.ml -diff -urN camlp5-6.11/test/mkquot_o.sh camlp5-6.12-63a8c30f/test/mkquot_o.sh ---- camlp5-6.11/test/mkquot_o.sh 2010-09-16 09:32:02.000000000 +0100 -+++ camlp5-6.12-63a8c30f/test/mkquot_o.sh 2014-08-01 10:14:54.347065458 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: mkquot_o.sh,v 6.2 2010-09-16 08:32:02 deraugla Exp $ -+# mkquot_o.sh,v - - head -n2 quot_o.ml - ../meta/camlp5r -nolib -I ../meta ../etc/pa_mktest.cmo ../etc/pr_o.cmo -flag M -impl ../main/mLast.mli | -diff -urN camlp5-6.11/test/mkquot.sh camlp5-6.12-63a8c30f/test/mkquot.sh ---- camlp5-6.11/test/mkquot.sh 2010-09-15 17:00:48.000000000 +0100 -+++ camlp5-6.12-63a8c30f/test/mkquot.sh 2014-08-01 10:14:54.347065458 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: mkquot.sh,v 6.1 2010-09-15 16:00:48 deraugla Exp $ -+# mkquot.sh,v - - echo '(* file generated by mkquot.sh: do not edit! *)' - echo -diff -urN camlp5-6.11/test/quot_o.ml camlp5-6.12-63a8c30f/test/quot_o.ml ---- camlp5-6.11/test/quot_o.ml 2010-11-14 17:09:00.000000000 +0000 -+++ camlp5-6.12-63a8c30f/test/quot_o.ml 2014-08-01 10:14:54.347065458 +0100 -@@ -1,4 +1,4 @@ --(* $Id: quot_o.ml,v 6.22 2010-11-14 17:09:00 deraugla Exp $ *) -+(* quot_o.ml,v *) - - <:ctyp< $t1$ . $t2$ >>;; - MLast.TyAli (loc, t1, t2);; -diff -urN camlp5-6.11/test/quot_r.ml camlp5-6.12-63a8c30f/test/quot_r.ml ---- camlp5-6.11/test/quot_r.ml 2010-11-14 17:09:00.000000000 +0000 -+++ camlp5-6.12-63a8c30f/test/quot_r.ml 2014-08-01 10:14:54.347065458 +0100 -@@ -1,4 +1,4 @@ --(* $Id: quot_r.ml,v 6.37 2010-11-14 17:09:00 deraugla Exp $ *) -+(* quot_r.ml,v *) - - (* ctyp: Type expressions of the language. *) - -diff -urN camlp5-6.11/tools/apply.sh camlp5-6.12-63a8c30f/tools/apply.sh ---- camlp5-6.11/tools/apply.sh 2010-09-15 17:00:48.000000000 +0100 -+++ camlp5-6.12-63a8c30f/tools/apply.sh 2014-08-01 10:14:54.348065459 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: apply.sh,v 6.1 2010-09-15 16:00:48 deraugla Exp $ -+# apply.sh,v - - ARGS1= - ARGS2= -diff -urN camlp5-6.11/tools/camlp5_comm.sh camlp5-6.12-63a8c30f/tools/camlp5_comm.sh ---- camlp5-6.11/tools/camlp5_comm.sh 2012-03-03 01:38:08.000000000 +0000 -+++ camlp5-6.12-63a8c30f/tools/camlp5_comm.sh 2014-08-01 10:14:54.348065459 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: camlp5_comm.sh,v 6.5 2012-03-03 01:38:08 deraugla Exp $ -+# camlp5_comm.sh,v - - ARGS1="-mode $MODE" - FILE= -diff -urN camlp5-6.11/tools/depend.sh camlp5-6.12-63a8c30f/tools/depend.sh ---- camlp5-6.11/tools/depend.sh 2012-03-01 03:33:19.000000000 +0000 -+++ camlp5-6.12-63a8c30f/tools/depend.sh 2014-08-01 10:14:54.348065459 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh --# $Id: depend.sh,v 6.3 2012-03-01 03:33:19 deraugla Exp $ -+# depend.sh,v - - ARGS1="pr_depend.cmo --" - FILE= -diff -urN camlp5-6.11/tools/mkcrc.sh camlp5-6.12-63a8c30f/tools/mkcrc.sh ---- camlp5-6.11/tools/mkcrc.sh 2010-09-15 17:00:49.000000000 +0100 -+++ camlp5-6.12-63a8c30f/tools/mkcrc.sh 2014-08-01 10:14:54.348065459 +0100 -@@ -1,5 +1,5 @@ - #!/bin/sh -e --# $Id: mkcrc.sh,v 6.1 2010-09-15 16:00:49 deraugla Exp $ -+# mkcrc.sh,v - - V=$OVERSION - -diff -urN camlp5-6.11/top/camlp5_top.ml camlp5-6.12-63a8c30f/top/camlp5_top.ml ---- camlp5-6.11/top/camlp5_top.ml 2013-03-13 07:52:28.000000000 +0000 -+++ camlp5-6.12-63a8c30f/top/camlp5_top.ml 2014-08-01 10:14:54.348065459 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: camlp5_top.ml,v 6.5 2013-03-13 07:52:28 deraugla Exp $ *) -+(* camlp5_top.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - #load "pa_macro.cmo"; -@@ -190,5 +190,6 @@ - ELSE - Toploop.print_warning (Ast2pt.mkloc loc) Format.err_formatter - (IFDEF OCAML_VERSION <= OCAML_3_08_4 THEN Warnings.Other txt -- ELSE Warnings.Camlp4 txt END) -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Warnings.Camlp4 txt -+ ELSE Warnings.Preprocessor txt END) - END; -diff -urN camlp5-6.11/top/.cvsignore camlp5-6.12-63a8c30f/top/.cvsignore ---- camlp5-6.11/top/.cvsignore 2010-09-15 17:00:49.000000000 +0100 -+++ camlp5-6.12-63a8c30f/top/.cvsignore 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --*.cm[oia] -diff -urN camlp5-6.11/top/.gitignore camlp5-6.12-63a8c30f/top/.gitignore ---- camlp5-6.11/top/.gitignore 1970-01-01 01:00:00.000000000 +0100 -+++ camlp5-6.12-63a8c30f/top/.gitignore 2014-08-01 10:14:54.348065459 +0100 -@@ -0,0 +1 @@ -+*.cm[oia] -diff -urN camlp5-6.11/top/Makefile camlp5-6.12-63a8c30f/top/Makefile ---- camlp5-6.11/top/Makefile 2013-03-15 18:30:46.000000000 +0000 -+++ camlp5-6.12-63a8c30f/top/Makefile 2014-08-01 10:14:54.348065459 +0100 -@@ -1,9 +1,9 @@ --# $Id: Makefile,v 6.6 2013-03-15 18:30:46 deraugla Exp $ -+# Makefile,v - - TOP=.. - include ../config/Makefile - --INCLUDES=-I ../main -I ../boot -I $(OTOP)/utils -I $(OTOP)/parsing -I $(OCLIBDIR) -+INCLUDES=-I ../main -I ../boot -I $(OTOP)/utils -I $(OTOP)/parsing -I "$(OCLIBDIR)" - OCAMLCFLAGS=$(WARNERR) $(INCLUDES) - - CAMLP5_OBJS=$(OTOP)/utils/pconfig.cmo ../boot/versdep.cmo ../boot/ploc.cmo ../boot/plexing.cmo ../boot/plexer.cmo ../boot/fstream.cmo ../boot/gramext.cmo ../boot/grammar.cmo ../boot/diff.cmo ../boot/extfold.cmo ../boot/extfun.cmo ../boot/pretty.cmo ../boot/pprintf.cmo ../boot/eprinter.cmo ../main/quotation.cmo ../main/reloc.cmo ../main/prtools.cmo ../main/ast2pt.cmo ../main/pcaml.cmo ../main/exparser.cmo ../boot/stdpp.cmo ../boot/token.cmo -diff -urN camlp5-6.11/top/oprint.ml camlp5-6.12-63a8c30f/top/oprint.ml ---- camlp5-6.11/top/oprint.ml 2012-01-09 14:22:25.000000000 +0000 -+++ camlp5-6.12-63a8c30f/top/oprint.ml 2014-08-01 10:14:54.349065460 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r *) --(* $Id: oprint.ml,v 6.3 2012-01-09 14:22:25 deraugla Exp $ *) -+(* oprint.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - open Format; -diff -urN camlp5-6.11/top/rprint.ml camlp5-6.12-63a8c30f/top/rprint.ml ---- camlp5-6.11/top/rprint.ml 2013-07-02 17:27:48.000000000 +0100 -+++ camlp5-6.12-63a8c30f/top/rprint.ml 2014-08-01 10:14:54.349065460 +0100 -@@ -1,5 +1,5 @@ - (* camlp5r pa_macro.cmo *) --(* $Id: rprint.ml,v 6.17 2013-07-02 16:27:48 deraugla Exp $ *) -+(* rprint.ml,v *) - (* Copyright (c) INRIA 2007-2012 *) - - IFDEF OCAML_VERSION >= OCAML_3_03 THEN -@@ -212,6 +212,9 @@ - | Otyp_manifest ty1 ty2 -> - fprintf ppf "@[<2>%a ==@ %a@]" print_out_type ty1 print_out_type ty2 - | Otyp_abstract -> fprintf ppf "'abstract" -+ | IFDEF OCAML_VERSION >= OCAML_4_02_0 THEN -+ Otyp_open -> fprintf ppf "open" -+ END - | Otyp_alias _ _ | Otyp_arrow _ _ _ | Otyp_constr _ [_ :: _] as ty -> - fprintf ppf "@[<1>(%a)@]" print_out_type ty - | IFDEF OCAML_VERSION >= OCAML_3_05 THEN -@@ -339,9 +342,15 @@ - (print_typlist print_out_type ",") tyl ] - in - fprintf ppf "@[%a%a@]" pr_tyl tyl print_ident id -- | Octy_fun lab ty cty -> -+ | IFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Octy_fun lab ty cty -> -+ fprintf ppf "@[%s[ %a ] ->@ %a@]" (if lab <> "" then lab ^ ":" else "") -+ print_out_type ty print_out_class_type cty -+ ELSE -+ Octy_arrow lab ty cty -> - fprintf ppf "@[%s[ %a ] ->@ %a@]" (if lab <> "" then lab ^ ":" else "") - print_out_type ty print_out_class_type cty -+ END - | Octy_signature self_ty csil -> - let pr_param ppf = - fun -@@ -379,9 +388,22 @@ - | Omty_signature sg -> - fprintf ppf "@[sig@ %a@;<1 -2>end@]" print_out_signature sg - | Omty_functor name mty_arg mty_res -> -- fprintf ppf "@[<2>functor@ (%s : %a) ->@ %a@]" name -- print_out_module_type mty_arg print_out_module_type mty_res -- | Omty_abstract -> () ] -+ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ fprintf ppf "@[<2>functor@ (%s : %a) ->@ %a@]" name -+ print_out_module_type mty_arg print_out_module_type mty_res -+ ELSE -+ match mty_arg with -+ [ Some mty_arg -> -+ fprintf ppf "@[<2>functor@ (%s : %a) ->@ %a@]" name -+ print_out_module_type mty_arg print_out_module_type mty_res -+ | None -> -+ fprintf ppf "@[<2>functor@ (%s) ->@ %a@]" name -+ print_out_module_type mty_res ] -+ END -+ | Omty_abstract -> () -+ | IFDEF OCAML_VERSION >= OCAML_4_02_0 THEN -+ Omty_alias oi -> fprintf ppf "" -+ END ] - and print_out_signature ppf = - fun - [ [] -> () -@@ -391,8 +413,10 @@ - print_out_signature items ] - and print_out_sig_item ppf = - fun -- [ Osig_exception id tyl -> -+ [ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN -+ Osig_exception id tyl -> - fprintf ppf "@[<2>exception %a@]" print_out_constr (id, tyl) -+ END - | Osig_modtype name Omty_abstract -> - fprintf ppf "@[<2>module type %s = 'a@]" name - | Osig_modtype name mty -> -@@ -448,8 +472,11 @@ - IFDEF OCAML_VERSION <= OCAML_3_08_4 THEN - let (name, args, ty, priv) = x in - (name, args, ty, priv, []) -- ELSE -+ ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN - x -+ ELSE -+ (x.otype_name, x.otype_params, x.otype_type, x.otype_private, -+ x.otype_cstrs) - END - in - let constrain ppf (ty, ty') = diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 36b0a7e..541489d 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -1,25 +1,20 @@ %global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) +%if !%{opt} +%global debug_package %{nil} +%endif Name: ocaml-camlp5 Version: 6.12 -Release: 0.5.git63a8c30f%{?dist} +Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD URL: http://camlp5.gforge.inria.fr/ -Source0: http://camlp5.gforge.inria.fr/distrib/src/camlp5-6.11.tgz - -# This is a patch from the 6.11 tarball to the 63a8c30f commit which -# is a prerelease of 6.12. The git repo can be found here: -# git://scm.gforge.inria.fr/camlp5/camlp5.git -Patch1: camlp5-6.12-63a8c30f.patch +Source0: http://camlp5.gforge.inria.fr/distrib/src/camlp5-%{version}.tgz # Kill -warn-error A -Patch2: camlp5-6.11-kill-warn-error.patch - -# Update parsing/location.mli from OCaml 4.02.0 latest sources. -Patch3: 0001-NOT-UPSTREAM-Update-parsing-location.mli.patch +Patch0: camlp5-6.11-kill-warn-error.patch BuildRequires: ocaml BuildRequires: ocaml-ocamldoc @@ -49,23 +44,17 @@ developing applications that use %{name}. %prep -%setup -q -n camlp5-6.11 +%setup -q -n camlp5-%{version} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 +%patch0 -p1 # Build with debug information sed -i 's,WARNERR="",WARNERR="-g",' configure sed -i 's,-linkall,& -g,g' top/Makefile for fil in compile/compile.sh $(find . -name Makefile); do - sed -i 's,\$(OCAMLN)c,& -g,;s,\$(OCAMLN)opt,& -g,;s,LINKFLAGS=,&-g ,' $fil + sed -i 's,\$[({]OCAMLN[})]c,& -g,;s,\$[({]OCAMLN[})]opt,& -g,;s,LINKFLAGS=,&-g ,' $fil done -# But don't build pa_lisp with debug information because it triggers this: -# Fatal error: exception Assert_failure("asmcomp/emitaux.ml", 226, 4) -sed -i 's/$(WARNERR)//' etc/Makefile.withnew - %build ./configure @@ -123,6 +112,11 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Thu Nov 6 2014 Jerry James - 6.12-1 +- Update to 6.12 final +- Drop upstreamed patches (all but -kill-warn-error) +- Drop debuginfo workaround; fixed upstream + * Sat Aug 30 2014 Richard W.M. Jones - 6.12-0.5.git63a8c30f - ocaml-4.02.0 final rebuild. diff --git a/sources b/sources index e88d35b..848d5d5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5bd3d0e8a32d762b28107caef631f860 camlp5-6.11.tgz +d49d30b62396b7285f3d609ac90c3fe5 camlp5-6.12.tgz From c25ad8c7bf7d81c3b7a6c0b98ec410d37602c992 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 16 Feb 2015 20:49:09 +0000 Subject: [PATCH 44/79] ocaml-4.02.1 rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 541489d..f45ff7a 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 6.12 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -112,6 +112,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Mon Feb 16 2015 Richard W.M. Jones - 6.12-2 +- ocaml-4.02.1 rebuild. + * Thu Nov 6 2014 Jerry James - 6.12-1 - Update to 6.12 final - Drop upstreamed patches (all but -kill-warn-error) From 71ee0681d543f5b6c20ff68de6be34ed795f31bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Fri, 15 May 2015 16:02:18 +0300 Subject: [PATCH 45/79] Mark LICENSE as %license, don't ship .gitignore --- ocaml-camlp5.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index f45ff7a..20bc9d1 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 6.12 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -45,7 +45,7 @@ developing applications that use %{name}. %prep %setup -q -n camlp5-%{version} - +find . -name .gitignore -delete %patch0 -p1 # Build with debug information @@ -83,11 +83,12 @@ make install \ BINDIR=$RPM_BUILD_ROOT%{_bindir} \ MANDIR=$RPM_BUILD_ROOT%{_mandir} cp -p etc/META $RPM_BUILD_ROOT%{_libdir}/ocaml/camlp5 -rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} +rm -f doc/htmlp/{*.sh,Makefile,html2*} %files -%doc README LICENSE +%license LICENSE +%doc README %{_libdir}/ocaml/camlp5 %if %opt %exclude %{_libdir}/ocaml/camlp5/*.a @@ -112,6 +113,9 @@ rm -f doc/html/.cvsignore doc/htmlp/{.cvsignore,*.sh,Makefile,html2*} %changelog +* Fri May 15 2015 Ville Skyttä - 6.12-3 +- Mark LICENSE as %%license, don't ship .gitignore + * Mon Feb 16 2015 Richard W.M. Jones - 6.12-2 - ocaml-4.02.1 rebuild. From 9f780fd83ae61231121910095f5cdc9c73874652 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 17 Jun 2015 15:16:21 +0100 Subject: [PATCH 46/79] ocaml-4.02.2 rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 20bc9d1..d4b4f10 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 6.12 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Wed Jun 17 2015 Richard W.M. Jones - 6.12-4 +- ocaml-4.02.2 rebuild. + * Fri May 15 2015 Ville Skyttä - 6.12-3 - Mark LICENSE as %%license, don't ship .gitignore From 35c615683cb8289e8c43eef059e2aea970a7d1a7 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 17 Jun 2015 15:28:27 +0100 Subject: [PATCH 47/79] New upstream version 6.13. - ocaml-4.02.2 rebuild. --- .gitignore | 1 + ocaml-camlp5.spec | 7 ++++--- sources | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index bd8ee5b..5768ab7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /camlp5-6.12.tgz +/camlp5-6.13.tgz diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index d4b4f10..aa76165 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -4,8 +4,8 @@ %endif Name: ocaml-camlp5 -Version: 6.12 -Release: 4%{?dist} +Version: 6.13 +Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,7 +113,8 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog -* Wed Jun 17 2015 Richard W.M. Jones - 6.12-4 +* Wed Jun 17 2015 Richard W.M. Jones - 6.13-1 +- New upstream version 6.13. - ocaml-4.02.2 rebuild. * Fri May 15 2015 Ville Skyttä - 6.12-3 diff --git a/sources b/sources index 848d5d5..da71547 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d49d30b62396b7285f3d609ac90c3fe5 camlp5-6.12.tgz +1e75b167a0c00bd47fb24e4101f5f21f camlp5-6.13.tgz From 210e09dbbe37f73b8fe01d8d3cc4dcac6b1e034b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 24 Jun 2015 17:20:51 +0100 Subject: [PATCH 48/79] ocaml-4.02.2 final rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index aa76165..c53959c 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 6.13 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Wed Jun 24 2015 Richard W.M. Jones - 6.13-2 +- ocaml-4.02.2 final rebuild. + * Wed Jun 17 2015 Richard W.M. Jones - 6.13-1 - New upstream version 6.13. - ocaml-4.02.2 rebuild. From a440de2a608151f68b93e72b2edb4a62eff4cb97 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 28 Jul 2015 15:49:47 +0100 Subject: [PATCH 49/79] OCaml 4.02.3 rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index c53959c..aa16089 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 6.13 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Tue Jul 28 2015 Richard W.M. Jones - 6.13-3 +- OCaml 4.02.3 rebuild. + * Wed Jun 24 2015 Richard W.M. Jones - 6.13-2 - ocaml-4.02.2 final rebuild. From 863742b2fc90d5de201f5f726ee6056dfcab48f2 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 30 Jul 2015 22:36:18 +0100 Subject: [PATCH 50/79] New upstream version 6.14. --- .gitignore | 1 + ocaml-camlp5.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 5768ab7..a426759 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /camlp5-6.12.tgz /camlp5-6.13.tgz +/camlp5-6.14.tgz diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index aa16089..fe3c0d5 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -4,8 +4,8 @@ %endif Name: ocaml-camlp5 -Version: 6.13 -Release: 3%{?dist} +Version: 6.14 +Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Thu Jul 30 2015 Richard W.M. Jones - 6.14-1 +- New upstream version 6.14. + * Tue Jul 28 2015 Richard W.M. Jones - 6.13-3 - OCaml 4.02.3 rebuild. diff --git a/sources b/sources index da71547..b527a44 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1e75b167a0c00bd47fb24e4101f5f21f camlp5-6.13.tgz +f603baad3d742048889911e2d4795ac9 camlp5-6.14.tgz From a803c3e55dce142834ffad81056d65627de573b7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 4 Feb 2016 11:05:21 +0000 Subject: [PATCH 51/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index fe3c0d5..62c75fc 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 6.14 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Thu Feb 04 2016 Fedora Release Engineering - 6.14-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Thu Jul 30 2015 Richard W.M. Jones - 6.14-1 - New upstream version 6.14. From ea46ed074f3562be887c69b03927ffebaeb79ba5 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 3 Dec 2016 13:22:54 +0000 Subject: [PATCH 52/79] New upstream version 6.17 with support for OCaml 4.04. --- .gitignore | 1 + ocaml-camlp5.spec | 13 ++++++++----- sources | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index a426759..24ccc6e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /camlp5-6.12.tgz /camlp5-6.13.tgz /camlp5-6.14.tgz +/rel617.tar.gz diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 62c75fc..d2f2db2 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -4,14 +4,14 @@ %endif Name: ocaml-camlp5 -Version: 6.14 -Release: 2%{?dist} +Version: 6.17 +Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD -URL: http://camlp5.gforge.inria.fr/ +URL: https://camlp5.github.io/ -Source0: http://camlp5.gforge.inria.fr/distrib/src/camlp5-%{version}.tgz +Source0: https://github.com/camlp5/camlp5/archive/rel617.tar.gz # Kill -warn-error A Patch0: camlp5-6.11-kill-warn-error.patch @@ -44,7 +44,7 @@ developing applications that use %{name}. %prep -%setup -q -n camlp5-%{version} +%setup -q -n camlp5-rel617 find . -name .gitignore -delete %patch0 -p1 @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Sat Dec 03 2016 Richard W.M. Jones - 6.17-1 +- New upstream version 6.17 with support for OCaml 4.04. + * Thu Feb 04 2016 Fedora Release Engineering - 6.14-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild diff --git a/sources b/sources index b527a44..6ba4f51 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f603baad3d742048889911e2d4795ac9 camlp5-6.14.tgz +572e0fa053715e40a40415ea3ca5d4ea rel617.tar.gz From 1afe5c3bc4b086d744de1d8461ac02c258b5ca37 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 11 Feb 2017 00:29:55 +0000 Subject: [PATCH 53/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index d2f2db2..57b7984 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 6.17 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Sat Feb 11 2017 Fedora Release Engineering - 6.17-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Sat Dec 03 2016 Richard W.M. Jones - 6.17-1 - New upstream version 6.17 with support for OCaml 4.04. From 2a44bfd4b128689e0f63c5d0a668d1a98abd7e63 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 13 May 2017 12:29:11 +0100 Subject: [PATCH 54/79] OCaml 4.04.1 rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 57b7984..31b2b44 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 6.17 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Sat May 13 2017 Richard W.M. Jones - 6.17-3 +- OCaml 4.04.1 rebuild. + * Sat Feb 11 2017 Fedora Release Engineering - 6.17-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From df699c752ef30cf00fb4124fde6db7cd658dd723 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 27 Jun 2017 12:46:55 +0100 Subject: [PATCH 55/79] OCaml 4.04.2 rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 31b2b44..43993c7 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 6.17 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Tue Jun 27 2017 Richard W.M. Jones - 6.17-4 +- OCaml 4.04.2 rebuild. + * Sat May 13 2017 Richard W.M. Jones - 6.17-3 - OCaml 4.04.1 rebuild. From 25a8f09504d54e0152dce39a60e589ec04f46912 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 27 Jun 2017 13:01:24 +0100 Subject: [PATCH 56/79] New upstream version 7.00. --- .gitignore | 1 + ocaml-camlp5.spec | 13 +++++++------ sources | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 24ccc6e..a0b3f1e 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /camlp5-6.13.tgz /camlp5-6.14.tgz /rel617.tar.gz +/rel700.tar.gz diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 43993c7..0af4a28 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -4,14 +4,14 @@ %endif Name: ocaml-camlp5 -Version: 6.17 -Release: 4%{?dist} +Version: 7.00 +Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD URL: https://camlp5.github.io/ -Source0: https://github.com/camlp5/camlp5/archive/rel617.tar.gz +Source0: https://github.com/camlp5/camlp5/archive/rel700.tar.gz # Kill -warn-error A Patch0: camlp5-6.11-kill-warn-error.patch @@ -44,7 +44,7 @@ developing applications that use %{name}. %prep -%setup -q -n camlp5-rel617 +%setup -q -n camlp5-rel700 find . -name .gitignore -delete %patch0 -p1 @@ -113,8 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog -* Tue Jun 27 2017 Richard W.M. Jones - 6.17-4 -- OCaml 4.04.2 rebuild. +* Tue Jun 27 2017 Richard W.M. Jones - 7.00-1 +- New upstream version 7.00, including support for + OCaml 4.04.2 rebuild. * Sat May 13 2017 Richard W.M. Jones - 6.17-3 - OCaml 4.04.1 rebuild. diff --git a/sources b/sources index 6ba4f51..1a335bd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -572e0fa053715e40a40415ea3ca5d4ea rel617.tar.gz +SHA512 (rel700.tar.gz) = 2d63451229f86fffeb287735ed26901ad43bb964b6ede1716cb82737001a5c1e4b77479a969509606f6a4f14bb6dbff32275d82f4a9640e0c16bb6594779e849 From 0b3fc448d56bb266c8b1a974177529afbac0f18b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 27 Jul 2017 01:26:41 +0000 Subject: [PATCH 57/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 0af4a28..376faae 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.00 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Thu Jul 27 2017 Fedora Release Engineering - 7.00-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Tue Jun 27 2017 Richard W.M. Jones - 7.00-1 - New upstream version 7.00, including support for OCaml 4.04.2 rebuild. From 66afc2f7bf43c6da5630087c6733a9ac6a3916c5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 3 Aug 2017 04:14:06 +0000 Subject: [PATCH 58/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 376faae..a41229e 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.00 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Thu Aug 03 2017 Fedora Release Engineering - 7.00-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Thu Jul 27 2017 Fedora Release Engineering - 7.00-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 97f3d0f18d1c42ee3b34c3cccf8b8ad7c1b2f34f Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 8 Aug 2017 20:36:14 +0100 Subject: [PATCH 59/79] OCaml 4.05.0 rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index a41229e..9733f27 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.00 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Tue Aug 08 2017 Richard W.M. Jones - 7.00-4 +- OCaml 4.05.0 rebuild. + * Thu Aug 03 2017 Fedora Release Engineering - 7.00-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 7de318ebc1bbfb98cba33483fe806f8049e1a7c6 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 17 Nov 2017 23:47:28 +0000 Subject: [PATCH 60/79] OCaml 4.06.0 rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 9733f27..c3e3979 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.00 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Fri Nov 17 2017 Richard W.M. Jones - 7.00-5 +- OCaml 4.06.0 rebuild. + * Tue Aug 08 2017 Richard W.M. Jones - 7.00-4 - OCaml 4.05.0 rebuild. From 8e1b0761c4c14326ad0a42a617123227541fe901 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 18 Nov 2017 11:33:32 +0000 Subject: [PATCH 61/79] New upstream version 7.03. --- .gitignore | 1 + ocaml-camlp5.spec | 11 ++++++----- sources | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index a0b3f1e..6198837 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /camlp5-6.14.tgz /rel617.tar.gz /rel700.tar.gz +/rel703.tar.gz diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index c3e3979..13f6b8b 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -4,14 +4,14 @@ %endif Name: ocaml-camlp5 -Version: 7.00 -Release: 5%{?dist} +Version: 7.03 +Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD URL: https://camlp5.github.io/ -Source0: https://github.com/camlp5/camlp5/archive/rel700.tar.gz +Source0: https://github.com/camlp5/camlp5/archive/rel703.tar.gz # Kill -warn-error A Patch0: camlp5-6.11-kill-warn-error.patch @@ -44,7 +44,7 @@ developing applications that use %{name}. %prep -%setup -q -n camlp5-rel700 +%setup -q -n camlp5-rel703 find . -name .gitignore -delete %patch0 -p1 @@ -113,7 +113,8 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog -* Fri Nov 17 2017 Richard W.M. Jones - 7.00-5 +* Fri Nov 17 2017 Richard W.M. Jones - 7.03-1 +- New upstream version 7.03. - OCaml 4.06.0 rebuild. * Tue Aug 08 2017 Richard W.M. Jones - 7.00-4 diff --git a/sources b/sources index 1a335bd..b6cf5fb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rel700.tar.gz) = 2d63451229f86fffeb287735ed26901ad43bb964b6ede1716cb82737001a5c1e4b77479a969509606f6a4f14bb6dbff32275d82f4a9640e0c16bb6594779e849 +SHA512 (rel703.tar.gz) = 0c76d469c5f8c727088f3136107b6690349b50791ef8baefffdaa90141230907f977a7a886a9e8d88d39d8fa315637d882d0205c57d752e16575c888a8a1f54d From 8dc74dba9f7030d7d8b4211a447fe888aab15cb7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 8 Feb 2018 08:47:12 +0000 Subject: [PATCH 62/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 13f6b8b..6704bee 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.03 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Thu Feb 08 2018 Fedora Release Engineering - 7.03-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Fri Nov 17 2017 Richard W.M. Jones - 7.03-1 - New upstream version 7.03. - OCaml 4.06.0 rebuild. From 7b6eaf8bdbd99e058216d694bf07198c40649513 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 26 Apr 2018 19:00:43 +0100 Subject: [PATCH 63/79] OCaml 4.07.0-beta2 rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 6704bee..c3776fd 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.03 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Thu Apr 26 2018 Richard W.M. Jones - 7.03-3 +- OCaml 4.07.0-beta2 rebuild. + * Thu Feb 08 2018 Fedora Release Engineering - 7.03-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From 8ff16b860264e1eaef3a6f6a9e1056df8b7db0a0 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 19 Jun 2018 23:10:12 +0100 Subject: [PATCH 64/79] Bump and rebuild for OCaml 4.07.0-rc1. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index c3776fd..c85763c 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.03 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -113,6 +113,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Tue Jun 19 2018 Richard W.M. Jones - 7.03-4 +- Bump and rebuild for OCaml 4.07.0-rc1. + * Thu Apr 26 2018 Richard W.M. Jones - 7.03-3 - OCaml 4.07.0-beta2 rebuild. From ba008944e812459c07f2e919c7a82eb88df93cf4 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 19 Jun 2018 23:12:32 +0100 Subject: [PATCH 65/79] New upstream version 7.05. Bump and rebuild for OCaml 4.07.0-rc1. --- .gitignore | 1 + ocaml-camlp5.spec | 11 ++++++----- sources | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 6198837..14f8107 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /rel617.tar.gz /rel700.tar.gz /rel703.tar.gz +/rel705.tar.gz diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index c85763c..d82ae49 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -4,14 +4,14 @@ %endif Name: ocaml-camlp5 -Version: 7.03 -Release: 4%{?dist} +Version: 7.05 +Release: 1%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD URL: https://camlp5.github.io/ -Source0: https://github.com/camlp5/camlp5/archive/rel703.tar.gz +Source0: https://github.com/camlp5/camlp5/archive/rel705.tar.gz # Kill -warn-error A Patch0: camlp5-6.11-kill-warn-error.patch @@ -44,7 +44,7 @@ developing applications that use %{name}. %prep -%setup -q -n camlp5-rel703 +%setup -q -n camlp5-rel705 find . -name .gitignore -delete %patch0 -p1 @@ -113,7 +113,8 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog -* Tue Jun 19 2018 Richard W.M. Jones - 7.03-4 +* Tue Jun 19 2018 Richard W.M. Jones - 7.05-1 +- New upstream version 7.05. - Bump and rebuild for OCaml 4.07.0-rc1. * Thu Apr 26 2018 Richard W.M. Jones - 7.03-3 diff --git a/sources b/sources index b6cf5fb..78aa445 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rel703.tar.gz) = 0c76d469c5f8c727088f3136107b6690349b50791ef8baefffdaa90141230907f977a7a886a9e8d88d39d8fa315637d882d0205c57d752e16575c888a8a1f54d +SHA512 (rel705.tar.gz) = fed60b71884883b78ae6db6f72230d155c364633141dfa936b5defc9701629b4c4845b61b43cfd8f0bc85467c5713f48659e5809796e181dcf02dc051d266762 From 0163df3ec489d6d01d40dcfe8e253ed83e65e6de Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 19 Jun 2018 23:35:19 +0100 Subject: [PATCH 66/79] Add support for 4.07. --- ...23346be22fa602594897a281d7eb4f3f1b1e.patch | 2155 +++++++++++++++++ ocaml-camlp5.spec | 5 + 2 files changed, 2160 insertions(+) create mode 100644 194223346be22fa602594897a281d7eb4f3f1b1e.patch diff --git a/194223346be22fa602594897a281d7eb4f3f1b1e.patch b/194223346be22fa602594897a281d7eb4f3f1b1e.patch new file mode 100644 index 0000000..fcabcb6 --- /dev/null +++ b/194223346be22fa602594897a281d7eb4f3f1b1e.patch @@ -0,0 +1,2155 @@ +From 194223346be22fa602594897a281d7eb4f3f1b1e Mon Sep 17 00:00:00 2001 +From: Emilio Jesus Gallego Arias +Date: Tue, 19 Jun 2018 15:19:15 -0400 +Subject: [PATCH] [ocaml] 4.07.0 support (closes #22) + +--- + CHANGES | 3 + + ocaml_src/lib/versdep/4.07.0.ml | 747 ++++++++++++++++++++++++++ + ocaml_stuff/4.07.0/parsing/.depend | 4 + + ocaml_stuff/4.07.0/parsing/.gitignore | 1 + + ocaml_stuff/4.07.0/parsing/Makefile | 19 + + ocaml_stuff/4.07.0/parsing/asttypes.mli | 58 ++ + ocaml_stuff/4.07.0/parsing/location.mli | 152 ++++++ + ocaml_stuff/4.07.0/parsing/longident.mli | 26 + + ocaml_stuff/4.07.0/parsing/parsetree.mli | 874 +++++++++++++++++++++++++++++++ + ocaml_stuff/4.07.0/utils/.depend | 2 + + ocaml_stuff/4.07.0/utils/.gitignore | 1 + + ocaml_stuff/4.07.0/utils/Makefile | 27 + + ocaml_stuff/4.07.0/utils/pconfig.ml | 2 + + ocaml_stuff/4.07.0/utils/pconfig.mli | 2 + + ocaml_stuff/4.07.0/utils/warnings.mli | 118 +++++ + opam | 11 +- + 16 files changed, 2044 insertions(+), 3 deletions(-) + create mode 100644 ocaml_src/lib/versdep/4.07.0.ml + create mode 100644 ocaml_stuff/4.07.0/parsing/.depend + create mode 100644 ocaml_stuff/4.07.0/parsing/.gitignore + create mode 100644 ocaml_stuff/4.07.0/parsing/Makefile + create mode 100644 ocaml_stuff/4.07.0/parsing/asttypes.mli + create mode 100644 ocaml_stuff/4.07.0/parsing/location.mli + create mode 100644 ocaml_stuff/4.07.0/parsing/longident.mli + create mode 100644 ocaml_stuff/4.07.0/parsing/parsetree.mli + create mode 100644 ocaml_stuff/4.07.0/utils/.depend + create mode 100644 ocaml_stuff/4.07.0/utils/.gitignore + create mode 100644 ocaml_stuff/4.07.0/utils/Makefile + create mode 100644 ocaml_stuff/4.07.0/utils/pconfig.ml + create mode 100644 ocaml_stuff/4.07.0/utils/pconfig.mli + create mode 100644 ocaml_stuff/4.07.0/utils/warnings.mli + +diff --git a/ocaml_src/lib/versdep/4.07.0.ml b/ocaml_src/lib/versdep/4.07.0.ml +new file mode 100644 +index 00000000..8fd1999c +--- /dev/null ++++ b/ocaml_src/lib/versdep/4.07.0.ml +@@ -0,0 +1,747 @@ ++(* camlp5r pa_macro.cmo *) ++(* versdep.ml,v *) ++(* Copyright (c) INRIA 2007-2017 *) ++ ++open Parsetree;; ++open Longident;; ++open Asttypes;; ++ ++type ('a, 'b) choice = ++ Left of 'a ++ | Right of 'b ++;; ++ ++let option_map f x = ++ match x with ++ Some x -> Some (f x) ++ | None -> None ++;; ++ ++let ocaml_name = "ocaml";; ++ ++let sys_ocaml_version = Sys.ocaml_version;; ++ ++let ocaml_location (fname, lnum, bolp, lnuml, bolpl, bp, ep) = ++ let loc_at n lnum bolp = ++ {Lexing.pos_fname = if lnum = -1 then "" else fname; ++ Lexing.pos_lnum = lnum; Lexing.pos_bol = bolp; Lexing.pos_cnum = n} ++ in ++ {Location.loc_start = loc_at bp lnum bolp; ++ Location.loc_end = loc_at ep lnuml bolpl; ++ Location.loc_ghost = bp = 0 && ep = 0} ++;; ++ ++let loc_none = ++ let loc = ++ {Lexing.pos_fname = "_none_"; Lexing.pos_lnum = 1; Lexing.pos_bol = 0; ++ Lexing.pos_cnum = -1} ++ in ++ {Location.loc_start = loc; Location.loc_end = loc; ++ Location.loc_ghost = true} ++;; ++ ++let mkloc loc txt = {Location.txt = txt; Location.loc = loc};; ++let mknoloc txt = mkloc loc_none txt;; ++ ++let ocaml_id_or_li_of_string_list loc sl = ++ let mkli s = ++ let rec loop f = ++ function ++ i :: il -> loop (fun s -> Ldot (f i, s)) il ++ | [] -> f s ++ in ++ loop (fun s -> Lident s) ++ in ++ match List.rev sl with ++ [] -> None ++ | s :: sl -> Some (mkli s (List.rev sl)) ++;; ++ ++let list_map_check f l = ++ let rec loop rev_l = ++ function ++ x :: l -> ++ begin match f x with ++ Some s -> loop (s :: rev_l) l ++ | None -> None ++ end ++ | [] -> Some (List.rev rev_l) ++ in ++ loop [] l ++;; ++ ++let labelled lab = ++ if lab = "" then Nolabel ++ else if lab.[0] = '?' then ++ Optional (String.sub lab 1 (String.length lab - 1)) ++ else Labelled lab ++;; ++ ++(* *) ++ ++let ocaml_value_description vn t p = ++ {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc; ++ pval_name = mkloc t.ptyp_loc vn; pval_attributes = []} ++;; ++ ++let ocaml_class_type_field loc ctfd = ++ {pctf_desc = ctfd; pctf_loc = loc; pctf_attributes = []} ++;; ++ ++let ocaml_class_field loc cfd = ++ {pcf_desc = cfd; pcf_loc = loc; pcf_attributes = []} ++;; ++ ++let ocaml_mktyp loc x = ++ {ptyp_desc = x; ptyp_loc = loc; ptyp_attributes = []} ++;; ++let ocaml_mkpat loc x = ++ {ppat_desc = x; ppat_loc = loc; ppat_attributes = []} ++;; ++let ocaml_mkexp loc x = ++ {pexp_desc = x; pexp_loc = loc; pexp_attributes = []} ++;; ++let ocaml_mkmty loc x = ++ {pmty_desc = x; pmty_loc = loc; pmty_attributes = []} ++;; ++let ocaml_mkmod loc x = ++ {pmod_desc = x; pmod_loc = loc; pmod_attributes = []} ++;; ++let ocaml_mkfield loc (lab, x) fl = (lab, x) :: fl;; ++let ocaml_mkfield_var loc = [];; ++ ++let variance_of_bool_bool = ++ function ++ false, true -> Contravariant ++ | true, false -> Covariant ++ | _ -> Invariant ++;; ++ ++let ocaml_type_declaration tn params cl tk pf tm loc variance = ++ match list_map_check (fun s_opt -> s_opt) params with ++ Some params -> ++ let _ = ++ if List.length params <> List.length variance then ++ failwith "internal error: ocaml_type_declaration" ++ in ++ let params = ++ List.map2 ++ (fun os va -> ++ ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) ++ params variance ++ in ++ Right ++ {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; ++ ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; ++ ptype_name = mkloc loc tn; ptype_attributes = []} ++ | None -> Left "no '_' type param in this ocaml version" ++;; ++ ++let ocaml_class_type = ++ Some (fun d loc -> {pcty_desc = d; pcty_loc = loc; pcty_attributes = []}) ++;; ++ ++let ocaml_class_expr = ++ Some (fun d loc -> {pcl_desc = d; pcl_loc = loc; pcl_attributes = []}) ++;; ++ ++let ocaml_class_structure p cil = {pcstr_self = p; pcstr_fields = cil};; ++ ++let ocaml_pmty_ident loc li = Pmty_ident (mkloc loc li);; ++ ++let ocaml_pmty_functor sloc s mt1 mt2 = ++ Pmty_functor (mkloc sloc s, Some mt1, mt2) ++;; ++ ++let ocaml_pmty_typeof = Some (fun me -> Pmty_typeof me);; ++ ++let ocaml_pmty_with mt lcl = ++ let lcl = List.map snd lcl in Pmty_with (mt, lcl) ++;; ++ ++let ocaml_ptype_abstract = Ptype_abstract;; ++ ++let ocaml_ptype_record ltl priv = ++ Ptype_record ++ (List.map ++ (fun (s, mf, ct, loc) -> ++ {pld_name = mkloc loc s; pld_mutable = mf; pld_type = ct; ++ pld_loc = loc; pld_attributes = []}) ++ ltl) ++;; ++ ++let ocaml_ptype_variant ctl priv = ++ try ++ let ctl = ++ List.map ++ (fun (c, tl, rto, loc) -> ++ if rto <> None then raise Exit ++ else ++ let tl = Pcstr_tuple tl in ++ {pcd_name = mkloc loc c; pcd_args = tl; pcd_res = None; ++ pcd_loc = loc; pcd_attributes = []}) ++ ctl ++ in ++ Some (Ptype_variant ctl) ++ with Exit -> None ++;; ++ ++let ocaml_ptyp_arrow lab t1 t2 = Ptyp_arrow (labelled lab, t1, t2);; ++ ++let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl);; ++ ++let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; ++ ++let ocaml_ptyp_object loc ml is_open = ++ let ml = List.map (fun (s, t) -> Otag (mkloc loc s, [], t)) ml in ++ Ptyp_object (ml, (if is_open then Open else Closed)) ++;; ++ ++let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; ++ ++let ocaml_ptyp_poly = ++ Some ++ (fun loc cl t -> ++ match cl with ++ [] -> t.ptyp_desc ++ | _ -> Ptyp_poly (List.map (mkloc loc) cl, t)) ++;; ++ ++let ocaml_ptyp_variant loc catl clos sl_opt = ++ let catl = ++ List.map ++ (function ++ Left (c, a, tl) -> Rtag (mkloc loc c, [], a, tl) ++ | Right t -> Rinherit t) ++ catl ++ in ++ let clos = if clos then Closed else Open in ++ Some (Ptyp_variant (catl, clos, sl_opt)) ++;; ++ ++let ocaml_package_type li ltl = ++ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ++;; ++ ++let ocaml_pconst_char c = Pconst_char c;; ++let ocaml_pconst_int i = Pconst_integer (string_of_int i, None);; ++let ocaml_pconst_float s = Pconst_float (s, None);; ++ ++let ocaml_const_string s = Const_string (s, None);; ++let ocaml_pconst_string s so = Pconst_string (s, so);; ++ ++let pconst_of_const = ++ function ++ Const_int i -> ocaml_pconst_int i ++ | Const_char c -> ocaml_pconst_char c ++ | Const_string (s, so) -> ocaml_pconst_string s so ++ | Const_float s -> ocaml_pconst_float s ++ | Const_int32 i32 -> Pconst_integer (Int32.to_string i32, Some 'l') ++ | Const_int64 i64 -> Pconst_integer (Int64.to_string i64, Some 'L') ++ | Const_nativeint ni -> Pconst_integer (Nativeint.to_string ni, Some 'n') ++;; ++ ++let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; ++ ++let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; ++ ++let ocaml_const_nativeint = ++ Some (fun s -> Const_nativeint (Nativeint.of_string s)) ++;; ++ ++let ocaml_pexp_apply f lel = ++ Pexp_apply (f, List.map (fun (l, e) -> labelled l, e) lel) ++;; ++ ++let ocaml_pexp_assertfalse fname loc = ++ Pexp_assert ++ (ocaml_mkexp loc (Pexp_construct (mkloc loc (Lident "false"), None))) ++;; ++ ++let ocaml_pexp_assert fname loc e = Pexp_assert e;; ++ ++let ocaml_pexp_constraint e ot1 ot2 = ++ match ot2 with ++ Some t2 -> Pexp_coerce (e, ot1, t2) ++ | None -> ++ match ot1 with ++ Some t1 -> Pexp_constraint (e, t1) ++ | None -> failwith "internal error: ocaml_pexp_constraint" ++;; ++ ++let ocaml_pexp_construct loc li po chk_arity = ++ Pexp_construct (mkloc loc li, po) ++;; ++ ++let ocaml_pexp_construct_args = ++ function ++ Pexp_construct (li, po) -> Some (li.txt, li.loc, po, 0) ++ | _ -> None ++;; ++ ++let mkexp_ocaml_pexp_construct_arity loc li_loc li al = ++ let a = ocaml_mkexp loc (Pexp_tuple al) in ++ {pexp_desc = ocaml_pexp_construct li_loc li (Some a) true; pexp_loc = loc; ++ pexp_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} ++;; ++ ++let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; ++ ++let ocaml_pexp_for i e1 e2 df e = ++ Pexp_for (ocaml_mkpat loc_none (Ppat_var (mknoloc i)), e1, e2, df, e) ++;; ++ ++let ocaml_case (p, wo, loc, e) = {pc_lhs = p; pc_guard = wo; pc_rhs = e};; ++ ++let ocaml_pexp_function lab eo pel = ++ match pel with ++ [{pc_lhs = p; pc_guard = None; pc_rhs = e}] -> ++ Pexp_fun (labelled lab, eo, p, e) ++ | pel -> ++ if lab = "" && eo = None then Pexp_function pel ++ else failwith "internal error: bad ast in ocaml_pexp_function" ++;; ++ ++let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; ++ ++let ocaml_pexp_ident loc li = Pexp_ident (mkloc loc li);; ++ ++let ocaml_pexp_letmodule = ++ Some (fun i me e -> Pexp_letmodule (mknoloc i, me, e)) ++;; ++ ++let ocaml_pexp_new loc li = Pexp_new (mkloc loc li);; ++ ++let ocaml_pexp_newtype = Some (fun loc s e -> Pexp_newtype (mkloc loc s, e));; ++ ++let ocaml_pexp_object = Some (fun cs -> Pexp_object cs);; ++ ++let ocaml_pexp_open = Some (fun li e -> Pexp_open (Fresh, mknoloc li, e));; ++ ++let ocaml_pexp_override sel = ++ let sel = List.map (fun (s, e) -> mknoloc s, e) sel in Pexp_override sel ++;; ++ ++let ocaml_pexp_pack : ('a -> 'b -> 'c, 'd) choice option = ++ Some (Right ((fun me -> Pexp_pack me), (fun pt -> Ptyp_package pt))) ++;; ++ ++let ocaml_pexp_poly = Some (fun e t -> Pexp_poly (e, t));; ++ ++let ocaml_pexp_record lel eo = ++ let lel = List.map (fun (li, loc, e) -> mkloc loc li, e) lel in ++ Pexp_record (lel, eo) ++;; ++ ++let ocaml_pexp_send loc e s = Pexp_send (e, mkloc loc s);; ++ ++let ocaml_pexp_setinstvar s e = Pexp_setinstvar (mknoloc s, e);; ++ ++let ocaml_pexp_variant = ++ let pexp_variant_pat = ++ function ++ Pexp_variant (lab, eo) -> Some (lab, eo) ++ | _ -> None ++ in ++ let pexp_variant (lab, eo) = Pexp_variant (lab, eo) in ++ Some (pexp_variant_pat, pexp_variant) ++;; ++ ++let ocaml_value_binding loc p e = ++ {pvb_pat = p; pvb_expr = e; pvb_loc = loc; pvb_attributes = []} ++;; ++ ++let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; ++ ++let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; ++ ++let ocaml_ppat_construct loc li po chk_arity = ++ Ppat_construct (mkloc loc li, po) ++;; ++ ++let ocaml_ppat_construct_args = ++ function ++ Ppat_construct (li, po) -> Some (li.txt, li.loc, po, 0) ++ | _ -> None ++;; ++ ++let mkpat_ocaml_ppat_construct_arity loc li_loc li al = ++ let a = ocaml_mkpat loc (Ppat_tuple al) in ++ {ppat_desc = ocaml_ppat_construct li_loc li (Some a) true; ppat_loc = loc; ++ ppat_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} ++;; ++ ++let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; ++ ++let ocaml_ppat_record lpl is_closed = ++ let lpl = List.map (fun (li, loc, p) -> mkloc loc li, p) lpl in ++ Ppat_record (lpl, (if is_closed then Closed else Open)) ++;; ++ ++let ocaml_ppat_type = Some (fun loc li -> Ppat_type (mkloc loc li));; ++ ++let ocaml_ppat_unpack = ++ Some ((fun loc s -> Ppat_unpack (mkloc loc s)), (fun pt -> Ptyp_package pt)) ++;; ++ ++let ocaml_ppat_var loc s = Ppat_var (mkloc loc s);; ++ ++let ocaml_ppat_variant = ++ let ppat_variant_pat = ++ function ++ Ppat_variant (lab, po) -> Some (lab, po) ++ | _ -> None ++ in ++ let ppat_variant (lab, po) = Ppat_variant (lab, po) in ++ Some (ppat_variant_pat, ppat_variant) ++;; ++ ++let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; ++ ++let ocaml_psig_exception loc s ed = ++ Psig_exception ++ {pext_name = mkloc loc s; pext_kind = Pext_decl (Pcstr_tuple ed, None); ++ pext_loc = loc; pext_attributes = []} ++;; ++ ++let ocaml_psig_include loc mt = ++ Psig_include {pincl_mod = mt; pincl_loc = loc; pincl_attributes = []} ++;; ++ ++let ocaml_psig_module loc s mt = ++ Psig_module ++ {pmd_name = mkloc loc s; pmd_type = mt; pmd_attributes = []; ++ pmd_loc = loc} ++;; ++ ++let ocaml_psig_modtype loc s mto = ++ let pmtd = ++ {pmtd_name = mkloc loc s; pmtd_type = mto; pmtd_attributes = []; ++ pmtd_loc = loc} ++ in ++ Psig_modtype pmtd ++;; ++ ++let ocaml_psig_open loc li = ++ Psig_open ++ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; ++ popen_attributes = []} ++;; ++ ++let ocaml_psig_recmodule = ++ let f ntl = ++ let ntl = ++ List.map ++ (fun (s, mt) -> ++ {pmd_name = mknoloc s; pmd_type = mt; pmd_attributes = []; ++ pmd_loc = loc_none}) ++ ntl ++ in ++ Psig_recmodule ntl ++ in ++ Some f ++;; ++ ++let ocaml_psig_type stl = ++ let stl = List.map (fun (s, t) -> t) stl in Psig_type (Recursive, stl) ++;; ++ ++let ocaml_psig_value s vd = Psig_value vd;; ++ ++let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; ++ ++let ocaml_pstr_eval e = Pstr_eval (e, []);; ++ ++let ocaml_pstr_exception loc s ed = ++ Pstr_exception ++ {pext_name = mkloc loc s; pext_kind = Pext_decl (Pcstr_tuple ed, None); ++ pext_loc = loc; pext_attributes = []} ++;; ++ ++let ocaml_pstr_exn_rebind = ++ Some ++ (fun loc s li -> ++ Pstr_exception ++ {pext_name = mkloc loc s; pext_kind = Pext_rebind (mkloc loc li); ++ pext_loc = loc; pext_attributes = []}) ++;; ++ ++let ocaml_pstr_include = ++ Some ++ (fun loc me -> ++ Pstr_include {pincl_mod = me; pincl_loc = loc; pincl_attributes = []}) ++;; ++ ++let ocaml_pstr_modtype loc s mt = ++ let pmtd = ++ {pmtd_name = mkloc loc s; pmtd_type = Some mt; pmtd_attributes = []; ++ pmtd_loc = loc} ++ in ++ Pstr_modtype pmtd ++;; ++ ++let ocaml_pstr_module loc s me = ++ let mb = ++ {pmb_name = mkloc loc s; pmb_expr = me; pmb_attributes = []; ++ pmb_loc = loc} ++ in ++ Pstr_module mb ++;; ++ ++let ocaml_pstr_open loc li = ++ Pstr_open ++ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; ++ popen_attributes = []} ++;; ++ ++let ocaml_pstr_primitive s vd = Pstr_primitive vd;; ++ ++let ocaml_pstr_recmodule = ++ let f nel = ++ Pstr_recmodule ++ (List.map ++ (fun (s, mt, me) -> ++ {pmb_name = mknoloc s; pmb_expr = me; pmb_attributes = []; ++ pmb_loc = loc_none}) ++ nel) ++ in ++ Some f ++;; ++ ++let ocaml_pstr_type stl = ++ let stl = List.map (fun (s, t) -> t) stl in Pstr_type (Recursive, stl) ++;; ++ ++let ocaml_class_infos = ++ Some ++ (fun virt (sl, sloc) name expr loc variance -> ++ let _ = ++ if List.length sl <> List.length variance then ++ failwith "internal error: ocaml_class_infos" ++ in ++ let params = ++ List.map2 ++ (fun os va -> ++ ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) ++ sl variance ++ in ++ {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; ++ pci_expr = expr; pci_loc = loc; pci_attributes = []}) ++;; ++ ++let ocaml_pmod_constraint loc me mt = ++ ocaml_mkmod loc (Pmod_constraint (me, mt)) ++;; ++ ++let ocaml_pmod_ident li = Pmod_ident (mknoloc li);; ++ ++let ocaml_pmod_functor s mt me = Pmod_functor (mknoloc s, Some mt, me);; ++ ++let ocaml_pmod_unpack : ('a -> 'b -> 'c, 'd) choice option = ++ Some (Right ((fun e -> Pmod_unpack e), (fun pt -> Ptyp_package pt))) ++;; ++ ++let ocaml_pcf_cstr = Some (fun (t1, t2, loc) -> Pcf_constraint (t1, t2));; ++ ++let ocaml_pcf_inher loc ce pb = ++ Pcf_inherit (Fresh, ce, option_map (mkloc loc) pb) ++;; ++ ++let ocaml_pcf_init = Some (fun e -> Pcf_initializer e);; ++ ++let ocaml_pcf_meth (s, pf, ovf, e, loc) = ++ let pf = if pf then Private else Public in ++ let ovf = if ovf then Override else Fresh in ++ Pcf_method (mkloc loc s, pf, Cfk_concrete (ovf, e)) ++;; ++ ++let ocaml_pcf_val (s, mf, ovf, e, loc) = ++ let mf = if mf then Mutable else Immutable in ++ let ovf = if ovf then Override else Fresh in ++ Pcf_val (mkloc loc s, mf, Cfk_concrete (ovf, e)) ++;; ++ ++let ocaml_pcf_valvirt = ++ let ocaml_pcf (s, mf, t, loc) = ++ let mf = if mf then Mutable else Immutable in ++ Pcf_val (mkloc loc s, mf, Cfk_virtual t) ++ in ++ Some ocaml_pcf ++;; ++ ++let ocaml_pcf_virt (s, pf, t, loc) = ++ Pcf_method (mkloc loc s, pf, Cfk_virtual t) ++;; ++ ++let ocaml_pcl_apply = ++ Some ++ (fun ce lel -> Pcl_apply (ce, List.map (fun (l, e) -> labelled l, e) lel)) ++;; ++ ++let ocaml_pcl_constr = Some (fun li ctl -> Pcl_constr (mknoloc li, ctl));; ++ ++let ocaml_pcl_constraint = Some (fun ce ct -> Pcl_constraint (ce, ct));; ++ ++let ocaml_pcl_fun = ++ Some (fun lab ceo p ce -> Pcl_fun (labelled lab, ceo, p, ce)) ++;; ++ ++let ocaml_pcl_let = Some (fun rf pel ce -> Pcl_let (rf, pel, ce));; ++ ++let ocaml_pcl_structure = Some (fun cs -> Pcl_structure cs);; ++ ++let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_constraint (t1, t2));; ++ ++let ocaml_pctf_inher ct = Pctf_inherit ct;; ++ ++let ocaml_pctf_meth (s, pf, t, loc) = ++ Pctf_method (mkloc loc s, pf, Concrete, t) ++;; ++ ++let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (mkloc loc s, mf, Concrete, t);; ++ ++let ocaml_pctf_virt (s, pf, t, loc) = ++ Pctf_method (mkloc loc s, pf, Virtual, t) ++;; ++ ++let ocaml_pcty_constr = Some (fun li ltl -> Pcty_constr (mknoloc li, ltl));; ++ ++let ocaml_pcty_fun = ++ Some (fun lab t ot ct -> Pcty_arrow (labelled lab, t, ct)) ++;; ++ ++let ocaml_pcty_signature = ++ let f (t, ctfl) = ++ let cs = {pcsig_self = t; pcsig_fields = ctfl} in Pcty_signature cs ++ in ++ Some f ++;; ++ ++let ocaml_pdir_bool = Some (fun b -> Pdir_bool b);; ++let ocaml_pdir_int i s = Pdir_int (i, None);; ++ ++let ocaml_pwith_modsubst = ++ Some (fun loc me -> Pwith_modsubst (mkloc loc (Lident ""), mkloc loc me)) ++;; ++ ++let ocaml_pwith_type loc (i, td) = Pwith_type (mkloc loc i, td);; ++ ++let ocaml_pwith_module loc mname me = ++ Pwith_module (mkloc loc mname, mkloc loc me) ++;; ++ ++let ocaml_pwith_typesubst = ++ Some (fun loc td -> Pwith_typesubst (mkloc loc (Lident ""), td)) ++;; ++ ++let module_prefix_can_be_in_first_record_label_only = true;; ++ ++let split_or_patterns_with_bindings = false;; ++ ++let has_records_with_with = true;; ++ ++(* *) ++ ++let jocaml_pstr_def : (_ -> _) option = None;; ++ ++let jocaml_pexp_def : (_ -> _ -> _) option = None;; ++ ++let jocaml_pexp_par : (_ -> _ -> _) option = None;; ++ ++let jocaml_pexp_reply : (_ -> _ -> _ -> _) option = None;; ++ ++let jocaml_pexp_spawn : (_ -> _) option = None;; ++ ++let arg_rest = ++ function ++ Arg.Rest r -> Some r ++ | _ -> None ++;; ++ ++let arg_set_string = ++ function ++ Arg.Set_string r -> Some r ++ | _ -> None ++;; ++ ++let arg_set_int = ++ function ++ Arg.Set_int r -> Some r ++ | _ -> None ++;; ++ ++let arg_set_float = ++ function ++ Arg.Set_float r -> Some r ++ | _ -> None ++;; ++ ++let arg_symbol = ++ function ++ Arg.Symbol (s, f) -> Some (s, f) ++ | _ -> None ++;; ++ ++let arg_tuple = ++ function ++ Arg.Tuple t -> Some t ++ | _ -> None ++;; ++ ++let arg_bool = ++ function ++ Arg.Bool f -> Some f ++ | _ -> None ++;; ++ ++let char_escaped = Char.escaped;; ++ ++let hashtbl_mem = Hashtbl.mem;; ++ ++let list_rev_append = List.rev_append;; ++ ++let list_rev_map = List.rev_map;; ++ ++let list_sort = List.sort;; ++ ++let pervasives_set_binary_mode_out = Pervasives.set_binary_mode_out;; ++ ++let printf_ksprintf = Printf.ksprintf;; ++ ++let char_uppercase = Char.uppercase_ascii;; ++ ++let bytes_modname = "Bytes";; ++ ++let bytes_of_string s = Bytes.of_string s;; ++ ++let bytes_to_string s = Bytes.to_string s;; ++ ++let string_capitalize = String.capitalize_ascii;; ++ ++let string_contains = String.contains;; ++ ++let string_cat s1 s2 = Bytes.cat s1 s2;; ++ ++let string_copy = Bytes.copy;; ++ ++let string_create = Bytes.create;; ++ ++let string_get = Bytes.get;; ++ ++let string_index = Bytes.index;; ++ ++let string_length = Bytes.length;; ++ ++let string_lowercase = String.lowercase_ascii;; ++ ++let string_unsafe_set = Bytes.unsafe_set;; ++ ++let string_uncapitalize = String.uncapitalize_ascii;; ++ ++let string_uppercase = String.uppercase_ascii;; ++ ++let string_set = Bytes.set;; ++ ++let string_sub = Bytes.sub;; ++ ++let array_create = Array.make;; +diff --git a/ocaml_stuff/4.07.0/parsing/.depend b/ocaml_stuff/4.07.0/parsing/.depend +new file mode 100644 +index 00000000..c589fb6e +--- /dev/null ++++ b/ocaml_stuff/4.07.0/parsing/.depend +@@ -0,0 +1,4 @@ ++asttypes.cmi : location.cmi ++location.cmi : ../utils/warnings.cmi ++longident.cmi : ++parsetree.cmi : longident.cmi location.cmi asttypes.cmi +diff --git a/ocaml_stuff/4.07.0/parsing/.gitignore b/ocaml_stuff/4.07.0/parsing/.gitignore +new file mode 100644 +index 00000000..8e6c39c2 +--- /dev/null ++++ b/ocaml_stuff/4.07.0/parsing/.gitignore +@@ -0,0 +1 @@ ++*.cm[oi] +diff --git a/ocaml_stuff/4.07.0/parsing/Makefile b/ocaml_stuff/4.07.0/parsing/Makefile +new file mode 100644 +index 00000000..6d08a199 +--- /dev/null ++++ b/ocaml_stuff/4.07.0/parsing/Makefile +@@ -0,0 +1,19 @@ ++# Makefile,v ++ ++FILES=asttypes.cmi location.cmi longident.cmi parsetree.cmi ++INCL=-I ../utils ++ ++all: $(FILES) ++ ++clean: ++ rm -f *.cmi ++ ++depend: ++ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend ++ ++.SUFFIXES: .mli .cmi ++ ++.mli.cmi: ++ $(OCAMLN)c $(INCL) -c $< ++ ++include .depend +diff --git a/ocaml_stuff/4.07.0/parsing/asttypes.mli b/ocaml_stuff/4.07.0/parsing/asttypes.mli +new file mode 100644 +index 00000000..8cab1c6b +--- /dev/null ++++ b/ocaml_stuff/4.07.0/parsing/asttypes.mli +@@ -0,0 +1,58 @@ ++(**************************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. *) ++(* *) ++(* All rights reserved. This file is distributed under the terms of *) ++(* the GNU Lesser General Public License version 2.1, with the *) ++(* special exception on linking described in the file LICENSE. *) ++(* *) ++(**************************************************************************) ++ ++(** Auxiliary AST types used by parsetree and typedtree. *) ++ ++type constant = ++ Const_int of int ++ | Const_char of char ++ | Const_string of string * string option ++ | Const_float of string ++ | Const_int32 of int32 ++ | Const_int64 of int64 ++ | Const_nativeint of nativeint ++ ++type rec_flag = Nonrecursive | Recursive ++ ++type direction_flag = Upto | Downto ++ ++(* Order matters, used in polymorphic comparison *) ++type private_flag = Private | Public ++ ++type mutable_flag = Immutable | Mutable ++ ++type virtual_flag = Virtual | Concrete ++ ++type override_flag = Override | Fresh ++ ++type closed_flag = Closed | Open ++ ++type label = string ++ ++type arg_label = ++ Nolabel ++ | Labelled of string (* label:T -> ... *) ++ | Optional of string (* ?label:T -> ... *) ++ ++type 'a loc = 'a Location.loc = { ++ txt : 'a; ++ loc : Location.t; ++} ++ ++ ++type variance = ++ | Covariant ++ | Contravariant ++ | Invariant +diff --git a/ocaml_stuff/4.07.0/parsing/location.mli b/ocaml_stuff/4.07.0/parsing/location.mli +new file mode 100644 +index 00000000..bf93f168 +--- /dev/null ++++ b/ocaml_stuff/4.07.0/parsing/location.mli +@@ -0,0 +1,152 @@ ++(**************************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. *) ++(* *) ++(* All rights reserved. This file is distributed under the terms of *) ++(* the GNU Lesser General Public License version 2.1, with the *) ++(* special exception on linking described in the file LICENSE. *) ++(* *) ++(**************************************************************************) ++ ++(** Source code locations (ranges of positions), used in parsetree. *) ++ ++open Format ++ ++type t = Warnings.loc = { ++ loc_start: Lexing.position; ++ loc_end: Lexing.position; ++ loc_ghost: bool; ++} ++ ++(** Note on the use of Lexing.position in this module. ++ If [pos_fname = ""], then use [!input_name] instead. ++ If [pos_lnum = -1], then [pos_bol = 0]. Use [pos_cnum] and ++ re-parse the file to get the line and character numbers. ++ Else all fields are correct. ++*) ++ ++val none : t ++(** An arbitrary value of type [t]; describes an empty ghost range. *) ++ ++val in_file : string -> t ++(** Return an empty ghost range located in a given file. *) ++ ++val init : Lexing.lexbuf -> string -> unit ++(** Set the file name and line number of the [lexbuf] to be the start ++ of the named file. *) ++ ++val curr : Lexing.lexbuf -> t ++(** Get the location of the current token from the [lexbuf]. *) ++ ++val symbol_rloc: unit -> t ++val symbol_gloc: unit -> t ++ ++(** [rhs_loc n] returns the location of the symbol at position [n], starting ++ at 1, in the current parser rule. *) ++val rhs_loc: int -> t ++ ++val input_name: string ref ++val input_lexbuf: Lexing.lexbuf option ref ++ ++val get_pos_info: Lexing.position -> string * int * int (* file, line, char *) ++val print_loc: formatter -> t -> unit ++val print_error_prefix: formatter -> unit ++val print_error: formatter -> t -> unit ++val print_error_cur_file: formatter -> unit -> unit ++val print_warning: t -> formatter -> Warnings.t -> unit ++val formatter_for_warnings : formatter ref ++val prerr_warning: t -> Warnings.t -> unit ++val echo_eof: unit -> unit ++val reset: unit -> unit ++ ++val default_printer : formatter -> t -> unit ++val printer : (formatter -> t -> unit) ref ++ ++val warning_printer : (t -> formatter -> Warnings.t -> unit) ref ++(** Hook for intercepting warnings. *) ++ ++val default_warning_printer : t -> formatter -> Warnings.t -> unit ++(** Original warning printer for use in hooks. *) ++ ++val highlight_locations: formatter -> t list -> bool ++ ++val show_code_at_location: formatter -> Lexing.lexbuf -> t -> unit ++ ++type 'a loc = { ++ txt : 'a; ++ loc : t; ++} ++ ++val mknoloc : 'a -> 'a loc ++val mkloc : 'a -> t -> 'a loc ++ ++val print: formatter -> t -> unit ++val print_compact: formatter -> t -> unit ++val print_filename: formatter -> string -> unit ++ ++val rewrite_absolute_path: string -> string ++ (** rewrite absolute path to honor the BUILD_PATH_PREFIX_MAP ++ variable (https://reproducible-builds.org/specs/build-path-prefix-map/) ++ if it is set. *) ++ ++val absolute_path: string -> string ++ ++val show_filename: string -> string ++ (** In -absname mode, return the absolute path for this filename. ++ Otherwise, returns the filename unchanged. *) ++ ++ ++val absname: bool ref ++ ++(** Support for located errors *) ++ ++type error = ++ { ++ loc: t; ++ msg: string; ++ sub: error list; ++ if_highlight: string; (* alternative message if locations are highlighted *) ++ } ++ ++exception Already_displayed_error ++exception Error of error ++ ++val error: ?loc:t -> ?sub:error list -> ?if_highlight:string -> string -> error ++ ++val errorf: ?loc:t -> ?sub:error list -> ?if_highlight:string ++ -> ('a, Format.formatter, unit, error) format4 -> 'a ++ ++val raise_errorf: ?loc:t -> ?sub:error list -> ?if_highlight:string ++ -> ('a, Format.formatter, unit, 'b) format4 -> 'a ++ ++val error_of_printer: t -> (formatter -> 'a -> unit) -> 'a -> error ++ ++val error_of_printer_file: (formatter -> 'a -> unit) -> 'a -> error ++ ++val error_of_exn: exn -> [ `Ok of error | `Already_displayed ] option ++ ++val register_error_of_exn: (exn -> error option) -> unit ++(** Each compiler module which defines a custom type of exception ++ which can surface as a user-visible error should register ++ a "printer" for this exception using [register_error_of_exn]. ++ The result of the printer is an [error] value containing ++ a location, a message, and optionally sub-messages (each of them ++ being located as well). *) ++ ++val report_error: formatter -> error -> unit ++ ++val error_reporter : (formatter -> error -> unit) ref ++(** Hook for intercepting error reports. *) ++ ++val default_error_reporter : formatter -> error -> unit ++(** Original error reporter for use in hooks. *) ++ ++val report_exception: formatter -> exn -> unit ++(** Reraise the exception if it is unknown. *) ++ ++val deprecated: ?def:t -> ?use:t -> t -> string -> unit +diff --git a/ocaml_stuff/4.07.0/parsing/longident.mli b/ocaml_stuff/4.07.0/parsing/longident.mli +new file mode 100644 +index 00000000..5ffb16a8 +--- /dev/null ++++ b/ocaml_stuff/4.07.0/parsing/longident.mli +@@ -0,0 +1,26 @@ ++(**************************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. *) ++(* *) ++(* All rights reserved. This file is distributed under the terms of *) ++(* the GNU Lesser General Public License version 2.1, with the *) ++(* special exception on linking described in the file LICENSE. *) ++(* *) ++(**************************************************************************) ++ ++(** Long identifiers, used in parsetree. *) ++ ++type t = ++ Lident of string ++ | Ldot of t * string ++ | Lapply of t * t ++ ++val flatten: t -> string list ++val unflatten: string list -> t option ++val last: t -> string ++val parse: string -> t +diff --git a/ocaml_stuff/4.07.0/parsing/parsetree.mli b/ocaml_stuff/4.07.0/parsing/parsetree.mli +new file mode 100644 +index 00000000..9f5de197 +--- /dev/null ++++ b/ocaml_stuff/4.07.0/parsing/parsetree.mli +@@ -0,0 +1,874 @@ ++(**************************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1996 Institut National de Recherche en Informatique et *) ++(* en Automatique. *) ++(* *) ++(* All rights reserved. This file is distributed under the terms of *) ++(* the GNU Lesser General Public License version 2.1, with the *) ++(* special exception on linking described in the file LICENSE. *) ++(* *) ++(**************************************************************************) ++ ++(** Abstract syntax tree produced by parsing *) ++ ++open Asttypes ++ ++type constant = ++ Pconst_integer of string * char option ++ (* 3 3l 3L 3n ++ ++ Suffixes [g-z][G-Z] are accepted by the parser. ++ Suffixes except 'l', 'L' and 'n' are rejected by the typechecker ++ *) ++ | Pconst_char of char ++ (* 'c' *) ++ | Pconst_string of string * string option ++ (* "constant" ++ {delim|other constant|delim} ++ *) ++ | Pconst_float of string * char option ++ (* 3.4 2e5 1.4e-4 ++ ++ Suffixes [g-z][G-Z] are accepted by the parser. ++ Suffixes are rejected by the typechecker. ++ *) ++ ++(** {1 Extension points} *) ++ ++type attribute = string loc * payload ++ (* [@id ARG] ++ [@@id ARG] ++ ++ Metadata containers passed around within the AST. ++ The compiler ignores unknown attributes. ++ *) ++ ++and extension = string loc * payload ++ (* [%id ARG] ++ [%%id ARG] ++ ++ Sub-language placeholder -- rejected by the typechecker. ++ *) ++ ++and attributes = attribute list ++ ++and payload = ++ | PStr of structure ++ | PSig of signature (* : SIG *) ++ | PTyp of core_type (* : T *) ++ | PPat of pattern * expression option (* ? P or ? P when E *) ++ ++(** {1 Core language} *) ++ ++(* Type expressions *) ++ ++and core_type = ++ { ++ ptyp_desc: core_type_desc; ++ ptyp_loc: Location.t; ++ ptyp_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and core_type_desc = ++ | Ptyp_any ++ (* _ *) ++ | Ptyp_var of string ++ (* 'a *) ++ | Ptyp_arrow of arg_label * core_type * core_type ++ (* T1 -> T2 Simple ++ ~l:T1 -> T2 Labelled ++ ?l:T1 -> T2 Optional ++ *) ++ | Ptyp_tuple of core_type list ++ (* T1 * ... * Tn ++ ++ Invariant: n >= 2 ++ *) ++ | Ptyp_constr of Longident.t loc * core_type list ++ (* tconstr ++ T tconstr ++ (T1, ..., Tn) tconstr ++ *) ++ | Ptyp_object of object_field list * closed_flag ++ (* < l1:T1; ...; ln:Tn > (flag = Closed) ++ < l1:T1; ...; ln:Tn; .. > (flag = Open) ++ *) ++ | Ptyp_class of Longident.t loc * core_type list ++ (* #tconstr ++ T #tconstr ++ (T1, ..., Tn) #tconstr ++ *) ++ | Ptyp_alias of core_type * string ++ (* T as 'a *) ++ | Ptyp_variant of row_field list * closed_flag * label list option ++ (* [ `A|`B ] (flag = Closed; labels = None) ++ [> `A|`B ] (flag = Open; labels = None) ++ [< `A|`B ] (flag = Closed; labels = Some []) ++ [< `A|`B > `X `Y ](flag = Closed; labels = Some ["X";"Y"]) ++ *) ++ | Ptyp_poly of string loc list * core_type ++ (* 'a1 ... 'an. T ++ ++ Can only appear in the following context: ++ ++ - As the core_type of a Ppat_constraint node corresponding ++ to a constraint on a let-binding: let x : 'a1 ... 'an. T ++ = e ... ++ ++ - Under Cfk_virtual for methods (not values). ++ ++ - As the core_type of a Pctf_method node. ++ ++ - As the core_type of a Pexp_poly node. ++ ++ - As the pld_type field of a label_declaration. ++ ++ - As a core_type of a Ptyp_object node. ++ *) ++ ++ | Ptyp_package of package_type ++ (* (module S) *) ++ | Ptyp_extension of extension ++ (* [%id] *) ++ ++and package_type = Longident.t loc * (Longident.t loc * core_type) list ++ (* ++ (module S) ++ (module S with type t1 = T1 and ... and tn = Tn) ++ *) ++ ++and row_field = ++ | Rtag of label loc * attributes * bool * core_type list ++ (* [`A] ( true, [] ) ++ [`A of T] ( false, [T] ) ++ [`A of T1 & .. & Tn] ( false, [T1;...Tn] ) ++ [`A of & T1 & .. & Tn] ( true, [T1;...Tn] ) ++ ++ - The 2nd field is true if the tag contains a ++ constant (empty) constructor. ++ - '&' occurs when several types are used for the same constructor ++ (see 4.2 in the manual) ++ ++ - TODO: switch to a record representation, and keep location ++ *) ++ | Rinherit of core_type ++ (* [ T ] *) ++ ++and object_field = ++ | Otag of label loc * attributes * core_type ++ | Oinherit of core_type ++ ++(* Patterns *) ++ ++and pattern = ++ { ++ ppat_desc: pattern_desc; ++ ppat_loc: Location.t; ++ ppat_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and pattern_desc = ++ | Ppat_any ++ (* _ *) ++ | Ppat_var of string loc ++ (* x *) ++ | Ppat_alias of pattern * string loc ++ (* P as 'a *) ++ | Ppat_constant of constant ++ (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) ++ | Ppat_interval of constant * constant ++ (* 'a'..'z' ++ ++ Other forms of interval are recognized by the parser ++ but rejected by the type-checker. *) ++ | Ppat_tuple of pattern list ++ (* (P1, ..., Pn) ++ ++ Invariant: n >= 2 ++ *) ++ | Ppat_construct of Longident.t loc * pattern option ++ (* C None ++ C P Some P ++ C (P1, ..., Pn) Some (Ppat_tuple [P1; ...; Pn]) ++ *) ++ | Ppat_variant of label * pattern option ++ (* `A (None) ++ `A P (Some P) ++ *) ++ | Ppat_record of (Longident.t loc * pattern) list * closed_flag ++ (* { l1=P1; ...; ln=Pn } (flag = Closed) ++ { l1=P1; ...; ln=Pn; _} (flag = Open) ++ ++ Invariant: n > 0 ++ *) ++ | Ppat_array of pattern list ++ (* [| P1; ...; Pn |] *) ++ | Ppat_or of pattern * pattern ++ (* P1 | P2 *) ++ | Ppat_constraint of pattern * core_type ++ (* (P : T) *) ++ | Ppat_type of Longident.t loc ++ (* #tconst *) ++ | Ppat_lazy of pattern ++ (* lazy P *) ++ | Ppat_unpack of string loc ++ (* (module P) ++ Note: (module P : S) is represented as ++ Ppat_constraint(Ppat_unpack, Ptyp_package) ++ *) ++ | Ppat_exception of pattern ++ (* exception P *) ++ | Ppat_extension of extension ++ (* [%id] *) ++ | Ppat_open of Longident.t loc * pattern ++ (* M.(P) *) ++ ++(* Value expressions *) ++ ++and expression = ++ { ++ pexp_desc: expression_desc; ++ pexp_loc: Location.t; ++ pexp_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and expression_desc = ++ | Pexp_ident of Longident.t loc ++ (* x ++ M.x ++ *) ++ | Pexp_constant of constant ++ (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) ++ | Pexp_let of rec_flag * value_binding list * expression ++ (* let P1 = E1 and ... and Pn = EN in E (flag = Nonrecursive) ++ let rec P1 = E1 and ... and Pn = EN in E (flag = Recursive) ++ *) ++ | Pexp_function of case list ++ (* function P1 -> E1 | ... | Pn -> En *) ++ | Pexp_fun of arg_label * expression option * pattern * expression ++ (* fun P -> E1 (Simple, None) ++ fun ~l:P -> E1 (Labelled l, None) ++ fun ?l:P -> E1 (Optional l, None) ++ fun ?l:(P = E0) -> E1 (Optional l, Some E0) ++ ++ Notes: ++ - If E0 is provided, only Optional is allowed. ++ - "fun P1 P2 .. Pn -> E1" is represented as nested Pexp_fun. ++ - "let f P = E" is represented using Pexp_fun. ++ *) ++ | Pexp_apply of expression * (arg_label * expression) list ++ (* E0 ~l1:E1 ... ~ln:En ++ li can be empty (non labeled argument) or start with '?' ++ (optional argument). ++ ++ Invariant: n > 0 ++ *) ++ | Pexp_match of expression * case list ++ (* match E0 with P1 -> E1 | ... | Pn -> En *) ++ | Pexp_try of expression * case list ++ (* try E0 with P1 -> E1 | ... | Pn -> En *) ++ | Pexp_tuple of expression list ++ (* (E1, ..., En) ++ ++ Invariant: n >= 2 ++ *) ++ | Pexp_construct of Longident.t loc * expression option ++ (* C None ++ C E Some E ++ C (E1, ..., En) Some (Pexp_tuple[E1;...;En]) ++ *) ++ | Pexp_variant of label * expression option ++ (* `A (None) ++ `A E (Some E) ++ *) ++ | Pexp_record of (Longident.t loc * expression) list * expression option ++ (* { l1=P1; ...; ln=Pn } (None) ++ { E0 with l1=P1; ...; ln=Pn } (Some E0) ++ ++ Invariant: n > 0 ++ *) ++ | Pexp_field of expression * Longident.t loc ++ (* E.l *) ++ | Pexp_setfield of expression * Longident.t loc * expression ++ (* E1.l <- E2 *) ++ | Pexp_array of expression list ++ (* [| E1; ...; En |] *) ++ | Pexp_ifthenelse of expression * expression * expression option ++ (* if E1 then E2 else E3 *) ++ | Pexp_sequence of expression * expression ++ (* E1; E2 *) ++ | Pexp_while of expression * expression ++ (* while E1 do E2 done *) ++ | Pexp_for of ++ pattern * expression * expression * direction_flag * expression ++ (* for i = E1 to E2 do E3 done (flag = Upto) ++ for i = E1 downto E2 do E3 done (flag = Downto) ++ *) ++ | Pexp_constraint of expression * core_type ++ (* (E : T) *) ++ | Pexp_coerce of expression * core_type option * core_type ++ (* (E :> T) (None, T) ++ (E : T0 :> T) (Some T0, T) ++ *) ++ | Pexp_send of expression * label loc ++ (* E # m *) ++ | Pexp_new of Longident.t loc ++ (* new M.c *) ++ | Pexp_setinstvar of label loc * expression ++ (* x <- 2 *) ++ | Pexp_override of (label loc * expression) list ++ (* {< x1 = E1; ...; Xn = En >} *) ++ | Pexp_letmodule of string loc * module_expr * expression ++ (* let module M = ME in E *) ++ | Pexp_letexception of extension_constructor * expression ++ (* let exception C in E *) ++ | Pexp_assert of expression ++ (* assert E ++ Note: "assert false" is treated in a special way by the ++ type-checker. *) ++ | Pexp_lazy of expression ++ (* lazy E *) ++ | Pexp_poly of expression * core_type option ++ (* Used for method bodies. ++ ++ Can only be used as the expression under Cfk_concrete ++ for methods (not values). *) ++ | Pexp_object of class_structure ++ (* object ... end *) ++ | Pexp_newtype of string loc * expression ++ (* fun (type t) -> E *) ++ | Pexp_pack of module_expr ++ (* (module ME) ++ ++ (module ME : S) is represented as ++ Pexp_constraint(Pexp_pack, Ptyp_package S) *) ++ | Pexp_open of override_flag * Longident.t loc * expression ++ (* M.(E) ++ let open M in E ++ let! open M in E *) ++ | Pexp_extension of extension ++ (* [%id] *) ++ | Pexp_unreachable ++ (* . *) ++ ++and case = (* (P -> E) or (P when E0 -> E) *) ++ { ++ pc_lhs: pattern; ++ pc_guard: expression option; ++ pc_rhs: expression; ++ } ++ ++(* Value descriptions *) ++ ++and value_description = ++ { ++ pval_name: string loc; ++ pval_type: core_type; ++ pval_prim: string list; ++ pval_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ pval_loc: Location.t; ++ } ++ ++(* ++ val x: T (prim = []) ++ external x: T = "s1" ... "sn" (prim = ["s1";..."sn"]) ++*) ++ ++(* Type declarations *) ++ ++and type_declaration = ++ { ++ ptype_name: string loc; ++ ptype_params: (core_type * variance) list; ++ (* ('a1,...'an) t; None represents _*) ++ ptype_cstrs: (core_type * core_type * Location.t) list; ++ (* ... constraint T1=T1' ... constraint Tn=Tn' *) ++ ptype_kind: type_kind; ++ ptype_private: private_flag; (* = private ... *) ++ ptype_manifest: core_type option; (* = T *) ++ ptype_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ ptype_loc: Location.t; ++ } ++ ++(* ++ type t (abstract, no manifest) ++ type t = T0 (abstract, manifest=T0) ++ type t = C of T | ... (variant, no manifest) ++ type t = T0 = C of T | ... (variant, manifest=T0) ++ type t = {l: T; ...} (record, no manifest) ++ type t = T0 = {l : T; ...} (record, manifest=T0) ++ type t = .. (open, no manifest) ++*) ++ ++and type_kind = ++ | Ptype_abstract ++ | Ptype_variant of constructor_declaration list ++ | Ptype_record of label_declaration list ++ (* Invariant: non-empty list *) ++ | Ptype_open ++ ++and label_declaration = ++ { ++ pld_name: string loc; ++ pld_mutable: mutable_flag; ++ pld_type: core_type; ++ pld_loc: Location.t; ++ pld_attributes: attributes; (* l : T [@id1] [@id2] *) ++ } ++ ++(* { ...; l: T; ... } (mutable=Immutable) ++ { ...; mutable l: T; ... } (mutable=Mutable) ++ ++ Note: T can be a Ptyp_poly. ++*) ++ ++and constructor_declaration = ++ { ++ pcd_name: string loc; ++ pcd_args: constructor_arguments; ++ pcd_res: core_type option; ++ pcd_loc: Location.t; ++ pcd_attributes: attributes; (* C of ... [@id1] [@id2] *) ++ } ++ ++and constructor_arguments = ++ | Pcstr_tuple of core_type list ++ | Pcstr_record of label_declaration list ++ ++(* ++ | C of T1 * ... * Tn (res = None, args = Pcstr_tuple []) ++ | C: T0 (res = Some T0, args = []) ++ | C: T1 * ... * Tn -> T0 (res = Some T0, args = Pcstr_tuple) ++ | C of {...} (res = None, args = Pcstr_record) ++ | C: {...} -> T0 (res = Some T0, args = Pcstr_record) ++ | C of {...} as t (res = None, args = Pcstr_record) ++*) ++ ++and type_extension = ++ { ++ ptyext_path: Longident.t loc; ++ ptyext_params: (core_type * variance) list; ++ ptyext_constructors: extension_constructor list; ++ ptyext_private: private_flag; ++ ptyext_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ } ++(* ++ type t += ... ++*) ++ ++and extension_constructor = ++ { ++ pext_name: string loc; ++ pext_kind : extension_constructor_kind; ++ pext_loc : Location.t; ++ pext_attributes: attributes; (* C of ... [@id1] [@id2] *) ++ } ++ ++and extension_constructor_kind = ++ Pext_decl of constructor_arguments * core_type option ++ (* ++ | C of T1 * ... * Tn ([T1; ...; Tn], None) ++ | C: T0 ([], Some T0) ++ | C: T1 * ... * Tn -> T0 ([T1; ...; Tn], Some T0) ++ *) ++ | Pext_rebind of Longident.t loc ++ (* ++ | C = D ++ *) ++ ++(** {1 Class language} *) ++ ++(* Type expressions for the class language *) ++ ++and class_type = ++ { ++ pcty_desc: class_type_desc; ++ pcty_loc: Location.t; ++ pcty_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and class_type_desc = ++ | Pcty_constr of Longident.t loc * core_type list ++ (* c ++ ['a1, ..., 'an] c *) ++ | Pcty_signature of class_signature ++ (* object ... end *) ++ | Pcty_arrow of arg_label * core_type * class_type ++ (* T -> CT Simple ++ ~l:T -> CT Labelled l ++ ?l:T -> CT Optional l ++ *) ++ | Pcty_extension of extension ++ (* [%id] *) ++ | Pcty_open of override_flag * Longident.t loc * class_type ++ (* let open M in CT *) ++ ++and class_signature = ++ { ++ pcsig_self: core_type; ++ pcsig_fields: class_type_field list; ++ } ++(* object('selfpat) ... end ++ object ... end (self = Ptyp_any) ++ *) ++ ++and class_type_field = ++ { ++ pctf_desc: class_type_field_desc; ++ pctf_loc: Location.t; ++ pctf_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ } ++ ++and class_type_field_desc = ++ | Pctf_inherit of class_type ++ (* inherit CT *) ++ | Pctf_val of (label loc * mutable_flag * virtual_flag * core_type) ++ (* val x: T *) ++ | Pctf_method of (label loc * private_flag * virtual_flag * core_type) ++ (* method x: T ++ ++ Note: T can be a Ptyp_poly. ++ *) ++ | Pctf_constraint of (core_type * core_type) ++ (* constraint T1 = T2 *) ++ | Pctf_attribute of attribute ++ (* [@@@id] *) ++ | Pctf_extension of extension ++ (* [%%id] *) ++ ++and 'a class_infos = ++ { ++ pci_virt: virtual_flag; ++ pci_params: (core_type * variance) list; ++ pci_name: string loc; ++ pci_expr: 'a; ++ pci_loc: Location.t; ++ pci_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ } ++(* class c = ... ++ class ['a1,...,'an] c = ... ++ class virtual c = ... ++ ++ Also used for "class type" declaration. ++*) ++ ++and class_description = class_type class_infos ++ ++and class_type_declaration = class_type class_infos ++ ++(* Value expressions for the class language *) ++ ++and class_expr = ++ { ++ pcl_desc: class_expr_desc; ++ pcl_loc: Location.t; ++ pcl_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and class_expr_desc = ++ | Pcl_constr of Longident.t loc * core_type list ++ (* c ++ ['a1, ..., 'an] c *) ++ | Pcl_structure of class_structure ++ (* object ... end *) ++ | Pcl_fun of arg_label * expression option * pattern * class_expr ++ (* fun P -> CE (Simple, None) ++ fun ~l:P -> CE (Labelled l, None) ++ fun ?l:P -> CE (Optional l, None) ++ fun ?l:(P = E0) -> CE (Optional l, Some E0) ++ *) ++ | Pcl_apply of class_expr * (arg_label * expression) list ++ (* CE ~l1:E1 ... ~ln:En ++ li can be empty (non labeled argument) or start with '?' ++ (optional argument). ++ ++ Invariant: n > 0 ++ *) ++ | Pcl_let of rec_flag * value_binding list * class_expr ++ (* let P1 = E1 and ... and Pn = EN in CE (flag = Nonrecursive) ++ let rec P1 = E1 and ... and Pn = EN in CE (flag = Recursive) ++ *) ++ | Pcl_constraint of class_expr * class_type ++ (* (CE : CT) *) ++ | Pcl_extension of extension ++ (* [%id] *) ++ | Pcl_open of override_flag * Longident.t loc * class_expr ++ (* let open M in CE *) ++ ++ ++and class_structure = ++ { ++ pcstr_self: pattern; ++ pcstr_fields: class_field list; ++ } ++(* object(selfpat) ... end ++ object ... end (self = Ppat_any) ++ *) ++ ++and class_field = ++ { ++ pcf_desc: class_field_desc; ++ pcf_loc: Location.t; ++ pcf_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ } ++ ++and class_field_desc = ++ | Pcf_inherit of override_flag * class_expr * string loc option ++ (* inherit CE ++ inherit CE as x ++ inherit! CE ++ inherit! CE as x ++ *) ++ | Pcf_val of (label loc * mutable_flag * class_field_kind) ++ (* val x = E ++ val virtual x: T ++ *) ++ | Pcf_method of (label loc * private_flag * class_field_kind) ++ (* method x = E (E can be a Pexp_poly) ++ method virtual x: T (T can be a Ptyp_poly) ++ *) ++ | Pcf_constraint of (core_type * core_type) ++ (* constraint T1 = T2 *) ++ | Pcf_initializer of expression ++ (* initializer E *) ++ | Pcf_attribute of attribute ++ (* [@@@id] *) ++ | Pcf_extension of extension ++ (* [%%id] *) ++ ++and class_field_kind = ++ | Cfk_virtual of core_type ++ | Cfk_concrete of override_flag * expression ++ ++and class_declaration = class_expr class_infos ++ ++(** {1 Module language} *) ++ ++(* Type expressions for the module language *) ++ ++and module_type = ++ { ++ pmty_desc: module_type_desc; ++ pmty_loc: Location.t; ++ pmty_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and module_type_desc = ++ | Pmty_ident of Longident.t loc ++ (* S *) ++ | Pmty_signature of signature ++ (* sig ... end *) ++ | Pmty_functor of string loc * module_type option * module_type ++ (* functor(X : MT1) -> MT2 *) ++ | Pmty_with of module_type * with_constraint list ++ (* MT with ... *) ++ | Pmty_typeof of module_expr ++ (* module type of ME *) ++ | Pmty_extension of extension ++ (* [%id] *) ++ | Pmty_alias of Longident.t loc ++ (* (module M) *) ++ ++and signature = signature_item list ++ ++and signature_item = ++ { ++ psig_desc: signature_item_desc; ++ psig_loc: Location.t; ++ } ++ ++and signature_item_desc = ++ | Psig_value of value_description ++ (* ++ val x: T ++ external x: T = "s1" ... "sn" ++ *) ++ | Psig_type of rec_flag * type_declaration list ++ (* type t1 = ... and ... and tn = ... *) ++ | Psig_typext of type_extension ++ (* type t1 += ... *) ++ | Psig_exception of extension_constructor ++ (* exception C of T *) ++ | Psig_module of module_declaration ++ (* module X : MT *) ++ | Psig_recmodule of module_declaration list ++ (* module rec X1 : MT1 and ... and Xn : MTn *) ++ | Psig_modtype of module_type_declaration ++ (* module type S = MT ++ module type S *) ++ | Psig_open of open_description ++ (* open X *) ++ | Psig_include of include_description ++ (* include MT *) ++ | Psig_class of class_description list ++ (* class c1 : ... and ... and cn : ... *) ++ | Psig_class_type of class_type_declaration list ++ (* class type ct1 = ... and ... and ctn = ... *) ++ | Psig_attribute of attribute ++ (* [@@@id] *) ++ | Psig_extension of extension * attributes ++ (* [%%id] *) ++ ++and module_declaration = ++ { ++ pmd_name: string loc; ++ pmd_type: module_type; ++ pmd_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ pmd_loc: Location.t; ++ } ++(* S : MT *) ++ ++and module_type_declaration = ++ { ++ pmtd_name: string loc; ++ pmtd_type: module_type option; ++ pmtd_attributes: attributes; (* ... [@@id1] [@@id2] *) ++ pmtd_loc: Location.t; ++ } ++(* S = MT ++ S (abstract module type declaration, pmtd_type = None) ++*) ++ ++and open_description = ++ { ++ popen_lid: Longident.t loc; ++ popen_override: override_flag; ++ popen_loc: Location.t; ++ popen_attributes: attributes; ++ } ++(* open! X - popen_override = Override (silences the 'used identifier ++ shadowing' warning) ++ open X - popen_override = Fresh ++ *) ++ ++and 'a include_infos = ++ { ++ pincl_mod: 'a; ++ pincl_loc: Location.t; ++ pincl_attributes: attributes; ++ } ++ ++and include_description = module_type include_infos ++(* include MT *) ++ ++and include_declaration = module_expr include_infos ++(* include ME *) ++ ++and with_constraint = ++ | Pwith_type of Longident.t loc * type_declaration ++ (* with type X.t = ... ++ ++ Note: the last component of the longident must match ++ the name of the type_declaration. *) ++ | Pwith_module of Longident.t loc * Longident.t loc ++ (* with module X.Y = Z *) ++ | Pwith_typesubst of Longident.t loc * type_declaration ++ (* with type X.t := ..., same format as [Pwith_type] *) ++ | Pwith_modsubst of Longident.t loc * Longident.t loc ++ (* with module X.Y := Z *) ++ ++(* Value expressions for the module language *) ++ ++and module_expr = ++ { ++ pmod_desc: module_expr_desc; ++ pmod_loc: Location.t; ++ pmod_attributes: attributes; (* ... [@id1] [@id2] *) ++ } ++ ++and module_expr_desc = ++ | Pmod_ident of Longident.t loc ++ (* X *) ++ | Pmod_structure of structure ++ (* struct ... end *) ++ | Pmod_functor of string loc * module_type option * module_expr ++ (* functor(X : MT1) -> ME *) ++ | Pmod_apply of module_expr * module_expr ++ (* ME1(ME2) *) ++ | Pmod_constraint of module_expr * module_type ++ (* (ME : MT) *) ++ | Pmod_unpack of expression ++ (* (val E) *) ++ | Pmod_extension of extension ++ (* [%id] *) ++ ++and structure = structure_item list ++ ++and structure_item = ++ { ++ pstr_desc: structure_item_desc; ++ pstr_loc: Location.t; ++ } ++ ++and structure_item_desc = ++ | Pstr_eval of expression * attributes ++ (* E *) ++ | Pstr_value of rec_flag * value_binding list ++ (* let P1 = E1 and ... and Pn = EN (flag = Nonrecursive) ++ let rec P1 = E1 and ... and Pn = EN (flag = Recursive) ++ *) ++ | Pstr_primitive of value_description ++ (* val x: T ++ external x: T = "s1" ... "sn" *) ++ | Pstr_type of rec_flag * type_declaration list ++ (* type t1 = ... and ... and tn = ... *) ++ | Pstr_typext of type_extension ++ (* type t1 += ... *) ++ | Pstr_exception of extension_constructor ++ (* exception C of T ++ exception C = M.X *) ++ | Pstr_module of module_binding ++ (* module X = ME *) ++ | Pstr_recmodule of module_binding list ++ (* module rec X1 = ME1 and ... and Xn = MEn *) ++ | Pstr_modtype of module_type_declaration ++ (* module type S = MT *) ++ | Pstr_open of open_description ++ (* open X *) ++ | Pstr_class of class_declaration list ++ (* class c1 = ... and ... and cn = ... *) ++ | Pstr_class_type of class_type_declaration list ++ (* class type ct1 = ... and ... and ctn = ... *) ++ | Pstr_include of include_declaration ++ (* include ME *) ++ | Pstr_attribute of attribute ++ (* [@@@id] *) ++ | Pstr_extension of extension * attributes ++ (* [%%id] *) ++ ++and value_binding = ++ { ++ pvb_pat: pattern; ++ pvb_expr: expression; ++ pvb_attributes: attributes; ++ pvb_loc: Location.t; ++ } ++ ++and module_binding = ++ { ++ pmb_name: string loc; ++ pmb_expr: module_expr; ++ pmb_attributes: attributes; ++ pmb_loc: Location.t; ++ } ++(* X = ME *) ++ ++(** {1 Toplevel} *) ++ ++(* Toplevel phrases *) ++ ++type toplevel_phrase = ++ | Ptop_def of structure ++ | Ptop_dir of string * directive_argument ++ (* #use, #load ... *) ++ ++and directive_argument = ++ | Pdir_none ++ | Pdir_string of string ++ | Pdir_int of string * char option ++ | Pdir_ident of Longident.t ++ | Pdir_bool of bool +diff --git a/ocaml_stuff/4.07.0/utils/.depend b/ocaml_stuff/4.07.0/utils/.depend +new file mode 100644 +index 00000000..b261ffe0 +--- /dev/null ++++ b/ocaml_stuff/4.07.0/utils/.depend +@@ -0,0 +1,2 @@ ++pconfig.cmo: pconfig.cmi ++pconfig.cmx: pconfig.cmi +diff --git a/ocaml_stuff/4.07.0/utils/.gitignore b/ocaml_stuff/4.07.0/utils/.gitignore +new file mode 100644 +index 00000000..23e90de9 +--- /dev/null ++++ b/ocaml_stuff/4.07.0/utils/.gitignore +@@ -0,0 +1 @@ ++*.cm[oix] +diff --git a/ocaml_stuff/4.07.0/utils/Makefile b/ocaml_stuff/4.07.0/utils/Makefile +new file mode 100644 +index 00000000..f4ea2816 +--- /dev/null ++++ b/ocaml_stuff/4.07.0/utils/Makefile +@@ -0,0 +1,27 @@ ++# Makefile,v ++ ++FILES=warnings.cmi pconfig.cmo ++INCL= ++ ++all: $(FILES) ++ ++opt: pconfig.cmx ++ ++clean: ++ rm -f *.cm[oix] *.o ++ ++depend: ++ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend ++ ++.SUFFIXES: .mli .cmi .ml .cmo .cmx ++ ++.mli.cmi: ++ $(OCAMLN)c $(INCL) -c $< ++ ++.ml.cmo: ++ $(OCAMLN)c $(INCL) -c $< ++ ++.ml.cmx: ++ $(OCAMLN)opt $(INCL) -c $< ++ ++include .depend +diff --git a/ocaml_stuff/4.07.0/utils/pconfig.ml b/ocaml_stuff/4.07.0/utils/pconfig.ml +new file mode 100644 +index 00000000..57a60ed5 +--- /dev/null ++++ b/ocaml_stuff/4.07.0/utils/pconfig.ml +@@ -0,0 +1,2 @@ ++let ast_impl_magic_number = "Caml1999M023" ++let ast_intf_magic_number = "Caml1999N023" +diff --git a/ocaml_stuff/4.07.0/utils/pconfig.mli b/ocaml_stuff/4.07.0/utils/pconfig.mli +new file mode 100644 +index 00000000..6a2af67d +--- /dev/null ++++ b/ocaml_stuff/4.07.0/utils/pconfig.mli +@@ -0,0 +1,2 @@ ++val ast_impl_magic_number : string ++val ast_intf_magic_number : string +diff --git a/ocaml_stuff/4.07.0/utils/warnings.mli b/ocaml_stuff/4.07.0/utils/warnings.mli +new file mode 100644 +index 00000000..1171f8b3 +--- /dev/null ++++ b/ocaml_stuff/4.07.0/utils/warnings.mli +@@ -0,0 +1,118 @@ ++(**************************************************************************) ++(* *) ++(* OCaml *) ++(* *) ++(* Pierre Weis && Damien Doligez, INRIA Rocquencourt *) ++(* *) ++(* Copyright 1998 Institut National de Recherche en Informatique et *) ++(* en Automatique. *) ++(* *) ++(* All rights reserved. This file is distributed under the terms of *) ++(* the GNU Lesser General Public License version 2.1, with the *) ++(* special exception on linking described in the file LICENSE. *) ++(* *) ++(**************************************************************************) ++ ++type loc = { ++ loc_start: Lexing.position; ++ loc_end: Lexing.position; ++ loc_ghost: bool; ++} ++ ++type t = ++ | Comment_start (* 1 *) ++ | Comment_not_end (* 2 *) ++ | Deprecated of string * loc * loc (* 3 *) ++ | Fragile_match of string (* 4 *) ++ | Partial_application (* 5 *) ++ | Labels_omitted of string list (* 6 *) ++ | Method_override of string list (* 7 *) ++ | Partial_match of string (* 8 *) ++ | Non_closed_record_pattern of string (* 9 *) ++ | Statement_type (* 10 *) ++ | Unused_match (* 11 *) ++ | Unused_pat (* 12 *) ++ | Instance_variable_override of string list (* 13 *) ++ | Illegal_backslash (* 14 *) ++ | Implicit_public_methods of string list (* 15 *) ++ | Unerasable_optional_argument (* 16 *) ++ | Undeclared_virtual_method of string (* 17 *) ++ | Not_principal of string (* 18 *) ++ | Without_principality of string (* 19 *) ++ | Unused_argument (* 20 *) ++ | Nonreturning_statement (* 21 *) ++ | Preprocessor of string (* 22 *) ++ | Useless_record_with (* 23 *) ++ | Bad_module_name of string (* 24 *) ++ | All_clauses_guarded (* 8, used to be 25 *) ++ | Unused_var of string (* 26 *) ++ | Unused_var_strict of string (* 27 *) ++ | Wildcard_arg_to_constant_constr (* 28 *) ++ | Eol_in_string (* 29 *) ++ | Duplicate_definitions of string * string * string * string (* 30 *) ++ | Multiple_definition of string * string * string (* 31 *) ++ | Unused_value_declaration of string (* 32 *) ++ | Unused_open of string (* 33 *) ++ | Unused_type_declaration of string (* 34 *) ++ | Unused_for_index of string (* 35 *) ++ | Unused_ancestor of string (* 36 *) ++ | Unused_constructor of string * bool * bool (* 37 *) ++ | Unused_extension of string * bool * bool * bool (* 38 *) ++ | Unused_rec_flag (* 39 *) ++ | Name_out_of_scope of string * string list * bool (* 40 *) ++ | Ambiguous_name of string list * string list * bool (* 41 *) ++ | Disambiguated_name of string (* 42 *) ++ | Nonoptional_label of string (* 43 *) ++ | Open_shadow_identifier of string * string (* 44 *) ++ | Open_shadow_label_constructor of string * string (* 45 *) ++ | Bad_env_variable of string * string (* 46 *) ++ | Attribute_payload of string * string (* 47 *) ++ | Eliminated_optional_arguments of string list (* 48 *) ++ | No_cmi_file of string * string option (* 49 *) ++ | Bad_docstring of bool (* 50 *) ++ | Expect_tailcall (* 51 *) ++ | Fragile_literal_pattern (* 52 *) ++ | Misplaced_attribute of string (* 53 *) ++ | Duplicated_attribute of string (* 54 *) ++ | Inlining_impossible of string (* 55 *) ++ | Unreachable_case (* 56 *) ++ | Ambiguous_pattern of string list (* 57 *) ++ | No_cmx_file of string (* 58 *) ++ | Assignment_to_non_mutable_value (* 59 *) ++ | Unused_module of string (* 60 *) ++ | Unboxable_type_in_prim_decl of string (* 61 *) ++ | Constraint_on_gadt (* 62 *) ++;; ++ ++val parse_options : bool -> string -> unit;; ++ ++val without_warnings : (unit -> 'a) -> 'a ++ ++val is_active : t -> bool;; ++val is_error : t -> bool;; ++ ++val defaults_w : string;; ++val defaults_warn_error : string;; ++ ++type reporting_information = ++ { number : int ++ ; message : string ++ ; is_error : bool ++ ; sub_locs : (loc * string) list; ++ } ++ ++val report : t -> [ `Active of reporting_information | `Inactive ] ++ ++exception Errors;; ++ ++val check_fatal : unit -> unit;; ++val reset_fatal: unit -> unit ++ ++val help_warnings: unit -> unit ++ ++type state ++val backup: unit -> state ++val restore: state -> unit ++val mk_lazy: (unit -> 'a) -> 'a Lazy.t ++ (** Like [Lazy.of_fun], but the function is applied with ++ the warning settings at the time [mk_lazy] is called. *) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index d82ae49..a983c3c 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -16,6 +16,10 @@ Source0: https://github.com/camlp5/camlp5/archive/rel705.tar.gz # Kill -warn-error A Patch0: camlp5-6.11-kill-warn-error.patch +# Patch to add support for OCaml 4.07. +# https://github.com/camlp5/camlp5/issues/22 +Patch1: 194223346be22fa602594897a281d7eb4f3f1b1e.patch + BuildRequires: ocaml BuildRequires: ocaml-ocamldoc @@ -47,6 +51,7 @@ developing applications that use %{name}. %setup -q -n camlp5-rel705 find . -name .gitignore -delete %patch0 -p1 +%patch1 -p1 # Build with debug information sed -i 's,WARNERR="",WARNERR="-g",' configure From 10354b3d7b823f3ffa57213b29a45a1540782759 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 19 Jun 2018 23:39:35 +0100 Subject: [PATCH 67/79] Bump release. --- ocaml-camlp5.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index a983c3c..15014ad 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.05 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -118,7 +118,7 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog -* Tue Jun 19 2018 Richard W.M. Jones - 7.05-1 +* Tue Jun 19 2018 Richard W.M. Jones - 7.05-2 - New upstream version 7.05. - Bump and rebuild for OCaml 4.07.0-rc1. From 4910c217f6935644d75f90a765ba2f98af526378 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 11 Jul 2018 14:24:14 +0100 Subject: [PATCH 68/79] OCaml 4.07.0 (final) rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 15014ad..f1a5164 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.05 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -118,6 +118,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Wed Jul 11 2018 Richard W.M. Jones - 7.05-3 +- OCaml 4.07.0 (final) rebuild. + * Tue Jun 19 2018 Richard W.M. Jones - 7.05-2 - New upstream version 7.05. - Bump and rebuild for OCaml 4.07.0-rc1. From f0a4cd31eb8e55b8a44b1b8464bdeeeda51b81e1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 13 Jul 2018 14:41:34 +0000 Subject: [PATCH 69/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index f1a5164..523fe23 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.05 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -118,6 +118,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Fri Jul 13 2018 Fedora Release Engineering - 7.05-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Wed Jul 11 2018 Richard W.M. Jones - 7.05-3 - OCaml 4.07.0 (final) rebuild. From be75454c8153a8393395f6bbaa0e4e6d8e0f7d44 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:17:59 +0100 Subject: [PATCH 70/79] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- ocaml-camlp5.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 523fe23..77425aa 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -38,7 +38,6 @@ ocaml-camlp4 package. %package devel Summary: Development files for %{name} -Group: Development/Libraries Requires: %{name} = %{version}-%{release} From b89a13d383dc7bc5ff704387d13c59cb5e0528f1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 1 Feb 2019 16:47:18 +0000 Subject: [PATCH 71/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 77425aa..d355e97 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.05 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -117,6 +117,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Fri Feb 01 2019 Fedora Release Engineering - 7.05-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Fri Jul 13 2018 Fedora Release Engineering - 7.05-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From a6f461f854a7c93dcd630c4770e5925744880b34 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 29 Apr 2019 16:31:26 +0100 Subject: [PATCH 72/79] OCaml 4.08.0 (beta 3) rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index d355e97..53bcf7d 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.05 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -117,6 +117,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Mon Apr 29 2019 Richard W.M. Jones - 7.05-6 +- OCaml 4.08.0 (beta 3) rebuild. + * Fri Feb 01 2019 Fedora Release Engineering - 7.05-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From 42759de697bd27249055024c61db443cb85ca8fe Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 29 Apr 2019 18:50:09 +0100 Subject: [PATCH 73/79] Bump release and rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 53bcf7d..900a32b 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.05 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -117,6 +117,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Mon Apr 29 2019 Richard W.M. Jones - 7.05-7 +- Bump release and rebuild. + * Mon Apr 29 2019 Richard W.M. Jones - 7.05-6 - OCaml 4.08.0 (beta 3) rebuild. From 02ee537a99e0abf2b2a8b4939131de72d1898c86 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 29 Apr 2019 19:00:23 +0100 Subject: [PATCH 74/79] Bump release and rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 900a32b..0b816a0 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.05 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -117,6 +117,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Mon Apr 29 2019 Richard W.M. Jones - 7.05-8 +- Bump release and rebuild. + * Mon Apr 29 2019 Richard W.M. Jones - 7.05-7 - Bump release and rebuild. From 7c782e268c48695a11bfe93668a32fa3ef5b6f10 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 27 Jun 2019 14:29:03 +0100 Subject: [PATCH 75/79] Update to prerelease of 7.08 which will support OCaml 4.08. --- .gitignore | 1 + ...23346be22fa602594897a281d7eb4f3f1b1e.patch | 2155 ----------------- ocaml-camlp5.spec | 28 +- sources | 2 +- 4 files changed, 17 insertions(+), 2169 deletions(-) delete mode 100644 194223346be22fa602594897a281d7eb4f3f1b1e.patch diff --git a/.gitignore b/.gitignore index 14f8107..d404406 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /rel700.tar.gz /rel703.tar.gz /rel705.tar.gz +/camlp5-7.07-git9b9eb124c.tar.gz diff --git a/194223346be22fa602594897a281d7eb4f3f1b1e.patch b/194223346be22fa602594897a281d7eb4f3f1b1e.patch deleted file mode 100644 index fcabcb6..0000000 --- a/194223346be22fa602594897a281d7eb4f3f1b1e.patch +++ /dev/null @@ -1,2155 +0,0 @@ -From 194223346be22fa602594897a281d7eb4f3f1b1e Mon Sep 17 00:00:00 2001 -From: Emilio Jesus Gallego Arias -Date: Tue, 19 Jun 2018 15:19:15 -0400 -Subject: [PATCH] [ocaml] 4.07.0 support (closes #22) - ---- - CHANGES | 3 + - ocaml_src/lib/versdep/4.07.0.ml | 747 ++++++++++++++++++++++++++ - ocaml_stuff/4.07.0/parsing/.depend | 4 + - ocaml_stuff/4.07.0/parsing/.gitignore | 1 + - ocaml_stuff/4.07.0/parsing/Makefile | 19 + - ocaml_stuff/4.07.0/parsing/asttypes.mli | 58 ++ - ocaml_stuff/4.07.0/parsing/location.mli | 152 ++++++ - ocaml_stuff/4.07.0/parsing/longident.mli | 26 + - ocaml_stuff/4.07.0/parsing/parsetree.mli | 874 +++++++++++++++++++++++++++++++ - ocaml_stuff/4.07.0/utils/.depend | 2 + - ocaml_stuff/4.07.0/utils/.gitignore | 1 + - ocaml_stuff/4.07.0/utils/Makefile | 27 + - ocaml_stuff/4.07.0/utils/pconfig.ml | 2 + - ocaml_stuff/4.07.0/utils/pconfig.mli | 2 + - ocaml_stuff/4.07.0/utils/warnings.mli | 118 +++++ - opam | 11 +- - 16 files changed, 2044 insertions(+), 3 deletions(-) - create mode 100644 ocaml_src/lib/versdep/4.07.0.ml - create mode 100644 ocaml_stuff/4.07.0/parsing/.depend - create mode 100644 ocaml_stuff/4.07.0/parsing/.gitignore - create mode 100644 ocaml_stuff/4.07.0/parsing/Makefile - create mode 100644 ocaml_stuff/4.07.0/parsing/asttypes.mli - create mode 100644 ocaml_stuff/4.07.0/parsing/location.mli - create mode 100644 ocaml_stuff/4.07.0/parsing/longident.mli - create mode 100644 ocaml_stuff/4.07.0/parsing/parsetree.mli - create mode 100644 ocaml_stuff/4.07.0/utils/.depend - create mode 100644 ocaml_stuff/4.07.0/utils/.gitignore - create mode 100644 ocaml_stuff/4.07.0/utils/Makefile - create mode 100644 ocaml_stuff/4.07.0/utils/pconfig.ml - create mode 100644 ocaml_stuff/4.07.0/utils/pconfig.mli - create mode 100644 ocaml_stuff/4.07.0/utils/warnings.mli - -diff --git a/ocaml_src/lib/versdep/4.07.0.ml b/ocaml_src/lib/versdep/4.07.0.ml -new file mode 100644 -index 00000000..8fd1999c ---- /dev/null -+++ b/ocaml_src/lib/versdep/4.07.0.ml -@@ -0,0 +1,747 @@ -+(* camlp5r pa_macro.cmo *) -+(* versdep.ml,v *) -+(* Copyright (c) INRIA 2007-2017 *) -+ -+open Parsetree;; -+open Longident;; -+open Asttypes;; -+ -+type ('a, 'b) choice = -+ Left of 'a -+ | Right of 'b -+;; -+ -+let option_map f x = -+ match x with -+ Some x -> Some (f x) -+ | None -> None -+;; -+ -+let ocaml_name = "ocaml";; -+ -+let sys_ocaml_version = Sys.ocaml_version;; -+ -+let ocaml_location (fname, lnum, bolp, lnuml, bolpl, bp, ep) = -+ let loc_at n lnum bolp = -+ {Lexing.pos_fname = if lnum = -1 then "" else fname; -+ Lexing.pos_lnum = lnum; Lexing.pos_bol = bolp; Lexing.pos_cnum = n} -+ in -+ {Location.loc_start = loc_at bp lnum bolp; -+ Location.loc_end = loc_at ep lnuml bolpl; -+ Location.loc_ghost = bp = 0 && ep = 0} -+;; -+ -+let loc_none = -+ let loc = -+ {Lexing.pos_fname = "_none_"; Lexing.pos_lnum = 1; Lexing.pos_bol = 0; -+ Lexing.pos_cnum = -1} -+ in -+ {Location.loc_start = loc; Location.loc_end = loc; -+ Location.loc_ghost = true} -+;; -+ -+let mkloc loc txt = {Location.txt = txt; Location.loc = loc};; -+let mknoloc txt = mkloc loc_none txt;; -+ -+let ocaml_id_or_li_of_string_list loc sl = -+ let mkli s = -+ let rec loop f = -+ function -+ i :: il -> loop (fun s -> Ldot (f i, s)) il -+ | [] -> f s -+ in -+ loop (fun s -> Lident s) -+ in -+ match List.rev sl with -+ [] -> None -+ | s :: sl -> Some (mkli s (List.rev sl)) -+;; -+ -+let list_map_check f l = -+ let rec loop rev_l = -+ function -+ x :: l -> -+ begin match f x with -+ Some s -> loop (s :: rev_l) l -+ | None -> None -+ end -+ | [] -> Some (List.rev rev_l) -+ in -+ loop [] l -+;; -+ -+let labelled lab = -+ if lab = "" then Nolabel -+ else if lab.[0] = '?' then -+ Optional (String.sub lab 1 (String.length lab - 1)) -+ else Labelled lab -+;; -+ -+(* *) -+ -+let ocaml_value_description vn t p = -+ {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc; -+ pval_name = mkloc t.ptyp_loc vn; pval_attributes = []} -+;; -+ -+let ocaml_class_type_field loc ctfd = -+ {pctf_desc = ctfd; pctf_loc = loc; pctf_attributes = []} -+;; -+ -+let ocaml_class_field loc cfd = -+ {pcf_desc = cfd; pcf_loc = loc; pcf_attributes = []} -+;; -+ -+let ocaml_mktyp loc x = -+ {ptyp_desc = x; ptyp_loc = loc; ptyp_attributes = []} -+;; -+let ocaml_mkpat loc x = -+ {ppat_desc = x; ppat_loc = loc; ppat_attributes = []} -+;; -+let ocaml_mkexp loc x = -+ {pexp_desc = x; pexp_loc = loc; pexp_attributes = []} -+;; -+let ocaml_mkmty loc x = -+ {pmty_desc = x; pmty_loc = loc; pmty_attributes = []} -+;; -+let ocaml_mkmod loc x = -+ {pmod_desc = x; pmod_loc = loc; pmod_attributes = []} -+;; -+let ocaml_mkfield loc (lab, x) fl = (lab, x) :: fl;; -+let ocaml_mkfield_var loc = [];; -+ -+let variance_of_bool_bool = -+ function -+ false, true -> Contravariant -+ | true, false -> Covariant -+ | _ -> Invariant -+;; -+ -+let ocaml_type_declaration tn params cl tk pf tm loc variance = -+ match list_map_check (fun s_opt -> s_opt) params with -+ Some params -> -+ let _ = -+ if List.length params <> List.length variance then -+ failwith "internal error: ocaml_type_declaration" -+ in -+ let params = -+ List.map2 -+ (fun os va -> -+ ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) -+ params variance -+ in -+ Right -+ {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; -+ ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; -+ ptype_name = mkloc loc tn; ptype_attributes = []} -+ | None -> Left "no '_' type param in this ocaml version" -+;; -+ -+let ocaml_class_type = -+ Some (fun d loc -> {pcty_desc = d; pcty_loc = loc; pcty_attributes = []}) -+;; -+ -+let ocaml_class_expr = -+ Some (fun d loc -> {pcl_desc = d; pcl_loc = loc; pcl_attributes = []}) -+;; -+ -+let ocaml_class_structure p cil = {pcstr_self = p; pcstr_fields = cil};; -+ -+let ocaml_pmty_ident loc li = Pmty_ident (mkloc loc li);; -+ -+let ocaml_pmty_functor sloc s mt1 mt2 = -+ Pmty_functor (mkloc sloc s, Some mt1, mt2) -+;; -+ -+let ocaml_pmty_typeof = Some (fun me -> Pmty_typeof me);; -+ -+let ocaml_pmty_with mt lcl = -+ let lcl = List.map snd lcl in Pmty_with (mt, lcl) -+;; -+ -+let ocaml_ptype_abstract = Ptype_abstract;; -+ -+let ocaml_ptype_record ltl priv = -+ Ptype_record -+ (List.map -+ (fun (s, mf, ct, loc) -> -+ {pld_name = mkloc loc s; pld_mutable = mf; pld_type = ct; -+ pld_loc = loc; pld_attributes = []}) -+ ltl) -+;; -+ -+let ocaml_ptype_variant ctl priv = -+ try -+ let ctl = -+ List.map -+ (fun (c, tl, rto, loc) -> -+ if rto <> None then raise Exit -+ else -+ let tl = Pcstr_tuple tl in -+ {pcd_name = mkloc loc c; pcd_args = tl; pcd_res = None; -+ pcd_loc = loc; pcd_attributes = []}) -+ ctl -+ in -+ Some (Ptype_variant ctl) -+ with Exit -> None -+;; -+ -+let ocaml_ptyp_arrow lab t1 t2 = Ptyp_arrow (labelled lab, t1, t2);; -+ -+let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl);; -+ -+let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; -+ -+let ocaml_ptyp_object loc ml is_open = -+ let ml = List.map (fun (s, t) -> Otag (mkloc loc s, [], t)) ml in -+ Ptyp_object (ml, (if is_open then Open else Closed)) -+;; -+ -+let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; -+ -+let ocaml_ptyp_poly = -+ Some -+ (fun loc cl t -> -+ match cl with -+ [] -> t.ptyp_desc -+ | _ -> Ptyp_poly (List.map (mkloc loc) cl, t)) -+;; -+ -+let ocaml_ptyp_variant loc catl clos sl_opt = -+ let catl = -+ List.map -+ (function -+ Left (c, a, tl) -> Rtag (mkloc loc c, [], a, tl) -+ | Right t -> Rinherit t) -+ catl -+ in -+ let clos = if clos then Closed else Open in -+ Some (Ptyp_variant (catl, clos, sl_opt)) -+;; -+ -+let ocaml_package_type li ltl = -+ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl -+;; -+ -+let ocaml_pconst_char c = Pconst_char c;; -+let ocaml_pconst_int i = Pconst_integer (string_of_int i, None);; -+let ocaml_pconst_float s = Pconst_float (s, None);; -+ -+let ocaml_const_string s = Const_string (s, None);; -+let ocaml_pconst_string s so = Pconst_string (s, so);; -+ -+let pconst_of_const = -+ function -+ Const_int i -> ocaml_pconst_int i -+ | Const_char c -> ocaml_pconst_char c -+ | Const_string (s, so) -> ocaml_pconst_string s so -+ | Const_float s -> ocaml_pconst_float s -+ | Const_int32 i32 -> Pconst_integer (Int32.to_string i32, Some 'l') -+ | Const_int64 i64 -> Pconst_integer (Int64.to_string i64, Some 'L') -+ | Const_nativeint ni -> Pconst_integer (Nativeint.to_string ni, Some 'n') -+;; -+ -+let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; -+ -+let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; -+ -+let ocaml_const_nativeint = -+ Some (fun s -> Const_nativeint (Nativeint.of_string s)) -+;; -+ -+let ocaml_pexp_apply f lel = -+ Pexp_apply (f, List.map (fun (l, e) -> labelled l, e) lel) -+;; -+ -+let ocaml_pexp_assertfalse fname loc = -+ Pexp_assert -+ (ocaml_mkexp loc (Pexp_construct (mkloc loc (Lident "false"), None))) -+;; -+ -+let ocaml_pexp_assert fname loc e = Pexp_assert e;; -+ -+let ocaml_pexp_constraint e ot1 ot2 = -+ match ot2 with -+ Some t2 -> Pexp_coerce (e, ot1, t2) -+ | None -> -+ match ot1 with -+ Some t1 -> Pexp_constraint (e, t1) -+ | None -> failwith "internal error: ocaml_pexp_constraint" -+;; -+ -+let ocaml_pexp_construct loc li po chk_arity = -+ Pexp_construct (mkloc loc li, po) -+;; -+ -+let ocaml_pexp_construct_args = -+ function -+ Pexp_construct (li, po) -> Some (li.txt, li.loc, po, 0) -+ | _ -> None -+;; -+ -+let mkexp_ocaml_pexp_construct_arity loc li_loc li al = -+ let a = ocaml_mkexp loc (Pexp_tuple al) in -+ {pexp_desc = ocaml_pexp_construct li_loc li (Some a) true; pexp_loc = loc; -+ pexp_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} -+;; -+ -+let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; -+ -+let ocaml_pexp_for i e1 e2 df e = -+ Pexp_for (ocaml_mkpat loc_none (Ppat_var (mknoloc i)), e1, e2, df, e) -+;; -+ -+let ocaml_case (p, wo, loc, e) = {pc_lhs = p; pc_guard = wo; pc_rhs = e};; -+ -+let ocaml_pexp_function lab eo pel = -+ match pel with -+ [{pc_lhs = p; pc_guard = None; pc_rhs = e}] -> -+ Pexp_fun (labelled lab, eo, p, e) -+ | pel -> -+ if lab = "" && eo = None then Pexp_function pel -+ else failwith "internal error: bad ast in ocaml_pexp_function" -+;; -+ -+let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; -+ -+let ocaml_pexp_ident loc li = Pexp_ident (mkloc loc li);; -+ -+let ocaml_pexp_letmodule = -+ Some (fun i me e -> Pexp_letmodule (mknoloc i, me, e)) -+;; -+ -+let ocaml_pexp_new loc li = Pexp_new (mkloc loc li);; -+ -+let ocaml_pexp_newtype = Some (fun loc s e -> Pexp_newtype (mkloc loc s, e));; -+ -+let ocaml_pexp_object = Some (fun cs -> Pexp_object cs);; -+ -+let ocaml_pexp_open = Some (fun li e -> Pexp_open (Fresh, mknoloc li, e));; -+ -+let ocaml_pexp_override sel = -+ let sel = List.map (fun (s, e) -> mknoloc s, e) sel in Pexp_override sel -+;; -+ -+let ocaml_pexp_pack : ('a -> 'b -> 'c, 'd) choice option = -+ Some (Right ((fun me -> Pexp_pack me), (fun pt -> Ptyp_package pt))) -+;; -+ -+let ocaml_pexp_poly = Some (fun e t -> Pexp_poly (e, t));; -+ -+let ocaml_pexp_record lel eo = -+ let lel = List.map (fun (li, loc, e) -> mkloc loc li, e) lel in -+ Pexp_record (lel, eo) -+;; -+ -+let ocaml_pexp_send loc e s = Pexp_send (e, mkloc loc s);; -+ -+let ocaml_pexp_setinstvar s e = Pexp_setinstvar (mknoloc s, e);; -+ -+let ocaml_pexp_variant = -+ let pexp_variant_pat = -+ function -+ Pexp_variant (lab, eo) -> Some (lab, eo) -+ | _ -> None -+ in -+ let pexp_variant (lab, eo) = Pexp_variant (lab, eo) in -+ Some (pexp_variant_pat, pexp_variant) -+;; -+ -+let ocaml_value_binding loc p e = -+ {pvb_pat = p; pvb_expr = e; pvb_loc = loc; pvb_attributes = []} -+;; -+ -+let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; -+ -+let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -+ -+let ocaml_ppat_construct loc li po chk_arity = -+ Ppat_construct (mkloc loc li, po) -+;; -+ -+let ocaml_ppat_construct_args = -+ function -+ Ppat_construct (li, po) -> Some (li.txt, li.loc, po, 0) -+ | _ -> None -+;; -+ -+let mkpat_ocaml_ppat_construct_arity loc li_loc li al = -+ let a = ocaml_mkpat loc (Ppat_tuple al) in -+ {ppat_desc = ocaml_ppat_construct li_loc li (Some a) true; ppat_loc = loc; -+ ppat_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} -+;; -+ -+let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; -+ -+let ocaml_ppat_record lpl is_closed = -+ let lpl = List.map (fun (li, loc, p) -> mkloc loc li, p) lpl in -+ Ppat_record (lpl, (if is_closed then Closed else Open)) -+;; -+ -+let ocaml_ppat_type = Some (fun loc li -> Ppat_type (mkloc loc li));; -+ -+let ocaml_ppat_unpack = -+ Some ((fun loc s -> Ppat_unpack (mkloc loc s)), (fun pt -> Ptyp_package pt)) -+;; -+ -+let ocaml_ppat_var loc s = Ppat_var (mkloc loc s);; -+ -+let ocaml_ppat_variant = -+ let ppat_variant_pat = -+ function -+ Ppat_variant (lab, po) -> Some (lab, po) -+ | _ -> None -+ in -+ let ppat_variant (lab, po) = Ppat_variant (lab, po) in -+ Some (ppat_variant_pat, ppat_variant) -+;; -+ -+let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -+ -+let ocaml_psig_exception loc s ed = -+ Psig_exception -+ {pext_name = mkloc loc s; pext_kind = Pext_decl (Pcstr_tuple ed, None); -+ pext_loc = loc; pext_attributes = []} -+;; -+ -+let ocaml_psig_include loc mt = -+ Psig_include {pincl_mod = mt; pincl_loc = loc; pincl_attributes = []} -+;; -+ -+let ocaml_psig_module loc s mt = -+ Psig_module -+ {pmd_name = mkloc loc s; pmd_type = mt; pmd_attributes = []; -+ pmd_loc = loc} -+;; -+ -+let ocaml_psig_modtype loc s mto = -+ let pmtd = -+ {pmtd_name = mkloc loc s; pmtd_type = mto; pmtd_attributes = []; -+ pmtd_loc = loc} -+ in -+ Psig_modtype pmtd -+;; -+ -+let ocaml_psig_open loc li = -+ Psig_open -+ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; -+ popen_attributes = []} -+;; -+ -+let ocaml_psig_recmodule = -+ let f ntl = -+ let ntl = -+ List.map -+ (fun (s, mt) -> -+ {pmd_name = mknoloc s; pmd_type = mt; pmd_attributes = []; -+ pmd_loc = loc_none}) -+ ntl -+ in -+ Psig_recmodule ntl -+ in -+ Some f -+;; -+ -+let ocaml_psig_type stl = -+ let stl = List.map (fun (s, t) -> t) stl in Psig_type (Recursive, stl) -+;; -+ -+let ocaml_psig_value s vd = Psig_value vd;; -+ -+let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -+ -+let ocaml_pstr_eval e = Pstr_eval (e, []);; -+ -+let ocaml_pstr_exception loc s ed = -+ Pstr_exception -+ {pext_name = mkloc loc s; pext_kind = Pext_decl (Pcstr_tuple ed, None); -+ pext_loc = loc; pext_attributes = []} -+;; -+ -+let ocaml_pstr_exn_rebind = -+ Some -+ (fun loc s li -> -+ Pstr_exception -+ {pext_name = mkloc loc s; pext_kind = Pext_rebind (mkloc loc li); -+ pext_loc = loc; pext_attributes = []}) -+;; -+ -+let ocaml_pstr_include = -+ Some -+ (fun loc me -> -+ Pstr_include {pincl_mod = me; pincl_loc = loc; pincl_attributes = []}) -+;; -+ -+let ocaml_pstr_modtype loc s mt = -+ let pmtd = -+ {pmtd_name = mkloc loc s; pmtd_type = Some mt; pmtd_attributes = []; -+ pmtd_loc = loc} -+ in -+ Pstr_modtype pmtd -+;; -+ -+let ocaml_pstr_module loc s me = -+ let mb = -+ {pmb_name = mkloc loc s; pmb_expr = me; pmb_attributes = []; -+ pmb_loc = loc} -+ in -+ Pstr_module mb -+;; -+ -+let ocaml_pstr_open loc li = -+ Pstr_open -+ {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; -+ popen_attributes = []} -+;; -+ -+let ocaml_pstr_primitive s vd = Pstr_primitive vd;; -+ -+let ocaml_pstr_recmodule = -+ let f nel = -+ Pstr_recmodule -+ (List.map -+ (fun (s, mt, me) -> -+ {pmb_name = mknoloc s; pmb_expr = me; pmb_attributes = []; -+ pmb_loc = loc_none}) -+ nel) -+ in -+ Some f -+;; -+ -+let ocaml_pstr_type stl = -+ let stl = List.map (fun (s, t) -> t) stl in Pstr_type (Recursive, stl) -+;; -+ -+let ocaml_class_infos = -+ Some -+ (fun virt (sl, sloc) name expr loc variance -> -+ let _ = -+ if List.length sl <> List.length variance then -+ failwith "internal error: ocaml_class_infos" -+ in -+ let params = -+ List.map2 -+ (fun os va -> -+ ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) -+ sl variance -+ in -+ {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; -+ pci_expr = expr; pci_loc = loc; pci_attributes = []}) -+;; -+ -+let ocaml_pmod_constraint loc me mt = -+ ocaml_mkmod loc (Pmod_constraint (me, mt)) -+;; -+ -+let ocaml_pmod_ident li = Pmod_ident (mknoloc li);; -+ -+let ocaml_pmod_functor s mt me = Pmod_functor (mknoloc s, Some mt, me);; -+ -+let ocaml_pmod_unpack : ('a -> 'b -> 'c, 'd) choice option = -+ Some (Right ((fun e -> Pmod_unpack e), (fun pt -> Ptyp_package pt))) -+;; -+ -+let ocaml_pcf_cstr = Some (fun (t1, t2, loc) -> Pcf_constraint (t1, t2));; -+ -+let ocaml_pcf_inher loc ce pb = -+ Pcf_inherit (Fresh, ce, option_map (mkloc loc) pb) -+;; -+ -+let ocaml_pcf_init = Some (fun e -> Pcf_initializer e);; -+ -+let ocaml_pcf_meth (s, pf, ovf, e, loc) = -+ let pf = if pf then Private else Public in -+ let ovf = if ovf then Override else Fresh in -+ Pcf_method (mkloc loc s, pf, Cfk_concrete (ovf, e)) -+;; -+ -+let ocaml_pcf_val (s, mf, ovf, e, loc) = -+ let mf = if mf then Mutable else Immutable in -+ let ovf = if ovf then Override else Fresh in -+ Pcf_val (mkloc loc s, mf, Cfk_concrete (ovf, e)) -+;; -+ -+let ocaml_pcf_valvirt = -+ let ocaml_pcf (s, mf, t, loc) = -+ let mf = if mf then Mutable else Immutable in -+ Pcf_val (mkloc loc s, mf, Cfk_virtual t) -+ in -+ Some ocaml_pcf -+;; -+ -+let ocaml_pcf_virt (s, pf, t, loc) = -+ Pcf_method (mkloc loc s, pf, Cfk_virtual t) -+;; -+ -+let ocaml_pcl_apply = -+ Some -+ (fun ce lel -> Pcl_apply (ce, List.map (fun (l, e) -> labelled l, e) lel)) -+;; -+ -+let ocaml_pcl_constr = Some (fun li ctl -> Pcl_constr (mknoloc li, ctl));; -+ -+let ocaml_pcl_constraint = Some (fun ce ct -> Pcl_constraint (ce, ct));; -+ -+let ocaml_pcl_fun = -+ Some (fun lab ceo p ce -> Pcl_fun (labelled lab, ceo, p, ce)) -+;; -+ -+let ocaml_pcl_let = Some (fun rf pel ce -> Pcl_let (rf, pel, ce));; -+ -+let ocaml_pcl_structure = Some (fun cs -> Pcl_structure cs);; -+ -+let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_constraint (t1, t2));; -+ -+let ocaml_pctf_inher ct = Pctf_inherit ct;; -+ -+let ocaml_pctf_meth (s, pf, t, loc) = -+ Pctf_method (mkloc loc s, pf, Concrete, t) -+;; -+ -+let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (mkloc loc s, mf, Concrete, t);; -+ -+let ocaml_pctf_virt (s, pf, t, loc) = -+ Pctf_method (mkloc loc s, pf, Virtual, t) -+;; -+ -+let ocaml_pcty_constr = Some (fun li ltl -> Pcty_constr (mknoloc li, ltl));; -+ -+let ocaml_pcty_fun = -+ Some (fun lab t ot ct -> Pcty_arrow (labelled lab, t, ct)) -+;; -+ -+let ocaml_pcty_signature = -+ let f (t, ctfl) = -+ let cs = {pcsig_self = t; pcsig_fields = ctfl} in Pcty_signature cs -+ in -+ Some f -+;; -+ -+let ocaml_pdir_bool = Some (fun b -> Pdir_bool b);; -+let ocaml_pdir_int i s = Pdir_int (i, None);; -+ -+let ocaml_pwith_modsubst = -+ Some (fun loc me -> Pwith_modsubst (mkloc loc (Lident ""), mkloc loc me)) -+;; -+ -+let ocaml_pwith_type loc (i, td) = Pwith_type (mkloc loc i, td);; -+ -+let ocaml_pwith_module loc mname me = -+ Pwith_module (mkloc loc mname, mkloc loc me) -+;; -+ -+let ocaml_pwith_typesubst = -+ Some (fun loc td -> Pwith_typesubst (mkloc loc (Lident ""), td)) -+;; -+ -+let module_prefix_can_be_in_first_record_label_only = true;; -+ -+let split_or_patterns_with_bindings = false;; -+ -+let has_records_with_with = true;; -+ -+(* *) -+ -+let jocaml_pstr_def : (_ -> _) option = None;; -+ -+let jocaml_pexp_def : (_ -> _ -> _) option = None;; -+ -+let jocaml_pexp_par : (_ -> _ -> _) option = None;; -+ -+let jocaml_pexp_reply : (_ -> _ -> _ -> _) option = None;; -+ -+let jocaml_pexp_spawn : (_ -> _) option = None;; -+ -+let arg_rest = -+ function -+ Arg.Rest r -> Some r -+ | _ -> None -+;; -+ -+let arg_set_string = -+ function -+ Arg.Set_string r -> Some r -+ | _ -> None -+;; -+ -+let arg_set_int = -+ function -+ Arg.Set_int r -> Some r -+ | _ -> None -+;; -+ -+let arg_set_float = -+ function -+ Arg.Set_float r -> Some r -+ | _ -> None -+;; -+ -+let arg_symbol = -+ function -+ Arg.Symbol (s, f) -> Some (s, f) -+ | _ -> None -+;; -+ -+let arg_tuple = -+ function -+ Arg.Tuple t -> Some t -+ | _ -> None -+;; -+ -+let arg_bool = -+ function -+ Arg.Bool f -> Some f -+ | _ -> None -+;; -+ -+let char_escaped = Char.escaped;; -+ -+let hashtbl_mem = Hashtbl.mem;; -+ -+let list_rev_append = List.rev_append;; -+ -+let list_rev_map = List.rev_map;; -+ -+let list_sort = List.sort;; -+ -+let pervasives_set_binary_mode_out = Pervasives.set_binary_mode_out;; -+ -+let printf_ksprintf = Printf.ksprintf;; -+ -+let char_uppercase = Char.uppercase_ascii;; -+ -+let bytes_modname = "Bytes";; -+ -+let bytes_of_string s = Bytes.of_string s;; -+ -+let bytes_to_string s = Bytes.to_string s;; -+ -+let string_capitalize = String.capitalize_ascii;; -+ -+let string_contains = String.contains;; -+ -+let string_cat s1 s2 = Bytes.cat s1 s2;; -+ -+let string_copy = Bytes.copy;; -+ -+let string_create = Bytes.create;; -+ -+let string_get = Bytes.get;; -+ -+let string_index = Bytes.index;; -+ -+let string_length = Bytes.length;; -+ -+let string_lowercase = String.lowercase_ascii;; -+ -+let string_unsafe_set = Bytes.unsafe_set;; -+ -+let string_uncapitalize = String.uncapitalize_ascii;; -+ -+let string_uppercase = String.uppercase_ascii;; -+ -+let string_set = Bytes.set;; -+ -+let string_sub = Bytes.sub;; -+ -+let array_create = Array.make;; -diff --git a/ocaml_stuff/4.07.0/parsing/.depend b/ocaml_stuff/4.07.0/parsing/.depend -new file mode 100644 -index 00000000..c589fb6e ---- /dev/null -+++ b/ocaml_stuff/4.07.0/parsing/.depend -@@ -0,0 +1,4 @@ -+asttypes.cmi : location.cmi -+location.cmi : ../utils/warnings.cmi -+longident.cmi : -+parsetree.cmi : longident.cmi location.cmi asttypes.cmi -diff --git a/ocaml_stuff/4.07.0/parsing/.gitignore b/ocaml_stuff/4.07.0/parsing/.gitignore -new file mode 100644 -index 00000000..8e6c39c2 ---- /dev/null -+++ b/ocaml_stuff/4.07.0/parsing/.gitignore -@@ -0,0 +1 @@ -+*.cm[oi] -diff --git a/ocaml_stuff/4.07.0/parsing/Makefile b/ocaml_stuff/4.07.0/parsing/Makefile -new file mode 100644 -index 00000000..6d08a199 ---- /dev/null -+++ b/ocaml_stuff/4.07.0/parsing/Makefile -@@ -0,0 +1,19 @@ -+# Makefile,v -+ -+FILES=asttypes.cmi location.cmi longident.cmi parsetree.cmi -+INCL=-I ../utils -+ -+all: $(FILES) -+ -+clean: -+ rm -f *.cmi -+ -+depend: -+ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend -+ -+.SUFFIXES: .mli .cmi -+ -+.mli.cmi: -+ $(OCAMLN)c $(INCL) -c $< -+ -+include .depend -diff --git a/ocaml_stuff/4.07.0/parsing/asttypes.mli b/ocaml_stuff/4.07.0/parsing/asttypes.mli -new file mode 100644 -index 00000000..8cab1c6b ---- /dev/null -+++ b/ocaml_stuff/4.07.0/parsing/asttypes.mli -@@ -0,0 +1,58 @@ -+(**************************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. *) -+(* *) -+(* All rights reserved. This file is distributed under the terms of *) -+(* the GNU Lesser General Public License version 2.1, with the *) -+(* special exception on linking described in the file LICENSE. *) -+(* *) -+(**************************************************************************) -+ -+(** Auxiliary AST types used by parsetree and typedtree. *) -+ -+type constant = -+ Const_int of int -+ | Const_char of char -+ | Const_string of string * string option -+ | Const_float of string -+ | Const_int32 of int32 -+ | Const_int64 of int64 -+ | Const_nativeint of nativeint -+ -+type rec_flag = Nonrecursive | Recursive -+ -+type direction_flag = Upto | Downto -+ -+(* Order matters, used in polymorphic comparison *) -+type private_flag = Private | Public -+ -+type mutable_flag = Immutable | Mutable -+ -+type virtual_flag = Virtual | Concrete -+ -+type override_flag = Override | Fresh -+ -+type closed_flag = Closed | Open -+ -+type label = string -+ -+type arg_label = -+ Nolabel -+ | Labelled of string (* label:T -> ... *) -+ | Optional of string (* ?label:T -> ... *) -+ -+type 'a loc = 'a Location.loc = { -+ txt : 'a; -+ loc : Location.t; -+} -+ -+ -+type variance = -+ | Covariant -+ | Contravariant -+ | Invariant -diff --git a/ocaml_stuff/4.07.0/parsing/location.mli b/ocaml_stuff/4.07.0/parsing/location.mli -new file mode 100644 -index 00000000..bf93f168 ---- /dev/null -+++ b/ocaml_stuff/4.07.0/parsing/location.mli -@@ -0,0 +1,152 @@ -+(**************************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. *) -+(* *) -+(* All rights reserved. This file is distributed under the terms of *) -+(* the GNU Lesser General Public License version 2.1, with the *) -+(* special exception on linking described in the file LICENSE. *) -+(* *) -+(**************************************************************************) -+ -+(** Source code locations (ranges of positions), used in parsetree. *) -+ -+open Format -+ -+type t = Warnings.loc = { -+ loc_start: Lexing.position; -+ loc_end: Lexing.position; -+ loc_ghost: bool; -+} -+ -+(** Note on the use of Lexing.position in this module. -+ If [pos_fname = ""], then use [!input_name] instead. -+ If [pos_lnum = -1], then [pos_bol = 0]. Use [pos_cnum] and -+ re-parse the file to get the line and character numbers. -+ Else all fields are correct. -+*) -+ -+val none : t -+(** An arbitrary value of type [t]; describes an empty ghost range. *) -+ -+val in_file : string -> t -+(** Return an empty ghost range located in a given file. *) -+ -+val init : Lexing.lexbuf -> string -> unit -+(** Set the file name and line number of the [lexbuf] to be the start -+ of the named file. *) -+ -+val curr : Lexing.lexbuf -> t -+(** Get the location of the current token from the [lexbuf]. *) -+ -+val symbol_rloc: unit -> t -+val symbol_gloc: unit -> t -+ -+(** [rhs_loc n] returns the location of the symbol at position [n], starting -+ at 1, in the current parser rule. *) -+val rhs_loc: int -> t -+ -+val input_name: string ref -+val input_lexbuf: Lexing.lexbuf option ref -+ -+val get_pos_info: Lexing.position -> string * int * int (* file, line, char *) -+val print_loc: formatter -> t -> unit -+val print_error_prefix: formatter -> unit -+val print_error: formatter -> t -> unit -+val print_error_cur_file: formatter -> unit -> unit -+val print_warning: t -> formatter -> Warnings.t -> unit -+val formatter_for_warnings : formatter ref -+val prerr_warning: t -> Warnings.t -> unit -+val echo_eof: unit -> unit -+val reset: unit -> unit -+ -+val default_printer : formatter -> t -> unit -+val printer : (formatter -> t -> unit) ref -+ -+val warning_printer : (t -> formatter -> Warnings.t -> unit) ref -+(** Hook for intercepting warnings. *) -+ -+val default_warning_printer : t -> formatter -> Warnings.t -> unit -+(** Original warning printer for use in hooks. *) -+ -+val highlight_locations: formatter -> t list -> bool -+ -+val show_code_at_location: formatter -> Lexing.lexbuf -> t -> unit -+ -+type 'a loc = { -+ txt : 'a; -+ loc : t; -+} -+ -+val mknoloc : 'a -> 'a loc -+val mkloc : 'a -> t -> 'a loc -+ -+val print: formatter -> t -> unit -+val print_compact: formatter -> t -> unit -+val print_filename: formatter -> string -> unit -+ -+val rewrite_absolute_path: string -> string -+ (** rewrite absolute path to honor the BUILD_PATH_PREFIX_MAP -+ variable (https://reproducible-builds.org/specs/build-path-prefix-map/) -+ if it is set. *) -+ -+val absolute_path: string -> string -+ -+val show_filename: string -> string -+ (** In -absname mode, return the absolute path for this filename. -+ Otherwise, returns the filename unchanged. *) -+ -+ -+val absname: bool ref -+ -+(** Support for located errors *) -+ -+type error = -+ { -+ loc: t; -+ msg: string; -+ sub: error list; -+ if_highlight: string; (* alternative message if locations are highlighted *) -+ } -+ -+exception Already_displayed_error -+exception Error of error -+ -+val error: ?loc:t -> ?sub:error list -> ?if_highlight:string -> string -> error -+ -+val errorf: ?loc:t -> ?sub:error list -> ?if_highlight:string -+ -> ('a, Format.formatter, unit, error) format4 -> 'a -+ -+val raise_errorf: ?loc:t -> ?sub:error list -> ?if_highlight:string -+ -> ('a, Format.formatter, unit, 'b) format4 -> 'a -+ -+val error_of_printer: t -> (formatter -> 'a -> unit) -> 'a -> error -+ -+val error_of_printer_file: (formatter -> 'a -> unit) -> 'a -> error -+ -+val error_of_exn: exn -> [ `Ok of error | `Already_displayed ] option -+ -+val register_error_of_exn: (exn -> error option) -> unit -+(** Each compiler module which defines a custom type of exception -+ which can surface as a user-visible error should register -+ a "printer" for this exception using [register_error_of_exn]. -+ The result of the printer is an [error] value containing -+ a location, a message, and optionally sub-messages (each of them -+ being located as well). *) -+ -+val report_error: formatter -> error -> unit -+ -+val error_reporter : (formatter -> error -> unit) ref -+(** Hook for intercepting error reports. *) -+ -+val default_error_reporter : formatter -> error -> unit -+(** Original error reporter for use in hooks. *) -+ -+val report_exception: formatter -> exn -> unit -+(** Reraise the exception if it is unknown. *) -+ -+val deprecated: ?def:t -> ?use:t -> t -> string -> unit -diff --git a/ocaml_stuff/4.07.0/parsing/longident.mli b/ocaml_stuff/4.07.0/parsing/longident.mli -new file mode 100644 -index 00000000..5ffb16a8 ---- /dev/null -+++ b/ocaml_stuff/4.07.0/parsing/longident.mli -@@ -0,0 +1,26 @@ -+(**************************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. *) -+(* *) -+(* All rights reserved. This file is distributed under the terms of *) -+(* the GNU Lesser General Public License version 2.1, with the *) -+(* special exception on linking described in the file LICENSE. *) -+(* *) -+(**************************************************************************) -+ -+(** Long identifiers, used in parsetree. *) -+ -+type t = -+ Lident of string -+ | Ldot of t * string -+ | Lapply of t * t -+ -+val flatten: t -> string list -+val unflatten: string list -> t option -+val last: t -> string -+val parse: string -> t -diff --git a/ocaml_stuff/4.07.0/parsing/parsetree.mli b/ocaml_stuff/4.07.0/parsing/parsetree.mli -new file mode 100644 -index 00000000..9f5de197 ---- /dev/null -+++ b/ocaml_stuff/4.07.0/parsing/parsetree.mli -@@ -0,0 +1,874 @@ -+(**************************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1996 Institut National de Recherche en Informatique et *) -+(* en Automatique. *) -+(* *) -+(* All rights reserved. This file is distributed under the terms of *) -+(* the GNU Lesser General Public License version 2.1, with the *) -+(* special exception on linking described in the file LICENSE. *) -+(* *) -+(**************************************************************************) -+ -+(** Abstract syntax tree produced by parsing *) -+ -+open Asttypes -+ -+type constant = -+ Pconst_integer of string * char option -+ (* 3 3l 3L 3n -+ -+ Suffixes [g-z][G-Z] are accepted by the parser. -+ Suffixes except 'l', 'L' and 'n' are rejected by the typechecker -+ *) -+ | Pconst_char of char -+ (* 'c' *) -+ | Pconst_string of string * string option -+ (* "constant" -+ {delim|other constant|delim} -+ *) -+ | Pconst_float of string * char option -+ (* 3.4 2e5 1.4e-4 -+ -+ Suffixes [g-z][G-Z] are accepted by the parser. -+ Suffixes are rejected by the typechecker. -+ *) -+ -+(** {1 Extension points} *) -+ -+type attribute = string loc * payload -+ (* [@id ARG] -+ [@@id ARG] -+ -+ Metadata containers passed around within the AST. -+ The compiler ignores unknown attributes. -+ *) -+ -+and extension = string loc * payload -+ (* [%id ARG] -+ [%%id ARG] -+ -+ Sub-language placeholder -- rejected by the typechecker. -+ *) -+ -+and attributes = attribute list -+ -+and payload = -+ | PStr of structure -+ | PSig of signature (* : SIG *) -+ | PTyp of core_type (* : T *) -+ | PPat of pattern * expression option (* ? P or ? P when E *) -+ -+(** {1 Core language} *) -+ -+(* Type expressions *) -+ -+and core_type = -+ { -+ ptyp_desc: core_type_desc; -+ ptyp_loc: Location.t; -+ ptyp_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and core_type_desc = -+ | Ptyp_any -+ (* _ *) -+ | Ptyp_var of string -+ (* 'a *) -+ | Ptyp_arrow of arg_label * core_type * core_type -+ (* T1 -> T2 Simple -+ ~l:T1 -> T2 Labelled -+ ?l:T1 -> T2 Optional -+ *) -+ | Ptyp_tuple of core_type list -+ (* T1 * ... * Tn -+ -+ Invariant: n >= 2 -+ *) -+ | Ptyp_constr of Longident.t loc * core_type list -+ (* tconstr -+ T tconstr -+ (T1, ..., Tn) tconstr -+ *) -+ | Ptyp_object of object_field list * closed_flag -+ (* < l1:T1; ...; ln:Tn > (flag = Closed) -+ < l1:T1; ...; ln:Tn; .. > (flag = Open) -+ *) -+ | Ptyp_class of Longident.t loc * core_type list -+ (* #tconstr -+ T #tconstr -+ (T1, ..., Tn) #tconstr -+ *) -+ | Ptyp_alias of core_type * string -+ (* T as 'a *) -+ | Ptyp_variant of row_field list * closed_flag * label list option -+ (* [ `A|`B ] (flag = Closed; labels = None) -+ [> `A|`B ] (flag = Open; labels = None) -+ [< `A|`B ] (flag = Closed; labels = Some []) -+ [< `A|`B > `X `Y ](flag = Closed; labels = Some ["X";"Y"]) -+ *) -+ | Ptyp_poly of string loc list * core_type -+ (* 'a1 ... 'an. T -+ -+ Can only appear in the following context: -+ -+ - As the core_type of a Ppat_constraint node corresponding -+ to a constraint on a let-binding: let x : 'a1 ... 'an. T -+ = e ... -+ -+ - Under Cfk_virtual for methods (not values). -+ -+ - As the core_type of a Pctf_method node. -+ -+ - As the core_type of a Pexp_poly node. -+ -+ - As the pld_type field of a label_declaration. -+ -+ - As a core_type of a Ptyp_object node. -+ *) -+ -+ | Ptyp_package of package_type -+ (* (module S) *) -+ | Ptyp_extension of extension -+ (* [%id] *) -+ -+and package_type = Longident.t loc * (Longident.t loc * core_type) list -+ (* -+ (module S) -+ (module S with type t1 = T1 and ... and tn = Tn) -+ *) -+ -+and row_field = -+ | Rtag of label loc * attributes * bool * core_type list -+ (* [`A] ( true, [] ) -+ [`A of T] ( false, [T] ) -+ [`A of T1 & .. & Tn] ( false, [T1;...Tn] ) -+ [`A of & T1 & .. & Tn] ( true, [T1;...Tn] ) -+ -+ - The 2nd field is true if the tag contains a -+ constant (empty) constructor. -+ - '&' occurs when several types are used for the same constructor -+ (see 4.2 in the manual) -+ -+ - TODO: switch to a record representation, and keep location -+ *) -+ | Rinherit of core_type -+ (* [ T ] *) -+ -+and object_field = -+ | Otag of label loc * attributes * core_type -+ | Oinherit of core_type -+ -+(* Patterns *) -+ -+and pattern = -+ { -+ ppat_desc: pattern_desc; -+ ppat_loc: Location.t; -+ ppat_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and pattern_desc = -+ | Ppat_any -+ (* _ *) -+ | Ppat_var of string loc -+ (* x *) -+ | Ppat_alias of pattern * string loc -+ (* P as 'a *) -+ | Ppat_constant of constant -+ (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) -+ | Ppat_interval of constant * constant -+ (* 'a'..'z' -+ -+ Other forms of interval are recognized by the parser -+ but rejected by the type-checker. *) -+ | Ppat_tuple of pattern list -+ (* (P1, ..., Pn) -+ -+ Invariant: n >= 2 -+ *) -+ | Ppat_construct of Longident.t loc * pattern option -+ (* C None -+ C P Some P -+ C (P1, ..., Pn) Some (Ppat_tuple [P1; ...; Pn]) -+ *) -+ | Ppat_variant of label * pattern option -+ (* `A (None) -+ `A P (Some P) -+ *) -+ | Ppat_record of (Longident.t loc * pattern) list * closed_flag -+ (* { l1=P1; ...; ln=Pn } (flag = Closed) -+ { l1=P1; ...; ln=Pn; _} (flag = Open) -+ -+ Invariant: n > 0 -+ *) -+ | Ppat_array of pattern list -+ (* [| P1; ...; Pn |] *) -+ | Ppat_or of pattern * pattern -+ (* P1 | P2 *) -+ | Ppat_constraint of pattern * core_type -+ (* (P : T) *) -+ | Ppat_type of Longident.t loc -+ (* #tconst *) -+ | Ppat_lazy of pattern -+ (* lazy P *) -+ | Ppat_unpack of string loc -+ (* (module P) -+ Note: (module P : S) is represented as -+ Ppat_constraint(Ppat_unpack, Ptyp_package) -+ *) -+ | Ppat_exception of pattern -+ (* exception P *) -+ | Ppat_extension of extension -+ (* [%id] *) -+ | Ppat_open of Longident.t loc * pattern -+ (* M.(P) *) -+ -+(* Value expressions *) -+ -+and expression = -+ { -+ pexp_desc: expression_desc; -+ pexp_loc: Location.t; -+ pexp_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and expression_desc = -+ | Pexp_ident of Longident.t loc -+ (* x -+ M.x -+ *) -+ | Pexp_constant of constant -+ (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) -+ | Pexp_let of rec_flag * value_binding list * expression -+ (* let P1 = E1 and ... and Pn = EN in E (flag = Nonrecursive) -+ let rec P1 = E1 and ... and Pn = EN in E (flag = Recursive) -+ *) -+ | Pexp_function of case list -+ (* function P1 -> E1 | ... | Pn -> En *) -+ | Pexp_fun of arg_label * expression option * pattern * expression -+ (* fun P -> E1 (Simple, None) -+ fun ~l:P -> E1 (Labelled l, None) -+ fun ?l:P -> E1 (Optional l, None) -+ fun ?l:(P = E0) -> E1 (Optional l, Some E0) -+ -+ Notes: -+ - If E0 is provided, only Optional is allowed. -+ - "fun P1 P2 .. Pn -> E1" is represented as nested Pexp_fun. -+ - "let f P = E" is represented using Pexp_fun. -+ *) -+ | Pexp_apply of expression * (arg_label * expression) list -+ (* E0 ~l1:E1 ... ~ln:En -+ li can be empty (non labeled argument) or start with '?' -+ (optional argument). -+ -+ Invariant: n > 0 -+ *) -+ | Pexp_match of expression * case list -+ (* match E0 with P1 -> E1 | ... | Pn -> En *) -+ | Pexp_try of expression * case list -+ (* try E0 with P1 -> E1 | ... | Pn -> En *) -+ | Pexp_tuple of expression list -+ (* (E1, ..., En) -+ -+ Invariant: n >= 2 -+ *) -+ | Pexp_construct of Longident.t loc * expression option -+ (* C None -+ C E Some E -+ C (E1, ..., En) Some (Pexp_tuple[E1;...;En]) -+ *) -+ | Pexp_variant of label * expression option -+ (* `A (None) -+ `A E (Some E) -+ *) -+ | Pexp_record of (Longident.t loc * expression) list * expression option -+ (* { l1=P1; ...; ln=Pn } (None) -+ { E0 with l1=P1; ...; ln=Pn } (Some E0) -+ -+ Invariant: n > 0 -+ *) -+ | Pexp_field of expression * Longident.t loc -+ (* E.l *) -+ | Pexp_setfield of expression * Longident.t loc * expression -+ (* E1.l <- E2 *) -+ | Pexp_array of expression list -+ (* [| E1; ...; En |] *) -+ | Pexp_ifthenelse of expression * expression * expression option -+ (* if E1 then E2 else E3 *) -+ | Pexp_sequence of expression * expression -+ (* E1; E2 *) -+ | Pexp_while of expression * expression -+ (* while E1 do E2 done *) -+ | Pexp_for of -+ pattern * expression * expression * direction_flag * expression -+ (* for i = E1 to E2 do E3 done (flag = Upto) -+ for i = E1 downto E2 do E3 done (flag = Downto) -+ *) -+ | Pexp_constraint of expression * core_type -+ (* (E : T) *) -+ | Pexp_coerce of expression * core_type option * core_type -+ (* (E :> T) (None, T) -+ (E : T0 :> T) (Some T0, T) -+ *) -+ | Pexp_send of expression * label loc -+ (* E # m *) -+ | Pexp_new of Longident.t loc -+ (* new M.c *) -+ | Pexp_setinstvar of label loc * expression -+ (* x <- 2 *) -+ | Pexp_override of (label loc * expression) list -+ (* {< x1 = E1; ...; Xn = En >} *) -+ | Pexp_letmodule of string loc * module_expr * expression -+ (* let module M = ME in E *) -+ | Pexp_letexception of extension_constructor * expression -+ (* let exception C in E *) -+ | Pexp_assert of expression -+ (* assert E -+ Note: "assert false" is treated in a special way by the -+ type-checker. *) -+ | Pexp_lazy of expression -+ (* lazy E *) -+ | Pexp_poly of expression * core_type option -+ (* Used for method bodies. -+ -+ Can only be used as the expression under Cfk_concrete -+ for methods (not values). *) -+ | Pexp_object of class_structure -+ (* object ... end *) -+ | Pexp_newtype of string loc * expression -+ (* fun (type t) -> E *) -+ | Pexp_pack of module_expr -+ (* (module ME) -+ -+ (module ME : S) is represented as -+ Pexp_constraint(Pexp_pack, Ptyp_package S) *) -+ | Pexp_open of override_flag * Longident.t loc * expression -+ (* M.(E) -+ let open M in E -+ let! open M in E *) -+ | Pexp_extension of extension -+ (* [%id] *) -+ | Pexp_unreachable -+ (* . *) -+ -+and case = (* (P -> E) or (P when E0 -> E) *) -+ { -+ pc_lhs: pattern; -+ pc_guard: expression option; -+ pc_rhs: expression; -+ } -+ -+(* Value descriptions *) -+ -+and value_description = -+ { -+ pval_name: string loc; -+ pval_type: core_type; -+ pval_prim: string list; -+ pval_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ pval_loc: Location.t; -+ } -+ -+(* -+ val x: T (prim = []) -+ external x: T = "s1" ... "sn" (prim = ["s1";..."sn"]) -+*) -+ -+(* Type declarations *) -+ -+and type_declaration = -+ { -+ ptype_name: string loc; -+ ptype_params: (core_type * variance) list; -+ (* ('a1,...'an) t; None represents _*) -+ ptype_cstrs: (core_type * core_type * Location.t) list; -+ (* ... constraint T1=T1' ... constraint Tn=Tn' *) -+ ptype_kind: type_kind; -+ ptype_private: private_flag; (* = private ... *) -+ ptype_manifest: core_type option; (* = T *) -+ ptype_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ ptype_loc: Location.t; -+ } -+ -+(* -+ type t (abstract, no manifest) -+ type t = T0 (abstract, manifest=T0) -+ type t = C of T | ... (variant, no manifest) -+ type t = T0 = C of T | ... (variant, manifest=T0) -+ type t = {l: T; ...} (record, no manifest) -+ type t = T0 = {l : T; ...} (record, manifest=T0) -+ type t = .. (open, no manifest) -+*) -+ -+and type_kind = -+ | Ptype_abstract -+ | Ptype_variant of constructor_declaration list -+ | Ptype_record of label_declaration list -+ (* Invariant: non-empty list *) -+ | Ptype_open -+ -+and label_declaration = -+ { -+ pld_name: string loc; -+ pld_mutable: mutable_flag; -+ pld_type: core_type; -+ pld_loc: Location.t; -+ pld_attributes: attributes; (* l : T [@id1] [@id2] *) -+ } -+ -+(* { ...; l: T; ... } (mutable=Immutable) -+ { ...; mutable l: T; ... } (mutable=Mutable) -+ -+ Note: T can be a Ptyp_poly. -+*) -+ -+and constructor_declaration = -+ { -+ pcd_name: string loc; -+ pcd_args: constructor_arguments; -+ pcd_res: core_type option; -+ pcd_loc: Location.t; -+ pcd_attributes: attributes; (* C of ... [@id1] [@id2] *) -+ } -+ -+and constructor_arguments = -+ | Pcstr_tuple of core_type list -+ | Pcstr_record of label_declaration list -+ -+(* -+ | C of T1 * ... * Tn (res = None, args = Pcstr_tuple []) -+ | C: T0 (res = Some T0, args = []) -+ | C: T1 * ... * Tn -> T0 (res = Some T0, args = Pcstr_tuple) -+ | C of {...} (res = None, args = Pcstr_record) -+ | C: {...} -> T0 (res = Some T0, args = Pcstr_record) -+ | C of {...} as t (res = None, args = Pcstr_record) -+*) -+ -+and type_extension = -+ { -+ ptyext_path: Longident.t loc; -+ ptyext_params: (core_type * variance) list; -+ ptyext_constructors: extension_constructor list; -+ ptyext_private: private_flag; -+ ptyext_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ } -+(* -+ type t += ... -+*) -+ -+and extension_constructor = -+ { -+ pext_name: string loc; -+ pext_kind : extension_constructor_kind; -+ pext_loc : Location.t; -+ pext_attributes: attributes; (* C of ... [@id1] [@id2] *) -+ } -+ -+and extension_constructor_kind = -+ Pext_decl of constructor_arguments * core_type option -+ (* -+ | C of T1 * ... * Tn ([T1; ...; Tn], None) -+ | C: T0 ([], Some T0) -+ | C: T1 * ... * Tn -> T0 ([T1; ...; Tn], Some T0) -+ *) -+ | Pext_rebind of Longident.t loc -+ (* -+ | C = D -+ *) -+ -+(** {1 Class language} *) -+ -+(* Type expressions for the class language *) -+ -+and class_type = -+ { -+ pcty_desc: class_type_desc; -+ pcty_loc: Location.t; -+ pcty_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and class_type_desc = -+ | Pcty_constr of Longident.t loc * core_type list -+ (* c -+ ['a1, ..., 'an] c *) -+ | Pcty_signature of class_signature -+ (* object ... end *) -+ | Pcty_arrow of arg_label * core_type * class_type -+ (* T -> CT Simple -+ ~l:T -> CT Labelled l -+ ?l:T -> CT Optional l -+ *) -+ | Pcty_extension of extension -+ (* [%id] *) -+ | Pcty_open of override_flag * Longident.t loc * class_type -+ (* let open M in CT *) -+ -+and class_signature = -+ { -+ pcsig_self: core_type; -+ pcsig_fields: class_type_field list; -+ } -+(* object('selfpat) ... end -+ object ... end (self = Ptyp_any) -+ *) -+ -+and class_type_field = -+ { -+ pctf_desc: class_type_field_desc; -+ pctf_loc: Location.t; -+ pctf_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ } -+ -+and class_type_field_desc = -+ | Pctf_inherit of class_type -+ (* inherit CT *) -+ | Pctf_val of (label loc * mutable_flag * virtual_flag * core_type) -+ (* val x: T *) -+ | Pctf_method of (label loc * private_flag * virtual_flag * core_type) -+ (* method x: T -+ -+ Note: T can be a Ptyp_poly. -+ *) -+ | Pctf_constraint of (core_type * core_type) -+ (* constraint T1 = T2 *) -+ | Pctf_attribute of attribute -+ (* [@@@id] *) -+ | Pctf_extension of extension -+ (* [%%id] *) -+ -+and 'a class_infos = -+ { -+ pci_virt: virtual_flag; -+ pci_params: (core_type * variance) list; -+ pci_name: string loc; -+ pci_expr: 'a; -+ pci_loc: Location.t; -+ pci_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ } -+(* class c = ... -+ class ['a1,...,'an] c = ... -+ class virtual c = ... -+ -+ Also used for "class type" declaration. -+*) -+ -+and class_description = class_type class_infos -+ -+and class_type_declaration = class_type class_infos -+ -+(* Value expressions for the class language *) -+ -+and class_expr = -+ { -+ pcl_desc: class_expr_desc; -+ pcl_loc: Location.t; -+ pcl_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and class_expr_desc = -+ | Pcl_constr of Longident.t loc * core_type list -+ (* c -+ ['a1, ..., 'an] c *) -+ | Pcl_structure of class_structure -+ (* object ... end *) -+ | Pcl_fun of arg_label * expression option * pattern * class_expr -+ (* fun P -> CE (Simple, None) -+ fun ~l:P -> CE (Labelled l, None) -+ fun ?l:P -> CE (Optional l, None) -+ fun ?l:(P = E0) -> CE (Optional l, Some E0) -+ *) -+ | Pcl_apply of class_expr * (arg_label * expression) list -+ (* CE ~l1:E1 ... ~ln:En -+ li can be empty (non labeled argument) or start with '?' -+ (optional argument). -+ -+ Invariant: n > 0 -+ *) -+ | Pcl_let of rec_flag * value_binding list * class_expr -+ (* let P1 = E1 and ... and Pn = EN in CE (flag = Nonrecursive) -+ let rec P1 = E1 and ... and Pn = EN in CE (flag = Recursive) -+ *) -+ | Pcl_constraint of class_expr * class_type -+ (* (CE : CT) *) -+ | Pcl_extension of extension -+ (* [%id] *) -+ | Pcl_open of override_flag * Longident.t loc * class_expr -+ (* let open M in CE *) -+ -+ -+and class_structure = -+ { -+ pcstr_self: pattern; -+ pcstr_fields: class_field list; -+ } -+(* object(selfpat) ... end -+ object ... end (self = Ppat_any) -+ *) -+ -+and class_field = -+ { -+ pcf_desc: class_field_desc; -+ pcf_loc: Location.t; -+ pcf_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ } -+ -+and class_field_desc = -+ | Pcf_inherit of override_flag * class_expr * string loc option -+ (* inherit CE -+ inherit CE as x -+ inherit! CE -+ inherit! CE as x -+ *) -+ | Pcf_val of (label loc * mutable_flag * class_field_kind) -+ (* val x = E -+ val virtual x: T -+ *) -+ | Pcf_method of (label loc * private_flag * class_field_kind) -+ (* method x = E (E can be a Pexp_poly) -+ method virtual x: T (T can be a Ptyp_poly) -+ *) -+ | Pcf_constraint of (core_type * core_type) -+ (* constraint T1 = T2 *) -+ | Pcf_initializer of expression -+ (* initializer E *) -+ | Pcf_attribute of attribute -+ (* [@@@id] *) -+ | Pcf_extension of extension -+ (* [%%id] *) -+ -+and class_field_kind = -+ | Cfk_virtual of core_type -+ | Cfk_concrete of override_flag * expression -+ -+and class_declaration = class_expr class_infos -+ -+(** {1 Module language} *) -+ -+(* Type expressions for the module language *) -+ -+and module_type = -+ { -+ pmty_desc: module_type_desc; -+ pmty_loc: Location.t; -+ pmty_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and module_type_desc = -+ | Pmty_ident of Longident.t loc -+ (* S *) -+ | Pmty_signature of signature -+ (* sig ... end *) -+ | Pmty_functor of string loc * module_type option * module_type -+ (* functor(X : MT1) -> MT2 *) -+ | Pmty_with of module_type * with_constraint list -+ (* MT with ... *) -+ | Pmty_typeof of module_expr -+ (* module type of ME *) -+ | Pmty_extension of extension -+ (* [%id] *) -+ | Pmty_alias of Longident.t loc -+ (* (module M) *) -+ -+and signature = signature_item list -+ -+and signature_item = -+ { -+ psig_desc: signature_item_desc; -+ psig_loc: Location.t; -+ } -+ -+and signature_item_desc = -+ | Psig_value of value_description -+ (* -+ val x: T -+ external x: T = "s1" ... "sn" -+ *) -+ | Psig_type of rec_flag * type_declaration list -+ (* type t1 = ... and ... and tn = ... *) -+ | Psig_typext of type_extension -+ (* type t1 += ... *) -+ | Psig_exception of extension_constructor -+ (* exception C of T *) -+ | Psig_module of module_declaration -+ (* module X : MT *) -+ | Psig_recmodule of module_declaration list -+ (* module rec X1 : MT1 and ... and Xn : MTn *) -+ | Psig_modtype of module_type_declaration -+ (* module type S = MT -+ module type S *) -+ | Psig_open of open_description -+ (* open X *) -+ | Psig_include of include_description -+ (* include MT *) -+ | Psig_class of class_description list -+ (* class c1 : ... and ... and cn : ... *) -+ | Psig_class_type of class_type_declaration list -+ (* class type ct1 = ... and ... and ctn = ... *) -+ | Psig_attribute of attribute -+ (* [@@@id] *) -+ | Psig_extension of extension * attributes -+ (* [%%id] *) -+ -+and module_declaration = -+ { -+ pmd_name: string loc; -+ pmd_type: module_type; -+ pmd_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ pmd_loc: Location.t; -+ } -+(* S : MT *) -+ -+and module_type_declaration = -+ { -+ pmtd_name: string loc; -+ pmtd_type: module_type option; -+ pmtd_attributes: attributes; (* ... [@@id1] [@@id2] *) -+ pmtd_loc: Location.t; -+ } -+(* S = MT -+ S (abstract module type declaration, pmtd_type = None) -+*) -+ -+and open_description = -+ { -+ popen_lid: Longident.t loc; -+ popen_override: override_flag; -+ popen_loc: Location.t; -+ popen_attributes: attributes; -+ } -+(* open! X - popen_override = Override (silences the 'used identifier -+ shadowing' warning) -+ open X - popen_override = Fresh -+ *) -+ -+and 'a include_infos = -+ { -+ pincl_mod: 'a; -+ pincl_loc: Location.t; -+ pincl_attributes: attributes; -+ } -+ -+and include_description = module_type include_infos -+(* include MT *) -+ -+and include_declaration = module_expr include_infos -+(* include ME *) -+ -+and with_constraint = -+ | Pwith_type of Longident.t loc * type_declaration -+ (* with type X.t = ... -+ -+ Note: the last component of the longident must match -+ the name of the type_declaration. *) -+ | Pwith_module of Longident.t loc * Longident.t loc -+ (* with module X.Y = Z *) -+ | Pwith_typesubst of Longident.t loc * type_declaration -+ (* with type X.t := ..., same format as [Pwith_type] *) -+ | Pwith_modsubst of Longident.t loc * Longident.t loc -+ (* with module X.Y := Z *) -+ -+(* Value expressions for the module language *) -+ -+and module_expr = -+ { -+ pmod_desc: module_expr_desc; -+ pmod_loc: Location.t; -+ pmod_attributes: attributes; (* ... [@id1] [@id2] *) -+ } -+ -+and module_expr_desc = -+ | Pmod_ident of Longident.t loc -+ (* X *) -+ | Pmod_structure of structure -+ (* struct ... end *) -+ | Pmod_functor of string loc * module_type option * module_expr -+ (* functor(X : MT1) -> ME *) -+ | Pmod_apply of module_expr * module_expr -+ (* ME1(ME2) *) -+ | Pmod_constraint of module_expr * module_type -+ (* (ME : MT) *) -+ | Pmod_unpack of expression -+ (* (val E) *) -+ | Pmod_extension of extension -+ (* [%id] *) -+ -+and structure = structure_item list -+ -+and structure_item = -+ { -+ pstr_desc: structure_item_desc; -+ pstr_loc: Location.t; -+ } -+ -+and structure_item_desc = -+ | Pstr_eval of expression * attributes -+ (* E *) -+ | Pstr_value of rec_flag * value_binding list -+ (* let P1 = E1 and ... and Pn = EN (flag = Nonrecursive) -+ let rec P1 = E1 and ... and Pn = EN (flag = Recursive) -+ *) -+ | Pstr_primitive of value_description -+ (* val x: T -+ external x: T = "s1" ... "sn" *) -+ | Pstr_type of rec_flag * type_declaration list -+ (* type t1 = ... and ... and tn = ... *) -+ | Pstr_typext of type_extension -+ (* type t1 += ... *) -+ | Pstr_exception of extension_constructor -+ (* exception C of T -+ exception C = M.X *) -+ | Pstr_module of module_binding -+ (* module X = ME *) -+ | Pstr_recmodule of module_binding list -+ (* module rec X1 = ME1 and ... and Xn = MEn *) -+ | Pstr_modtype of module_type_declaration -+ (* module type S = MT *) -+ | Pstr_open of open_description -+ (* open X *) -+ | Pstr_class of class_declaration list -+ (* class c1 = ... and ... and cn = ... *) -+ | Pstr_class_type of class_type_declaration list -+ (* class type ct1 = ... and ... and ctn = ... *) -+ | Pstr_include of include_declaration -+ (* include ME *) -+ | Pstr_attribute of attribute -+ (* [@@@id] *) -+ | Pstr_extension of extension * attributes -+ (* [%%id] *) -+ -+and value_binding = -+ { -+ pvb_pat: pattern; -+ pvb_expr: expression; -+ pvb_attributes: attributes; -+ pvb_loc: Location.t; -+ } -+ -+and module_binding = -+ { -+ pmb_name: string loc; -+ pmb_expr: module_expr; -+ pmb_attributes: attributes; -+ pmb_loc: Location.t; -+ } -+(* X = ME *) -+ -+(** {1 Toplevel} *) -+ -+(* Toplevel phrases *) -+ -+type toplevel_phrase = -+ | Ptop_def of structure -+ | Ptop_dir of string * directive_argument -+ (* #use, #load ... *) -+ -+and directive_argument = -+ | Pdir_none -+ | Pdir_string of string -+ | Pdir_int of string * char option -+ | Pdir_ident of Longident.t -+ | Pdir_bool of bool -diff --git a/ocaml_stuff/4.07.0/utils/.depend b/ocaml_stuff/4.07.0/utils/.depend -new file mode 100644 -index 00000000..b261ffe0 ---- /dev/null -+++ b/ocaml_stuff/4.07.0/utils/.depend -@@ -0,0 +1,2 @@ -+pconfig.cmo: pconfig.cmi -+pconfig.cmx: pconfig.cmi -diff --git a/ocaml_stuff/4.07.0/utils/.gitignore b/ocaml_stuff/4.07.0/utils/.gitignore -new file mode 100644 -index 00000000..23e90de9 ---- /dev/null -+++ b/ocaml_stuff/4.07.0/utils/.gitignore -@@ -0,0 +1 @@ -+*.cm[oix] -diff --git a/ocaml_stuff/4.07.0/utils/Makefile b/ocaml_stuff/4.07.0/utils/Makefile -new file mode 100644 -index 00000000..f4ea2816 ---- /dev/null -+++ b/ocaml_stuff/4.07.0/utils/Makefile -@@ -0,0 +1,27 @@ -+# Makefile,v -+ -+FILES=warnings.cmi pconfig.cmo -+INCL= -+ -+all: $(FILES) -+ -+opt: pconfig.cmx -+ -+clean: -+ rm -f *.cm[oix] *.o -+ -+depend: -+ ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend -+ -+.SUFFIXES: .mli .cmi .ml .cmo .cmx -+ -+.mli.cmi: -+ $(OCAMLN)c $(INCL) -c $< -+ -+.ml.cmo: -+ $(OCAMLN)c $(INCL) -c $< -+ -+.ml.cmx: -+ $(OCAMLN)opt $(INCL) -c $< -+ -+include .depend -diff --git a/ocaml_stuff/4.07.0/utils/pconfig.ml b/ocaml_stuff/4.07.0/utils/pconfig.ml -new file mode 100644 -index 00000000..57a60ed5 ---- /dev/null -+++ b/ocaml_stuff/4.07.0/utils/pconfig.ml -@@ -0,0 +1,2 @@ -+let ast_impl_magic_number = "Caml1999M023" -+let ast_intf_magic_number = "Caml1999N023" -diff --git a/ocaml_stuff/4.07.0/utils/pconfig.mli b/ocaml_stuff/4.07.0/utils/pconfig.mli -new file mode 100644 -index 00000000..6a2af67d ---- /dev/null -+++ b/ocaml_stuff/4.07.0/utils/pconfig.mli -@@ -0,0 +1,2 @@ -+val ast_impl_magic_number : string -+val ast_intf_magic_number : string -diff --git a/ocaml_stuff/4.07.0/utils/warnings.mli b/ocaml_stuff/4.07.0/utils/warnings.mli -new file mode 100644 -index 00000000..1171f8b3 ---- /dev/null -+++ b/ocaml_stuff/4.07.0/utils/warnings.mli -@@ -0,0 +1,118 @@ -+(**************************************************************************) -+(* *) -+(* OCaml *) -+(* *) -+(* Pierre Weis && Damien Doligez, INRIA Rocquencourt *) -+(* *) -+(* Copyright 1998 Institut National de Recherche en Informatique et *) -+(* en Automatique. *) -+(* *) -+(* All rights reserved. This file is distributed under the terms of *) -+(* the GNU Lesser General Public License version 2.1, with the *) -+(* special exception on linking described in the file LICENSE. *) -+(* *) -+(**************************************************************************) -+ -+type loc = { -+ loc_start: Lexing.position; -+ loc_end: Lexing.position; -+ loc_ghost: bool; -+} -+ -+type t = -+ | Comment_start (* 1 *) -+ | Comment_not_end (* 2 *) -+ | Deprecated of string * loc * loc (* 3 *) -+ | Fragile_match of string (* 4 *) -+ | Partial_application (* 5 *) -+ | Labels_omitted of string list (* 6 *) -+ | Method_override of string list (* 7 *) -+ | Partial_match of string (* 8 *) -+ | Non_closed_record_pattern of string (* 9 *) -+ | Statement_type (* 10 *) -+ | Unused_match (* 11 *) -+ | Unused_pat (* 12 *) -+ | Instance_variable_override of string list (* 13 *) -+ | Illegal_backslash (* 14 *) -+ | Implicit_public_methods of string list (* 15 *) -+ | Unerasable_optional_argument (* 16 *) -+ | Undeclared_virtual_method of string (* 17 *) -+ | Not_principal of string (* 18 *) -+ | Without_principality of string (* 19 *) -+ | Unused_argument (* 20 *) -+ | Nonreturning_statement (* 21 *) -+ | Preprocessor of string (* 22 *) -+ | Useless_record_with (* 23 *) -+ | Bad_module_name of string (* 24 *) -+ | All_clauses_guarded (* 8, used to be 25 *) -+ | Unused_var of string (* 26 *) -+ | Unused_var_strict of string (* 27 *) -+ | Wildcard_arg_to_constant_constr (* 28 *) -+ | Eol_in_string (* 29 *) -+ | Duplicate_definitions of string * string * string * string (* 30 *) -+ | Multiple_definition of string * string * string (* 31 *) -+ | Unused_value_declaration of string (* 32 *) -+ | Unused_open of string (* 33 *) -+ | Unused_type_declaration of string (* 34 *) -+ | Unused_for_index of string (* 35 *) -+ | Unused_ancestor of string (* 36 *) -+ | Unused_constructor of string * bool * bool (* 37 *) -+ | Unused_extension of string * bool * bool * bool (* 38 *) -+ | Unused_rec_flag (* 39 *) -+ | Name_out_of_scope of string * string list * bool (* 40 *) -+ | Ambiguous_name of string list * string list * bool (* 41 *) -+ | Disambiguated_name of string (* 42 *) -+ | Nonoptional_label of string (* 43 *) -+ | Open_shadow_identifier of string * string (* 44 *) -+ | Open_shadow_label_constructor of string * string (* 45 *) -+ | Bad_env_variable of string * string (* 46 *) -+ | Attribute_payload of string * string (* 47 *) -+ | Eliminated_optional_arguments of string list (* 48 *) -+ | No_cmi_file of string * string option (* 49 *) -+ | Bad_docstring of bool (* 50 *) -+ | Expect_tailcall (* 51 *) -+ | Fragile_literal_pattern (* 52 *) -+ | Misplaced_attribute of string (* 53 *) -+ | Duplicated_attribute of string (* 54 *) -+ | Inlining_impossible of string (* 55 *) -+ | Unreachable_case (* 56 *) -+ | Ambiguous_pattern of string list (* 57 *) -+ | No_cmx_file of string (* 58 *) -+ | Assignment_to_non_mutable_value (* 59 *) -+ | Unused_module of string (* 60 *) -+ | Unboxable_type_in_prim_decl of string (* 61 *) -+ | Constraint_on_gadt (* 62 *) -+;; -+ -+val parse_options : bool -> string -> unit;; -+ -+val without_warnings : (unit -> 'a) -> 'a -+ -+val is_active : t -> bool;; -+val is_error : t -> bool;; -+ -+val defaults_w : string;; -+val defaults_warn_error : string;; -+ -+type reporting_information = -+ { number : int -+ ; message : string -+ ; is_error : bool -+ ; sub_locs : (loc * string) list; -+ } -+ -+val report : t -> [ `Active of reporting_information | `Inactive ] -+ -+exception Errors;; -+ -+val check_fatal : unit -> unit;; -+val reset_fatal: unit -> unit -+ -+val help_warnings: unit -> unit -+ -+type state -+val backup: unit -> state -+val restore: state -> unit -+val mk_lazy: (unit -> 'a) -> 'a Lazy.t -+ (** Like [Lazy.of_fun], but the function is applied with -+ the warning settings at the time [mk_lazy] is called. *) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 0b816a0..c299115 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -4,22 +4,21 @@ %endif Name: ocaml-camlp5 -Version: 7.05 -Release: 8%{?dist} +Version: 7.08 +Release: 0.1.git9b9eb124c%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD URL: https://camlp5.github.io/ -Source0: https://github.com/camlp5/camlp5/archive/rel705.tar.gz +#Source0: https://github.com/camlp5/camlp5/archive/rel700.tar.gz +# Constructed using: +# git archive --format=tar --prefix=camlp5-7.07/ HEAD | gzip > /var/tmp/camlp5-7.07-git9b9eb124c.tar.gz +Source0: camlp5-7.07-git9b9eb124c.tar.gz # Kill -warn-error A Patch0: camlp5-6.11-kill-warn-error.patch -# Patch to add support for OCaml 4.07. -# https://github.com/camlp5/camlp5/issues/22 -Patch1: 194223346be22fa602594897a281d7eb4f3f1b1e.patch - BuildRequires: ocaml BuildRequires: ocaml-ocamldoc @@ -47,10 +46,9 @@ developing applications that use %{name}. %prep -%setup -q -n camlp5-rel705 -find . -name .gitignore -delete +%setup -q -n camlp5-7.07 %patch0 -p1 -%patch1 -p1 +find . -name .gitignore -delete # Build with debug information sed -i 's,WARNERR="",WARNERR="-g",' configure @@ -71,11 +69,11 @@ ulimit -a ulimit -Hs 65536 ulimit -Ss 65536 %endif -make world.opt +make %{_smp_mflags} world.opt %else -make world +make %{_smp_mflags} world %endif -make -C doc/htmlp +make -C doc/htmlp -j1 %install mkdir -p $RPM_BUILD_ROOT%{_libdir}/ocaml @@ -117,6 +115,10 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Thu Jun 27 2019 Richard W.M. Jones - 7.08-0.1 +- Update to prerelease of 7.08 which will support OCaml 4.08. +- Enable parallel builds. + * Mon Apr 29 2019 Richard W.M. Jones - 7.05-8 - Bump release and rebuild. diff --git a/sources b/sources index 78aa445..b4231e5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rel705.tar.gz) = fed60b71884883b78ae6db6f72230d155c364633141dfa936b5defc9701629b4c4845b61b43cfd8f0bc85467c5713f48659e5809796e181dcf02dc051d266762 +SHA512 (camlp5-7.07-git9b9eb124c.tar.gz) = 227c9a58f9b70e8b6ada6eb67b151da4feb2b90d06d040d40bb28f492b16b9800a3cfc513b52c8f6d518b003d653091a1e87b93ea5f3c6a865358c9fbb82d522 From beab619d9569c8c6cd04a8e120e3203d93915869 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 27 Jun 2019 19:58:54 +0100 Subject: [PATCH 76/79] OCaml 4.08.0 (final) rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index c299115..cda201e 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.08 -Release: 0.1.git9b9eb124c%{?dist} +Release: 0.2.git9b9eb124c%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -115,6 +115,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Thu Jun 27 2019 Richard W.M. Jones - 7.08-0.2.git9b9eb124c +- OCaml 4.08.0 (final) rebuild. + * Thu Jun 27 2019 Richard W.M. Jones - 7.08-0.1 - Update to prerelease of 7.08 which will support OCaml 4.08. - Enable parallel builds. From ba2fd7ea9bc4b5ce1636b737ad95786970a40ade Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jul 2019 22:49:40 +0000 Subject: [PATCH 77/79] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index cda201e..cf81885 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.08 -Release: 0.2.git9b9eb124c%{?dist} +Release: 0.3.git9b9eb124c%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -115,6 +115,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Thu Jul 25 2019 Fedora Release Engineering - 7.08-0.3.git9b9eb124c +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Thu Jun 27 2019 Richard W.M. Jones - 7.08-0.2.git9b9eb124c - OCaml 4.08.0 (final) rebuild. From 2ba6cd32b763b379e5fa06b88ade7bf170d75f05 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 31 Jul 2019 18:03:49 +0100 Subject: [PATCH 78/79] OCaml 4.08.1 (rc2) rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index cf81885..6fe6d65 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.08 -Release: 0.3.git9b9eb124c%{?dist} +Release: 0.4.git9b9eb124c%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -115,6 +115,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Wed Jul 31 2019 Richard W.M. Jones - 7.08-0.4.git9b9eb124c +- OCaml 4.08.1 (rc2) rebuild. + * Thu Jul 25 2019 Fedora Release Engineering - 7.08-0.3.git9b9eb124c - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 1e023e88011a4eaf25d93c10e3a0f3a4fc303f19 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 16 Aug 2019 15:34:41 +0100 Subject: [PATCH 79/79] OCaml 4.08.1 (final) rebuild. --- ocaml-camlp5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec index 6fe6d65..9ad5059 100644 --- a/ocaml-camlp5.spec +++ b/ocaml-camlp5.spec @@ -5,7 +5,7 @@ Name: ocaml-camlp5 Version: 7.08 -Release: 0.4.git9b9eb124c%{?dist} +Release: 0.5.git9b9eb124c%{?dist} Summary: Classical version of camlp4 OCaml preprocessor License: BSD @@ -115,6 +115,9 @@ rm -f doc/htmlp/{*.sh,Makefile,html2*} %changelog +* Fri Aug 16 2019 Richard W.M. Jones - 7.08-0.5.git9b9eb124c +- OCaml 4.08.1 (final) rebuild. + * Wed Jul 31 2019 Richard W.M. Jones - 7.08-0.4.git9b9eb124c - OCaml 4.08.1 (rc2) rebuild.