Skip to content

Commit 885a314

Browse files
authored
Merge pull request #1974 from voodoos/504-rebase
Rebase 5.4 support and prepare for release
2 parents ced228e + f8230bb commit 885a314

File tree

370 files changed

+125975
-21818
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

370 files changed

+125975
-21818
lines changed

.github/workflows/fuzzy-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ env:
4545

4646
# The compiler version used on the respective branches. It also needs to form part of Irmin's build cache key.
4747
# Bump either of these whenever the compiler version is bumped on either of the two branches.
48-
merge_branch_COMPILER_VERSION: ocaml-base-compiler.5.3.0
48+
merge_branch_COMPILER_VERSION: ocaml-variants.5.4.0+trunk
4949
base_branch_COMPILER_VERSION: ocaml-base-compiler.5.3.0
5050

5151
jobs:

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
- ubuntu-latest
4141
- windows-latest
4242
ocaml-compiler:
43-
- ocaml-base-compiler.5.3.0
43+
- ocaml-variants.5.4.0+trunk
4444
# The type of runner that the job will run on
4545
runs-on: ${{ matrix.os }}
4646

.github/workflows/ocaml-lsp-compat.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
os:
3535
- ubuntu-latest
3636
ocaml-compiler:
37-
- ocaml-base-compiler.5.3.0
37+
- ocaml-variants.5.4.0+trunk
3838
# The type of runner that the job will run on
3939
runs-on: ${{ matrix.os }}
4040

@@ -51,6 +51,6 @@ jobs:
5151

5252
- name: Check that Merlin and OCaml-LSP are co-installable
5353
run: |
54-
opam --cli=2.1 pin --with-version=dev --no-action https://github.com/ocaml/ocaml-lsp.git
55-
opam --cli=2.1 pin --with-version=5.6-503 --no-action .
54+
opam --cli=2.1 pin --with-version=dev --no-action https://github.com/voodoos/ocaml-lsp.git#504-compat
55+
opam --cli=2.1 pin --with-version=5.6-504 --no-action .
5656
opam install ocaml-lsp-server --ignore-constraints-on=ocamlformat

CHANGES.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
merlin 5.6
22
==========
3-
Tue Jun 24 17:10:42 CEST 2025
3+
Sat Oct 04 15:10:42 CEST 2025
44

55
+ merlin binary
66
- Add `locate-types` command (#1951)
77
+ merlin library
88
- Fix `merlin_reader` for OpenBSD (#1956)
99
- Improve recovery of mutually recursive definitions (#1962, #1963, fixes #1953)
10+
- Support for OCaml 5.4 (#1974)
1011
+ vim plugin
1112
- Fix error when `:MerlinOccurrencesProjectWide` fails to gather code previews (#1970)
1213
- Add more short-paths tests cases (#1904)

merlin-lib.opam

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ build: [
1111
["dune" "build" "-p" name "-j" jobs]
1212
]
1313
depends: [
14-
"ocaml" {>="5.3" & <"5.4"}
14+
"ocaml" {>="5.4" & <"5.5"}
1515
"dune" {>= "3.0.0"}
1616
"csexp" {>= "1.5.1"}
1717
"alcotest" {with-test & >= "1.3.0" }

merlin.opam

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ depends: [
1515
"dune" {>= "3.0.0"}
1616
"merlin-lib" {= version}
1717
"dot-merlin-reader" {= version}
18-
"ocaml-index" {>= "1.0" & post}
18+
"ocaml-index" {= version & post}
1919
"yojson" {>= "2.0.0"}
2020
"conf-jq" {with-test}
2121
"ppxlib" {with-test}

ocaml-index.opam

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ bug-reports: "https://github.com/ocaml/merlin/issues"
1010
x-maintenance-intent: ["(latest)"]
1111
depends: [
1212
"dune" {>= "3.0.0"}
13-
"ocaml" {>= "5.3"}
13+
"ocaml" {>= "5.4"}
1414
"merlin-lib" {= version}
1515
"odoc" {with-doc}
1616
]

src/analysis/browse_misc.ml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,15 @@ let dummy_type_scheme desc =
3333

3434
let print_constructor c =
3535
let open Types in
36-
match c.cstr_args with
36+
match c.Data_types.cstr_args with
3737
| [] ->
3838
Out_type.tree_of_typexp Type_scheme
3939
(dummy_type_scheme (get_desc c.cstr_res))
4040
| args ->
4141
let desc =
4242
Tarrow
4343
( Ast_helper.no_label,
44-
dummy_type_scheme (Ttuple args),
44+
dummy_type_scheme (Ttuple (List.map ~f:(fun a -> None, a) args)),
4545
c.cstr_res,
4646
commu_ok )
4747
in
@@ -76,11 +76,11 @@ let signature_of_env ?(ignore_extensions = true) env =
7676
| Env_type (_, i, t) -> Some (Sig_type (i, t, Trec_not, Exported))
7777
(* Texp_first == bluff, FIXME *)
7878
| Env_extension (_, i, e) -> begin
79-
match e.ext_type_path with
80-
| Path.Pident id when Ident.name id = "exn" ->
81-
Some (Sig_typext (i, e, Text_exception, Exported))
82-
| _ -> Some (Sig_typext (i, e, Text_first, Exported))
83-
end
79+
match e.ext_type_path with
80+
| Path.Pident id when Ident.name id = "exn" ->
81+
Some (Sig_typext (i, e, Text_exception, Exported))
82+
| _ -> Some (Sig_typext (i, e, Text_first, Exported))
83+
end
8484
| Env_module (_, i, pr, m) ->
8585
Some (Sig_module (i, pr, m, Trec_not, Exported))
8686
| Env_modtype (_, i, m) -> Some (Sig_modtype (i, m, Exported))
@@ -141,7 +141,7 @@ let dump_browse node =
141141
`List (append Env.empty node [])
142142

143143
let annotate_tail_calls (ts : Mbrowse.t) :
144-
(Env.t * Browse_raw.node * Query_protocol.is_tail_position) list =
144+
(Env.t * Browse_raw.node * Query_protocol.is_tail_position) list =
145145
let is_one_of candidates node = List.mem node ~set:candidates in
146146
let find_entry_points candidates (env, node) =
147147
(Tail_analysis.entry_points node, (env, node, is_one_of candidates node))
@@ -155,9 +155,9 @@ let annotate_tail_calls (ts : Mbrowse.t) :
155155
let _, tail_positions = List.fold_n_map entry_points ~f:propagate ~init:[] in
156156
List.map
157157
~f:(fun (env, node, tail) ->
158-
( env,
159-
node,
160-
if not tail then `No
161-
else if Tail_analysis.is_call node then `Tail_call
162-
else `Tail_position ))
158+
( env,
159+
node,
160+
if not tail then `No
161+
else if Tail_analysis.is_call node then `Tail_call
162+
else `Tail_position ))
163163
tail_positions

0 commit comments

Comments
 (0)