summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2013-07-26 14:02:53 -0600
committerTom Tromey <tromey@redhat.com>2013-07-26 14:02:53 -0600
commitcc231cbe45d27a1906d268fb72d3b4105a2e9c65 (patch)
treec011828e2a3a18e77eaa8849e3cccb805d798f42 /doc
parentb34a529f177a6ea32da5cb1254f91bf9d71838db (diff)
parentfec9206062b420aca84f53d05a72c3ee43244022 (diff)
downloademacs-cc231cbe45d27a1906d268fb72d3b4105a2e9c65.tar.gz
merge from trunk
Diffstat (limited to 'doc')
-rw-r--r--doc/emacs/ChangeLog5
-rw-r--r--doc/emacs/Makefile.in2
-rw-r--r--doc/emacs/display.texi3
-rw-r--r--doc/lispintro/Makefile.in2
-rw-r--r--doc/lispref/ChangeLog37
-rw-r--r--doc/lispref/Makefile.in2
-rw-r--r--doc/lispref/elisp.texi3
-rw-r--r--doc/lispref/errors.texi5
-rw-r--r--doc/lispref/eval.texi11
-rw-r--r--doc/lispref/files.texi12
-rw-r--r--doc/lispref/os.texi155
-rw-r--r--doc/lispref/windows.texi11
-rw-r--r--doc/misc/ChangeLog36
-rw-r--r--doc/misc/Makefile.in15
-rw-r--r--doc/misc/erc.texi19
-rw-r--r--doc/misc/eshell.texi10
-rw-r--r--doc/misc/faq.texi42
-rw-r--r--doc/misc/gnus.texi5
-rw-r--r--doc/misc/ido.texi712
-rw-r--r--doc/misc/pcl-cvs.texi44
-rw-r--r--doc/misc/reftex.texi4
-rw-r--r--doc/misc/ses.texi71
-rw-r--r--doc/misc/woman.texi128
23 files changed, 1195 insertions, 139 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index e634117f89c..ad2f091f27f 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,8 @@
+2013-07-26 Eli Zaretskii <eliz@gnu.org>
+
+ * display.texi (Fringes): Document the variable fringe-mode.
+ (Bug#14946)
+
2013-07-03 Glenn Morris <rgm@gnu.org>
* maintaining.texi (EDE): Fix cross-reference.
diff --git a/doc/emacs/Makefile.in b/doc/emacs/Makefile.in
index 2fec57f838b..32bb39b127a 100644
--- a/doc/emacs/Makefile.in
+++ b/doc/emacs/Makefile.in
@@ -1,4 +1,4 @@
-#### Makefile for the Emacs Manual
+### @configure_input@
# Copyright (C) 1994, 1996-2013 Free Software Foundation, Inc.
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index 482d7e7741a..aa9977a52e5 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -1017,12 +1017,15 @@ mode's symbol is a member of the list @code{hi-lock-exclude-modes}.
@findex set-fringe-style
@findex fringe-mode
+@vindex fringe-mode @r{(variable)}
On graphical displays, each Emacs window normally has narrow
@dfn{fringes} on the left and right edges. The fringes are used to
display symbols that provide information about the text in the window.
You can type @kbd{M-x fringe-mode} to disable the fringes, or modify
their width. This command affects fringes in all frames; to modify
fringes on the selected frame only, use @kbd{M-x set-fringe-style}.
+You can make your changes to the fringes permanent by customizing the
+variable @code{fringe-mode}.
The most common use of the fringes is to indicate a continuation
line (@pxref{Continuation Lines}). When one line of text is split
diff --git a/doc/lispintro/Makefile.in b/doc/lispintro/Makefile.in
index b60c752e92b..d5462f9e70f 100644
--- a/doc/lispintro/Makefile.in
+++ b/doc/lispintro/Makefile.in
@@ -1,4 +1,4 @@
-#### Makefile for the Emacs Lisp Introduction manual
+### @configure_input@
# Copyright (C) 1994-1999, 2001-2013 Free Software Foundation, Inc.
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index f8b7406c427..32717946b04 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,38 @@
+2013-07-24 Michael Albinus <michael.albinus@gmx.de>
+
+ * errors.texi (Standard Errors): Fix typo.
+
+ * files.texi (Magic File Names):
+ * os.texi (File Notifications): Remove file-notify-supported-p.
+
+2013-07-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ * eval.texi (Special Forms): Mention 'lambda'. Also, say that
+ non-well-formed expressions result in unspecified behavior, though
+ Emacs will not crash.
+
+2013-07-22 Michael Albinus <michael.albinus@gmx.de>
+
+ * files.texi (Magic File Names): Add file-notify-add-watch,
+ file-notify-rm-watch and file-notify-supported-p. Move
+ file-remote-p down.
+
+ * errors.texi (Standard Errors): Add file-notify-error.
+
+ * os.texi (Desktop Notifications): Rename from Notifications.
+ (File Notifications): New node.
+
+ * elisp.texi (Top): Update menu for these changes.
+
+2013-07-19 Xue Fuqiao <xfq.free@gmail.com>
+
+ * windows.texi (Display Action Functions): Mention next-window.
+
+2013-07-16 Xue Fuqiao <xfq.free@gmail.com>
+
+ * windows.texi (Selecting Windows): Fix the introduction of
+ `set-frame-selected-window''s arguments.
+
2013-07-10 Paul Eggert <eggert@cs.ucla.edu>
Timestamp fixes for undo (Bug#14824).
@@ -1045,7 +1080,7 @@
* display.texi (Face Attributes): Copyedits. Add a few cindex entries.
Overlining no longer behaves exactly like underlining.
-2012-06-16 Aurelien Aptel <aurelien.aptel@gmail.com>
+2012-06-16 Aurélien Aptel <aurelien.aptel@gmail.com>
* display.texi (Face Attributes):
Document wave-style underline face attribute.
diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in
index c548b67d4ca..4c1d63ab5c8 100644
--- a/doc/lispref/Makefile.in
+++ b/doc/lispref/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile for the GNU Emacs Lisp Reference Manual.
+### @configure_input@
# Copyright (C) 1990-1996, 1998-2013 Free Software Foundation, Inc.
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index 0d9432d5e01..9c013140999 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -1489,7 +1489,8 @@ Operating System Interface
* Batch Mode:: Running Emacs without terminal interaction.
* Session Management:: Saving and restoring state with
X Session Management.
-* Notifications:: Desktop notifications.
+* Desktop Notifications:: Desktop notifications.
+* File Notifications:: File notifications.
* Dynamic Libraries:: On-demand loading of support libraries.
Starting Up Emacs
diff --git a/doc/lispref/errors.texi b/doc/lispref/errors.texi
index 3f3984e40d2..87cfcfa532c 100644
--- a/doc/lispref/errors.texi
+++ b/doc/lispref/errors.texi
@@ -123,6 +123,11 @@ This is a subcategory of @code{file-error}. @xref{File Locks}.
@item file-supersession
This is a subcategory of @code{file-error}. @xref{Modification Time}.
+@c filenotify.el
+@item file-notify-error
+This is a subcategory of @code{file-error}. It happens, when a file
+could not be watched for changes. @xref{File Notifications}.
+
@c net/ange-ftp.el
@item ftp-error
This is a subcategory of @code{file-error}, which results from
diff --git a/doc/lispref/eval.texi b/doc/lispref/eval.texi
index 4b5ef187383..4b83d575fef 100644
--- a/doc/lispref/eval.texi
+++ b/doc/lispref/eval.texi
@@ -432,6 +432,14 @@ do.
and which are used without evaluation. Whether a particular argument is
evaluated may depend on the results of evaluating other arguments.
+ If an expression's first symbol is that of a special form, the
+expression should follow the rules of that special form; otherwise,
+Emacs's behavior is not well-defined (though it will not crash). For
+example, @code{((lambda (x) x . 3) 4)} contains a subexpression that
+begins with @code{lambda} but is not a well-formed @code{lambda}
+expression, so Emacs may signal an error, or may return 3 or 4 or
+@code{nil}, or may behave in other ways.
+
Here is a list, in alphabetical order, of all of the special forms in
Emacs Lisp with a reference to where each is described.
@@ -463,6 +471,9 @@ Emacs Lisp with a reference to where each is described.
@item interactive
@pxref{Interactive Call}
+@item lambda
+@pxref{Lambda Expressions}
+
@item let
@itemx let*
@pxref{Local Variables}
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index 951d55ac90f..77b097ae90a 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -2772,16 +2772,17 @@ first, before handlers for jobs such as remote file access.
@code{file-equal-p},
@code{file-executable-p}, @code{file-exists-p},
@code{file-in-directory-p},
-@code{file-local-copy}, @code{file-remote-p},
+@code{file-local-copy},
@code{file-modes}, @code{file-name-all-completions},
@code{file-name-as-directory},
@code{file-name-completion},
@code{file-name-directory},
@code{file-name-nondirectory},
@code{file-name-sans-versions}, @code{file-newer-than-file-p},
+@code{file-notify-add-watch}, @code{file-notify-rm-watch},
@code{file-ownership-preserved-p},
@code{file-readable-p}, @code{file-regular-p},
-@code{file-selinux-context},
+@code{file-remote-p}, @code{file-selinux-context},
@code{file-symlink-p}, @code{file-truename}, @code{file-writable-p},
@code{find-backup-file-name},
@c Not sure why it was here: @code{find-file-noselect},@*
@@ -2820,20 +2821,21 @@ first, before handlers for jobs such as remote file access.
@code{file-accessible-direc@discretionary{}{}{}tory-p},
@code{file-acl},
@code{file-attributes},
-@code{file-direct@discretionary{}{}{}ory-p},
+@code{file-direc@discretionary{}{}{}tory-p},
@code{file-equal-p},
@code{file-executable-p}, @code{file-exists-p},
@code{file-in-directory-p},
-@code{file-local-copy}, @code{file-remote-p},
+@code{file-local-copy},
@code{file-modes}, @code{file-name-all-completions},
@code{file-name-as-directory},
@code{file-name-completion},
@code{file-name-directory},
@code{file-name-nondirec@discretionary{}{}{}tory},
@code{file-name-sans-versions}, @code{file-newer-than-file-p},
+@code{file-notify-add-watch}, @code{file-notify-rm-watch},
@code{file-ownership-pre@discretionary{}{}{}served-p},
@code{file-readable-p}, @code{file-regular-p},
-@code{file-selinux-context},
+@code{file-remote-p}, @code{file-selinux-context},
@code{file-symlink-p}, @code{file-truename}, @code{file-writable-p},
@code{find-backup-file-name},
@c Not sure why it was here: @code{find-file-noselect},
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index b481c330f9f..071fcf526da 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -34,7 +34,8 @@ terminal and the screen.
* X11 Keysyms:: Operating on key symbols for X Windows.
* Batch Mode:: Running Emacs without terminal interaction.
* Session Management:: Saving and restoring state with X Session Management.
-* Notifications:: Desktop notifications.
+* Desktop Notifications:: Desktop notifications.
+* File Notifications:: File notifications.
* Dynamic Libraries:: On-demand loading of support libraries.
@end menu
@@ -2270,7 +2271,7 @@ Emacs is restarted by the session manager.
@end group
@end example
-@node Notifications
+@node Desktop Notifications
@section Desktop Notifications
@cindex desktop notifications
@@ -2510,6 +2511,156 @@ If @var{SPEC_VERSION} is @code{nil}, the server supports a
specification prior to @samp{"1.0"}.
@end defun
+@node File Notifications
+@section Notifications on File Changes
+@cindex file notifications
+
+Several operating systems support watching of filesystems for changes
+of files. If configured properly, Emacs links a respective library
+like @file{gfilenotify}, @file{inotify}, or @file{w32notify}
+statically. These libraries enable watching of filesystems on the
+local machine.
+
+It is also possible to watch filesystems on remote machines,
+@pxref{Remote Files,, Remote Files, emacs, The GNU Emacs Manual}
+This does not depend on one of the libraries linked to Emacs.
+
+Since all these libraries emit different events on notified file
+changes, there is the Emacs library @code{filenotify} which provides a
+unique interface.
+
+@defun file-notify-add-watch file flags callback
+Add a watch for filesystem events pertaining to @var{file}. This
+arranges for filesystem events pertaining to @var{file} to be reported
+to Emacs.
+
+The returned value is a descriptor for the added watch. Its type
+depends on the underlying library, it cannot be assumed to be an
+integer as in the example below. It should be used for comparison by
+@code{equal} only.
+
+If the @var{file} cannot be watched for some reason, this function
+signals a @code{file-notify-error} error.
+
+Sometimes, mounted filesystems cannot be watched for file changes.
+This is not detected by this function, a non-@code{nil} return value
+does not guarantee that changes on @var{file} will be notified.
+
+@var{flags} is a list of conditions to set what will be watched for.
+It can include the following symbols:
+
+@table @code
+@item change
+watch for file changes
+@item attribute-change
+watch for file attribute changes, like permissions or modification
+time
+@end table
+
+If @var{file} is a directory, changes for all files in that directory
+will be notified. This does not work recursively.
+
+When any event happens, Emacs will call the @var{callback} function
+passing it a single argument @var{event}, which is of the form
+
+@lisp
+(@var{descriptor} @var{action} @var{file} [@var{file1}])
+@end lisp
+
+@var{descriptor} is the same object as the one returned by this
+function. @var{action} is the description of the event. It could be
+any one of the following symbols:
+
+@table @code
+@item created
+@var{file} was created
+@item deleted
+@var{file} was deleted
+@item changed
+@var{file} has changed
+@item renamed
+@var{file} has been renamed to @var{file1}
+@item attribute-changed
+a @var{file} attribute was changed
+@end table
+
+@var{file} and @var{file1} are the name of the file(s) whose event is
+being reported. For example:
+
+@example
+@group
+(require 'filenotify)
+ @result{} filenotify
+@end group
+
+@group
+(defun my-notify-callback (event)
+ (message "Event %S" event))
+ @result{} my-notify-callback
+@end group
+
+@group
+(file-notify-add-watch
+ "/tmp" '(change attribute-change) 'my-notify-callback)
+ @result{} 35025468
+@end group
+
+@group
+(write-region "foo" nil "/tmp/foo")
+ @result{} Event (35025468 created "/tmp/.#foo")
+ Event (35025468 created "/tmp/foo")
+ Event (35025468 changed "/tmp/foo")
+ Event (35025468 deleted "/tmp/.#foo")
+@end group
+
+@group
+(write-region "bla" nil "/tmp/foo")
+ @result{} Event (35025468 created "/tmp/.#foo")
+ Event (35025468 changed "/tmp/foo") [2 times]
+ Event (35025468 deleted "/tmp/.#foo")
+@end group
+
+@group
+(set-file-modes "/tmp/foo" (default-file-modes))
+ @result{} Event (35025468 attribute-changed "/tmp/foo")
+@end group
+@end example
+
+Whether the action @code{renamed} is returned, depends on the used
+watch library. It can be expected, when a directory is watched, and
+both @var{file} and @var{file1} belong to this directory. Otherwise,
+the actions @code{deleted} and @code{created} could be returned in a
+random order.
+
+@example
+@group
+(rename-file "/tmp/foo" "/tmp/bla")
+ @result{} Event (35025468 renamed "/tmp/foo" "/tmp/bla")
+@end group
+
+@group
+(file-notify-add-watch
+ "/var/tmp" '(change attribute-change) 'my-notify-callback)
+ @result{} 35025504
+@end group
+
+@group
+(rename-file "/tmp/bla" "/var/tmp/bla")
+ @result{} ;; gfilenotify
+ Event (35025468 renamed "/tmp/bla" "/var/tmp/bla")
+
+ @result{} ;; inotify
+ Event (35025504 created "/var/tmp/bla")
+ Event (35025468 deleted "/tmp/bla")
+@end group
+@end example
+@end defun
+
+@defun file-notify-rm-watch descriptor
+Removes an existing file watch specified by its @var{descriptor}.
+@var{descriptor} should be an object returned by
+@code{file-notify-add-watch}.
+@end defun
@node Dynamic Libraries
@section Dynamically Loaded Libraries
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index f2a4b3849dd..1f65f687014 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -1355,10 +1355,9 @@ within that frame. @var{frame} should be a live frame; if omitted or
@defun set-frame-selected-window frame window &optional norecord
This function makes @var{window} the window selected within the frame
-@var{frame}. @var{frame} should be a live frame; if omitted or
-@code{nil}, it defaults to the selected frame. @var{window} should be
-a live window; if omitted or @code{nil}, it defaults to the selected
-window.
+@var{frame}. @var{frame} should be a live frame; if @code{nil}, it
+defaults to the selected frame. @var{window} should be a live window;
+if @code{nil}, it defaults to the selected window.
If @var{frame} is the selected frame, this makes @var{window} the
selected window.
@@ -1925,6 +1924,10 @@ frames to search for a reusable window:
A frame means consider windows on that frame only.
@end itemize
+Note that these meanings differ slightly from those of the
+@var{all-frames} argument to @code{next-window} (@pxref{Cyclic Window
+Ordering}).
+
If @var{alist} contains no @code{reusable-frames} entry, this function
normally searches just the selected frame; however, if the variable
@code{pop-up-frames} is non-@code{nil}, it searches all frames on the
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 2fe1914f926..da2491cb94a 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,37 @@
+2013-07-25 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (INFO_TARGETS, DVI_TARGETS, PDF_TARGETS): Add ido.
+ (ido, $(buildinfodir)/ido$(INFO_EXT), ido.dvi, ido.pdf): New rules.
+
+ * erc.texi (Special Features): Update contact information.
+ (History): Avoid using @email.
+
+ * eshell.texi (Bugs and ideas): Minor updates.
+
+ * faq.texi (Reporting bugs, Origin of the term Emacs)
+ (Setting up a customization file)
+ (Using an already running Emacs process, Turning off beeping)
+ (Packages that do not come with Emacs)
+ (Replying to the sender of a message): Avoid using @email.
+
+ * pcl-cvs.texi (Contributors, Bugs): Avoid using @email.
+
+ * reftex.texi (Imprint): Avoid using @email.
+
+ * ses.texi (Top): Update bug reporting instructions.
+ (Acknowledgments): Avoid using @email.
+
+ * woman.texi (Introduction, Background): Remove outdated information.
+ (Bugs, Acknowledgments): Avoid using @email.
+
+2013-07-24 Xue Fuqiao <xfq.free@gmail.com>
+
+ * ido.texi: New file.
+
+2013-07-19 Geoff Kuenning <geoff@cs.hmc.edu> (tiny change)
+
+ * gnus.texi (Customizing Articles): Document function predicates.
+
2013-07-08 Tassilo Horn <tsdh@gnu.org>
* gnus.texi (lines): Correct description of
@@ -1088,7 +1122,7 @@
corresponding function names, according to
`org-agenda-view-mode-dispatch'.
-2012-09-30 Jan Bäcker <jan.boecker@jboecker.de>
+2012-09-30 Jan Böcker <jan.boecker@jboecker.de>
* org.texi (The spreadsheet): Fix typo.
diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in
index 4fb4865b8a4..67a899af8ce 100644
--- a/doc/misc/Makefile.in
+++ b/doc/misc/Makefile.in
@@ -1,4 +1,4 @@
-#### Makefile for documentation other than the Emacs manual.
+### @configure_input@
# Copyright (C) 1994, 1996-2013 Free Software Foundation, Inc.
@@ -45,7 +45,7 @@ MAKEINFO_OPTS = --force -I$(emacsdir)
INFO_TARGETS = ada-mode auth autotype bovine calc ccmode cl \
dbus dired-x ebrowse ede ediff edt eieio \
emacs-mime epa erc ert eshell eudc efaq \
- flymake forms gnus emacs-gnutls htmlfontify idlwave info.info \
+ flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \
mairix-el message mh-e newsticker nxml-mode \
org pcl-cvs pgg rcirc remember reftex sasl \
sc semantic ses sieve smtpmail speedbar srecode tramp \
@@ -79,6 +79,7 @@ DVI_TARGETS = \
emacs-gnutls.dvi \
htmlfontify.dvi \
idlwave.dvi \
+ ido.dvi \
info.dvi \
mairix-el.dvi \
message.dvi \
@@ -135,6 +136,7 @@ PDF_TARGETS = \
htmlfontify.pdf \
emacs-gnutls.pdf \
idlwave.pdf \
+ ido.pdf \
info.pdf \
mairix-el.pdf \
message.pdf \
@@ -452,6 +454,15 @@ idlwave.dvi: ${srcdir}/idlwave.texi ${gfdl}
idlwave.pdf: ${srcdir}/idlwave.texi ${gfdl}
$(ENVADD) $(TEXI2PDF) ${srcdir}/idlwave.texi
+ido : $(buildinfodir)/ido$(INFO_EXT)
+$(buildinfodir)/ido$(INFO_EXT): ${srcdir}/ido.texi $(emacsdir)/emacsver.texi ${gfdl}
+ $(mkinfodir)
+ $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ido.texi
+ido.dvi: ${srcdir}/ido.texi $(emacsdir)/emacsver.texi ${gfdl}
+ $(ENVADD) $(TEXI2DVI) ${srcdir}/ido.texi
+ido.pdf: ${srcdir}/ido.texi $(emacsdir)/emacsver.texi ${gfdl}
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/ido.texi
+
# NB this one needs --no-split even without a .info extension.
# Avoid name clash with overall "info" target.
info.info : $(buildinfodir)/info$(INFO_EXT)
diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi
index 33686fd79fd..abf0766ee8f 100644
--- a/doc/misc/erc.texi
+++ b/doc/misc/erc.texi
@@ -234,9 +234,8 @@ forwards.
Different channels and servers may have different language encodings.
-In addition, it is possible to translate the messages that ERC uses
-into multiple languages. Please contact the developers of Emacs at
-@email{emacs-devel@@gnu.org} if you are interested in helping with the
+multiple languages. Please contact the Emacs developers
+if you are interested in helping with the
translation effort.
@item user scripting
@@ -784,9 +783,9 @@ To report a bug in ERC, use @kbd{M-x report-emacs-bug}.
@chapter History
@cindex history, of ERC
-ERC was originally written by Alexander L. Belikoff
-@email{abel@@bfr.co.il} and Sergey Berezin
-@email{sergey.berezin@@cs.cmu.edu}. They stopped development around
+@c abel@@bfr.co.il, sergey.berezin@@cs.cmu.edu
+ERC was originally written by Alexander L. Belikoff and Sergey Berezin.
+They stopped development around
December 1999. Their last released version was ERC 2.0.
P.S.: If one of the original developers of ERC reads this, we'd like to
@@ -796,8 +795,9 @@ general.
@itemize
@item 2001
-In June 2001, Mario Lang @email{mlang@@delysid.org} and Alex Schroeder
-@email{alex@@gnu.org} took over development and created a ERC Project at
+@c mlang@@delysid.org, alex@@gnu.org
+In June 2001, Mario Lang and Alex Schroeder
+took over development and created a ERC Project at
@uref{http://sourceforge.net/projects/erc}.
In reaction to a mail about the new ERC development effort, Sergey
@@ -825,7 +825,8 @@ ERC 4.0 was released.
@item 2005
-ERC 5.0 was released. Michael Olson @email{mwolson@@gnu.org} became
+@c mwolson@@gnu.org
+ERC 5.0 was released. Michael Olson became
the release manager and eventually the maintainer.
After some discussion between him and the Emacs developers, it was
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi
index bd0ac0828cc..4604b262e72 100644
--- a/doc/misc/eshell.texi
+++ b/doc/misc/eshell.texi
@@ -819,16 +819,18 @@ Eshell module.} You also need to load the following as shown:
@cindex known bugs
@cindex bugs, known
-If you find a bug or misfeature, don't hesitate to let me know! Send
-email to @email{johnw@@gnu.org}. Feature requests should also be sent
-there. I prefer discussing one thing at a time. If you find several
+If you find a bug or misfeature, don't hesitate to report it, by
+using @kbd{M-x report-emacs-bug}. The same applies to feature requests.
+It is best to discuss one thing at a time. If you find several
unrelated bugs, please report them separately.
+@ignore
If you have ideas for improvements, or if you have written some
extensions to this package, I would like to hear from you. I hope you
find this package useful!
+@end ignore
-Below is a complete list of known problems with Eshell version 2.4.2,
+Below is a list of some known problems with Eshell version 2.4.2,
which is the version included with Emacs 22.
@table @asis
diff --git a/doc/misc/faq.texi b/doc/misc/faq.texi
index 18e3340a474..1354f68cc9f 100644
--- a/doc/misc/faq.texi
+++ b/doc/misc/faq.texi
@@ -444,9 +444,9 @@ mail-to-news gateway).
The correct way to report Emacs bugs is to use the command
@kbd{M-x report-emacs-bug}. It sets up a mail buffer with the
-essential information and the correct e-mail address, which is
-@email{bug-gnu-emacs@@gnu.org} for the released versions of Emacs.
-Anything sent to @email{bug-gnu-emacs@@gnu.org} also appears in the
+essential information and the correct e-mail address,
+@email{bug-gnu-emacs@@gnu.org}.
+Anything sent there also appears in the
newsgroup @uref{news:gnu.emacs.bug}, but please use e-mail instead of
news to submit the bug report. This ensures a reliable return address
so you can be contacted for further details.
@@ -459,13 +459,17 @@ report (@pxref{Bugs, , Reporting Bugs, emacs, The GNU Emacs Manual}).
RMS says:
@quotation
-Sending bug reports to @email{help-gnu-emacs@@gnu.org} (which has the
-effect of posting on @uref{news:gnu.emacs.help}) is undesirable because
-it takes the time of an unnecessarily large group of people, most of
-whom are just users and have no idea how to fix these problem.
-@email{bug-gnu-emacs@@gnu.org} reaches a much smaller group of people
-who are more likely to know what to do and have expressed a wish to
-receive more messages about Emacs than the others.
+Sending bug reports to
+@url{http://lists.gnu.org/mailman/listinfo/help-gnu-emacs,
+the help-gnu-emacs mailing list}
+(which has the effect of posting on @uref{news:gnu.emacs.help}) is
+undesirable because it takes the time of an unnecessarily large group
+of people, most of whom are just users and have no idea how to fix
+these problem.
+@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs, The
+bug-gnu-emacs list} reaches a much smaller group of people who are
+more likely to know what to do and have expressed a wish to receive
+more messages about Emacs than the others.
@end quotation
RMS says it is sometimes fine to post to @uref{news:gnu.emacs.help}:
@@ -960,7 +964,8 @@ by RMS for the editor TECO (Text Editor and COrrector, originally Tape
Editor and COrrector) under ITS (the Incompatible Timesharing System) on
a PDP-10. RMS had already extended TECO with a ``real-time''
full-screen mode with reprogrammable keys. Emacs was started by
-@email{gls@@east.sun.com, Guy Steele} as a project to unify the many
+@c gls@@east.sun.com
+Guy Steele as a project to unify the many
divergent TECO command sets and key bindings at MIT, and completed by
RMS.
@@ -1340,7 +1345,9 @@ of files from Macintosh, Microsoft, and Unix platforms.
In general, new Emacs users should not be provided with @file{.emacs}
files, because this can cause confusing non-standard behavior. Then
-they send questions to @email{help-gnu-emacs@@gnu.org} asking why Emacs
+they send questions to
+@url{http://lists.gnu.org/mailman/listinfo/help-gnu-emacs,
+the help-gnu-emacs mailing list} asking why Emacs
isn't behaving as documented.
Emacs includes the Customize facility (@pxref{Using Customize}). This
@@ -1805,7 +1812,8 @@ requested by @code{emacsclient}, Emacs will switch to it; otherwise
@cindex @code{gnuserv}
There is an alternative version of @samp{emacsclient} called
-@samp{gnuserv}, written by @email{ange@@hplb.hpl.hp.com, Andy Norman}
+@c ange@@hplb.hpl.hp.com
+@samp{gnuserv}, written by Andy Norman
(@pxref{Packages that do not come with Emacs}). @samp{gnuserv} uses
Internet domain sockets, so it can work across most network connections.
@@ -1973,7 +1981,8 @@ On some systems, @key{Insert} toggles @code{overwrite-mode} on and off.
@cindex Visible bell
@cindex Bell, visible
-@email{martin@@cc.gatech.edu, Martin R. Frank} writes:
+@c martin@@cc.gatech.edu
+Martin R. Frank writes:
Tell Emacs to use the @dfn{visible bell} instead of the audible bell,
and set the visible bell to nothing.
@@ -3304,7 +3313,7 @@ to get more details about the features that it offers, and then if you
wish, Emacs can download and automatically install it for you.
@uref{http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.html, The Emacs Lisp
-List (ELL)}, maintained by @email{S.J.Eglen@@damtp.cam.ac.uk, Stephen Eglen},
+List (ELL)}, maintained by Stephen Eglen,
aims to provide one compact list with links to all of the current Emacs
Lisp files on the Internet. The ELL can be browsed over the web, or
from Emacs with @uref{http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.el,
@@ -4313,7 +4322,8 @@ these systems, you should configure @code{movemail} to use @code{flock}.
@cindex Sender, replying only to
@cindex Rmail, replying to the sender of a message in
-@email{isaacson@@seas.upenn.edu, Ron Isaacson} says: When you hit
+@c isaacson@@seas.upenn.edu
+Ron Isaacson says: When you hit
@key{r} to reply in Rmail, by default it CCs all of the original
recipients (everyone on the original @samp{To} and @samp{CC}
lists). With a prefix argument (i.e., typing @kbd{C-u} before @key{r}),
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index e5ba2c19eec..be0425a679b 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -11858,6 +11858,11 @@ predicate. The following predicates are recognized: @code{or},
(typep "text/x-vcard"))
@end lisp
+@item
+A function: the function is called with no arguments and should return
+@code{nil} or non-@code{nil}. The current article is available in the
+buffer named by @code{gnus-article-buffer}.
+
@end enumerate
You may have noticed that the word @dfn{part} is used here. This refers
diff --git a/doc/misc/ido.texi b/doc/misc/ido.texi
new file mode 100644
index 00000000000..e61a90463c5
--- /dev/null
+++ b/doc/misc/ido.texi
@@ -0,0 +1,712 @@
+\input texinfo @c -*-texinfo-*-
+@setfilename ../../info/ido
+@settitle Interactive Do
+@include emacsver.texi
+
+@copying
+This file documents the Ido package for GNU Emacs.
+
+Copyright @copyright{} 2013 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.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, 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''.
+
+(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
+modify this GNU manual.''
+@end quotation
+@end copying
+
+@dircategory Emacs lisp libraries
+@direntry
+* Ido: (ido). Interactively do things with buffers and files.
+@end direntry
+
+@finalout
+
+@titlepage
+@sp 6
+@center @titlefont{Interactive Do}
+@sp 4
+@center For GNU Emacs
+@sp 1
+@center as distributed with Emacs @value{EMACSVER}
+@sp 5
+@center Kim F. Storm
+@center storm@@cua.dk
+@page
+@vskip 0pt plus 1filll
+@insertcopying
+@end titlepage
+
+@contents
+
+@ifnottex
+@node Top
+@top Interactive Do
+
+@insertcopying
+@end ifnottex
+
+@menu
+* Overview:: Basics, activation.
+* Matching:: Interactivity, matching, scrolling.
+* Highlighting:: Highlighting of matching items.
+* Hidden Buffers and Files:: Hidden buffers, files, and directories.
+* Customization:: Change the Ido functionality.
+* Misc:: Various other features.
+
+Appendices
+* GNU Free Documentation License:: The license for this documentation.
+
+Indexes
+* Variable Index:: An entry for each documented variable.
+
+@detailmenu
+ --- The Detailed Node Listing ---
+
+Overview
+
+* Activation:: How to use this package.
+
+Matching
+
+* Interactive Substring Matching:: Interactivity, matching, scrolling.
+* Prefix Matching:: Standard completion.
+* Flexible Matching:: More flexible matching.
+* Regexp Matching:: Matching using regular expression.
+
+Customization
+
+* Changing List Order:: Changing the list of files.
+* Find File At Point:: Make Ido guess the context.
+* Ignoring:: Ignorance is bliss.
+* Misc Customization:: Miscellaneous customization for Ido.
+
+Miscellaneous
+
+* All Matching:: Seeing all the matching buffers or files.
+* Replacement:: Replacement for @code{read-buffer} and @code{read-file-name}.
+* Other Packages:: Don't want to depend on @code{ido-everywhere}?
+
+@end detailmenu
+@end menu
+
+@node Overview
+@chapter Overview
+@cindex overview
+
+@noindent
+This document describes a set of features that can interactively do
+things with buffers and files. All the features are described here
+in detail.
+
+The @dfn{Ido} package can let you switch between buffers and visit
+files and directories with a minimum of keystrokes. It is a superset
+of Iswitchb, the interactive buffer switching package by Stephen
+Eglen.
+
+@cindex author of Ido
+@cindex Iswitchb
+This package was originally written by Kim F. Storm, based on the
+ @file{iswitchb.el} package by Stephen Eglen.
+
+@menu
+* Activation:: How to use this package.
+@end menu
+
+@node Activation
+@section Activation
+@cindex activation
+@cindex installation
+
+@noindent
+This package is distributed with Emacs, so there is no need to install
+any additional files in order to start using it. To activate, use
+@kbd{M-x ido-mode}.
+
+@noindent
+You may wish to add the following expressions to your initialization
+file (@pxref{Init File,,The Emacs Initialization File, emacs, GNU
+Emacs Manual}), if you make frequent use of features from this
+package.
+
+@example
+(require 'ido)
+(ido-mode t)
+@end example
+
+@c @node Working Directories
+@c @section Working Directories
+@c @cindex working directories
+
+@node Matching
+@chapter Matching
+@cindex matching
+
+@noindent
+This section describes features of this package that have to
+do with various kinds of @emph{matching}: among buffers, files, and directories.
+
+@menu
+* Interactive Substring Matching:: Interactivity, matching, scrolling.
+* Prefix Matching:: Standard completion.
+* Flexible Matching:: More flexible matching.
+* Regexp Matching:: Matching using regular expression.
+@end menu
+
+@node Interactive Substring Matching
+@section Interactive Substring Matching
+@cindex interactive substring matching
+@cindex substring, interactive matching
+@cindex matching, using substring
+
+@noindent
+As you type in a substring, the list of buffers or files currently
+matching the substring are displayed as you type. The list is
+ordered so that the most recent buffers or files visited come at
+the start of the list.
+
+The buffer or file at the start of the list will be the one visited
+when you press @key{RET}. By typing more of the substring, the list
+is narrowed down so that gradually the buffer or file you want will be
+at the top of the list. Alternatively, you can use @kbd{C-s} and
+@kbd{C-r} (or the right and left arrow keys) to rotate buffer or file
+names in the list until the one you want is at the top of the list.
+
+Completion is also available so that you can see what is common to
+all of the matching buffers or files as you type.
+
+For example, if there are two buffers called @file{123456} and
+@file{123}, with @file{123456} the most recent, when using
+@code{ido-switch-buffer}, you first of all get presented with the list
+of all the buffers
+
+@example
+Buffer: @{123456 | 123@}
+@end example
+
+If you then press @kbd{2}:
+
+@example
+Buffer: 2[3]@{123456 | 123@}
+@end example
+
+The list in @{...@} are the matching buffers, most recent first
+(buffers visible in the current frame are put at the end of the list
+by default). At any time you can select the item at the head of the
+list by pressing @key{RET}. You can also put the first element at the
+end of the list by pressing @kbd{C-s} or @kbd{<right>}, or bring the
+last element to the head of the list by pressing @kbd{C-r} or
+@kbd{<left>}.
+
+The item in [...] indicates what can be added to your input by
+pressing @key{TAB} (@code{ido-complete}). In this case, you will get
+"3" added to your input.
+
+So, press @key{TAB}:
+
+@example
+Buffer: 23@{123456 | 123@}
+@end example
+
+At this point, you still have two matching buffers. If you want the
+first buffer in the list, you can simply press @key{RET}. If you want
+the second in the list, you can press @kbd{C-s} to move it to the top
+of the list and then press @kbd{RET} to select it.
+
+However, if you type @kbd{4}, you'll only have one match left:
+
+@example
+Buffer: 234[123456]
+@end example
+
+Since there is only one matching buffer left, it is given in [] and it
+is shown in the @code{ido-only-match} face (ForestGreen). You can now
+press @key{TAB} or @key{RET} to go to that buffer.
+
+If you want to create a new buffer named @file{234}, you can press
+@kbd{C-j} (@code{ido-select-text}) instead of @key{TAB} or @key{RET}.
+
+If instead, you type @kbd{a}:
+
+@example
+Buffer: 234a [No match]
+@end example
+
+There are no matching buffers. If you press @key{RET} or @key{TAB},
+you can be prompted to create a new buffer called @file{234a}.
+
+Of course, where this function comes in really useful is when you can
+specify the buffer using only a few keystrokes. In the above example,
+the quickest way to get to the @file{123456} file would be just to
+type @kbd{4} and then @key{RET} (assuming there isn't any newer buffer
+with @kbd{4} in its name).
+
+Likewise, if you use @kbd{C-x C-f} (@code{ido-find-file}), the list of
+files and directories in the current directory is provided in the same
+fashion as the buffers above. The files and directories are normally
+sorted in alphabetical order, but the most recently visited directory
+is placed first to speed up navigating to directories that you have
+visited recently.
+
+In addition to scrolling through the list using @kbd{<right>} and
+@kbd{<left>}, you can use @kbd{<up>} and @kbd{<down>} to quickly
+scroll the list to the next or previous subdirectory.
+
+To go down into a subdirectory, and continue the file selection on
+the files in that directory, simply move the directory to the head
+of the list and hit @key{RET}.
+
+To go up to the parent directory, delete any partial file name already
+specified (e.g. using @key{DEL}) and hit @key{DEL}.
+
+@c @defun ido-delete-backward-updir
+
+@cindex root directory
+@cindex home directory
+To go to the root directory (on the current drive), enter two slashes.
+On MS-DOS or Windows, to select the root of another drive, enter
+@samp{X:/} where @samp{X} is the drive letter. To go to the home
+directory, enter @samp{~/}. To enter Dired for this directory, use
+@kbd{C-d}.
+
+@c TODO: a new node for ftp hosts
+@cindex ftp hosts
+You can also visit files on other hosts using the ange-ftp
+notations @samp{/host:} and @samp{/user@@host:}.
+@c @defvr {User Option} ido-record-ftp-work-directories
+@c @defvr {User Option} ido-merge-ftp-work-directories
+@c @defvr {User Option} ido-cache-ftp-work-directory-time
+@c @defvr {User Option} ido-slow-ftp-hosts
+@c @defvr {User Option} ido-slow-ftp-host-regexps
+
+You can type @kbd{M-p} and @kbd{M-n} to change to previous/next
+directories from the history, @kbd{M-s} to search for a file matching
+your input, and @kbd{M-k} to remove the current directory from the history.
+
+If for some reason you cannot specify the proper file using
+@code{ido-find-file}, you can press @kbd{C-f} to enter the normal
+@code{find-file}. You can also press @kbd{C-b} to drop into
+@code{ido-switch-buffer}.
+
+@c @kindex C-x b
+@c @findex ido-switch-buffer
+@c @defun ido-switch-buffer
+@c This command switch to another buffer interactively.
+@c @end defun
+
+@c @kindex C-x C-f
+@c @findex ido-find-file
+@c @defun ido-find-file
+@c Edit file with name obtained via minibuffer.
+@c @end defun
+
+@c @kindex C-x d
+@c @findex ido-dired
+@c @defun ido-dired
+@c Call Dired the Ido way.
+@c @end defun
+
+@node Prefix Matching
+@section Prefix Matching
+@cindex prefix matching
+@cindex matching, using prefix
+@cindex standard way of completion
+
+@noindent
+The standard way of completion with *nix shells and Emacs is to insert
+a @dfn{prefix} and then hitting @key{TAB} (or another completion key).
+Cause of this behavior has become second nature to a lot of Emacs
+users Ido offers in addition to the default substring matching method
+(look above) also the prefix matching method. The kind of matching is
+the only difference to the description of the substring matching
+above.
+
+You can toggle prefix matching with @kbd{C-p}
+(@code{ido-toggle-prefix}).
+
+For example, if you have two buffers @file{123456} and @file{123} then
+hitting @kbd{2} does not match because @kbd{2} is not a prefix in any
+of the buffer names.
+
+@node Flexible Matching
+@section Flexible Matching
+@cindex flexible matching
+
+@defvr {User Option} ido-enable-flex-matching
+If non-@code{nil}, Ido will do flexible string matching. Flexible
+matching means that if the entered string does not match any item, any
+item containing the entered characters in the given sequence will
+match.
+@end defvr
+
+@noindent
+If @code{ido-enable-flex-matching} is non-@code{nil}, Ido will do a
+more flexible matching (unless regexp matching is active) to find
+possible matches among the available buffer or file names if no
+matches are found using the normal prefix or substring matching.
+
+The flexible matching implies that any item which simply contains all
+of the entered characters in the specified sequence will match.
+
+For example, if you have four files @file{alpha}, @file{beta},
+@file{gamma}, and @file{delta}, entering @samp{aa} will match
+@file{alpha} and @file{gamma}, while @samp{ea} matches @file{beta} and
+@file{delta}. If prefix matching is also active, @samp{aa} only
+matches @file{alpha}, while @samp{ea} does not match any files.
+
+@node Regexp Matching
+@section Regular Expression Matching
+@cindex regexp matching
+@cindex matching, using regular expression
+
+@noindent
+There is limited provision for regexp matching within Ido, enabled
+through @code{ido-enable-regexp} (toggle with @kbd{C-t}). This allows
+you to type @samp{[ch]$} for example and see all file names ending in
+@samp{c} or @samp{h}.
+
+@defvr {User Option} ido-enable-regexp
+If the value of this user option is non-@code{nil}, Ido will do regexp
+matching. The value of this user option can be toggled within
+ido-mode using @code{ido-toggle-regexp}.
+@end defvr
+
+@strong{Please notice:} Ido-style completion is inhibited when you
+enable regexp matching.
+
+@node Highlighting
+@chapter Highlighting
+@cindex highlighting
+
+@noindent
+The highlighting of matching items is controlled via
+@code{ido-use-faces}. The faces used are @code{ido-first-match},
+@code{ido-only-match} and @code{ido-subdir}.
+
+Coloring of the matching item was suggested by Carsten Dominik.
+
+@node Hidden Buffers and Files
+@chapter Hidden Buffers and Files
+@cindex hidden buffers and files
+
+Normally, Ido does not include hidden buffers (whose name starts with
+a space) and hidden files and directories (whose name starts with
+@samp{.}) in the list of possible completions. However, if the
+substring you enter does not match any of the visible buffers or
+files, Ido will automatically look for completions among the hidden
+buffers or files.
+
+You can toggle display of the hidden buffers and files with @kbd{C-a}
+(@code{ido-toggle-ignore}).
+
+@c @defun ido-toggle-ignore
+
+@node Customization
+@chapter Customization
+@cindex customization
+
+@noindent
+You can customize the @code{ido} group to change Ido functionality:
+
+@example
+M-x customize-group RET ido RET
+@end example
+
+@noindent
+or customize a certain variable:
+
+@example
+M-x customize-variable RET ido-xxxxx
+@end example
+
+To modify the keybindings, use the @code{ido-setup-hook}. For example:
+
+@example
+(add-hook 'ido-setup-hook 'ido-my-keys)
+
+(defun ido-my-keys ()
+ "Add my keybindings for Ido."
+ (define-key ido-completion-map " " 'ido-next-match))
+@end example
+
+@menu
+* Changing List Order:: Changing the list of files.
+* Find File At Point:: Make Ido guess the context.
+* Ignoring:: Ignorance is bliss.
+* Misc Customization:: Miscellaneous customization for Ido.
+@end menu
+
+@node Changing List Order
+@section Changing List Order
+@cindex changing order of the list
+
+@noindent
+By default, the list of current files is most recent first,
+oldest last, with the exception that the files visible in the
+current frame are put at the end of the list. A hook exists to
+allow other functions to order the list. For example, if you add:
+
+@example
+(add-hook 'ido-make-buffer-list-hook 'ido-summary-buffers-to-end)
+@end example
+
+@noindent
+then all files matching "Summary" are moved to the end of the list.
+(I find this handy for keeping the INBOX Summary and so on out of the
+way.) It also moves files matching @samp{output\*$} to the end of the
+list (these are created by AUCTeX when compiling.) Other functions
+could be made available which alter the list of matching files (either
+deleting or rearranging elements.)
+
+@node Find File At Point
+@section Find File At Point
+@cindex find file at point
+@cindex ffap
+
+@noindent
+Find File At Point, also known generally as ``ffap'', is an
+intelligent system for opening files, and URLs.
+
+The following expression will make Ido guess the context:
+
+@example
+(setq ido-use-filename-at-point 'guess)
+@end example
+
+@c @defvr {User Option} ido-use-filename-at-point
+@c If the value of this user option is non-@code{nil}, ...
+@c @end defvr
+
+You can disable URL ffap support by toggling
+@code{ido-use-url-at-point}.
+
+@defvr {User Option} ido-use-url-at-point
+If the value of this user option is non-@code{nil}, Ido will look for
+a URL at point. If found, call @code{find-file-at-point} to visit it.
+@end defvr
+
+@node Ignoring
+@section Ignoring Buffers and Files
+@cindex ignoring
+@cindex regexp, ignore buffers and files
+
+@noindent
+Ido is capable of ignoring buffers, directories, files and extensions
+using regular expression.
+
+@defvr {User Option} ido-ignore-buffers
+This variable takes a list of regular expressions for buffers to
+ignore in @code{ido-switch-buffer}.
+@end defvr
+
+@defvr {User Option} ido-ignore-directories
+This variable takes a list of regular expressions for (sub)directories
+names to ignore in @code{ido-dired} and @code{ido-find-file}.
+@end defvr
+
+@defvr {User Option} ido-ignore-files
+This variable takes a list of regular expressions for files to ignore
+in @code{ido-find-file}.
+@end defvr
+
+@defvr {User Option} ido-ignore-unc-host-regexps
+This variable takes a list of regular expressions matching UNC hosts
+to ignore. The letter case will be ignored if
+@code{ido-downcase-unc-hosts} is non-@code{nil}.
+@end defvr
+
+@c @defvr {User Option} ido-work-directory-list-ignore-regexps
+
+To make Ido use @code{completion-ignored-extensions} you need to
+enable it:
+
+@example
+(setq ido-ignore-extensions t)
+@end example
+
+Now you can customize @code{completion-ignored-extensions} as well.
+Go ahead and add all the useless object files, backup files, shared
+library files and other computing flotsam you don’t want Ido to show.
+
+@strong{Please notice:} Ido will still complete the ignored elements
+if it would otherwise not show any other matches. So if you type out
+the name of an ignored file, Ido will still let you open it just fine.
+
+@node Misc Customization
+@section Miscellaneous Customization
+@cindex miscellaneous customization for Ido
+
+@defvr {User Option} ido-mode
+This user option determines for which functional group (buffer and
+files) Ido behavior should be enabled.
+@end defvr
+
+@defvr {User Option} ido-case-fold
+If the value of this user option is non-@code{nil}, searching of
+buffer and file names should ignore case.
+@end defvr
+
+@defvr {User Option} ido-show-dot-for-dired
+If the value of this user option is non-@code{nil} , always put
+@samp{.} as the first item in file name lists. This allows the
+current directory to be opened immediately with Dired
+@end defvr
+
+@defvr {User Option} ido-enable-dot-prefix
+If the value of this user option is non-@code{nil}, Ido will match
+leading dot as prefix. I.e., hidden files and buffers will match only
+if you type a dot as first char (even if @code{ido-enable-prefix} is
+@code{nil}).
+@end defvr
+
+@c @defvr {User Option} ido-confirm-unique-completion
+@c @defvr {User Option} ido-cannot-complete-command
+@c @defvr {User Option} ido-record-commands
+@c @defvr {User Option} ido-max-file-prompt-width
+@c @defvr {User Option} ido-max-window-height
+@c @defvr {User Option} ido-enable-last-directory-history
+@c @defvr {User Option} ido-max-work-directory-list
+@c @defvr {User Option} ido-enable-tramp-completion
+@c @defvr {User Option} ido-unc-hosts
+@c @defvr {User Option} ido-downcase-unc-hosts
+@c @defvr {User Option} ido-cache-unc-host-shares-time
+@c @defvr {User Option} ido-max-work-file-list
+@c @defvr {User Option} ido-work-directory-match-only
+@c @defvr {User Option} ido-auto-merge-work-directories-length
+@c @defvr {User Option} ido-auto-merge-delay-time
+@c @defvr {User Option} ido-auto-merge-inhibit-characters-regexp
+@c @defvr {User Option} ido-merged-indicator
+@c @defvr {User Option} ido-max-dir-file-cache
+@c @defvr {User Option} ido-max-directory-size
+@c @defvr {User Option} ido-rotate-file-list-default
+@c @defvr {User Option} ido-enter-matching-directory
+@c @defvr {User Option} ido-create-new-buffer
+@c @defvr {User Option} ido-setup-hook
+@c @defvr {User Option} ido-separator
+@c @defvr {User Option} ido-decorations
+@c @defvr {User Option} ido-use-virtual-buffers
+@c @defvr {User Option} ido-use-faces
+@c @defvr {User Option} ido-make-file-list-hook
+@c @defvr {User Option} ido-make-dir-list-hook
+@c @defvr {User Option} ido-make-buffer-list-hook
+@c @defvr {User Option} ido-rewrite-file-prompt-functions
+@c @defvr {User Option} ido-completion-buffer
+@c @defvr {User Option} ido-completion-buffer-all-completions
+@c @defvr {User Option} ido-all-frames
+@c @defvr {User Option} ido-minibuffer-setup-hook
+@c @defvr {User Option} ido-save-directory-list-file
+@c @defvr {User Option} ido-read-file-name-as-directory-commands
+@c @defvr {User Option} ido-read-file-name-non-ido
+@c @defvr {User Option} ido-before-fallback-functions
+@c @defvr {User Option} ido-buffer-disable-smart-matches
+
+@node Misc
+@chapter Miscellaneous
+@cindex miscellaneous
+
+@noindent
+After @kbd{C-x b} (@code{ido-switch-buffer}), the buffer at the head
+of the list can be killed by pressing @kbd{C-k}. If the buffer needs
+saving, you will be queried before the buffer is killed.
+
+Likewise, after @kbd{C-x C-f}, you can delete (i.e., physically
+remove) the file at the head of the list with @kbd{C-k}. You will
+always be asked for confirmation before deleting the file.
+
+If you enter @kbd{C-x b} to switch to a buffer visiting a given file,
+and you find that the file you are after is not in any buffer, you can
+press @kbd{C-f} to immediately drop into @code{ido-find-file}. And
+you can switch back to buffer selection with @kbd{C-b}.
+
+@c @defun ido-magic-forward-char
+@c @defun ido-magic-backward-char
+
+You can also use Ido in your Emacs Lisp programs:
+
+@example
+(setq my-pkgs (list "CEDET" "Gnus" "Rcirc" "Tramp" "Org" "all-of-them"))
+(ido-completing-read "What's your favorite package? " my-pkgs)
+@end example
+
+@menu
+* All Matching:: Seeing all the matching buffers or files.
+* Replacement:: Replacement for @code{read-buffer} and @code{read-file-name}.
+* Other Packages:: Don't want to depend on @code{ido-everywhere}?
+@end menu
+
+@node All Matching
+@section All Matching
+@cindex all matching
+@cindex seeing all the matching buffers or files
+
+@noindent
+If you have many matching files, they may not all fit onto one line of
+the minibuffer. Normally, the minibuffer window will grow to show you
+more of the matching files (depending on the value of the variables
+@code{resize-mini-windows} and @code{max-mini-window-height}). If you
+want Ido to behave differently from the default minibuffer resizing
+behavior, set the variable @code{ido-max-window-height}.
+
+Also, to improve the responsiveness of Ido, the maximum number of
+matching items is limited to 12, but you can increase or removed this
+limit via the @code{ido-max-prospects} user option.
+
+@c @defvr {User Option} ido-max-prospects
+
+To see a full list of all matching buffers in a separate buffer, hit
+@kbd{?} or press @key{TAB} when there are no further completions to
+the substring. Repeated @key{TAB} presses will scroll you through
+this separate buffer.
+
+@node Replacement
+@section Replacement
+
+@noindent
+@code{ido-read-buffer} and @code{ido-read-file-name} have been written
+to be drop in replacements for the normal buffer and file name reading
+functions @code{read-buffer} and @code{read-file-name}.
+
+To use ido for all buffer and file selections in Emacs, customize the
+variable @code{ido-everywhere}.
+
+@c @defun ido-everywhere
+@c @defvr {User Option} ido-everywhere
+
+@node Other Packages
+@section Other Packages
+@cindex other packages
+@cindex used by other packages
+
+@noindent
+If you don't want to rely on the @code{ido-everywhere} functionality,
+@code{ido-read-buffer}, @code{ido-read-file-name}, and
+@code{ido-read-directory-name} can be used by other packages to read a
+buffer name, a file name, or a directory name in the @emph{Ido} way.
+
+@c @node Cheetsheet
+
+@c * History and Acknowledgments:: How Ido came into being
+@c @node History and Acknowledgments
+@c @appendix History and Acknowledgments
+
+@node GNU Free Documentation License
+@appendix GNU Free Documentation License
+@include doclicense.texi
+
+@c @node Function Index
+@c @unnumbered Function Index
+
+@c @printindex fn
+
+@node Variable Index
+@unnumbered Variable Index
+
+@printindex vr
+
+@bye
diff --git a/doc/misc/pcl-cvs.texi b/doc/misc/pcl-cvs.texi
index 7c294591d0e..1276eb95aa8 100644
--- a/doc/misc/pcl-cvs.texi
+++ b/doc/misc/pcl-cvs.texi
@@ -172,17 +172,20 @@ Per Cederqvist wrote most of the otherwise unattributed functions in
PCL-CVS as well as all the documentation.
@item
-@email{inge@@lysator.liu.se, Inge Wallin} wrote the skeleton of
+@c inge@@lysator.liu.se
+Inge Wallin wrote the skeleton of
@file{pcl-cvs.texi}, and gave useful comments on it. He also wrote
the files @file{elib-node.el} and @file{compile-all.el}. The file
@file{cookie.el} was inspired by Inge.@refill
@item
-@email{linus@@lysator.liu.se, Linus Tolke} contributed useful comments
+@c linus@@lysator.liu.se
+Linus Tolke contributed useful comments
on both the functionality and the documentation.@refill
@item
-@email{jwz@@jwz.com, Jamie Zawinski} contributed
+@c jwz@@jwz.com
+Jamie Zawinski contributed
@file{pcl-cvs-lucid.el}, which was later renamed to
@file{pcl-cvs-xemacs.el}.@refill
@@ -191,34 +194,40 @@ Leif Lonnblad contributed RCVS support (since superseded by the new
remote CVS support).
@item
-@email{jimb@@cyclic.com, Jim Blandy} contributed hooks to automatically
+@c jimb@@cyclic.com
+Jim Blandy contributed hooks to automatically
guess CVS log entries from @file{ChangeLog} contents, and initial support of
the new Cygnus / Cyclic remote CVS, as well as various sundry bug fixes
and cleanups.
@item
-@email{kingdon@@cyclic.com, Jim Kingdon} contributed lots of fixes to
+@c kingdon@@cyclic.com
+Jim Kingdon contributed lots of fixes to
the build and installation procedure.
@item
-@email{woods@@weird.com, Greg A. Woods} contributed code to implement
+@c woods@@weird.com
+Greg A. Woods contributed code to implement
the use of per-file diff buffers, and vendor join diffs with emerge and
ediff, as well as various and sundry bug fixes and cleanups.
@item
-@email{greg.klanderman@@alum.mit.edu, Greg Klanderman} implemented
+@c greg.klanderman@@alum.mit.edu
+Greg Klanderman implemented
toggling of marked files, setting of CVS command flags via prefix
arguments, updated the XEmacs support, updated the manual, and fixed
numerous bugs.
@item
-@email{monnier@@gnu.org, Stefan Monnier} added a slew of other
+@c monnier@@gnu.org
+Stefan Monnier added a slew of other
features and introduced even more new bugs. If there's any bug left,
you can be sure it's his.
@item
@c wordy to avoid an underfull hbox
-@email{masata-y@@is.aist-nara.ac.jp, Masatake YAMATO} made a gracious
+@c masata-y@@is.aist-nara.ac.jp
+Masatake YAMATO made a gracious
contribution of his cvstree code to display a tree of tags which was later
superseded by the new @code{cvs-status-mode}.
@end itemize
@@ -1369,18 +1378,19 @@ Used to highlight CVS messages.
@cindex FAQ
@cindex Problems, list of common
-If you find a bug or misfeature, don't hesitate to tell us! Send email
-to @email{bug-gnu-emacs@@gnu.org} which is gatewayed to the newsgroup
-@samp{gnu.emacs.bugs}. Feature requests should also be sent there. We
-prefer discussing one thing at a time. If you find several unrelated
+If you find a bug or misfeature, don't hesitate to tell us!
+Use @kbd{M-x report-emacs-bug} to send us a report.
+You can follow the same process for feature requests.
+We prefer discussing one thing at a time. If you find several unrelated
bugs, please report them separately. If you are running PCL-CVS under
XEmacs, you should also send a copy of bug reports to
-@email{xemacs-beta@@xemacs.org}.
+the @url{http://lists.xemacs.org/mailman/listinfo/xemacs-beta,
+XEmacs mailing list}.
If you have problems using PCL-CVS or other questions, send them to
-@email{help-gnu-emacs@@gnu.org}, which is gatewayed to the
-@samp{gnu.emacs.help} newsgroup. This is a good place to get help, as
-is @email{cvs-info@@gnu.org}, gatewayed to @samp{gnu.cvs.help}.
+the @url{http://lists.gnu.org/mailman/listinfo/help-gnu-emacs,
+help-gnu-emacs mailing list}. This is a good place to get help, as is
+the @url{http://lists.nongnu.org/mailman/listinfo/info-cvs, info-cvs list}.
If you have ideas for improvements, or if you have written some
extensions to this package, we would like to hear from you. We hope that
diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi
index 312b84146fa..b9cf2335647 100644
--- a/doc/misc/reftex.texi
+++ b/doc/misc/reftex.texi
@@ -3639,8 +3639,8 @@ With @i{Viper} mode prior to Vipers version 3.01, you need to protect
@cindex @code{http}, @RefTeX{} home page
@cindex @code{ftp}, @RefTeX{} site
-@RefTeX{} was written by @i{Carsten Dominik}
-@email{dominik@@science.uva.nl}, with contributions by @i{Stephen
+@c dominik@@science.uva.nl
+@RefTeX{} was written by @i{Carsten Dominik}, with contributions by @i{Stephen
Eglen}. @RefTeX{} is currently maintained by @value{MAINTAINER}, see
the @value{MAINTAINERSITE} for detailed information.
diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi
index 2c84d04c666..a44d790781d 100644
--- a/doc/misc/ses.texi
+++ b/doc/misc/ses.texi
@@ -60,7 +60,7 @@ by formulas that can refer to the values of other cells.
@end display
@end ifnottex
-To report bugs, send email to @email{jyavner@@member.fsf.org}.
+To report bugs, use @kbd{M-x report-emacs-bug}.
@insertcopying
@@ -997,39 +997,62 @@ cell.
Coding by:
@quotation
-Jonathan Yavner @email{jyavner@@member.fsf.org}@*
-Stefan Monnier @email{monnier@@gnu.org}@*
-Shigeru Fukaya @email{shigeru.fukaya@@gmail.com}
+@c jyavner@@member.fsf.org
+Jonathan Yavner,
+@c monnier@@gnu.org
+Stefan Monnier,
+@c shigeru.fukaya@@gmail.com
+Shigeru Fukaya
@end quotation
@noindent
Texinfo manual by:
@quotation
-Jonathan Yavner @email{jyavner@@member.fsf.org}@*
-Brad Collins <brad@@chenla.org>
+@c jyavner@@member.fsf.org
+Jonathan Yavner,
+@c brad@@chenla.org
+Brad Collins
@end quotation
@noindent
Ideas from:
@quotation
-Christoph Conrad @email{christoph.conrad@@gmx.de}@*
-CyberBob @email{cyberbob@@redneck.gacracker.org}@*
-Syver Enstad @email{syver-en@@online.no}@*
-Ami Fischman @email{fischman@@zion.bpnetworks.com}@*
-Thomas Gehrlein @email{Thomas.Gehrlein@@t-online.de}@*
-Chris F.A. Johnson @email{c.f.a.johnson@@rogers.com}@*
-Yusong Li @email{lyusong@@hotmail.com}@*
-Juri Linkov @email{juri@@jurta.org}@*
-Harald Maier @email{maierh@@myself.com}@*
-Alan Nash @email{anash@@san.rr.com}@*
-François Pinard @email{pinard@@iro.umontreal.ca}@*
-Pedro Pinto @email{ppinto@@cs.cmu.edu}@*
-Stefan Reichör @email{xsteve@@riic.at}@*
-Oliver Scholz @email{epameinondas@@gmx.de}@*
-Richard M. Stallman @email{rms@@gnu.org}@*
-Luc Teirlinck @email{teirllm@@dms.auburn.edu}@*
-J. Otto Tennant @email{jotto@@pobox.com}@*
-Jean-Philippe Theberge @email{jphil@@acs.pagesjaunes.fr}
+@c christoph.conrad@@gmx.de
+Christoph Conrad,
+@c cyberbob@@redneck.gacracker.org
+CyberBob,
+@c syver-en@@online.no
+Syver Enstad,
+@c fischman@@zion.bpnetworks.com
+Ami Fischman,
+@c Thomas.Gehrlein@@t-online.de
+Thomas Gehrlein,
+@c c.f.a.johnson@@rogers.com
+Chris F.A. Johnson,
+@c lyusong@@hotmail.com
+Yusong Li,
+@c juri@@jurta.org
+Juri Linkov,
+@c maierh@@myself.com
+Harald Maier,
+@c anash@@san.rr.com
+Alan Nash,
+@c pinard@@iro.umontreal.ca
+François Pinard,
+@c ppinto@@cs.cmu.edu
+Pedro Pinto,
+@c xsteve@@riic.at
+Stefan Reichör,
+@c epameinondas@@gmx.de
+Oliver Scholz,
+@c rms@@gnu.org
+Richard M. Stallman,
+@c teirllm@@dms.auburn.edu
+Luc Teirlinck,
+@c jotto@@pobox.com
+J. Otto Tennant,
+@c jphil@@acs.pagesjaunes.fr
+Jean-Philippe Theberge
@end quotation
@c ===================================================================
diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi
index 9b9f9947da5..44a8b5573fa 100644
--- a/doc/misc/woman.texi
+++ b/doc/misc/woman.texi
@@ -105,10 +105,7 @@ version of Emacs. It was developed primarily on various versions of
Microsoft Windows, but has also been tested on MS-DOS, and various
versions of UNIX and GNU/Linux.
-WoMan is distributed with GNU Emacs. In addition, the current source
-code and documentation files are available from
-@uref{http://centaur.maths.qmw.ac.uk/Emacs/WoMan/, the WoMan web
-server}.
+WoMan is distributed with GNU Emacs.
WoMan implements a subset of the formatting performed by the Emacs
@code{man} (or @code{manual-entry}) command to format a Unix-style
@@ -148,11 +145,7 @@ which begin with the prefix @code{woman-} (or occasionally
either running the command @code{woman-mini-help} or selecting the WoMan
menu option @samp{Mini Help}.
-WoMan is (of course) still under development! Please
-@email{F.J.Wright@@qmw.ac.uk, let me know} what doesn't work---I am
-adding and improving functionality as testing shows that it is
-necessary. Guidance on reporting bugs is given below. @xref{Bugs, ,
-Reporting Bugs}.
+Guidance on reporting bugs is given below. @xref{Bugs, , Reporting Bugs}.
@c ===================================================================
@@ -276,6 +269,7 @@ of the facilities implemented in the Emacs @code{man} library. WoMan
and man can happily co-exist, which is very useful for comparison and
debugging purposes.
+@ignore
@code{nroff} simulates non-@acronym{ASCII} characters by using one or more
@acronym{ASCII} characters. WoMan should be able to do much better than
this. I have recently begun to add support for WoMan to use more of the
@@ -284,6 +278,7 @@ aspect that I intend to develop further in the near future. It should
be possible to move WoMan from an emulation of @code{nroff} to an
emulation of @code{troff} as GNU Emacs moves to providing bit-mapped
display facilities.
+@end ignore
@node Finding
@chapter Finding and Formatting Man Pages
@@ -1290,8 +1285,8 @@ try the latest version of @file{woman.el} from the Emacs repository
on @uref{http://savannah.gnu.org/projects/emacs/}. If it still fails, please
@item
-send a bug report to @email{bug-gnu-emacs@@gnu.org} and to
-@email{F.J.Wright@@qmw.ac.uk}. Please include the entry from the
+use @kbd{M-x report-emacs-bug} to send a bug report.
+Please include the entry from the
@code{*WoMan-Log*} buffer relating to the problem file, together with
a brief description of the problem. Please indicate where you got the
man source file from, but do not send it unless asked to send it.
@@ -1310,43 +1305,80 @@ I also thank the following for helpful suggestions, bug reports, code
fragments, general interest, etc.:
@quotation
-Jari Aalto, @email{jari.aalto@@cs.tpu.fi}@*
-Dean Andrews, @email{dean@@dra.com}@*
-Juanma Barranquero, @email{barranquero@@laley-actualidad.es}@*
-Karl Berry, @email{kb@@cs.umb.edu}@*
-Jim Chapman, @email{jchapman@@netcomuk.co.uk}@*
-Frederic Corne, @email{frederic.corne@@erli.fr}@*
-Peter Craft, @email{craft@@alacritech.com}@*
-Charles Curley, @email{ccurley@@trib.com}@*
-Jim Davidson, @email{jdavidso@@teknowledge.com}@*
-Kevin D'Elia, @email{Kevin.DElia@@mci.com}@*
-John Fitch, @email{jpff@@maths.bath.ac.uk}@*
-Hans Frosch, @email{jwfrosch@@rish.b17c.ingr.com}@*
-Guy Gascoigne-Piggford, @email{ggp@@informix.com}@*
-Brian Gorka, @email{gorkab@@sanchez.com}@*
-Nicolai Henriksen, @email{nhe@@lyngso-industri.dk}@*
-Thomas Herchenroeder, @email{the@@software-ag.de}@*
-Alexander Hinds, @email{ahinds@@thegrid.net}@*
-Stefan Hornburg, @email{sth@@hacon.de}@*
-Theodore Jump, @email{tjump@@cais.com}@*
-Paul Kinnucan, @email{paulk@@mathworks.com}@*
-Jonas Linde, @email{jonas@@init.se}@*
-Andrew McRae, @email{andrewm@@optimation.co.nz}@*
-Howard Melman, @email{howard@@silverstream.com}@*
-Dennis Pixton, @email{dennis@@math.binghamton.edu}@*
-T. V. Raman, @email{raman@@Adobe.com}@*
-Bruce Ravel, @email{bruce.ravel@@nist.gov}@*
-Benjamin Riefenstahl, @email{benny@@crocodial.de}@*
-Kevin Ruland, @email{kruland@@seistl.com}@*
-Tom Schutter, @email{tom@@platte.com}@*
-Wei-Xue Shi, @email{wxshi@@ma.neweb.ne.jp}@*
-Fabio Somenzi, @email{fabio@@joplin.colorado.edu}@*
-Karel Sprenger, @email{ks@@ic.uva.nl}@*
-Chris Szurgot, @email{szurgot@@itribe.net}@*
-Paul A. Thompson, @email{pat@@po.cwru.edu}@*
-Arrigo Triulzi, @email{arrigo@@maths.qmw.ac.uk}@*
-Geoff Voelker, @email{voelker@@cs.washington.edu}@*
-Eli Zaretskii, @email{eliz@@is.elta.co.il}
+@c jari.aalto@@cs.tpu.fi
+Jari Aalto,
+@c dean@@dra.com
+Dean Andrews,
+@c barranquero@@laley-actualidad.es
+Juanma Barranquero,
+@c kb@@cs.umb.edu
+Karl Berry,
+@c jchapman@@netcomuk.co.uk
+Jim Chapman,
+@c frederic.corne@@erli.fr
+Frederic Corne,
+@c craft@@alacritech.com
+Peter Craft,
+@c ccurley@@trib.com
+Charles Curley,
+@c jdavidso@@teknowledge.com
+Jim Davidson,
+@c Kevin.DElia@@mci.com
+Kevin D'Elia,
+@c jpff@@maths.bath.ac.uk
+John Fitch,
+@c jwfrosch@@rish.b17c.ingr.com
+Hans Frosch,
+@c ggp@@informix.com
+Guy Gascoigne-Piggford,
+@c gorkab@@sanchez.com
+Brian Gorka,
+@c nhe@@lyngso-industri.dk
+Nicolai Henriksen,
+@c the@@software-ag.de
+Thomas Herchenroeder,
+@c ahinds@@thegrid.net
+Alexander Hinds,
+@c sth@@hacon.de
+Stefan Hornburg,
+@c tjump@@cais.com
+Theodore Jump,
+@c paulk@@mathworks.com
+Paul Kinnucan,
+@c jonas@@init.se
+Jonas Linde,
+@c andrewm@@optimation.co.nz
+Andrew McRae,
+@c howard@@silverstream.com
+Howard Melman,
+@c dennis@@math.binghamton.edu
+Dennis Pixton,
+@c raman@@Adobe.com
+T. V. Raman,
+@c bruce.ravel@@nist.gov
+Bruce Ravel,
+@c benny@@crocodial.de
+Benjamin Riefenstahl,
+@c kruland@@seistl.com
+Kevin Ruland,
+@c tom@@platte.com
+Tom Schutter,
+@c wxshi@@ma.neweb.ne.jp
+Wei-Xue Shi,
+@c fabio@@joplin.colorado.edu
+Fabio Somenzi,
+@c ks@@ic.uva.nl
+Karel Sprenger,
+@c szurgot@@itribe.net
+Chris Szurgot,
+@c pat@@po.cwru.edu
+Paul A. Thompson,
+@c arrigo@@maths.qmw.ac.uk
+Arrigo Triulzi,
+@c voelker@@cs.washington.edu
+Geoff Voelker,
+@c eliz@@is.elta.co.il
+Eli Zaretskii
@end quotation
@c ===================================================================