* doc/emacs/custom.texi (Init Rebinding): kbd is now a function.
* doc/lispref/keymaps.texi (Key Sequences): kbd is now a function.
Fixes: debbugs:13052
+2012-12-02 Chong Yidong <cyd@gnu.org>
+
+ * custom.texi (Init Rebinding): kbd is now a function (Bug#13052).
+
2012-11-18 Dani Moncayo <dmoncayo@gmail.com>
* display.texi (Auto Scrolling): Fix some inaccuracies, plus
@findex kbd
There are several ways to write a key binding using Lisp. The
-simplest is to use the @code{kbd} macro, which converts a textual
+simplest is to use the @code{kbd} function, which converts a textual
representation of a key sequence---similar to how we have written key
sequences in this manual---into a form that can be passed as an
argument to @code{global-set-key}. For example, here's how to bind
(global-set-key (kbd "<mouse-2>") 'mouse-save-then-kill)
@end example
- Instead of using the @code{kbd} macro, you can use a Lisp string or
-vector to specify the key sequence. Using a string is simpler, but
-only works for @acronym{ASCII} characters and Meta-modified
-@acronym{ASCII} characters. For example, here's how to bind @kbd{C-x
-M-l} to @code{make-symbolic-link} (@pxref{Misc File Ops}):
+ Instead of using @code{kbd}, you can use a Lisp string or vector to
+specify the key sequence. Using a string is simpler, but only works
+for @acronym{ASCII} characters and Meta-modified @acronym{ASCII}
+characters. For example, here's how to bind @kbd{C-x M-l} to
+@code{make-symbolic-link} (@pxref{Misc File Ops}):
@example
(global-set-key "\C-x\M-l" 'make-symbolic-link)
+2012-12-02 Chong Yidong <cyd@gnu.org>
+
+ * keymaps.texi (Key Sequences): kbd is now a function.
+
2012-11-23 Martin Rudalics <rudalics@gmx.at>
* windows.texi (Basic Windows): Fix typo.
For examples of key sequences written in string and vector
representations, @ref{Init Rebinding,,, emacs, The GNU Emacs Manual}.
-@defmac kbd keyseq-text
-This macro converts the text @var{keyseq-text} (a string constant)
+@defun kbd keyseq-text
+This function converts the text @var{keyseq-text} (a string constant)
into a key sequence (a string or vector constant). The contents of
@var{keyseq-text} should use the same syntax as in the buffer invoked
by the @kbd{C-x C-k @key{RET}} (@code{kmacro-edit-macro}) command; in
This macro is not meant for use with arguments that vary---only
with string constants.
-@end defmac
+@end defun
@node Keymap Basics
@section Keymap Basics
The functions below signal an error if @var{keymap} is not a keymap,
or if @var{key} is not a string or vector representing a key sequence.
You can use event types (symbols) as shorthand for events that are
-lists. The @code{kbd} macro (@pxref{Key Sequences}) is a convenient
-way to specify the key sequence.
+lists. The @code{kbd} function (@pxref{Key Sequences}) is a
+convenient way to specify the key sequence.
@defun define-key keymap key binding
This function sets the binding for @var{key} in @var{keymap}. (If
+++
** The return values of `defalias', `defun' and `defmacro' have changed,
-and are now undefined. For backwards compatibility, defun and
-defmacro currently return the name of the newly defined function/macro
-but this should not be relied upon.
+and are now undefined. For backwards compatibility, `defun' and
+`defmacro' currently return the name of the newly defined
+function/macro, but this should not be relied upon.
---
** `face-spec-set' no longer sets frame-specific attributes when the
+++
** New macros `setq-local' and `defvar-local'.
+** Changes to special forms and macros
++++
+*** `defun' and `defmacro' are now macros rather than special forms
++++
+*** `kbd' is now a function rather than a macro.
+
+++
** New fringe bitmap `exclamation-mark'.