Commit 6bf7aab6 authored by Dave Love's avatar Dave Love
Browse files


parent f58395f6
1999-07-12 Richard Stallman <>
* Version 20.4 released.
1999-02-22 Andreas Schwab <>
* gnus.texi: Fix punctuation after @xref.
1999-01-18 Eli Zaretskii <>
* msdog.texi (MS-DOS and MULE): dos-unsupported-character-glyph is
a triangle by default, not a solid box.
1999-01-17 Andrew Innes <>
* msdog.texi (MS-DOS Printing): Rewrite section.
* emacs.texi (Top): Include Windows 98 in the MS-DOS section.
1998-12-04 Markus Rost <>
* (INFO_TARGETS): Delete
(DVI_TARGETS): Delete customize.dvi.
(../info/customize, customize.dvi): Targets deleted.
1998-11-18 Richard Stallman <>
* customize.texi: File deleted.
1998-11-08 Eli Zaretskii <>
* frames.texi: Change @xref to @pxref and add comma after @xref.
* custom.texi (Locals): Likewise.
* programs.texi (Fortran Autofill): Likewise.
* text.texi (TeX Editing): Likewise.
* viper.texi: Likewise.
1998-08-24 Andreas Schwab <>
* reftex.texi: Fix info file name.
* forms.texi (Forms Commands): Change @item to @itemx for
secondary items.
* viper.texi (Groundwork): Likewise.
(Commands): Remove extra Top from @node.
1998-08-19 Richard Stallman <>
* Version 20.3 released.
1998-08-10 Carsten Dominik <>
* reftex.texi: Updated to the latest RefTeX version.
1998-05-06 Richard Stallman <>
* (EMACSSOURCES): Add mule.texi.
Add msdog.texi, ack.texi. Remove gnu1.texi.
1998-04-06 Andreas Schwab <>
* (ENVADD): Enviroment vars to pass to texi2dvi. Use
it in dvi targets.
(../etc/GNU): Change to $(srcdir) first.
1998-03-11 Carsten Dominik <>
* reftex.texi Updated for RefTeX version 3.22.
1998-02-08 Richard Stallman <>
* (reftex.dvi, ../info/reftex): New targets.
(INFO_TARGETS, DVI_TARGETS): Add the new targets.
1997-09-23 Paul Eggert <>
* Merge changes mistakenly made to `Makefile'.
(INFO_TARGETS): Change ../info/custom to ../info/customize.
(../info/customize): Renamed from ../info/custom.
(../info/viper, viper.dvi): Remove dependency on viper-cmd.texi.
1997-09-19 Richard Stallman <>
* Version 20.2 released.
1997-09-15 Richard Stallman <>
* Version 20.1 released.
1997-08-24 Richard Stallman <>
* Makefile (../info/customize, customize.dvi): New targets.
(INFO_TARGETS): Add ../info/customize.
(DVI_TARGETS): Add customize.dvi.
1997-07-10 Richard Stallman <>
* Makefile (../info/viper, viper.dvi): Delete viper-cmd.texi dep.
1996-08-11 Richard Stallman <>
* Version 19.33 released.
1996-07-31 Richard Stallman <>
* Version 19.32 released.
1996-06-27 Lars Magne Ingebrigtsen <>
* Add rules for the Message manual.
1996-06-26 Lars Magne Ingebrigtsen <>
* gnus.texi: New version.
* message.texi: New manual.
1996-06-20 Richard Stallman <>
* (All info targets): cd $(srcdir) to do the work.
1996-06-19 Richard Stallman <>
* (All info targets): Specify $(srcdir) in input files.
Specify -I option.
(All dvi targets): Set the TEXINPUTS variable.
1996-05-25 Karl Heuer <>
* Version 19.31 released.
1996-01-07 Richard Stallman <>
* (../info/ccmode): Renamed from ../info/cc-mode.
(INFO_TARGETS): Use new name. This avoids name conflict on MSDOS.
1995-11-29 Richard Stallman <>
* (../info/cc-mode, cc-mode.dvi): New targets.
(INFO_TARGETS): Add ../info/cc-mode.
(DVI_TARGETS): Add cc-mode.dvi.
1995-11-24 Richard Stallman <>
* Version 19.30 released.
1995-11-04 Lars Magne Ingebrigtsen <>
* gnus.texi: New file.
1995-11-04 Erik Naggum <>
* gnus.texi: File deleted.
1995-11-02 Stephen Gildea <>
* mh-e.texi: "Function Index" -> "Command Index" to work with
Emacs 19.30 C-h C-k support of separately-documented commands.
1995-06-26 Richard Stallman <>
* (../info/ediff, ediff.dvi): New targets.
(INFO_TARGETS, DVI_TARGETS): Add those new targets.
1995-04-24 Richard Stallman <>
* (INFO_TARGETS, DVI_TARGETS): Add viper targets.
(../info/viper, viper.dvi): New targets.
1995-04-20 Kevin Rodgers <>
* dired-x.texi (Installation): Change the example to set
buffer-local variables like dired-omit-files-p in
1995-04-17 Richard Stallman <>
* (INFO_TARGETS, DVI_TARGETS): Add mh-e targets.
(../info/mh-e, mh-e.dvi): New targets.
1995-02-07 Richard Stallman <>
* (maintainer-clean): Renamed from realclean.
1994-11-23 Richard Stallman <>
* New file.
* Makefile: File deleted.
1994-11-19 Richard Stallman <>
* Makefile (TEXINDEX_OBJS): Variable deleted.
(texindex, texindex.o, getopt.o): Rules deleted.
All deps on texindex deleted.
(distclean): Don't delete texindex.
(mostlyclean): Don't delete *.o.
* texindex.c, getopt.c: Files deleted.
1994-09-07 Richard Stallman <>
* Version 19.26 released.
1994-07-02 Richard Stallman (
* Makefile (EMACSSOURCES): Exclude undo.texi.
1994-05-30 Richard Stallman (
* Version 19.25 released.
1994-05-23 Richard Stallman (
* Version 19.24 released.
1994-05-16 Richard Stallman (
* Version 19.23 released.
1994-04-17 Richard Stallman (
* Makefile: Delete spurious tab.
1994-02-16 Richard Stallman (
* Makefile (.SUFFIXES): New rule.
1994-01-15 Richard Stallman (
* Makefile (dired-x.dvi, ../info/dired-x): New targets.
(INFO_TARGETS, DVI_TARGETS): Add the new targets.
1994-01-08 Richard Stallman (
* Makefile (../info/sc): Renamed frin
(../info/cl): Likewise.
(INFO_TARGETS): Use new names.
1993-12-04 Richard Stallman (rms@srarc2)
* getopt.c: New file.
* Makefile (TEXINDEX_OBJS): Use getopt.o in this dir, not ../lib-src.
(getopt.o): New rule.
(dvi): Don't depend on texindex.
(emacs.dvi, cl.dvi, forms.dvi, vip.dvi, gnus.dvi, sc.dvi):
Depend on texindex.
1993-12-03 Richard Stallman (rms@srarc2)
* Makefile (../info/ Renamed from ../info/sc.
(TEXI2DVI): New variable.
(emacs.dvi, cl.dvi forms.dvi, sc.dvi, vip.dvi, gnus.dvi, info.dvi):
Add explicit commands.
(TEXINDEX_OBJS): Delete duplicate getopt.o.
1993-11-27 Richard Stallman (
* Version 19.22 released.
1993-11-18 Richard Stallman (
* Makefile (TEXINDEX_OBJS): Delete spurious period.
1993-11-16 Richard Stallman (
* Version 19.21 released.
1993-11-15 Paul Eggert (
* man/Makefile (../info/ Renamed from ../info/cl.
1993-11-15 Richard Stallman (
* Makefile (../etc/GNU): New target.
(EMACSSOURCES): Add gnu1.texi.
1993-11-14 Richard Stallman (
* Makefile (realclean): Don't delete the Info files.
1993-10-25 Brian Fox (
* forms.texi: Fix forms.texi so that it will format correctly.
Added missing `@end iftex', fixed bad reference.
* info.texi, info-stn.texi: New files implement texinfo version of
`info' file.
* frames.texi (Creating Frames): Mention `C-x 5' instead of `C-x
4' where appropriate.
1993-10-20 Brian Fox (
* Makefile: Fix targets for texindex, new info.texi files.
* info-stnd.texi: New file implements info for standalone info
* info.texi: Updated to include recent changes to "../info/info".
New source file for ../info/info; includes info-stnd.texi.
* texindex.c: Include "../src/config.h" if building in emacs.
* Makefile: Change all files to FILENAME.texi, force all targets
to be FILENAME, not This changes sc.texinfo,
vip.texinfo, forms.texinfo, cl.texinfo.
Add target to build texindex.c, defining `emacs'.
* forms.texi: Install new file to match version 2.3 of forms.el.
1993-08-14 Richard Stallman (
* Version 19.19 released.
1993-08-10 Simon Leinen (
* sc.texinfo: Fix info file name.
* Makefile (info): Added gnus and sc.
(dvi): Added gnus.dvi and sc.dvi.
(../info/sc, sc.dvi): New targets.
1993-08-08 Richard Stallman (
* Version 19.18 released.
1993-07-20 Richard Stallman (
* Makefile: Fix source file names of the separate manuals.
(gnus.dvi, ../info/gnus): New targets.
1993-07-18 Richard Stallman (
* Version 19.17 released.
1993-07-10 Richard Stallman (
* split-man: Fix typos in last change.
1993-07-06 Jim Blandy (
* Version 19.16 released.
1993-06-19 Jim Blandy (
* version 19.15 released.
1993-06-18 Jim Blandy (
* Makefile (distclean): It's rm, not rf.
1993-06-17 Jim Blandy (
* Version 19.14 released.
1993-06-16 Jim Blandy (
* Makefile: New file.
1993-06-08 Jim Blandy (
* Version 19.13 released.
1993-05-27 Jim Blandy (
* Version 19.9 released.
1993-05-25 Jim Blandy (
* Version 19.8 released.
1993-05-25 Jim Blandy (
* cmdargs.texi: Document the -i, -itype, and -iconic options.
* trouble.texi: It's `enable-flow-control-on', not
1993-05-24 Jim Blandy (
* display.texi: Document standard-display-european.
1993-05-22 Jim Blandy (
* Version 19.7 released.
* emacs.texi: Add a sentence to the top menu mentioning the
specific version of Emacs this manual applies to.
1993-04-25 Eric S. Raymond (
* basic.texi: Documented next-line-add-lines variable used to
implement down-arrow.
* killing.texi: Documented kill-whole-line.
1993-04-18 Noah Friedman (
* text.texi: Updated unix TeX ordering information.
1993-03-26 Eric S. Raymond (
* news.texi: Mentioned fill-rectangle in keybinding list.
* killing.texi: Documented fill-rectangle.
1993-03-17 Eric S. Raymond (
* vc.texi: Brought the docs up to date with VC 5.2.
1992-01-10 Eric S. Raymond (
* emacs.tex: Mentioned blackbox and gomoku under Amusements.
Assembler mode is now mentioned and appropriately
indexed under Programming Modes.
1991-02-15 Robert J. Chassell (bob at
* emacs.tex: Updated TeX ordering information.
1990-08-30 David Lawrence (tale at
* gnus.texinfo: New file. Removed installation instructions.
1990-06-26 David Lawrence (tale at geech)
* emacs.tex: Noted that completion-ignored-extensions is not used
to filter out names when all completions are displayed in
1990-05-25 Richard Stallman (rms at
* texindex.tex: If USG, include sys/types.h and sys/fcntl.h.
1990-03-21 Jim Kingdon (kingdon at
* emacs.tex: Add @findex grep.
1989-01-17 Robert J. Chassell (bob at
* texinfo.tex: Changed spelling of `\sc' font to `\smallcaps' and
then defined `\sc' as the command for smallcaps in Texinfo. This
measns that the @sc command will produce small caps. bfox has
made the corresponding change to makeinfo and texinfm.el.
1988-08-16 Robert J. Chassell (bob at
* emacs.tex: Corrected two typos. No other changes before
Version 19 will be made.
* vip.texinfo: Removed menu entry Adding Lisp Code in node
Customization since the menu entry did not point to anything.
Also added an @finalout command to remove overfull hboxes from the
printed output.
* cl.texinfo: Added @bye, \input line and @settitle to file.
This file is clearly intended to be a chapter of some other work,
but the other work does not yet exist.
1988-07-25 Robert J. Chassell (bob at
* texinfo.texinfo: Three typos corrected.
1988-05-23 Robert J. Chassell (bob at
* emacs.tex: Update information for obtaining TeX distribution from the
University of Washington.
@c This is part of the Emacs manual.
@c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Abbrevs, Picture, Building, Top
@chapter Abbrevs
@cindex abbrevs
@cindex expansion (of abbrevs)
A defined @dfn{abbrev} is a word which @dfn{expands}, if you insert
it, into some different text. Abbrevs are defined by the user to expand
in specific ways. For example, you might define @samp{foo} as an abbrev
expanding to @samp{find outer otter}. Then you would be able to insert
@samp{find outer otter } into the buffer by typing @kbd{f o o
A second kind of abbreviation facility is called @dfn{dynamic abbrev
expansion}. You use dynamic abbrev expansion with an explicit command
to expand the letters in the buffer before point by looking for other
words in the buffer that start with those letters. @xref{Dynamic
* Abbrev Concepts:: Fundamentals of defined abbrevs.
* Defining Abbrevs:: Defining an abbrev, so it will expand when typed.
* Expanding Abbrevs:: Controlling expansion: prefixes, canceling expansion.
* Editing Abbrevs:: Viewing or editing the entire list of defined abbrevs.
* Saving Abbrevs:: Saving the entire list of abbrevs for another session.
* Dynamic Abbrevs:: Abbreviations for words already in the buffer.
* Dabbrev Customization:: What is a word, for dynamic abbrevs. Case handling.
@end menu
@node Abbrev Concepts
@section Abbrev Concepts
An @dfn{abbrev} is a word which has been defined to @dfn{expand} into
a specified @dfn{expansion}. When you insert a word-separator character
following the abbrev, that expands the abbrev---replacing the abbrev
with its expansion. For example, if @samp{foo} is defined as an abbrev
expanding to @samp{find outer otter}, then you can insert @samp{find
outer otter.} into the buffer by typing @kbd{f o o .}.
@findex abbrev-mode
@vindex abbrev-mode
@cindex Abbrev mode
@cindex mode, Abbrev
Abbrevs expand only when Abbrev mode (a minor mode) is enabled.
Disabling Abbrev mode does not cause abbrev definitions to be forgotten,
but they do not expand until Abbrev mode is enabled again. The command
@kbd{M-x abbrev-mode} toggles Abbrev mode; with a numeric argument, it
turns Abbrev mode on if the argument is positive, off otherwise.
@xref{Minor Modes}. @code{abbrev-mode} is also a variable; Abbrev mode is
on when the variable is non-@code{nil}. The variable @code{abbrev-mode}
automatically becomes local to the current buffer when it is set.
Abbrev definitions can be @dfn{mode-specific}---active only in one major
mode. Abbrevs can also have @dfn{global} definitions that are active in
all major modes. The same abbrev can have a global definition and various
mode-specific definitions for different major modes. A mode-specific
definition for the current major mode overrides a global definition.
Abbrevs can be defined interactively during the editing session. Lists
of abbrev definitions can also be saved in files and reloaded in later
sessions. Some users keep extensive lists of abbrevs that they load in
every session.
@node Defining Abbrevs
@section Defining Abbrevs
@table @kbd
@item C-x a g
Define an abbrev, using one or more words before point as its expansion
@item C-x a l
Similar, but define an abbrev specific to the current major mode
@item C-x a i g
Define a word in the buffer as an abbrev (@code{inverse-add-global-abbrev}).
@item C-x a i l
Define a word in the buffer as a mode-specific abbrev
@item M-x kill-all-abbrevs
This command discards all abbrev definitions currently in effect,
leaving a blank slate.
@end table
@kindex C-x a g
@findex add-global-abbrev
The usual way to define an abbrev is to enter the text you want the
abbrev to expand to, position point after it, and type @kbd{C-x a g}
(@code{add-global-abbrev}). This reads the abbrev itself using the
minibuffer, and then defines it as an abbrev for one or more words before
point. Use a numeric argument to say how many words before point should be
taken as the expansion. For example, to define the abbrev @samp{foo} as
mentioned above, insert the text @samp{find outer otter} and then type
@kbd{C-u 3 C-x a g f o o @key{RET}}.
An argument of zero to @kbd{C-x a g} means to use the contents of the
region as the expansion of the abbrev being defined.
@kindex C-x a l
@findex add-mode-abbrev
The command @kbd{C-x a l} (@code{add-mode-abbrev}) is similar, but
defines a mode-specific abbrev. Mode-specific abbrevs are active only in a
particular major mode. @kbd{C-x a l} defines an abbrev for the major mode
in effect at the time @kbd{C-x a l} is typed. The arguments work the same
as for @kbd{C-x a g}.
@kindex C-x a i g
@findex inverse-add-global-abbrev
@kindex C-x a i l
@findex inverse-add-mode-abbrev
If the text already in the buffer is the abbrev, rather than its
expansion, use command @kbd{C-x a i g}
(@code{inverse-add-global-abbrev}) instead of @kbd{C-x a g}, or use
@kbd{C-x a i l} (@code{inverse-add-mode-abbrev}) instead of @kbd{C-x a
l}. These commands are called ``inverse'' because they invert the
meaning of the two text strings they use (one from the buffer and one
read with the minibuffer).
To change the definition of an abbrev, just define a new definition.
When the abbrev has a prior definition, the abbrev definition commands
ask for confirmation for replacing it.
To remove an abbrev definition, give a negative argument to the abbrev
definition command: @kbd{C-u - C-x a g} or @kbd{C-u - C-x a l}. The
former removes a global definition, while the latter removes a
mode-specific definition.
@findex kill-all-abbrevs
@kbd{M-x kill-all-abbrevs} removes all the abbrev definitions there
are, both global and local.
@node Expanding Abbrevs
@section Controlling Abbrev Expansion
An abbrev expands whenever it is present in the buffer just before
point and you type a self-inserting whitespace or punctuation character
(@key{SPC}, comma, etc.@:). More precisely, any character that is not a
word constituent expands an abbrev, and any word-constituent character
can be part of an abbrev. The most common way to use an abbrev is to
insert it and then insert a punctuation character to expand it.
@vindex abbrev-all-caps
Abbrev expansion preserves case; thus, @samp{foo} expands into @samp{find
outer otter}; @samp{Foo} into @samp{Find outer otter}, and @samp{FOO} into
@samp{FIND OUTER OTTER} or @samp{Find Outer Otter} according to the
variable @code{abbrev-all-caps} (a non-@code{nil} value chooses the first
of the two expansions).
These commands are used to control abbrev expansion:
@table @kbd
@item M-'
Separate a prefix from a following abbrev to be expanded
@item C-x a e
@findex expand-abbrev
Expand the abbrev before point (@code{expand-abbrev}).
This is effective even when Abbrev mode is not enabled.
@item M-x expand-region-abbrevs
Expand some or all abbrevs found in the region.
@end table
@kindex M-'
@findex abbrev-prefix-mark
You may wish to expand an abbrev with a prefix attached; for example,
if @samp{cnst} expands into @samp{construction}, you might want to use
it to enter @samp{reconstruction}. It does not work to type
@kbd{recnst}, because that is not necessarily a defined abbrev. What
you can do is use the command @kbd{M-'} (@code{abbrev-prefix-mark}) in
between the prefix @samp{re} and the abbrev @samp{cnst}. First, insert
@samp{re}. Then type @kbd{M-'}; this inserts a hyphen in the buffer to
indicate that it has done its work. Then insert the abbrev @samp{cnst};
the buffer now contains @samp{re-cnst}. Now insert a non-word character
to expand the abbrev @samp{cnst} into @samp{construction}. This
expansion step also deletes the hyphen that indicated @kbd{M-'} had been
used. The result is the desired @samp{reconstruction}.
If you actually want the text of the abbrev in the buffer, rather than
its expansion, you can accomplish this by inserting the following
punctuation with @kbd{C-q}. Thus, @kbd{foo C-q ,} leaves @samp{foo,} in
the buffer.
@findex unexpand-abbrev
If you expand an abbrev by mistake, you can undo the expansion and
bring back the abbrev itself by typing @kbd{C-_} to undo (@pxref{Undo}).
This also undoes the insertion of the non-word character that expanded
the abbrev. If the result you want is the terminating non-word
character plus the unexpanded abbrev, you must reinsert the terminating
character, quoting it with @kbd{C-q}. You can also use the command
@kbd{M-x unexpand-abbrev} to cancel the last expansion without
deleting the terminating character.
@findex expand-region-abbrevs