Ocaml Merlin Versions Save

Context sensitive completion for OCaml in Vim and Emacs

v4.13-414

6 months ago

CHANGES:

Fri Dec 1 15:00:42 CET 2023

  • merlin binary
    • Fix a follow-up issue to the preference of non-ghost nodes introduced in #1660 (#1690, fixes #1689)
    • Add -cache-lifespan flag, that sets cache invalidation period. (#1698, #1705)
    • Fix Merlin locate not fallbacking on the correct file in case of ambiguity (@goldfirere, #1699)
    • Fix Merlin reporting errors provoked by the recovery itself (#1709, fixes #1704)
  • editor modes
    • vim: load merlin when Vim is compiled with +python3/dyn (e.g. MacVim)
    • emacs: highlight only first error line by default (#1693, fixes #1663)

v4.12-501

8 months ago

CHANGES:

Tue Sep 26 17:45:42 CEST 2023

  • merlin binary
    • Fix issue with let operators and tuples (#1684, fixes #1683, fixes ocaml/ocaml-lsp#1182)
    • Fix an issue causing Merlin locate queries to hang (#1686, fixes ocaml/ocaml-lsp#1192)

v4.12-500

8 months ago

CHANGES:

Tue Sep 26 17:45:42 CEST 2023

  • merlin binary
    • Fix issue with let operators and tuples (#1684, fixes #1683, fixes ocaml/ocaml-lsp#1182)
    • Fix an issue causing Merlin locate queries to hang (#1686, fixes ocaml/ocaml-lsp#1192)

v4.12-414

8 months ago

CHANGES:

Tue Sep 26 17:45:42 CEST 2023

  • merlin binary
    • Fix issue with let operators and tuples (#1684, fixes #1683, fixes ocaml/ocaml-lsp#1182)
    • Fix an issue causing Merlin locate queries to hang (#1686, fixes ocaml/ocaml-lsp#1192)

v4.11-501

8 months ago

CHANGES:

Thu Sep 24 18:01:42 CEST 2023

  • merlin binary
    • Add support for OCaml 5.1
    • Improve error messages for missing configuration reader (#1669)
    • Fix regression causing crash when using ppxes under Windows (#1673)
    • Fix confusion between aliased modules and module types (#1676, fixes #1667)
    • Ignore hidden branches when listing occurrences (#1677, fixes #1671)
  • editor modes
    • emacs: fix/improve keybindings (#1668, fixes #1386): Unbind C-c C-r (to avoid shadowing tuareg-eval-region) and bind C-c C-v instead to merlin-error-check; rebind C-c C-d to merlin-document and bind C-c M-d and C-c | instead to merlin-destruct; bind C-u C-c C-t to merlin-type-expr. See also https://github.com/ocaml/merlin/issues/1386#issuecomment-1701567716
    • emacs: remove use of obsolete defadvice macro (#1675)

v4.11-500

8 months ago

CHANGES:

Thu Sep 24 18:01:42 CEST 2023

  • merlin binary
    • Improve error messages for missing configuration reader (#1669)
    • Fix regression causing crash when using ppxes under Windows (#1673)
    • Fix confusion between aliased modules and module types (#1676, fixes #1667)
    • Ignore hidden branches when listing occurrences (#1677, fixes #1671)
  • editor modes
    • emacs: fix/improve keybindings (#1668, fixes #1386): Unbind C-c C-r (to avoid shadowing tuareg-eval-region) and bind C-c C-v instead to merlin-error-check; rebind C-c C-d to merlin-document and bind C-c M-d and C-c | instead to merlin-destruct; bind C-u C-c C-t to merlin-type-expr. See also https://github.com/ocaml/merlin/issues/1386#issuecomment-1701567716
    • emacs: remove use of obsolete defadvice macro (#1675)

v4.11-414

8 months ago

CHANGES:

Thu Sep 24 18:01:42 CEST 2023

  • merlin binary
    • Improve error messages for missing configuration reader (#1669)
    • Fix regression causing crash when using ppxes under Windows (#1673)
    • Fix confusion between aliased modules and module types (#1676, fixes #1667)
    • Ignore hidden branches when listing occurrences (#1677, fixes #1671)
  • editor modes
    • emacs: fix/improve keybindings (#1668, fixes #1386): Unbind C-c C-r (to avoid shadowing tuareg-eval-region) and bind C-c C-v instead to merlin-error-check; rebind C-c C-d to merlin-document and bind C-c M-d and C-c | instead to merlin-destruct; bind C-u C-c C-t to merlin-type-expr. See also https://github.com/ocaml/merlin/issues/1386#issuecomment-1701567716
    • emacs: remove use of obsolete defadvice macro (#1675)

v4.10-500

9 months ago

CHANGES:

Thu Aug 24 17:17:42 CEST 2023

  • merlin binary
    • Constrain socket path buffer size to avoid build warnings (#1631)
    • Handle concurrent server start (#1622)
    • Omit module prefixes for constructors and record fields in the construct command (#1618). Prefixes are still produced when warning 42 (disambiguated name) is active.
    • Correctly invalidate PPX cache when pipeline ran partially (#1650, fixes #1647)
    • Prevent short-path from looping in some cases related to recursive type definitions (#1645)
    • Support parsing negative numbers in sexps (#1655)
    • Fix construct not working with inline records (#1658)
    • Improve behavior of type-enclosing on let/and operators (#1653)
    • Fix occurrences of extension constructors (#1662)
    • Improve node selection when ghosts are present (#1664, fixes #1660)
  • editor modes
    • emacs: call merlin-client-logger with "interrupted" if the merlin binary itself is interrupted, not just the parsing of the result (#1626).
    • emacs: merlin-construct, with a prefix argument, now includes local values in the completion options. Alternatively, this behavior can be enabled permanently by customizing merlin-construct-with-local-values (#1644)
    • emacs: add support for opam-switch-mode (#1654, fixes #1591). See https://github.com/ProofGeneral/opam-switch-mode

v4.10-414

9 months ago

CHANGES:

Thu Aug 24 17:17:42 CEST 2023

  • merlin binary
    • Constrain socket path buffer size to avoid build warnings (#1631)
    • Handle concurrent server start (#1622)
    • Omit module prefixes for constructors and record fields in the construct command (#1618). Prefixes are still produced when warning 42 (disambiguated name) is active.
    • Correctly invalidate PPX cache when pipeline ran partially (#1650, fixes #1647)
    • Prevent short-path from looping in some cases related to recursive type definitions (#1645)
    • Support parsing negative numbers in sexps (#1655)
    • Fix construct not working with inline records (#1658)
    • Improve behavior of type-enclosing on let/and operators (#1653)
    • Fix occurrences of extension constructors (#1662)
    • Improve node selection when ghosts are present (#1664, fixes #1660)
  • editor modes
    • emacs: call merlin-client-logger with "interrupted" if the merlin binary itself is interrupted, not just the parsing of the result (#1626).
    • emacs: merlin-construct, with a prefix argument, now includes local values in the completion options. Alternatively, this behavior can be enabled permanently by customizing merlin-construct-with-local-values (#1644)
    • emacs: add support for opam-switch-mode (#1654, fixes #1591). See https://github.com/ProofGeneral/opam-switch-mode

v4.9-501preview

1 year ago

CHANGES:

unreleased

  • merlin binary
    • Preview support for OCaml 5.1-alpha1. Short path is temporary disabled and inline records might not behave as expected.
    • Allow monadic IO in dot protocol (#1581)
    • Add a scope option to the occurrences command in preparation for the upcoming project-wide-occurrences feature (#1596)
    • Construct bool-typed holes as false instead of true in the construct command, for consistency (#1599).
    • Add a hook to configure system command for spawning ppxes when Merlin is used as a library. (#1585)
    • Implement an all-or-nothing cache for the PPX phase (#1584)
    • Cleanup functors caches when backtracking, to avoid memory leaks (#1609, fixes #1529 and ocaml-lsp#1032)
    • Fix construct results ordering for sum types sand poly variants (#1603)
    • Fix object method completion not working (#1606, fixes #1575)
    • Improve context detection for package types (#1608, fixes #1607)
    • Fix incorrect locations for string literals (#1574)
    • Fixed an issue that caused errors to erroneously alert about missing cmi files (#1577)
    • Prevent destruct from crashing on closed variant types (#1602, fixes #1601)
    • Improve longident parsing (#1612, fixes #945)
  • editor modes
    • emacs: call the user's configured completion UI in merlin-construct (#1598)
  • test suite
    • Add missing dependency to a test using ppxlib (#1583)
    • Add tests for the new PPX phase cache (#1584)
    • Add and update tests for construct ordering (#1603)