mlf176f2 pushed a commit to branch externals/ergoemacs-mode in repository elpa.
commit cfc1c4884dbec6e894212598a71c2a826ddf7ae3 Author: Matthew L. Fidler <[email protected]> Date: Thu Jun 26 08:10:50 2014 -0500 Partial Fix for Issue #243 --- ergoemacs-shortcuts.el | 21 ++++++++++++++------- 1 files changed, 14 insertions(+), 7 deletions(-) diff --git a/ergoemacs-shortcuts.el b/ergoemacs-shortcuts.el index 5646bef..21036aa 100644 --- a/ergoemacs-shortcuts.el +++ b/ergoemacs-shortcuts.el @@ -1185,13 +1185,20 @@ argument prompt. (setq ergoemacs-deactivate-mark deactivate-mark) (cond ((eq local-fn 'keymap) - (when real-read - (push (list type - (listify-key-sequence key)) - history)) - (setq continue-read t - key key-trial - pretty-key pretty-key-trial) + ;; Test to see if major/minor modes have an + ;; override for this keymap, see Issue 243. + (let ((new-fn (and key (ergoemacs-with-major-and-minor-modes (ergoemacs-real-key-binding key-trial))))) + (if (ignore-errors (commandp new-fn t)) + (progn + (setq local-fn 'major-minor-override-fn) + (ergoemacs-read-key-call new-fn nil key)) + (when real-read + (push (list type + (listify-key-sequence key)) + history)) + (setq continue-read t + key key-trial + pretty-key pretty-key-trial))) ;; Found, exit (throw 'ergoemacs-key-trials t)) ((eq (type-of local-fn) 'cons)
