[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to detect C-u supplied arguments from other prefix arguments
From: |
dieter . wilhelm |
Subject: |
Re: How to detect C-u supplied arguments from other prefix arguments |
Date: |
Wed, 08 Aug 2007 12:27:28 -0000 |
User-agent: |
G2/1.0 |
On 8 août, 13:55, bojohan+n...@dd.chalmers.se (Johan Bockgård) wrote:
> Dieter Wilhelm <die...@duenenhof-wilhelm.de> 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.
Re: How to detect C-u supplied arguments from other prefix arguments, Stefan Monnier, 2007/08/09