Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release merlin (4.2-411/412 and 3.5.0) and dot-merlin-reader (3.5.0) #18494

Merged
merged 8 commits into from
Apr 14, 2021

Conversation

voodoos
Copy link
Contributor

@voodoos voodoos commented Apr 13, 2021

Project page: https://github.com/ocaml/merlin

CHANGES

v4.2-41X:

v3.5.0:

Tue Apr 12 11:44:22 AM CET 2021

CHANGES:

Tue Apr 12 11:44:22 AM CET 2021

  + merlin binary
    - external configuration reading:
      + use relative paths to communicate with Dune when possible. This solves
        issues related to symlinks on Unix and improve Windows support (ocaml/merlin#1271,
        fixes ocaml/merlin#1288)
      + make the `workdir` configuration value when using the
        `dune ocaml-merlin` configuration provider the same as when using
        `dot-merlin-reader` so that ppxes behaves in the same way as before
        (ocaml/merlin#1284, fixes ocaml/dune#4479, discussion in ocaml/merlin#1292)
    - destruct:
      + improve prefixing of generated constructors in Destruct by filtering
        opened modules (ocaml/merlin#1277)
      + make the destruct command more resilient to ill-typed expressions and
        when called without nodes (ocaml/merlin#1304, fixes ocaml/merlin#1300)
    - reintroduce some record recovery and improve completion (ocaml/merlin#1276)
    - introduce a new AST node for holes (`_`), allow correct typing of these
      holes and add a new `holes` command that returns the locations of all
      holes in the current file along with their types (ocaml/merlin#1242, ocaml/merlin#1289)
    - Mppx: don't restore cookies after invocation. Ppx are invoked only once
      so there is no need to manage cookies. This small change should increase
      performance and should not change any other behavior (ocaml/merlin#1309)
    - Windows: system command variant: do not open a window console when
      launching a ppx (ocaml/merlin#1270, fixes ocaml/merlin#714)
    - fix same file documentation bug (ocaml/merlin#1265 by @ulugbekna, fixes ocaml/merlin#1261)
  + editor modes
    - vim: Add `MerlinNextHole` and `MerlinPreviousHole` commands to navigate
      between holes. Jump to the first hole after destruct (ocaml/merlin#1287, ocaml/merlin#1303)
    - emacs: Add `merlin-next-hole` and `merlin-previous-hole` commands to
      navigate holes. Jump to the first hole after calling destruct. (ocaml/merlin#1291)
    - emacs: modernization of the elisp code and conformance with coding
      guidelines (ocaml/merlin#1247, ocaml/merlin#1310 by Steve Purcell )
    - vim & emacs : new client-side "merlin use package" commands, restoring
      previous behavior (ocaml/merlin#1272, fixes ocaml/merlin#1191)
  + test suite
    - cover constructor disambiguation and record fields (ocaml/merlin#1276)
    - cover the new `holes` command and AST node (ocaml/merlin#1242, ocaml/merlin#1289)
    - cover the document fix (ocaml/merlin#1265, ocaml/merlin#1315)
    CHANGES:

    Tue Apr 12 11:44:22 AM CET 2021

      + merlin binary
        - external configuration reading:
          + use relative paths to communicate with Dune when possible. This solves
            issues related to symlinks on Unix and improve Windows support (ocaml/merlin#1271,
            fixes ocaml/merlin#1288)
          + make the `workdir` configuration value when using the
            `dune ocaml-merlin` configuration provider the same as when using
            `dot-merlin-reader` so that ppxes behaves in the same way as before
            (ocaml/merlin#1284, fixes ocaml/dune#4479, discussion in ocaml/merlin#1292)
        - destruct:
          + improve prefixing of generated constructors in Destruct by filtering
            opened modules (ocaml/merlin#1277)
          + make the destruct command more resilient to ill-typed expressions and
            when called without nodes (ocaml/merlin#1304, fixes ocaml/merlin#1300)
        - reintroduce some record recovery and improve completion (ocaml/merlin#1276)
        - introduce a new AST node for holes (`_`), allow correct typing of these
          holes and add a new `holes` command that returns the locations of all
          holes in the current file along with their types (ocaml/merlin#1242, ocaml/merlin#1289)
        - Mppx: don't restore cookies after invocation. Ppx are invoked only once
          so there is no need to manage cookies. This small change should increase
          performance and should not change any other behavior (ocaml/merlin#1309)
        - Windows: system command variant: do not open a window console when
          launching a ppx (ocaml/merlin#1270, fixes ocaml/merlin#714)
        - fix same file documentation bug (ocaml/merlin#1265 by @ulugbekna, fixes ocaml/merlin#1261)
      + editor modes
        - vim: Add `MerlinNextHole` and `MerlinPreviousHole` commands to navigate
          between holes. Jump to the first hole after destruct (ocaml/merlin#1287, ocaml/merlin#1303)
        - emacs: Add `merlin-next-hole` and `merlin-previous-hole` commands to
          navigate holes. Jump to the first hole after calling destruct. (ocaml/merlin#1291)
        - emacs: modernization of the elisp code and conformance with coding
          guidelines (ocaml/merlin#1247, ocaml/merlin#1310 by Steve Purcell )
        - vim & emacs : new client-side "merlin use package" commands, restoring
          previous behavior (ocaml/merlin#1272, fixes ocaml/merlin#1191)
      + test suite
        - cover constructor disambiguation and record fields (ocaml/merlin#1276)
        - cover the new `holes` command and AST node (ocaml/merlin#1242, ocaml/merlin#1289)
        - cover the document fix (ocaml/merlin#1265, ocaml/merlin#1315)
CHANGES:

Tue Apr 12 11:44:22 AM CET 2021

  + merlin binary
    - external configuration reading:
      + use relative paths to communicate with Dune when possible. This solves
        issues related to symlinks on Unix and improve Windows support (ocaml/merlin#1271,
        fixes ocaml/merlin#1288)
      + make the `workdir` configuration value when using the
        `dune ocaml-merlin` configuration provider the same as when using
        `dot-merlin-reader` so that ppxes behaves in the same way as before
        (ocaml/merlin#1284, fixes ocaml/dune#4479, discussion in ocaml/merlin#1292)
    - destruct:  make the destruct command more resilient to ill-typed
      expressions and when called without nodes (ocaml/merlin#1304, fixes ocaml/merlin#1300)
    - Mppx: don't restore cookies after invocation. Ppx are invoked only once
      so there is no need to manage cookies. This small change should increase
      performance and should not change any other behavior (ocaml/merlin#1309)
    - windows:
      + system command variant: do not open a window console when
        launching a ppx (ocaml/merlin#1270, fixes ocaml/merlin#714)
      + fix Emacs hanging when starting Merlin (ocaml/merlin#1263)
      + fix path canonicalization (ocaml/merlin#1254)
    - fix same file documentation bug (ocaml/merlin#1265 by @ulugbekna, fixes ocaml/merlin#1261)
  + editor modes
    - emacs:
      + modernization of the elisp code and conformance with coding
        guidelines (ocaml/merlin#1247, ocaml/merlin#1310 by Steve Purcell )
      + use opam var where applicable (ocaml/merlin#1310)
      + fix "wrong number of argument" (ocaml/merlin#1250 by @atharvashukla, fixes ocaml/merlin#1234)
      + fix for Neovim's CursorMoved semantics (ocaml/merlin#1213 by @ddickstein)
    - vim & emacs : new client-side "merlin use package" commands, restoring
      previous behavior (ocaml/merlin#1272, fixes ocaml/merlin#1191)
  + test suite
    - cover the document fix (ocaml/merlin#1265, ocaml/merlin#1315)
@voodoos
Copy link
Contributor Author

voodoos commented Apr 13, 2021

Expected CI failures:

  • For 3.5.0 only OCamlCI-4.02 should fail, all other tests should pass all the time.
    (we did not find a solution to prevent OCI from installing test deps and running tests on 4.02 only.)

  • For 4.2-41X the random failures on tests typer-cache, file-cache and warnings-backtrack are still an issue (but should be fixed with Dune 2.9)

packages/dot-merlin-reader/dot-merlin-reader.3.5.0/opam Outdated Show resolved Hide resolved
packages/merlin/merlin.3.5.0/opam Outdated Show resolved Hide resolved
packages/merlin/merlin.4.2-411/opam Outdated Show resolved Hide resolved
packages/merlin/merlin.4.2-412/opam Outdated Show resolved Hide resolved
packages/dot-merlin-reader/dot-merlin-reader.3.5.0/opam Outdated Show resolved Hide resolved
@mseri
Copy link
Member

mseri commented Apr 13, 2021

Are the tests failures in the extras build related to the sandbox? (See https://opam.ci.ocaml.org/github/ocaml/opam-repository/commit/22e8ac056690645795d582ae4497a8acf54c112d)

Copy link
Member

@mseri mseri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The license field is missing. I have added MIT, which seems the one used in the repo. Can you double-check that this is correct, and upstream this change?

packages/merlin/merlin.4.2-412/opam Show resolved Hide resolved
packages/merlin/merlin.4.2-411/opam Show resolved Hide resolved
packages/merlin/merlin.3.5.0/opam Show resolved Hide resolved
voodoos and others added 4 commits April 13, 2021 14:25
Co-authored-by: Marcello Seri <mseri@users.noreply.github.com>
Co-authored-by: Marcello Seri <mseri@users.noreply.github.com>
Co-authored-by: Marcello Seri <mseri@users.noreply.github.com>
Co-authored-by: Marcello Seri <mseri@users.noreply.github.com>
@voodoos
Copy link
Contributor Author

voodoos commented Apr 13, 2021

Are the tests failures in the extras build related to the sandbox? (See https://opam.ci.ocaml.org/github/ocaml/opam-repository/commit/22e8ac056690645795d582ae4497a8acf54c112d)

I believe so, these tests are a bit fragile and I will rework them. I think they should not block the release.
What is exactly the difference between the extra jobs and the other ones ? I did not succeed in reproducing the failure on my machine: I have an unrelated error when copy/pasting the docker rules. Is there another way to reproduce these ?

The license field is missing. I have added MIT, which seems the one used in the repo. Can you double-check that this is correct, and upstream this change?

Will do, along with the other changes.

@voodoos
Copy link
Contributor Author

voodoos commented Apr 13, 2021

Running:
~/.opam/opam-init/hooks/sandbox.sh build dune runtest -p merlin,dot-merlin-reader

Pass on my setup...

@voodoos
Copy link
Contributor Author

voodoos commented Apr 13, 2021

I was able to reproduce with:
opam remove -y merlin && opam install -vyt merlin

@mseri
Copy link
Member

mseri commented Apr 13, 2021

Super, thanks! The failure on alpine is independent of this PR, so you can ignore it there. I am glad you could reproduce it locally, I agree that they should not make a difference.

I don't know if extra manual testing on BSD is needed in this case, so I wait for @kit-ty-kate and if it's not (or it's done), she will merge

@camelus
Copy link
Contributor

camelus commented Apr 13, 2021

Commit: 895cfa7

@voodoos has posted 14 contributions.

☀️ All lint checks passed 895cfa7
  • These packages passed lint tests: dot-merlin-reader.3.5.0, merlin.3.5.0, merlin.4.2-411, merlin.4.2-412

☀️ Installability check (+4)
  • new installable packages (4): dot-merlin-reader.3.5.0 merlin.3.5.0 merlin.4.2-411 merlin.4.2-412

@kit-ty-kate
Copy link
Member

Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment