help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: Reporting when keymapping stomped... best approach


From: Grant Rettke
Subject: Re: Reporting when keymapping stomped... best approach
Date: Thu, 12 Jun 2014 12:18:35 -0500

Understood, thanks for explaining.
Grant Rettke | AAAS, ACM, ASA, FSF, IEEE, SIAM, Sigma Xi
gcr@wisdomandwonder.com | http://www.wisdomandwonder.com/
“Wisdom begins in wonder.” --Socrates
((λ (x) (x x)) (λ (x) (x x)))
“Life has become immeasurably better since I have been forced to stop
taking it seriously.” --Thompson


On Thu, Jun 12, 2014 at 1:50 AM, Kevin Rodgers
<kevin.d.rodgers@gmail.com> wrote:
> On 6/10/14 1:15 PM, Grant Rettke wrote:
>>
>> 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?
>
>
> Stefan already provided the solution, but FYI I think the problem with your
> original attempt is that you try to concat `command' (which is a symbol in
> most cases) to a string.  His solution works because he uses the %S format
> specifier.
>
> I don't know why setting debug-on-error didn't work as expected.
>
> --
> Kevin Rodgers
> Denver, Colorado, USA
>
>



reply via email to

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