- Changes `Sexp.to_string` to escape all non-ASCII characters.
Previously chars >= 127 are escaped or not depending on:
1. other character in the string
2. the system
3. environment variable settings
(2) and (3) are because `String.escaped` from the stdlib uses the C
function `isprint` which is locale and OS dependent.
This can cause invalid UTF-8 sequence to be printed by sexplib, which
is annoying:
https://github.com/janestreet/sexplib/issues/18
Starting with this release, sexplib:
1. copies the `String.escaped` function of OCaml 4.03 which escapes
all non-ascii characters
2. make sure we escape the string when it contains characters >= 127
- Clean up the documentation for sexplib, modernizing it to include
`ppx_sexp_conv`, and breaking up the documentation between sexplib and
`ppx_sexp_conv`. Also changed the formatting to use org-mode, so it
will render properly on github. Markdown doesn't render well by
default, unless you use quite different conventions about linebeaks.
- In sexp macro library, avoid returning success when there is any error
reading a sexp. In particular, this prevents
sexp resolve <(echo '(:use x)')
from silently succeeding.
Also, now we no longer read an included file multiple times.
This lets even crazy stuff like this to work:
$ echo 'hi ' | sexp resolve <(echo '((:include /dev/stdin) (:include /dev/stdin))')
Switch code in lib subdir to ppx-style.
Inline some calls that js_of_ocaml was unable to recognise as tail-recursive
(cf. issue 14)
Minor update: documentation.
Added sexp_of_ support for GADTs, and remove the not-quite-working support
for of_sexp.
Improved the implementation of Exn.sexp_of_t, using the unique id in
exceptions in OCaml 4.02.
We use the identifier to map exception constructors to converters.
ocaml.mk. It was becoming more trouble than it was worth: only a minority
of packages used it, and it only made Makefiles more confusing.
(I've left out some packages: these will be updated forthwith)
Issues found with existing distfiles:
distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
distfiles/fortran-utils-1.1.tar.gz
distfiles/ivykis-0.39.tar.gz
distfiles/enum-1.11.tar.gz
distfiles/pvs-3.2-libraries.tgz
distfiles/pvs-3.2-linux.tgz
distfiles/pvs-3.2-solaris.tgz
distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.