From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id BA8B6820A1 for ; Fri, 16 Aug 2013 18:33:29 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of dra-news@metastack.com) identity=pra; client-ip=81.103.221.48; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="dra-news@metastack.com"; x-sender="dra-news@metastack.com"; x-conformance=sidf_compatible Received-SPF: Neutral (mail3-smtp-sop.national.inria.fr: domain of dra-news@metastack.com does not assert whether or not 81.103.221.48 is permitted sender) identity=mailfrom; client-ip=81.103.221.48; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="dra-news@metastack.com"; x-sender="dra-news@metastack.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mtaout02-winn.ispmail.ntl.com) identity=helo; client-ip=81.103.221.48; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="dra-news@metastack.com"; x-sender="postmaster@mtaout02-winn.ispmail.ntl.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AioBAFlTDlJRZ90wlGdsb2JhbABbgkIjVlG/H4ErFg4BAQEBBw0JCRQDJYIkAQEBBAwhXAIBCBEEAQELFgcHMhQDAQUIAgQTCIgJAwi6AZAfLQoBgxt3A4h1jm+BLZNEgio X-IPAS-Result: AioBAFlTDlJRZ90wlGdsb2JhbABbgkIjVlG/H4ErFg4BAQEBBw0JCRQDJYIkAQEBBAwhXAIBCBEEAQELFgcHMhQDAQUIAgQTCIgJAwi6AZAfLQoBgxt3A4h1jm+BLZNEgio X-IronPort-AV: E=Sophos;i="4.89,895,1367964000"; d="scan'208,217";a="24066826" Received: from mtaout02-winn.ispmail.ntl.com ([81.103.221.48]) by mail3-smtp-sop.national.inria.fr with ESMTP; 16 Aug 2013 18:33:28 +0200 Received: from aamtaout04-winn.ispmail.ntl.com ([81.103.221.35]) by mtaout02-winn.ispmail.ntl.com (InterMail vM.7.08.04.00 201-2186-134-20080326) with ESMTP id <20130816163327.RZUW23282.mtaout02-winn.ispmail.ntl.com@aamtaout04-winn.ispmail.ntl.com> for ; Fri, 16 Aug 2013 17:33:27 +0100 Received: from romulus.metastack.com ([81.98.252.242]) by aamtaout04-winn.ispmail.ntl.com (InterMail vG.3.00.04.00 201-2196-133-20080908) with ESMTP id <20130816163326.UZXS21648.aamtaout04-winn.ispmail.ntl.com@romulus.metastack.com> for ; Fri, 16 Aug 2013 17:33:26 +0100 Received: from remus.metastack.local (remus.metastack.com [172.16.0.1]) by romulus.metastack.com (8.14.2/8.14.2) with ESMTP id r7GGXOJX009295 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL) for ; Fri, 16 Aug 2013 17:33:24 +0100 Received: from Remus.metastack.local ([fe80::547c:3c42:e1da:eda2]) by Remus.metastack.local ([fe80::547c:3c42:e1da:eda2%10]) with mapi id 14.03.0158.001; Fri, 16 Aug 2013 17:33:24 +0100 From: David Allsopp To: caml users Thread-Topic: [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes Thread-Index: AQHOmm5FBVXgPp6ex0eb42/tlIuaiZmYBa1Q Date: Fri, 16 Aug 2013 16:33:23 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.16.0.18] Content-Type: multipart/alternative; boundary="_000_E51C5B015DBD1348A1D85763337FB6D9CCB1A43BRemusmetastackl_" MIME-Version: 1.0 Organization: MetaStack Solutions Ltd. X-Scanned-By: MIMEDefang 2.65 on 172.16.0.20 X-Cloudmark-Analysis: v=1.1 cv=AUhbpHVS+xhHrj9wLCYAQoYnFLYUZdbP8UM0GmH2jwk= c=1 sm=0 a=IXlcok0kcmcA:10 a=M3gV3XD_Yk4A:10 a=cTs9vV391PwA:10 a=xqWC_Br6kY4A:10 a=NEAV23lmAAAA:8 a=EZcdq8sCTETSx-upVOEA:9 a=wPNLvfGTeEIA:10 a=yMhMjlubAAAA:8 a=SSmOFEACAAAA:8 a=gKO2Hq4RSVkA:10 a=UiCQ7L4-1S4A:10 a=hTZeC7Yk6K0A:10 a=frz4AuCg-hUA:10 a=mkvnanFTQkqTgnFp:21 a=HpAAvcLHHh0Zw7uRqdWCyQ==:117 Subject: RE: [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes --_000_E51C5B015DBD1348A1D85763337FB6D9CCB1A43BRemusmetastackl_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Is there a plan to support Merlin in Vim (or Emacs, though I don't really c= are about that...) on Windows? With fairly minimal effort, I can compile oc= amlmerlin but there appear to be a few little platform-related problems: C:\>ocamlmerlin Fatal error: exception Invalid_argument("Sys.signal: unavailable signal") and if opening an ML source file in Vim, I get: "DB.ml" [readonly] 2153L, 128685C Error detected while processing function merlin#LoadProject: line 1: Traceback (most recent call last): File "", line 1, in File "C:\Dev\OCaml\share\ocamlmerlin\vim\autoload\merlin.py", line 485, i= n load_project fnames =3D catch_and_print(lambda: send_command("project","find",direct= ory)) File "C:\Dev\OCaml\share\ocamlmerlin\vim\autoload\merlin.py", line 117, i= n catch_and_print return f() File "C:\Dev\OCaml\share\ocamlmerlin\vim\autoload\merlin.py", line 485, i= n fnames =3D catch_and_print(lambda: send_command("project","find",direct= ory)) File "C:\Dev\OCaml\share\ocamlmerlin\vim\autoload\merlin.py", line 66, in= send_command restart() File "C:\Dev\OCaml\share\ocamlmerlin\vim\autoload\merlin.py", line 56, in= restart preexec_fn =3D (lambda: signal.signal(signal.SIGINT, signal.SIG_IGN)) File "C:\Python27\Lib\subprocess.py", line 633, in __init__ raise ValueError("preexec_fn is not supported on Windows " ValueError: preexec_fn is not supported on Windows platforms (using ActivePython 2.7.2.5 x64 with Vim 7.4.5 x64) More than happy to help with testing, but I haven't the first clue how to d= ebug Python... though the errors on both ends give the impression that it's= "just" a case of rewriting the inter-process communication stuff? David From: caml-list-request@inria.fr [mailto:caml-list-request@inria.fr] On Beh= alf Of Gabriel Scherer Sent: 16 August 2013 11:48 To: caml users Subject: [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes Ann: Merlin 1.3 Merlin is an editor-assistant for the OCaml programming language, focusing on working incrementally on incomplete files that are being edited. It has both a Vim and an Emacs mode (we warmly welcome additional frontends), and provides advanced compiler-aware features such as type-aware completion, type information feedback, and interactive warning and error feedback. Merlin is available at: https://github.com/def-lkb/merlin Merlin 1.0 was released on April 11, and the last version, Merlin 1.2, on July 21. As a sign of improved stability, we have received no bug reports between Merlin 1.2 and the tagging of this new release, which therefore focused on new features -- so that we can get more bugs to fix before 1.4... You can find a detailed changelog at https://github.com/def-lkb/merlin/blob/master/CHANGELOG, but the highlights are: - There is a new "locate" command, to find the definition location of the identifier under the cursor, much like the venerable ocamlspot project. It works out of the box for identifiers defined in the local buffer (this is where merlin shines), and relies on presence of .cmt files for external modules. It is bound to the :Locate command in vim, and merlin-locate, C-c C-l by default, in emacs. - There is now specific support for OMake's polling mode: if you invoke OMake with our `omake-merlin` wrapper omake-merlin omake ... each recompilation will instruct merlin to reload the interfaces that changed. - Merlin now accepts the "type nonrec", "with compare" and "with fields" syntax extensions -- but there are still a few glitches being ironed out - The emacs mode now has "semantic movement" commands to move to the next or previous phrase (C-c C-p, C-c C-n) - The vim mode's :TypeOf command now accept an optional argument, an OCaml expression or constructor name that will be type-checked in the environment at the cursor position. This release was brought to you by Simon Castellan, Thomas Refis and Fr=E9d=E9ric Bour. Previous unannounced releases also received helpful feed= back and contributions from Rudy Grinberg, Anil Madhavapeddy, Andrew Noyes, Gabriel Scherer and Marc Weber. Merlin relies on its benevolent contributors, which you should not hesitate to join. We warmly welcome any feedback, bugreport, and of course documentation and code contributions. --_000_E51C5B015DBD1348A1D85763337FB6D9CCB1A43BRemusmetastackl_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Is there a plan to support Merlin in Vi= m (or Emacs, though I don’t really care about that…) on Windows= ? With fairly minimal effort, I can compile ocamlmerlin but there appear to be a few little platform-related problems:

 

C:\>ocamlmerlin

Fatal error: exception Invalid_argument= ("Sys.signal: unavailable signal")

 

and if opening an ML source file in Vim= , I get:

 

"DB.ml" [readonly] 2153L, 128= 685C

Error detected while processing functio= n merlin#LoadProject:

line    1:

Traceback (most recent call last):=

  File "<string>",= line 1, in <module>

  File "C:\Dev\OCaml\share\oc= amlmerlin\vim\autoload\merlin.py", line 485, in load_project

    fnames =3D catch_and= _print(lambda: send_command("project","find",directory)= )

  File "C:\Dev\OCaml\share\oc= amlmerlin\vim\autoload\merlin.py", line 117, in catch_and_print

    return f()

  File "C:\Dev\OCaml\share\oc= amlmerlin\vim\autoload\merlin.py", line 485, in <lambda>

    fnames =3D catch_and= _print(lambda: send_command("project","find",directory)= )

  File "C:\Dev\OCaml\share\oc= amlmerlin\vim\autoload\merlin.py", line 66, in send_command=

    restart()=

  File "C:\Dev\OCaml\share\oc= amlmerlin\vim\autoload\merlin.py", line 56, in restart

    preexec_fn =3D (lamb= da: signal.signal(signal.SIGINT, signal.SIG_IGN))

  File "C:\Python27\Lib\subpr= ocess.py", line 633, in __init__

    raise ValueError(&qu= ot;preexec_fn is not supported on Windows "

ValueError: preexec_fn is not supported= on Windows platforms

 

(using ActivePython 2.7.2.5 x64 with Vi= m 7.4.5 x64)

 

More than happy to help with testing, b= ut I haven’t the first clue how to debug Python... though the errors = on both ends give the impression that it’s “just” a case = of rewriting the inter-process communication stuff?

 

 

David

 

 

From: caml-list-request@inria.fr [mailto:caml-list-request@= inria.fr] On Behalf Of Gabriel Scherer
Sent: 16 August 2013 11:48
To: caml users
Subject: [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs edito= r modes

 

Ann: Merlin 1.3

 

Merlin is an editor-assistant for the OCaml programm= ing language,

focusing on working incrementally on incomplete file= s that are being

edited.

It has both a Vim and an Emacs mode (we warmly welco= me

additional frontends), and provides advanced compile= r-aware features

such as type-aware completion, type information feed= back, and

interactive warning and error feedback.

 

Merlin is available at:

 

Merlin 1.0 was released on April 11, and the last ve= rsion, Merlin

1.2, on July 21. As a sign of improved stability, we= have received no

bug reports between Merlin 1.2 and the tagging of th= is new release,

which therefore focused on new features -- so that w= e can get more

bugs to fix before 1.4...

 

You can find a detailed changelog at

highlights are:

 

- There is a new "locate" command, to find= the definition location of

  the identifier under the cursor, much like th= e venerable ocamlspot

  project. It works out of the box for identifi= ers defined in the

  local buffer (this is where merlin shines), a= nd relies on presence

  of .cmt files for external modules. It is bou= nd to the :Locate

  command in vim, and merlin-locate, C-c C-l by= default, in emacs.

 

- There is now specific support for OMake's polling = mode: if you

  invoke OMake with our `omake-merlin` wrapper<= o:p>

    omake-merlin omake ...=

  each recompilation will instruct merlin to re= load the interfaces

  that changed.

 

- Merlin now accepts the "type nonrec", &q= uot;with compare" and "with

  fields" syntax extensions -- but there a= re still a few glitches

  being ironed out

 

- The emacs mode now has "semantic movement&quo= t; commands to move to the

  next or previous phrase (C-c C-p, C-c C-n)

 

- The vim mode's :TypeOf command now accept an optio= nal argument, an

  OCaml expression or constructor name that wil= l be type-checked in

  the environment at the cursor position.<= /o:p>

 

This release was brought to you by Simon Castellan, = Thomas Refis and

Fr=E9d=E9ric Bour. Previous unannounced releases als= o received helpful feedback

and contributions from Rudy Grinberg, Anil Madhavape= ddy, Andrew Noyes,

Gabriel Scherer and Marc Weber.

 

Merlin relies on its benevolent contributors, which = you should not

hesitate to join. We warmly welcome any feedback, bu= greport, and of

course documentation and code contributions.

 

--_000_E51C5B015DBD1348A1D85763337FB6D9CCB1A43BRemusmetastackl_--