emacs-devel
[Top][All Lists]
Advanced

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

Re: Get a command by its keybinding and also respecting key translation


From: David Kastrup
Subject: Re: Get a command by its keybinding and also respecting key translation
Date: Mon, 20 Dec 2010 11:35:31 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Tassilo Horn <address@hidden> writes:

> Andreas Schwab <address@hidden> writes:
>
> Hi Andreas,
>
>>> Or with an example:
>>>
>>> (defmacro define-context-key (keymap key dispatch)
>>>   `(define-key ,keymap ,key
>>>      (backquote
>>>       (menu-item "context-key" ignore
>>>                  :filter (lambda (&optional ignored)
>>>                            ,dispatch)))))
>>>
>>> How do I smuggle a `,' before the lambda?
>>
>> First, backquote != `.
>
> It is not?  From backquote.el:
>
>   (defalias '\` (symbol-function 'backquote))
>
> And describe-function returns the same (except the name) for both ``'
> and `backquote'.

You are confusing \` with `.  ` is (obviously) treated specially by the
Lisp reader and converted into a form involving the macro \`.  At some
point in the past, this rather used the macro backquote instead.  If
this were still so, you probably would be less confused.  The connection
between ` and \` is arbitrary, and established by the Lisp reader.

M-: '`(+ 4 ,soup)

gives

(\` (+ 4 (\, soup)))

-- 
David Kastrup




reply via email to

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