-
-
Notifications
You must be signed in to change notification settings - Fork 59
Description
enh-ruby-mode rebinds C-M-f to enh-ruby-forward-sexp. That key is bound to forward-sexp by default. Similarly C-M-n is rebound to enh-ruby-end-of-block in stead of forward-list etc..
This means that the behaviour is inconsistent with the built-in functions. That works fine for those particular commands that have had their keys re-bound. However enh-ruby-mode does not rebind e.g. C-M-SPC which is bound to mark-sexp. This means that the sexp that you can mark is not the same as the one you can navigate.
To fix this problem we could do one of two things
- Also bind additional keys used for navigating sexps. See the Emacs documentation for expressions and implement analogous functions.
C-M-SPC,C-M-t... - Figure a way to locally override the definition of what defines a sexp is in Ruby land.
The first solution might be the quick fix. It may have the downside of duplicating some functionality that Emacs already ships with. The second solution might require some more work. It could be that it's simply a matter of locally redefining forward-sexp as I can see that e.g. mark-sexp calls this internally. More investigation is required. The second solution might also fix other problems I haven't identified yet.
Thoughts?