(x_term_init): Unblock input around call1.
[bpt/emacs.git] / lispref / abbrevs.texi
index 0f47889..58e1ffa 100644 (file)
@@ -75,7 +75,7 @@ containing no symbols.  It is a vector filled with zeros.
 
 @defun clear-abbrev-table table
 This function undefines all the abbrevs in abbrev table @var{table},
-leaving it empty. The function returns @code{nil}.
+leaving it empty.  It always returns @code{nil}.
 @end defun
 
 @defun define-abbrev-table tabname definitions
@@ -142,6 +142,14 @@ The argument @var{hook} is a function or @code{nil}.  If @var{hook} is
 non-@code{nil}, then it is called with no arguments after the abbrev is
 replaced with @var{expansion}; point is located at the end of
 @var{expansion} when @var{hook} is called.
+
+If @var{hook} is a non-nil symbol whose @code{no-self-insert} property
+is non-@code{nil}, @var{hook} can explicitly control whether to insert
+the self-inserting input character that triggered the expansion.  If
+@var{hook} returns non-@code{nil} in this case, that inhibits insertion
+of the character.  By contrast, if @var{hook} returns @code{nil},
+@code{expand-abbrev} also returns @code{nil}, as if expansion had not
+really occurred.
 @end defun
 
 @defopt only-global-abbrevs
@@ -228,6 +236,11 @@ argument @var{table} specifies the abbrev table to use, as in
 This command expands the abbrev before point, if any.  If point does not
 follow an abbrev, this command does nothing.  The command returns the
 abbrev symbol if it did expansion, @code{nil} otherwise.
+
+If the abbrev symbol has a hook function which is a symbol whose
+@code{no-self-insert} property is non-@code{nil}, and if the hook
+function returns @code{nil} as its value, then @code{expand-abbrev}
+returns @code{nil} even though expansion did occur.
 @end deffn
 
 @deffn Command abbrev-prefix-mark &optional arg