The key bindings C-c r, C-c l and C-c t are reserved for users per the Emacs Lisp key binding conventions. Merlin should not use them.
Here's one suggested fix: a3587c0
I'd rather remove the default keybindings completly and let users define their owns than impose yet another set of arbitrary one and make use of the prefix argument.
But others might disagree? @def-lkb @asmanur @gasche
I agree with removing the default bindings for merlin-restart-process and merlin-use, but merlin-type-expr is too useful not to have a default binding.
i can live with having no default keybindings also, but maybe you can filter the baby from the bathwater.
Fine by me.
And I'm ok with using the prefix to differentiate between merlin-type-expr and merlin-type-enclosing since they are closely related.
The "merging" (in some sort) of locate and use seemed unreasonable however.
I'll patch that soon.
We could use M-. for locate which seems to be an emacs standard to jump to definition (alias for find-tag, I guess it's ok to override that).
I'm not so sure about that. I use OCaml tags quite often with otags. Perhaps have M-. fallback to a normal tags lookup if the merlin look up fails?
Please don't steal M-. (or even M-,)! I don't use otags a lot but I can't live without ctags, and it would be too confusing if that binding changed its meaning in OCaml buffers. By a similar token, repurposing bindings from other popular programming (minor) modes for merlin is inadvisable.
The Emacs conventions suggest that minor modes use C-c <punctuation>. At least in my Tuareg setup the following are free: C-c ,, C-c :, C-c ;, C-c /. Unfortunately C-c . isn't free, but C-c C-. is.
We'll never reach a consensus on such a subject, so I'll take the arbitrary decision of applying what me and chaudhuri agreed upon earlier.
People can then add whatever bindings they want to their own config.
emacs: remove keybindings reserved to users ( fix #170 )