fix: handle utf8 characters in the dune files(#9728)#10113
fix: handle utf8 characters in the dune files(#9728)#10113emillon merged 5 commits intoocaml:mainfrom
Conversation
920470b to
4f73860
Compare
|
Why do we need to copy paste code from the stdlib? |
No need, we could write our own functions. But I did this because I used functions introduced in OCaml.4.14 (later version). |
|
The issue isn’t the copy pasting of some code itself, it’s just that I think we’re copying too much. Don’t we already have a subset of Uchar present since our minimum version is 4.08? Could we just add only the code we need?
… On Feb 22, 2024, at 11:15 AM, Alpha Issiaga DIALLO ***@***.***> wrote:
Why do we need to copy paste code from the stdlib?
No need, we could write our own functions. But I did this because I used functions introduced in OCaml.4.14 (later version).
—
Reply to this email directly, view it on GitHub <#10113 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AABB56Z5TEQ43NYGCIMYW3DYU6KOJAVCNFSM6AAAAABDU5EZVOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRQGA4TEMBVGE>.
You are receiving this because you commented.
|
|
I've just tested |
|
Indeed |
4f73860 to
0907f5f
Compare
|
The copy paste is removed and |
0907f5f to
2b45467
Compare
|
It's a bit sad, but this PR has a non trivial increase in pressure on the GC. Since this fix only affects a tiny fraction of users, is it possible to implement this in a less intrusive way? |
|
Yes it is possible. I'll try to fix it. |
|
I don't think that the lexer changes are useful for this change. Just changing |
I get it but it won't be coherent, accepting utf8 char and printing escaped characters. |
f255718 to
509b6f5
Compare
It's fixed. |
emillon
left a comment
There was a problem hiding this comment.
this will also require a changelog entry
509b6f5 to
1d34180
Compare
The changelog entry added. |
|
Thanks. I'll adapt the API so that it's more in line with the stdlib API and thus easier to remove later. |
1d34180 to
b52cef4
Compare
b52cef4 to
8cb27fc
Compare
Signed-off-by: Alpha DIALLO <moyodiallo@gmail.com> Signed-off-by: Etienne Millon <me@emillon.org>
Signed-off-by: Alpha DIALLO <moyodiallo@gmail.com> Signed-off-by: Etienne Millon <me@emillon.org>
8cb27fc to
f413a42
Compare
|
I tried to use the stdlib way, but doing so and adding polyfills for 4.08 meant that stdune would depend on |
|
@rgrinberg is the library structure ( |
rgrinberg
left a comment
There was a problem hiding this comment.
Seems fine to me. Make sure to double check the benchmarks before merging.
|
Benchmarks look good so I'm merging this, thanks. |
CHANGES: ### Added - Add link flags to to `ocamlmklib` for ctypes stubs (ocaml/dune#8784, @frejsoya) - Remove some unnecessary limitations in the expansions of percent forms in install stanza. For example, the `%{env:..}` form can be used to select files to be installed. (ocaml/dune#10160, @rgrinberg) - Allow artifact expansion percent forms (`%{cma:..}`, `%{cmo:..}`, etc.) in more contexts. Previously, they would be randomly forbidden in some fields. (ocaml/dune#10169, @rgrinberg) - Allow `%{inline_tests}` in more contexts (ocaml/dune#10191, @rgrinberg) - Remove limitations on percent forms in the `(enabled_if ..)` field of libraries (ocaml/dune#10250, @rgrinberg) - Support dialects in `dune describe pp` (ocaml/dune#10283, @emillon) - Allow defining executables or melange emit stanzas with the same name in the same folder under different contexts. (ocaml/dune#10220, @rgrinberg, @jchavarri) ### Fixed - coq: Delay Coq rule setup checks so OCaml-only packages can build in hybrid Coq/OCaml projects when `coqc` is not present. Thanks to @vzaliva for the test case and report (ocaml/dune#9845, fixes ocaml/dune#9818, @rgrinberg, @ejgallego) - Fix conditional source selection with `select` on `bigarray` in OCaml 5 (ocaml/dune#10011, @moyodiallo) - melange: fix inconsistency in virtual library implementation. Concrete modules within a virtual library can now refer to its virtual modules too (ocaml/dune#10051, fixes ocaml/dune#7104, @anmonteiro) - melange: fix a bug that would cause stale `import` paths to be emitted when moving source files within `(include_subdirs ..)` (ocaml/dune#10286, fixes ocaml/dune#9190, @anmonteiro) - Dune file formatting: output utf8 if input is correctly encoded (ocaml/dune#10113, fixes ocaml/dune#9728, @moyodiallo) - Fix expanding dependencies and locks specified in the cram stanza. Previously, they would be installed in the context of the cram test, rather than the cram stanza itself (ocaml/dune#10165, @rgrinberg) - Fix bug with `dune exec --watch` where the working directory would always be set to the project root rather than the directory where the command was run (ocaml/dune#10262, @gridbugs) - Regression fix: sign executables that are promoted into the source tree (ocaml/dune#10263, fixes ocaml/dune#9272, @emillon) - Fix crash when decoding dune-package for libraries with `(include_subdirs qualified)` (ocaml/dune#10269, fixes ocaml/dune#10264, @emillon) ### Changed - Remove the `--react-to-insignificant-changes` option. (ocaml/dune#10083, @rgrinberg)
CHANGES: ### Added - Add link flags to to `ocamlmklib` for ctypes stubs (ocaml/dune#8784, @frejsoya) - Remove some unnecessary limitations in the expansions of percent forms in install stanza. For example, the `%{env:..}` form can be used to select files to be installed. (ocaml/dune#10160, @rgrinberg) - Allow artifact expansion percent forms (`%{cma:..}`, `%{cmo:..}`, etc.) in more contexts. Previously, they would be randomly forbidden in some fields. (ocaml/dune#10169, @rgrinberg) - Allow `%{inline_tests}` in more contexts (ocaml/dune#10191, @rgrinberg) - Remove limitations on percent forms in the `(enabled_if ..)` field of libraries (ocaml/dune#10250, @rgrinberg) - Support dialects in `dune describe pp` (ocaml/dune#10283, @emillon) - Allow defining executables or melange emit stanzas with the same name in the same folder under different contexts. (ocaml/dune#10220, @rgrinberg, @jchavarri) ### Fixed - coq: Delay Coq rule setup checks so OCaml-only packages can build in hybrid Coq/OCaml projects when `coqc` is not present. Thanks to @vzaliva for the test case and report (ocaml/dune#9845, fixes ocaml/dune#9818, @rgrinberg, @ejgallego) - Fix conditional source selection with `select` on `bigarray` in OCaml 5 (ocaml/dune#10011, @moyodiallo) - melange: fix inconsistency in virtual library implementation. Concrete modules within a virtual library can now refer to its virtual modules too (ocaml/dune#10051, fixes ocaml/dune#7104, @anmonteiro) - melange: fix a bug that would cause stale `import` paths to be emitted when moving source files within `(include_subdirs ..)` (ocaml/dune#10286, fixes ocaml/dune#9190, @anmonteiro) - Dune file formatting: output utf8 if input is correctly encoded (ocaml/dune#10113, fixes ocaml/dune#9728, @moyodiallo) - Fix expanding dependencies and locks specified in the cram stanza. Previously, they would be installed in the context of the cram test, rather than the cram stanza itself (ocaml/dune#10165, @rgrinberg) - Fix bug with `dune exec --watch` where the working directory would always be set to the project root rather than the directory where the command was run (ocaml/dune#10262, @gridbugs) - Regression fix: sign executables that are promoted into the source tree (ocaml/dune#10263, fixes ocaml/dune#9272, @emillon) - Fix crash when decoding dune-package for libraries with `(include_subdirs qualified)` (ocaml/dune#10269, fixes ocaml/dune#10264, @emillon) ### Changed - Remove the `--react-to-insignificant-changes` option. (ocaml/dune#10083, @rgrinberg)
This PR is about principally handling utf8 characters in quoted strings.