emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] 16/287: ergoemacs--key-message


From: Matthew Fidler
Subject: [elpa] 16/287: ergoemacs--key-message
Date: Wed, 02 Jul 2014 14:44:13 +0000

mlf176f2 pushed a commit to branch externals/ergoemacs-mode
in repository elpa.

commit 6ecaa9d9d5341fe3c2bce8e641cc3cb32391029f
Author: Matthew L. Fidler <address@hidden>
Date:   Fri May 23 22:57:27 2014 +0800

    ergoemacs--key-message
---
 ergoemacs-shortcuts.el |  174 +++++++++++++++---------------------------------
 1 files changed, 53 insertions(+), 121 deletions(-)

diff --git a/ergoemacs-shortcuts.el b/ergoemacs-shortcuts.el
index 96c4d5d..1e0215b 100644
--- a/ergoemacs-shortcuts.el
+++ b/ergoemacs-shortcuts.el
@@ -524,61 +524,46 @@ It will replace anything defined by 
`ergoemacs-translation'"
 (defun ergoemacs-read-key-next-key-is-alt (&optional type pretty-key)
   "The next key read is an Alt+ key. (or M- )"
   (interactive)
-  (let (next-key
-        key pretty kbd)
-    (setq next-key
-          (ergoemacs-translate
-           (vector
-            (ergoemacs-read-event nil pretty-key ergoemacs-alt-text))))
-    (setq key (plist-get next-key ':alt-key))
-    (setq pretty (plist-get next-key ':alt-pretty))
-    (setq kbd (plist-get next-key ':alt))
-    (setq next-key (ergoemacs-read-key-install-next-key next-key key pretty 
kbd))
-    next-key))
+  (let* ((next-key (ergoemacs-translate
+                   (vector
+                    (ergoemacs-read-event nil pretty-key ergoemacs-alt-text))))
+         (key (plist-get next-key ':alt-key))
+         (pretty (plist-get next-key ':alt-pretty))
+         (kbd (plist-get next-key ':alt)))
+    (ergoemacs-read-key-install-next-key next-key key pretty kbd)))
 
 (defun ergoemacs-read-key-next-key-is-ctl (&optional type pretty-key)
   "The next key read is an Ctrl+ key. (or C- )"
   (interactive)
-  (let (next-key
-        key pretty kbd)
-    (setq next-key
-          (ergoemacs-translate
-               (vector
-                (ergoemacs-read-event nil pretty-key ergoemacs-ctl-text))))
-    (setq key (plist-get next-key ':ctl-key))
-    (setq pretty (plist-get next-key ':ctl-pretty))
-    (setq kbd (plist-get next-key ':ctl))
-    (setq next-key (ergoemacs-read-key-install-next-key next-key key pretty 
kbd))
-    next-key))
+  (let* ((next-key (ergoemacs-translate
+                    (vector
+                     (ergoemacs-read-event nil pretty-key 
ergoemacs-ctl-text))))
+         (key (plist-get next-key ':ctl-key))
+         (pretty (plist-get next-key ':ctl-pretty))
+         (kbd (plist-get next-key ':ctl)))
+    (ergoemacs-read-key-install-next-key next-key key pretty kbd)))
 
 (defun ergoemacs-read-key-next-key-is-alt-ctl (&optional type pretty-key)
   "The next key read is an Alt+Ctrl+ key. (or C-M- )"
   (interactive)
-  (let (next-key
-        key pretty kbd)
-    (setq next-key
-              (ergoemacs-translate
-               (vector
-                (ergoemacs-read-event nil pretty-key ergoemacs-alt-ctl-text))))
-    (setq key (plist-get next-key ':alt-ctl-key))
-    (setq pretty (plist-get next-key ':alt-ctl-pretty))
-    (setq kbd (plist-get next-key ':alt-ctl))
-    (setq next-key (ergoemacs-read-key-install-next-key next-key key pretty 
kbd))
-    (symbol-value'next-key)))
+  (let* ((next-key (ergoemacs-translate
+                    (vector
+                     (ergoemacs-read-event nil pretty-key 
ergoemacs-alt-ctl-text))))
+         (key (plist-get next-key ':alt-ctl-key))
+         (pretty (plist-get next-key ':alt-ctl-pretty))
+         (kbd (plist-get next-key ':alt-ctl)))
+    (ergoemacs-read-key-install-next-key next-key key pretty kbd)))
 
 (defun ergoemacs-read-key-next-key-is-quoted (&optional type pretty-key)
   "The next key read is quoted."
   (interactive)
   (when (and type pretty-key)
-    (let (next-key
-          key pretty kbd)
-      (setq next-key (vector (ergoemacs-read-event nil pretty-key "")))
-      (setq next-key (ergoemacs-translate next-key))
-      (setq key (plist-get next-key ':normal-key))
-      (setq pretty (plist-get next-key ':normal-pretty))
-      (setq kbd (plist-get next-key ':normal))
-      (setq next-key (ergoemacs-read-key-install-next-key next-key key pretty 
kbd))
-      next-key)))
+    (let* ((next-key (ergoemacs-translate
+                      (vector (ergoemacs-read-event nil pretty-key ""))))
+           (key (plist-get next-key ':normal-key))
+           (pretty (plist-get next-key ':normal-pretty))
+           (kbd (plist-get next-key ':normal)))
+      (ergoemacs-read-key-install-next-key next-key key pretty kbd))))
 
 (defun ergoemacs-read-key-help ()
   "Show help for the current sequence KEY."
@@ -634,6 +619,7 @@ It will replace anything defined by `ergoemacs-translation'"
   (set-default 'post-command-hook nil))
 
 (defun ergoemacs-restore-post-command-hook ()
+  "Restores `post-command-hook'."
   (when (or (default-value 'ergoemacs-defer-post-command-hook)
             ergoemacs-defer-post-command-hook)
     (set-default 'post-command-hook (default-value 
'ergoemacs-defer-post-command-hook))
@@ -753,6 +739,26 @@ to the appropriate values for `ergoemacs-read-key'.
       (setq ret (ergoemacs-read-key-lookup-get-ret---universal fn)))
     ret))
 
+(defun ergoemacs--key-message (pretty-key dest)
+  "Prints the key command that was called.
+PRETTY-KEY is the key displayed
+DEST is the function being called."
+  (when (and ergoemacs-echo-function
+             (boundp 'pretty-key-undefined)
+             (not (or this-command-keys-shift-translated
+                      ergoemacs-shift-translated)))
+    (let (message-log-max)
+      (if (string= pretty-key-undefined pretty-key)
+          (when (eq ergoemacs-echo-function t)
+            (message "%s%s%s" pretty-key
+                     (ergoemacs-unicode-char "→" "->")
+                     dest))
+        (message "%s%s%s (from %s)"
+                 pretty-key
+                 (ergoemacs-unicode-char "→" "->")
+                 dest
+                 pretty-key-undefined)))))
+
 (defun ergoemacs-read-key-lookup (prior-key prior-pretty-key key pretty-key 
force-key)
   "Lookup KEY and run if necessary.
 
@@ -856,21 +862,7 @@ FORCE-KEY forces keys like <escape> to work properly.
                            (error nil))))
                   (setq fn (or (command-remapping fn (point)) fn))
                   (setq ergoemacs-single-command-keys key)
-                  (when (and ergoemacs-echo-function
-                             (boundp 'pretty-key-undefined)
-                             (not (or this-command-keys-shift-translated
-                                      ergoemacs-shift-translated)))
-                    (let (message-log-max)
-                      (if (string= pretty-key-undefined pretty-key)
-                          (when (eq ergoemacs-echo-function t)
-                            (message "%s%s%s" pretty-key
-                                     (ergoemacs-unicode-char "→" "->")
-                                     (symbol-name fn)))
-                        (message "%s%s%s (from %s)"
-                                 pretty-key
-                                 (ergoemacs-unicode-char "→" "->")
-                                 (symbol-name fn)
-                                 pretty-key-undefined))))
+                  (ergoemacs--key-message pretty-key fn)
                   (ergoemacs-read-key-call fn nil key)
                   (setq ergoemacs-single-command-keys nil)
                   (setq ret 'translate-fn))
@@ -883,21 +875,7 @@ FORCE-KEY forces keys like <escape> to work properly.
                   (setq unread-command-events (append (listify-key-sequence 
tmp) unread-command-events))
                   (ergoemacs-defer-post-command-hook)
                   (reset-this-command-lengths)
-                  (when (and ergoemacs-echo-function
-                             (boundp 'pretty-key-undefined)
-                             (not (or this-command-keys-shift-translated
-                                      ergoemacs-shift-translated)))
-                    (let (message-log-max)
-                      (if (string= pretty-key-undefined pretty-key)
-                          (when (eq ergoemacs-echo-function t)
-                            (message "%s%s%s" pretty-key
-                                     (ergoemacs-unicode-char "→" "->")
-                                     (ergoemacs-pretty-key (key-description 
tmp))))
-                        (message "%s%s%s (from %s)"
-                                 pretty-key
-                                 (ergoemacs-unicode-char "→" "->")
-                                 (ergoemacs-pretty-key (key-description tmp))
-                                 pretty-key-undefined))))
+                  (ergoemacs--key-message pretty-key (ergoemacs-pretty-key 
(key-description tmp)))
                   (when lookup
                     (define-key lookup [ergoemacs-single-command-keys] 'ignore)
                     (setq ergoemacs-read-key-overriding-terminal-local-save 
overriding-terminal-local-map)
@@ -951,45 +929,13 @@ FORCE-KEY forces keys like <escape> to work properly.
                          (condition-case err
                              (interactive-form (nth 0 hash))
                            (error nil)))
-                    (when (and ergoemacs-echo-function
-                               (boundp 'pretty-key-undefined)
-                               (not (or this-command-keys-shift-translated
-                                        ergoemacs-shift-translated)))
-                      (let (message-log-max)
-                        (if (string= pretty-key-undefined pretty-key)
-                            (when (eq ergoemacs-echo-function t)
-                              (message "%s%s%s" pretty-key
-                                       (ergoemacs-unicode-char "→" "->")
-                                       (symbol-name (nth 0 hash))))
-                          (message "%s%s%s (from %s)"
-                                   pretty-key
-                                   (ergoemacs-unicode-char "→" "->")
-                                   (symbol-name (nth 0 hash))
-                                   pretty-key-undefined))))
+                    (ergoemacs--key-message pretty-key (symbol-name (nth 0 
hash)))
                     (ergoemacs-shortcut-remap (nth 0 hash))
                     (setq ergoemacs-single-command-keys nil)
                     (setq ret 'function-remap))
                    ((and ergoemacs-shortcut-keys (not ergoemacs-describe-key)
                          (not ergoemacs-single-command-keys))
-                    (when (and ergoemacs-echo-function
-                               (boundp 'pretty-key-undefined)
-                               (not (or this-command-keys-shift-translated
-                                        ergoemacs-shift-translated)))
-                      (let (message-log-max)
-                        (if (nth 0 hash)
-                            (setq fn (nth 0 hash))
-                          (setq fn (key-binding key))
-                          (setq fn (or (command-remapping fn (point)) fn)))
-                        (if (string= pretty-key-undefined pretty-key)
-                            (when (eq ergoemacs-echo-function t)
-                              (message "%s%s%s;" pretty-key
-                                       (ergoemacs-unicode-char "→" "->")
-                                       fn))
-                          (message "%s%s%s (from %s);"
-                                   pretty-key
-                                   (ergoemacs-unicode-char "→" "->")
-                                   fn
-                                   pretty-key-undefined))))
+                    (ergoemacs--key-message pretty-key fn)
                     ;; There is some issue with these keys.  Read-key
                     ;; thinks it is in a minibuffer, so the recursive 
                     ;; minibuffer error is raised unless these are put
@@ -1015,21 +961,7 @@ FORCE-KEY forces keys like <escape> to work properly.
                       (setq ret (ergoemacs-read-key-lookup-get-ret---universal 
fn)))
                     (unless ret
                       (setq ergoemacs-single-command-keys key)
-                      (when (and ergoemacs-echo-function
-                                 (boundp 'pretty-key-undefined)
-                                 (not (or this-command-keys-shift-translated
-                                          ergoemacs-shift-translated)))
-                        (let (message-log-max)
-                          (if (string= pretty-key-undefined pretty-key)
-                              (when (eq ergoemacs-echo-function t)
-                                (message "%s%s%s" pretty-key
-                                         (ergoemacs-unicode-char "→" "->")
-                                         (symbol-name fn)))
-                            (message "%s%s%s (from %s)"
-                                     pretty-key
-                                     (ergoemacs-unicode-char "→" "->")
-                                     (symbol-name fn)
-                                     pretty-key-undefined))))
+                      (ergoemacs--key-message pretty-key (symbol-name fn))
                       (ergoemacs-read-key-call fn nil key)
                       (setq ergoemacs-single-command-keys nil)
                       (setq ret 'function))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]