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

Support for OCaml 4.10 #1117

Merged
merged 59 commits into from
Apr 2, 2020
Merged

Support for OCaml 4.10 #1117

merged 59 commits into from
Apr 2, 2020

Conversation

trefis
Copy link
Contributor

@trefis trefis commented Mar 27, 2020

  • -short-paths is working
  • the only output in tests/ is present both with and without -short-paths and looks like an improvement to me.

@let-def can you skim over this and make sure there's no "FIXME" or anything of the sort left?

@let-def
Copy link
Contributor

let-def commented Mar 27, 2020

Looking at it!

@let-def
Copy link
Contributor

let-def commented Mar 27, 2020

I updated opam constraints to reenable CI.

@trefis
Copy link
Contributor Author

trefis commented Apr 2, 2020

Some tests are broken on "old" versions of OCaml, but these tests were added recently, and are already broken on master.
So I believe this PR is good to squash & merge :)

@let-def
Copy link
Contributor

let-def commented Apr 2, 2020

Wunderbar! 🎆

@let-def let-def merged commit f0b2f17 into master Apr 2, 2020
@let-def let-def deleted the 410-rebased branch April 2, 2020 14:18
let-def added a commit to let-def/opam-repository that referenced this pull request Apr 15, 2020
CHANGES:

Tue Apr 14 15:25:05 CEST 2020

  + backend
    - full support from OCaml 4.02 to OCaml 4.10 (ocaml/merlin#1117, ocaml/merlin#1127)
    - fix desynchronized cache (ocaml/merlin#1120)
    - short path for OCaml 4.09 and OCaml 4.10 (ocaml/merlin#1082, ocaml/merlin#1117)
    - catch and test environment initialization errors (ocaml/merlin#1083, ocaml/merlin#1130)
    - restore type levels after recovery (ocaml/merlin#1092)
  + frontend
    - fix syntax errors in 4.08 and 4.09 (ocaml/merlin#1081)
    - complete-prefix command accepts -kind option to filter results (ocaml/merlin#1071)
    - code cleanup (ocaml/merlin#1093, ocaml/merlin#1079, ocaml/merlin#1112)
    - better handling of expression and pattern extra nodes during browse tree
      traversal (ocaml/merlin#1091, ocaml/merlin#1121)
    - improve context detection (e.g. appropriate namespace for lookup) for
      various queries (ocaml/merlin#1104, ocaml/merlin#1110)
    - add stdlib to locate source path (ocaml/merlin#1085)
  + editor modes
    - vim: tweak heuristic to select python version (ocaml/merlin#1111)
    - emacs: marlin/call
    - lsp: move server to its own repository (ocaml/merlin#1069),
      https://github.com/ocaml/ocaml-lsp
  + testsuite
    - dune rules for the testsuite are now generated, deterministic and
      can be run individually (ocaml/merlin#1068, ocaml/merlin#1070, ocaml/merlin#1072)
    - fix incorrect command-line arguments in tests (ocaml/merlin#1073)
    - better coverage of frontend features (ocaml/merlin#1075, ocaml/merlin#1078, ocaml/merlin#1088, ocaml/merlin#1089, ocaml/merlin#1126)

Build no longer relies on implicit transitive_deps (ocaml/merlin#1065).
let-def added a commit to let-def/opam-repository that referenced this pull request Apr 15, 2020
CHANGES:

Tue Apr 14 15:25:05 CEST 2020

  + ocaml support
    - full support from OCaml 4.02 to OCaml 4.10 (ocaml/merlin#1117, ocaml/merlin#1127)
    - fix desynchronized cache (ocaml/merlin#1120)
    - short path for OCaml 4.09 and OCaml 4.10 (ocaml/merlin#1082, ocaml/merlin#1117)
    - catch and test environment initialization errors (ocaml/merlin#1083, ocaml/merlin#1130)
    - restore type levels after recovery (ocaml/merlin#1092)
  + merlin binary
    - fix syntax errors in 4.08 and 4.09 (ocaml/merlin#1081)
    - complete-prefix command accepts -kind option to filter results (ocaml/merlin#1071)
    - code cleanup (ocaml/merlin#1093, ocaml/merlin#1079, ocaml/merlin#1112)
    - better handling of expression and pattern extra nodes during browse tree
      traversal (ocaml/merlin#1091, ocaml/merlin#1121)
    - improve context detection (e.g. appropriate namespace for lookup) for
      various queries (ocaml/merlin#1104, ocaml/merlin#1110)
    - add stdlib to locate source path (ocaml/merlin#1085)
  + editor modes
    - vim: tweak heuristic to select python version (ocaml/merlin#1111)
    - emacs: marlin/call
    - lsp: move server to its own repository (ocaml/merlin#1069),
      https://github.com/ocaml/ocaml-lsp
  + test suite
    - dune rules for the test suite are now generated, deterministic and
      can be run individually (ocaml/merlin#1068, ocaml/merlin#1070, ocaml/merlin#1072)
    - fix incorrect command-line arguments in tests (ocaml/merlin#1073)
    - better coverage of frontend features (ocaml/merlin#1075, ocaml/merlin#1078, ocaml/merlin#1088, ocaml/merlin#1089, ocaml/merlin#1126)

Build no longer relies on implicit transitive_deps (ocaml/merlin#1065).
rgrinberg pushed a commit to rgrinberg/merlin that referenced this pull request Jul 3, 2020
* import upstream ocaml-4.10+beta1 code

* create ocaml 4.10 folders

* remove envaux from upstream

* remove envaux from upstream

* WIP Support OCaml 4.10

* WIP Fixing 4.10 definitions

* WIP Typemod

* RESET ME

* Add Type_immediacy module

* build and run... until failwith "TODO"

* don't be to eager TODO

* implement env caching

* add test-current target

* catch errors in structure item

* catch initialization errors

* locate: use find_by_name, not lookup

* type_utils: use find_by_name, not lookup

* Env.sign_of_cmi: make locs ghost

* typemod: port omitted patch (should be upstreamed!)

* typemod: comment out some fatal errors

* rebuild 4.10 parser with latest menhir

* update upstream/ocaml_410 to 4.10.0

* port changes from 4.10.0

* FIX ME: disable short-paths for now

* REMOVE ME: release for OCaml 4.10 only

* update dune-release.sh script (allow explicit specification of package-version)

* Update CHANGES.md

* list 4.10 to magic_numbers

* same menhir as on other backends

* tests: -short-paths disabled on 4.10

* 408: env plumbing

* functor parameters and optional module names

* Env.fold_type_decls

* Result on 4.02

* WIP: first 409

* WIP: first 407

* WIP: first 406

* WIP: first 405

* WIP: first 404

* WIP: first 403

* WIP: first 402

* WIP: 407_0

* WIP: third (all backends)

* 4.10 in dune-workspace files

* Revert "FIX ME: disable short-paths for now"

This reverts commit 35cb490.

* rebased -short-paths

* tests: reenable short-paths for 4.10

* typeclass: pardon?

* 410: short-paths fixes and cleanup

* 410: finish fixing env

* update tests

* fix cons test

* fix errors in constrained env test

* Update opam constraints

* non_shadowed_pervasives: lookup was removed in our 4.09, remove from our 4.10

* typemod: recover from inclusion error on 4.10

* fix tests pre 4.10

* disable broken test on 4.10

* add 4.10 version of the test

Co-authored-by: Frédéric Bour <fred@tarides.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants