diff options
author | rekado <rekado@elephly.net> | 2014-11-04 08:12:46 +0100 |
---|---|---|
committer | rekado <rekado@elephly.net> | 2014-11-04 08:12:46 +0100 |
commit | cada7f7bd275a4fef57ddf9695f5366e53a021b9 (patch) | |
tree | 380c3ee90052fe93db3feaa35367a27fbcf15ab2 /lisp | |
parent | 64074e2abb773afc1041cbfce91dbfced51dfe1e (diff) |
god-mode: advice function instead of redefining it
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/init-god-mode.el | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/lisp/init-god-mode.el b/lisp/init-god-mode.el index e63c340..5f0e34c 100644 --- a/lisp/init-god-mode.el +++ b/lisp/init-god-mode.el @@ -1,20 +1,12 @@ (require 'god-mode) (global-set-key (kbd "<M-SPC>") 'god-mode-all) -(defun original-god-mode-lookup-key-sequence (&optional key key-string-so-far) ()) -(fset 'original-god-mode-lookup-key-sequence (symbol-function 'god-mode-lookup-key-sequence)) - -(defun god-mode-lookup-key-sequence (&optional key key-string-so-far) - "Lookup the command for the given `key' (or the next keypress, -if `key' is nil). This function sometimes -recurses. `key-string-so-far' should be nil for the first call in -the sequence." - (interactive) - (message (format "%s" key)) - (case key - (?x (original-god-mode-lookup-key-sequence ?t key-string-so-far)) - (?t (original-god-mode-lookup-key-sequence ?x key-string-so-far)) - (t (original-god-mode-lookup-key-sequence key key-string-so-far)))) +(defadvice god-mode-lookup-key-sequence (before my-swap-x-t) + "Swap ?x and ?t KEY arguments." + (case (ad-get-arg 0) + (?x (ad-set-arg 0 ?t)) + (?t (ad-set-arg 0 ?x)))) +(ad-activate 'god-mode-lookup-key-sequence) (defun my-update-cursor () (if god-local-mode |