xmlt/csvt/sexpt: rebind exception as Xmlt.Error/Csvt.Error/Sexp(t).Error
OCaml's exception rebinding (exception Error = Textloc.Error in the .ml,
matching a fresh exception Error of Error.t declaration in the .mli)
lets consumers write:
try ... with Xmlt.Error e -> ...
try ... with Csvt.Error e -> ...
try ... with Sexp.Error e -> ...
try ... with Sexpt.Error e -> ...
rather than the verbose Xmlt.Textloc.Error. At link time these are
all the same exception constructor as Textloc.Error, so cross-package
error propagation still works.
Downstream fixes:
- merlint/lib/dune: drop textloc (reachable via Sexp).
- merlint/lib/dune.ml: catch Sexp.Error instead of Textloc.Error.
- ocaml-s3/lib/s3.ml: Xmlt.Meta.none instead of Textloc.Meta.none.
- ocaml-sexpt/test/dune: drop textloc (reachable via Sexp / Sexpt).
- ocaml-sexpt/test/test_sexp.ml and test_sexpt.ml: use Sexp.Textloc /
Sexpt.Textloc (and their submodules) rather than bare Textloc.
No code outside ocaml-textloc, ocaml-xmlt, ocaml-csvt, ocaml-sexpt,
ocaml-yamlt now depends on textloc directly. All 334 tests pass.