\input texinfo
@c This is an annex of the Emacs manual.
-@c Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+@c Copyright (C) 1994, 1995, 2002, 2003, 2004,
+@c 2005, 2006 Free Software Foundation, Inc.
@c Author: Daniel.Pfeiffer@Informatik.START.dbp.de, fax (+49 69) 7588-2389
@setfilename ../info/autotype
@c @node Autotypist, Picture, Abbrevs, Top
@c @cindex selfinserting text
@c @cindex autotypist
-@dircategory Emacs
-@direntry
-* Autotype: (autotype). Convenient features for text that you enter frequently
- in Emacs.
-@end direntry
-
-@ifnottex
-Copyright @copyright{} 1994, 1995, 1999 Free Software Foundation, Inc.
+@copying
+Copyright @copyright{} 1994, 1995, 1999, 2002, 2003, 2004,
+2005, 2006 Free Software Foundation, Inc.
+@quotation
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``The GNU Manifesto'', ``Distribution'' and
``GNU GENERAL PUBLIC LICENSE'', with the Front-Cover texts being ``A GNU
Documentation License. If you want to distribute this document
separately from the collection, you can do so by adding a copy of the
license to the document, as described in section 6 of the license.
-@end ifnottex
+@end quotation
+@end copying
+
+@dircategory Emacs
+@direntry
+* Autotype: (autotype). Convenient features for text that you enter frequently
+ in Emacs.
+@end direntry
@titlepage
@sp 10
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1994, 1995, 1999 Free Software Foundation, Inc.
-@sp 1
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being ``The GNU Manifesto'', ``Distribution'' and
-``GNU GENERAL PUBLIC LICENSE'', with the Front-Cover texts being ``A GNU
-Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
-license is included in the section entitled ``GNU Free Documentation
-License'' in the Emacs manual.
-
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
-this GNU Manual, like GNU software. Copies published by the Free
-Software Foundation raise funds for GNU development.''
-
-This document is part of a collection distributed under the GNU Free
-Documentation License. If you want to distribute this document
-separately from the collection, you can do so by adding a copy of the
-license to the document, as described in section 6 of the license.
+@insertcopying
@end titlepage
@node Top
@chapter Skeletons as Abbrev Expansions
@cindex skeletons as abbrevs
- Rather than use a keybinding for every skeleton command, you can also
+ Rather than use a key binding for every skeleton command, you can also
define an abbreviation (@pxref{(emacs)Defining Abbrevs}) that will expand
(@pxref{(emacs)Expanding Abbrevs}) into the skeleton.
Say you want @samp{ifst} to be an abbreviation for the C language if
statement. You will tell Emacs that @samp{ifst} expands to the empty string
-and then calls the skeleton command. In Emacs-lisp you can say something like
+and then calls the skeleton command. In Emacs Lisp you can say something like
@code{(define-abbrev c-mode-abbrev-table "ifst" "" 'c-if)}. Or you can edit
the output from @kbd{M-x list-abbrevs} to make it look like this:
@item @code{v1}, @code{v2}
Skeleton-local user variables.
@item @code{'@var{expression}}
-Evaluate following lisp expression for its side-effect, but prevent it from
+Evaluate following Lisp expression for its side-effect, but prevent it from
being interpreted as a skeleton element.
@item @var{skeleton}
Subskeletons are inserted recursively, not once, but as often as the user
This is done by binding the first key (@pxref{(emacs)Rebinding}) of
the pair to @code{skeleton-pair-insert-maybe} instead of
@code{self-insert-command}. The ``maybe'' comes from the fact that
-this at-first surprising behaviour is initially turned off. To enable
+this at-first surprising behavior is initially turned off. To enable
it, you must set @code{skeleton-pair} to some non-@code{nil} value.
And even then, a positive argument (@pxref{(emacs)Arguments}) will
make this key behave like a self-inserting key
parenthesis @samp{(}, the square bracket @samp{[}, the brace
@samp{@{}, the pointed bracket @samp{<} and the backquote @samp{`} all
pair with the symmetrical character. All other characters pair
-themselves. This behaviour can be modified by the variable
+themselves. This behavior can be modified by the variable
@code{skeleton-pair-alist}. This is in fact an alist of skeletons
(@pxref{Skeleton Language}), with the first part of each sublist
matching the typed character. This is the position of the interactor,
the buffer. The main application for this function, as its name suggests,
is to have it be called automatically every time an empty, and only an
empty file is visited. This is accomplished by putting @code{(add-hook
-'find-file-hooks 'auto-insert)} into your @file{~/.emacs} file
+'find-file-hook 'auto-insert)} into your @file{~/.emacs} file
(@pxref{(emacs)Init File}).
@vindex auto-insert-alist
source files insert the usual header, with a copyright of your
environment variable @env{$ORGANIZATION} or else the FSF, and prompt
for valid keywords describing the contents. Files in a @file{bin}
-directory for which Emacs could determine no specialised mode
+directory for which Emacs could determine no specialized mode
(@pxref{(emacs)Choosing Modes}) are set to Shell script mode.
@findex define-auto-insert
In Lisp (@pxref{(emacs)Init File}) you can use the function
@code{define-auto-insert} to add to or modify
@code{auto-insert-alist}. See its documentation with @kbd{C-h f
-auto-insert-alist}.
+define-auto-insert}.
@vindex auto-insert
The variable @code{auto-insert} says what to do when @code{auto-insert} is
that is updated too.
An interesting application for this function is to have it be called
-automatically every time a file is saved. This is accomplished by putting
-@code{(add-hook 'write-file-hooks 'copyright-update)} into your @file{~/.emacs}
-file (@pxref{(emacs)Init File}).
+automatically every time a file is saved. This is accomplished by
+putting @code{(add-hook 'before-save-hook 'copyright-update)} into
+your @file{~/.emacs} file (@pxref{(emacs)Init File}). Alternative,
+you can do @kbd{M-x customize-variable @key{RET} before-save-hook
+@key{RET}}. @code{copyright-update} is conveniently listed as an
+option in the customization buffer.
@vindex copyright-query
The variable @code{copyright-query} controls whether to update the
copyright or whether to ask about it. When this is @code{nil} updating is
only done with @kbd{M-x copyright-update}. When this is @code{function}
you are queried whenever @code{copyright-update} is called as a function,
-such as in the @code{write-file-hooks} feature mentioned above. Otherwise
+such as in the @code{before-save-hook} feature mentioned above. Otherwise
you are always queried.
@cindex timestamps
@findex time-stamp
-@vindex write-file-hooks
+@vindex before-save-hook
The @code{time-stamp} command can be used to update automatically a
template in a file with a new time stamp every time you save the file.
-Customize the hook @code{write-file-hooks} to add the function
-@code{time-stamp} to arrange this.
+Customize the hook @code{before-save-hook} to add the function
+@code{time-stamp} to arrange this. It you use Custom to do this,
+then @code{time-stamp} is conveniently listed as an option in the
+customization buffer.
@vindex time-stamp-active
@vindex time-stamp-format
@kbd{M-x tempo-backward-mark} and @kbd{M-x tempo-forward-mark} can be
used to jump between such points.
-More flexible templates can be created by including lisp symbols, which
+More flexible templates can be created by including Lisp symbols, which
will be evaluated as variables, or lists, which will be evaluated
-as lisp expressions. Automatic completion of specified tags to expanded
+as Lisp expressions. Automatic completion of specified tags to expanded
templates can be provided.
@findex tempo-define-template
Which ones to try, and in which order, is determined by the contents of
the customizable option @code{hippie-expand-try-functions-list}. Much
-customization of the expansion behaviour can be made by changing the
+customization of the expansion behavior can be made by changing the
order of, removing, or inserting new functions in this list. Given a
positive numeric argument, @kbd{M-x hippie-expand} jumps directly that
number of functions forward in this list. Given some other argument (a
@setchapternewpage odd
@contents
@bye
+
+@ignore
+ arch-tag: 54001b27-5ef8-4a9d-a199-905d650fafba
+@end ignore