<p dir="ltr">That's odd. I'll look at this this weekend.</p>
<p dir="ltr">y</p>
<div class="gmail_quote">On Jan 23, 2015 11:07 AM, "Greg Morrisett" <<a href="mailto:greg@eecs.harvard.edu">greg@eecs.harvard.edu</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks.<br>
<br>
Your dot-emacs and dot-merlin work (with tuareg-2.0.8 which<br>
is what opam installs now.)<br>
<br>
However, font lock mode doesn’t automatically trigger on either<br>
emacs or aquamacs, in spite of the fact that I added:<br>
<br>
  (global-font-lock-mode t)<br>
<br>
If I add a hook to try to explicitly turn on font-lock:<br>
<br>
  (add-hook 'tuareg-mode-hook 'font-lock-fontify-buffer t)<br>
<br>
then I get the error:<br>
<br>
  Warning: Bug in tuareg-mode: it forgets to call `run-mode-hooks'<br>
  File mode specification error: (void-function tuareg-syntax-propertize)<br>
<br>
-Greg<br>
<br>
> On Jan 22, 2015, at 9:58 PM, Yaron Minsky <<a href="mailto:yminsky@janestreet.com">yminsky@janestreet.com</a>> wrote:<br>
><br>
> In the meantime, I've attached a dot-emacs and dot-merlin files that I<br>
> think work nicely on a mac.  The one thing you need to do is to add<br>
> this line to your .profile file:<br>
><br>
>   eval `opam config env`<br>
><br>
> The dot emacs depends on this being in place for figuring out where to<br>
> find all the executables stashed in the .opam directory.<br>
><br>
> The pre-reqs for this to work is getting tuareg downloaded and in the<br>
> proper path (right now, I assume ~/.elisp/tuareg-mode), and installing<br>
> some opam packages:<br>
><br>
>   opam install core async merlin utop ocp-indent<br>
><br>
> This should give you merlin, ocp-indent, tuareg, and utop support, all<br>
> nicely integrated.  Note that the .merlin file needs to go in the<br>
> directory where you're editing code (and really, in every directory<br>
> where you're editing code.)  And the .merlin assumes that you're using<br>
> ocamlbuild (or corebuild) and so are putting your build artifacts in<br>
> _build.<br>
><br>
> I'm hoping this is helpful.<br>
><br>
> y<br>
><br>
> On Thu, Jan 22, 2015 at 8:42 PM, Yaron Minsky <<a href="mailto:yminsky@janestreet.com">yminsky@janestreet.com</a>> wrote:<br>
>> On Thu, Jan 22, 2015 at 8:25 PM, Louis Gesbert<br>
>> <<a href="mailto:louis.gesbert@ocamlpro.com">louis.gesbert@ocamlpro.com</a>> wrote:<br>
>>> Thanks for the feedback. It's probably still a bit rough at the moment but the config-updating engine is there, and polishing configuration itself from there should be straight-forward (and never-ending).<br>
>><br>
>> Indeed.  Now I think is the time to really focus on getting it<br>
>> working, because this is the beginning of the semester, and so now is<br>
>> the most valuable time to have something working cleanly.<br>
>><br>
>> It would be good to know what we have there now.  It seems like a<br>
>> minimum should be:<br>
>><br>
>> - tuareg<br>
>> - merlin<br>
>> - ocp-indent<br>
>> - utop<br>
>><br>
>> all read to go in emacs.  Getting vim and sublime text support would<br>
>> be lovely too, but I think less critical.  What does user-setup<br>
>> already support?<br>
>><br>
>>> The idea, with this and the "depext" package is to have a setup that can be limited to:<br>
>>><br>
>>>    PACKAGES="user-setup merlin utop cohttp js_of_ocaml oasis ocp-indent ocp-index ssl core_extended async js_of_ocaml core_bench cohttp cryptokit menhir"<br>
>>>    opam init -a<br>
>>>    opam install depext<br>
>>>    opam depext $PACKAGES<br>
>>>    opam install $PACKAGES<br>
>>><br>
>>> and results in a ready-to-go environment. This is in particular targetted at VM setup, of course.<br>
>><br>
>> Interesting. Concretely, what would would depext do in this context?<br>
>> I did a fresh install of a number of packages on my mac, and I didn't<br>
>> need much else, but I may have already had the dependencies in place<br>
>> via brew.<br>
>><br>
>> y<br>
>><br>
>>>> - Yaron Minsky, 22/01/2015 10:56 -<br>
>>>> It installed cleanly for me, but it doesn't quite work.  I installed<br>
>>>> user-setup, merlin, ocp-indent, tuareg, utop, core and async.  It all<br>
>>>> went through, but when I open a .ml file, it shows up in lisp mode,<br>
>>>> not tuareg.<br>
>>><br>
>>> Seems it doesn't handle the opam-installed tuareg package well at the moment, should be fixed in a moment.<br>
>>><br>
>>>> On Thu, Jan 22, 2015 at 10:54 AM, Greg Morrisett <<a href="mailto:greg@eecs.harvard.edu">greg@eecs.harvard.edu</a>> wrote:<br>
>>>>> Okay, I just followed these steps:<br>
>>>>>><br>
>>>>>>  opam update<br>
>>>>>>  opam install user-setup<br>
>>>>><br>
>>>>> and it seems to be hanging.  Is there a log file or<br>
>>>>> other config information that I can send you to help<br>
>>>>> figure this out?<br>
>>><br>
>>> Thanks. I just managed to reproduce on OPAM 1.1 and hope to fix it quickly.<br>
>><br>
>> Greg, it's also probably a good idea to encourage your students to<br>
>> upgrade to the latest opam if they're on a mac.  Homebrew is pretty<br>
>> lightweight, and has opam 1.2.0.<br>
>><br>
>> y<br>
> <dot-emacs><dot-merlin><br>
<br>
</blockquote></div>