My goal is to issue a warning whenever a keymapping is stomped on my
myself or anyone else. For example, say I replace self-insert for 1
like this:
(global-set-key (kbd "1") 'scheme-mode)
Then I want to look up in the global keymap space whether the desired
key already exists, and if it does, then I want to warn the user what
function was rebound to that keymap. Eg:
(defadvice global-set-key (before check-keymapping activate)
(let ((key (ad-get-arg 0))
(command (ad-get-arg 1)))
(when command
(warn (concat "Just stomped on a global keymapping bound to: "
command)))))
The only problem is that this doesn't work, as global-undo-tree starts
complaining and I'm not sure where to start looking . Setting
debug-on-error to true doesn't even reveal anything useful.
Where might I start debugging further?