On 8 août, 13:55, bojohan+n...@dd.chalmers.se (Johan Bockgård) wrote: > Dieter Wilhelm writes: > > I'd like to detect whether prefix arguments of a command are supplied > > by C-u or otherwise. > > > My idea is to use this-command-keys and compare it to some string, > > like the following pseudo code: > > > (defun bla (arg) > > (interactive "p") > > (when (string= "C-u" (substring (this-command-keys) 0 2)) > > (message "hurray"))) > > > I just don't understand how to compare key sequences. > > You want to check for the character ^U, not the three-character string > `C - u'. Like > > (eq ?\C-u (aref (this-command-keys) 0)) hurray it works, thanks a lot! > > (The whole idea seems a bit ugly though.) Why? In Emacs there are just too little short key combinations free. I'd like to achieve a switch for certain functions depending whether their arguments ARG are supplied by C-u or not. For example: M-d might kill ARG word with the following boundary/ whitespace or without, or C-t might drag a character ARG chars away and in the other case merely transpose neighbouring chars some ARG chars away.