]> code.delx.au - gnu-emacs/blobdiff - doc/lispref/commands.texi
(Reading from Files): Document that null bytes force no-conversion when visiting
[gnu-emacs] / doc / lispref / commands.texi
index 9928379e82fd6bed16f95f723fb8b54187c08e31..2066da5a35d77f5155a1dd4fe686c8aafd1549f5 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/commands
 @node Command Loop, Keymaps, Minibuffers, Top
@@ -103,7 +103,8 @@ command does.
 @cindex interactive function
 
   A Lisp function becomes a command when its body contains, at top
-level, a form that calls the special form @code{interactive}.  This
+level, a form that calls the special form @code{interactive}, or if
+the function's symbol has an @code{interactive-form} property.  This
 form does nothing when actually executed, but its presence serves as a
 flag to indicate that interactive calling is permitted.  Its argument
 controls the reading of arguments for an interactive call.
@@ -141,6 +142,11 @@ the function is called, all its body forms including the
 @code{interactive} form are executed, but at this time
 @code{interactive} simply returns @code{nil} without even evaluating its
 argument.
+
+@cindex @code{interactive-form}, function property
+An interactive form can be added to a function post-facto via the
+@code{interactive-form} property of the function's symbol.
+@xref{Symbol Plists}.
 @end defspec
 
 There are three possibilities for the argument @var{arg-descriptor}:
@@ -892,8 +898,7 @@ last-command-event
 @noindent
 The value is 5 because that is the @acronym{ASCII} code for @kbd{C-e}.
 
-The alias @code{last-command-char} exists for compatibility with
-Emacs version 18.
+The alias @code{last-command-char} is obsolete.
 @end defvar
 
 @c Emacs 19 feature
@@ -2243,11 +2248,11 @@ that @code{lookup-key} does not perform case conversion in this way.
 @vindex this-command-keys-shift-translated
 When reading input results in such a @dfn{shift-translation}, Emacs
 sets the variable @code{this-command-keys-shift-translated} to a
-non-nil value.  Lisp programs can examine this variable if they need
-to modify their behavior when invoked by shift-translated keys.  For
-example, the function @code{handle-shift-selection} examines the value
-of this variable to determine how to activate or deactivate the region
-(@pxref{The Mark, handle-shift-selection}).
+non-@code{nil} value.  Lisp programs can examine this variable if they
+need to modify their behavior when invoked by shift-translated keys.
+For example, the function @code{handle-shift-selection} examines the
+value of this variable to determine how to activate or deactivate the
+region (@pxref{The Mark, handle-shift-selection}).
 
 The function @code{read-key-sequence} also transforms some mouse events.
 It converts unbound drag events into click events, and discards unbound
@@ -2652,8 +2657,7 @@ this expression) remains the value of @code{last-command-event}.
 @end group
 @end example
 
-The alias @code{last-input-char} exists for compatibility with
-Emacs version 18.
+The alias @code{last-input-char} is obsolete.
 @end defvar
 
 @defmac while-no-input body@dots{}