branch: externals/ergoemacs-mode
commit dc2e1a6455a6d9929a23a514c3ac6dca4f433c23
Author: Matthew Fidler <514778+mattfid...@users.noreply.github.com>
Commit: Matthew Fidler <514778+mattfid...@users.noreply.github.com>
    Bind ergoemacs-M-O for more generic fix
---
 ergoemacs-themes.el | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/ergoemacs-themes.el b/ergoemacs-themes.el
index 66e042e..baf95af 100644
--- a/ergoemacs-themes.el
+++ b/ergoemacs-themes.el
@@ -1213,14 +1213,15 @@ In a terminal, this can be either arrow keys (e.g. 
meta+O A == <up>) or regular
           (execute-kbd-macro (kbd "<end>")))
          (t
           (beep))))
-    (call-interactively ergoemacs-M-O-binding)))
+    (call-interactively (key-binding [ergoemacs-meta-O]))))
 
-(defvar ergoemacs-M-O-binding () nil)
 (defun ergoemacs-fix-arrow-keys (keymap)
   "Fix arrow keys for KEYMAP."
-  (setq ergoemacs-M-O-binding (lookup-key keymap (kbd "M-O")))
-  (if ergoemacs-M-O-binding
-      (define-key keymap (kbd "M-O") 'ergoemacs-handle-M-O)))
+  (let (ergoemacs-M-O-binding)
+    (when ergoemacs-M-O-binding
+      (setq ergoemacs-M-O-binding (lookup-key keymap (kbd "M-O")))
+      (define-key keymap (kbd "M-O") 'ergoemacs-handle-M-O)
+      (define-key keymap [ergoemacs-meta-O] ergoemacs-M-O-binding))))
 
 (defvar ergoemacs-override-keymap)
 

Reply via email to