changeset 109302:60516122d066

Merge changes from emacs-23 branch.
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 10 Jul 2010 14:52:53 -0400
parents 8afa85da3f2d (current diff) d7201a19a376 (diff)
children c17b03e52a4a
files ChangeLog doc/emacs/ChangeLog doc/emacs/basic.texi doc/emacs/building.texi doc/emacs/dired.texi doc/emacs/display.texi doc/emacs/emacs.texi doc/emacs/frames.texi doc/emacs/mule.texi doc/emacs/search.texi doc/emacs/xresources.texi doc/lispintro/ChangeLog doc/lispref/ChangeLog doc/lispref/display.texi doc/lispref/elisp.texi doc/lispref/internals.texi doc/lispref/os.texi doc/lispref/vol1.texi doc/lispref/vol2.texi doc/misc/ChangeLog doc/misc/auth.texi doc/misc/calc.texi doc/misc/eshell.texi doc/misc/faq.texi doc/misc/gnus.texi doc/misc/org.texi doc/misc/tramp.texi etc/ChangeLog etc/PROBLEMS lisp/ChangeLog lisp/arc-mode.el lisp/bs.el lisp/comint.el lisp/descr-text.el lisp/emacs-lisp/cl-loaddefs.el lisp/emulation/cua-base.el lisp/emulation/pc-select.el lisp/help.el lisp/hl-line.el lisp/htmlfontify.el lisp/mouse.el lisp/play/zone.el lisp/progmodes/cc-mode.el lisp/progmodes/idlwave.el lisp/subr.el lisp/url/ChangeLog lisp/vc/vc-annotate.el lisp/vc/vc-dir.el lisp/vc/vc-git.el lisp/vc/vc.el lisp/wid-edit.el src/ChangeLog src/alloc.c src/dispextern.h src/frame.c src/fringe.c src/image.c src/keyboard.c src/keymap.c src/lread.c src/nsterm.m src/w32fns.c src/w32term.c src/xdisp.c src/xfaces.c src/xfns.c src/xmenu.c src/xterm.c
diffstat 163 files changed, 2004 insertions(+), 1497 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sat Jul 10 17:29:46 2010 +0300
+++ b/ChangeLog	Sat Jul 10 14:52:53 2010 -0400
@@ -55,6 +55,10 @@
 
 	* config.bat: Remove white space around "+" in COPY commands.
 
+2010-06-23  Glenn Morris  <rgm@gnu.org>
+
+	* info/dir: Start descriptions in column 32, per Texinfo convention.
+
 2010-06-16  Chong Yidong  <cyd@stupidchicken.com>
 
 	* INSTALL: Update font information (Bug#6389).
--- a/doc/emacs/ChangeLog	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/ChangeLog	Sat Jul 10 14:52:53 2010 -0400
@@ -1,3 +1,13 @@
+2010-06-23  Glenn Morris  <rgm@gnu.org>
+
+	* abbrevs.texi, basic.texi, buffers.texi, building.texi, calendar.texi:
+	* custom.texi, dired.texi, display.texi, emacs.texi, emerge-xtra.texi:
+	* files.texi, fortran-xtra.texi, frames.texi, help.texi, killing.texi:
+	* maintaining.texi, mark.texi, mini.texi, misc.texi, msdog.texi:
+	* mule.texi, programs.texi, rmail.texi, screen.texi, search.texi:
+	* sending.texi, text.texi, trouble.texi, vc1-xtra.texi, xresources.texi:
+	Untabify Texinfo files.
+
 2010-06-10  Glenn Morris  <rgm@gnu.org>
 
 	* basic.texi (Inserting Text): Minor clarification.  (Bug#6374)
--- a/doc/emacs/abbrevs.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/abbrevs.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -235,9 +235,9 @@
 @example
 @var{various other tables@dots{}}
 (lisp-mode-abbrev-table)
-"dk"	       0    "define-key"
+"dk"          0    "define-key"
 (global-abbrev-table)
-"dfn"	       0    "definition"
+"dfn"         0    "definition"
 @end example
 
 @noindent
--- a/doc/emacs/basic.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/basic.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -17,15 +17,15 @@
 
 * Inserting Text::      Inserting text by simply typing it.
 * Moving Point::        Moving the cursor to the place where you want to
-			  change something.
-* Erasing::	        Deleting and killing text.
-* Basic Undo::	        Undoing recent changes in the text.
+                          change something.
+* Erasing::             Deleting and killing text.
+* Basic Undo::          Undoing recent changes in the text.
 * Files: Basic Files.   Visiting, creating, and saving files.
 * Help: Basic Help.     Asking what a character does.
-* Blank Lines::	        Making and deleting blank lines.
+* Blank Lines::         Making and deleting blank lines.
 * Continuation Lines::  How Emacs displays lines too wide for the screen.
 * Position Info::       What page, line, row, or column is point on?
-* Arguments::	        Numeric arguments for repeating a command N times.
+* Arguments::           Numeric arguments for repeating a command N times.
 * Repeating::           Repeating the previous command quickly.
 @end menu
 
--- a/doc/emacs/buffers.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/buffers.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Buffers, Windows, Files, Top
 @chapter Using Multiple Buffers
@@ -49,10 +50,10 @@
 @menu
 * Select Buffer::       Creating a new buffer or reselecting an old one.
 * List Buffers::        Getting a list of buffers that exist.
-* Misc Buffer::	        Renaming; changing read-onlyness; copying text.
-* Kill Buffer::	        Killing buffers you no longer need.
+* Misc Buffer::         Renaming; changing read-onlyness; copying text.
+* Kill Buffer::         Killing buffers you no longer need.
 * Several Buffers::     How to go through the list of all buffers
-			  and operate variously on several of them.
+                          and operate variously on several of them.
 * Indirect Buffers::    An indirect buffer shares the text of another buffer.
 * Buffer Convenience::  Convenience and customization features for
                           buffer handling.
--- a/doc/emacs/building.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/building.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Building, Maintaining, Programs, Top
 @chapter Compiling and Testing Programs
@@ -20,14 +21,14 @@
                           for use in the compilation buffer.
 * Grep Searching::      Searching with grep.
 * Flymake::             Finding syntax errors on the fly.
-* Debuggers::	        Running symbolic debuggers for non-Lisp programs.
+* Debuggers::           Running symbolic debuggers for non-Lisp programs.
 * Executing Lisp::      Various modes for editing Lisp programs,
                           with different facilities for running
                           the Lisp programs.
 * Libraries: Lisp Libraries.      Creating Lisp programs to run in Emacs.
 * Eval: Lisp Eval.      Executing a single Lisp expression in Emacs.
 * Interaction: Lisp Interaction.  Executing Lisp in an Emacs buffer.
-* External Lisp::         Communicating through Emacs with a separate Lisp.
+* External Lisp::       Communicating through Emacs with a separate Lisp.
 @end menu
 
 @node Compilation
@@ -471,10 +472,10 @@
 Lisp Reference Manual}, for information on the Emacs Lisp debugger.
 
 @menu
-* Starting GUD::	How to start a debugger subprocess.
-* Debugger Operation::	Connection between the debugger and source buffers.
-* Commands of GUD::	Key bindings for common commands.
-* GUD Customization::	Defining your own commands for GUD.
+* Starting GUD::        How to start a debugger subprocess.
+* Debugger Operation::  Connection between the debugger and source buffers.
+* Commands of GUD::     Key bindings for common commands.
+* GUD Customization::   Defining your own commands for GUD.
 * GDB Graphical Interface::  An enhanced mode that uses GDB features to
                         implement a graphical debugging environment through
                         Emacs.
--- a/doc/emacs/calendar.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/calendar.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -42,7 +42,7 @@
 * Lunar Phases::        Displaying phases of the moon.
 * Other Calendars::     Converting dates to other calendar systems.
 * Diary::               Displaying events from your diary.
-* Appointments::	Reminders when it's time to do something.
+* Appointments::        Reminders when it's time to do something.
 * Importing Diary::     Converting diary events to/from other formats.
 * Daylight Saving::     How to specify when daylight saving time is active.
 * Time Intervals::      Keeping track of time intervals.
@@ -674,11 +674,11 @@
 and from several other calendars.
 
 @menu
-* Calendar Systems::	   The calendars Emacs understands
-			     (aside from Gregorian).
-* To Other Calendar::	   Converting the selected date to various calendars.
-* From Other Calendar::	   Moving to a date specified in another calendar.
-* Mayan Calendar::	   Moving to a date specified in a Mayan calendar.
+* Calendar Systems::       The calendars Emacs understands
+                             (aside from Gregorian).
+* To Other Calendar::      Converting the selected date to various calendars.
+* From Other Calendar::    Moving to a date specified in another calendar.
+* Mayan Calendar::         Moving to a date specified in a Mayan calendar.
 @end menu
 
 @node Calendar Systems
@@ -1040,8 +1040,8 @@
 @menu
 * Displaying the Diary::   Viewing diary entries and associated calendar dates.
 * Format of Diary File::   Entering events in your diary.
-* Date Formats::	   Various ways you can specify dates.
-* Adding to Diary::	   Commands to create diary entries.
+* Date Formats::           Various ways you can specify dates.
+* Adding to Diary::        Commands to create diary entries.
 * Special Diary Entries::  Anniversaries, blocks of dates, cyclic entries, etc.
 @end menu
 
--- a/doc/emacs/custom.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/custom.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -24,18 +24,18 @@
 @end ifnottex
 
 @menu
-* Minor Modes::		Each minor mode is a feature you can turn on
-			  independently of any others.
+* Minor Modes::         Each minor mode is a feature you can turn on
+                          independently of any others.
 * Easy Customization::  Convenient way to browse and change settings.
-* Variables::		Many Emacs commands examine Emacs variables
-			  to decide what to do; by setting variables,
-			  you can control their functioning.
-* Key Bindings::	The keymaps say what command each key runs.
-			  By changing them, you can "redefine keys".
-* Syntax::		The syntax table controls how words and
-			  expressions are parsed.
-* Init File::		How to write common customizations in the
-			  @file{.emacs} file.
+* Variables::           Many Emacs commands examine Emacs variables
+                          to decide what to do; by setting variables,
+                          you can control their functioning.
+* Key Bindings::        The keymaps say what command each key runs.
+                          By changing them, you can "redefine keys".
+* Syntax::              The syntax table controls how words and
+                          expressions are parsed.
+* Init File::           How to write common customizations in the
+                          @file{.emacs} file.
 @end menu
 
 @node Minor Modes
@@ -794,10 +794,10 @@
 expects (@pxref{Examining}).
 
 @menu
-* Examining::	        Examining or setting one variable's value.
-* Hooks::	        Hook variables let you specify programs for parts
-		          of Emacs to run on particular occasions.
-* Locals::	        Per-buffer values of variables.
+* Examining::           Examining or setting one variable's value.
+* Hooks::               Hook variables let you specify programs for parts
+                          of Emacs to run on particular occasions.
+* Locals::              Per-buffer values of variables.
 * File Variables::      How files can specify variable values.
 * Directory Variables:: How variable values can be specified by directory.
 @end menu
@@ -943,12 +943,12 @@
 @end group
 @group
     (c-cleanup-list . (scope-operator
-		       empty-defun-braces
-		       defun-close-semi))
+                       empty-defun-braces
+                       defun-close-semi))
 @end group
 @group
     (c-offsets-alist . ((arglist-close . c-lineup-arglist)
-			(substatement-open . 0)))))
+                        (substatement-open . 0)))))
 @end group
 
 @group
@@ -2175,10 +2175,10 @@
 @end ifnottex
 
 @menu
-* Init Syntax::	        Syntax of constants in Emacs Lisp.
+* Init Syntax::         Syntax of constants in Emacs Lisp.
 * Init Examples::       How to do some things with an init file.
 * Terminal Init::       Each terminal type can have an init file.
-* Find Init::	        How Emacs finds the init file.
+* Find Init::           How Emacs finds the init file.
 * Init Non-ASCII::      Using non-@acronym{ASCII} characters in an init file.
 @end menu
 
--- a/doc/emacs/dired.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/dired.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -36,20 +36,20 @@
 * Deletion: Dired Deletion.   Deleting files with Dired.
 * Flagging Many Files::       Flagging files based on their names.
 * Visit: Dired Visiting.      Other file operations through Dired.
-* Marks vs Flags::	      Flagging for deletion vs marking.
-* Operating on Files::	      How to copy, rename, print, compress, etc.
-			        either one file or several files.
+* Marks vs Flags::            Flagging for deletion vs marking.
+* Operating on Files::        How to copy, rename, print, compress, etc.
+                                either one file or several files.
 * Shell Commands in Dired::   Running a shell command on the marked files.
 * Transforming File Names::   Using patterns to rename multiple files.
-* Comparison in Dired::	      Running `diff' by way of Dired.
+* Comparison in Dired::       Running `diff' by way of Dired.
 * Subdirectories in Dired::   Adding subdirectories to the Dired buffer.
 @ifnottex
 * Subdir Switches::           Subdirectory switches in Dired.
 @end ifnottex
-* Subdirectory Motion::	      Moving across subdirectories, and up and down.
+* Subdirectory Motion::       Moving across subdirectories, and up and down.
 * Hiding Subdirectories::     Making subdirectories visible or invisible.
 * Updating: Dired Updating.   Discarding lines for files of no interest.
-* Find: Dired and Find.	      Using `find' to choose the files for Dired.
+* Find: Dired and Find.       Using `find' to choose the files for Dired.
 * Wdired::                    Operating on files by editing the Dired buffer.
 * Image-Dired::               Viewing image thumbnails in Dired.
 * Misc: Misc Dired Features.  Various other features.
--- a/doc/emacs/display.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/display.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -13,11 +13,11 @@
 want to see, and how to display it.
 
 @menu
-* Scrolling::	           Commands to move text up and down in a window.
+* Scrolling::              Commands to move text up and down in a window.
 * Auto Scrolling::         Redisplay scrolls text automatically when needed.
 * Horizontal Scrolling::   Moving text left and right in a window.
 * Follow Mode::            Follow mode lets two windows scroll as one.
-* Faces::	           How to change the display style using faces.
+* Faces::                  How to change the display style using faces.
 * Standard Faces::         Emacs' predefined faces.
 * Temporary Face Changes:: Commands to temporarily modify the default text face
 * Font Lock::              Minor mode for syntactic highlighting using faces.
--- a/doc/emacs/emacs.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/emacs.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -33,7 +33,7 @@
 
 @dircategory Emacs
 @direntry
-* Emacs: (emacs).	The extensible self-documenting text editor.
+* Emacs: (emacs).       The extensible self-documenting text editor.
 @end direntry
 
 @c in general, keep the following line commented out, unless doing a
@@ -134,13 +134,13 @@
 @end ignore
 
 @menu
-* Distrib::	        How to get the latest Emacs distribution.
-* Intro::	        An introduction to Emacs concepts.
+* Distrib::             How to get the latest Emacs distribution.
+* Intro::               An introduction to Emacs concepts.
 @c Note that in the printed manual, the glossary and indices come last.
-* Glossary::	        Terms used in this manual.
+* Glossary::            Terms used in this manual.
 
 Indexes (each index contains a large menu)
-* Key Index::	        An item for each standard Emacs key sequence.
+* Key Index::           An item for each standard Emacs key sequence.
 * Option Index::        An item for every command-line option.
 * Command Index::       An item for each command name.
 * Variable Index::      An item for each documented variable.
@@ -149,100 +149,100 @@
 * Acknowledgments::     Major contributors to GNU Emacs.
 
 Important General Concepts
-* Screen::	        How to interpret what you see on the screen.
-* User Input::	        Kinds of input events (characters, buttons,
+* Screen::              How to interpret what you see on the screen.
+* User Input::          Kinds of input events (characters, buttons,
                           function keys).
-* Keys::	        Key sequences: what you type to request one
+* Keys::                Key sequences: what you type to request one
                           editing action.
-* Commands::	        Named functions run by key sequences to do editing.
+* Commands::            Named functions run by key sequences to do editing.
 * Entering Emacs::      Starting Emacs from the shell.
-* Exiting::	        Stopping or killing Emacs.
+* Exiting::             Stopping or killing Emacs.
 
 Fundamental Editing Commands
-* Basic::	        The most basic editing commands.
-* Minibuffer::	        Entering arguments that are prompted for.
-* M-x::		        Invoking commands by their names.
-* Help::	        Commands for asking Emacs about its commands.
+* Basic::               The most basic editing commands.
+* Minibuffer::          Entering arguments that are prompted for.
+* M-x::                 Invoking commands by their names.
+* Help::                Commands for asking Emacs about its commands.
 
 Important Text-Changing Commands
-* Mark::	        The mark: how to delimit a ``region'' of text.
-* Killing::	        Killing (cutting) text.
-* Yanking::	        Recovering killed text.  Moving text. (Pasting.)
+* Mark::                The mark: how to delimit a ``region'' of text.
+* Killing::             Killing (cutting) text.
+* Yanking::             Recovering killed text.  Moving text. (Pasting.)
 * Accumulating Text::   Other ways of copying text.
-* Rectangles::	        Operating on the text inside a rectangle on the screen.
+* Rectangles::          Operating on the text inside a rectangle on the screen.
 * CUA Bindings::        Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} for copy
                           and paste, with enhanced rectangle support.
-* Registers::	        Saving a text string or a location in the buffer.
-* Display::	        Controlling what text is displayed.
-* Search::	        Finding or replacing occurrences of a string.
-* Fixit::	        Commands especially useful for fixing typos.
-* Keyboard Macros::	A keyboard macro records a sequence of
-			  keystrokes to be replayed with a single command.
+* Registers::           Saving a text string or a location in the buffer.
+* Display::             Controlling what text is displayed.
+* Search::              Finding or replacing occurrences of a string.
+* Fixit::               Commands especially useful for fixing typos.
+* Keyboard Macros::     A keyboard macro records a sequence of
+                          keystrokes to be replayed with a single command.
 
 Major Structures of Emacs
-* Files::	        All about handling files.
-* Buffers::	        Multiple buffers; editing several files at once.
-* Windows::	        Viewing two pieces of text at once.
-* Frames::	        Running the same Emacs session in multiple X windows.
+* Files::               All about handling files.
+* Buffers::             Multiple buffers; editing several files at once.
+* Windows::             Viewing two pieces of text at once.
+* Frames::              Running the same Emacs session in multiple X windows.
 * International::       Using non-@acronym{ASCII} character sets.
 
 Advanced Features
-* Major Modes::	        Text mode vs. Lisp mode vs. C mode...
-* Indentation::	        Editing the white space at the beginnings of lines.
-* Text::	        Commands and modes for editing English.
-* Programs::	        Commands and modes for editing programs.
-* Building::	        Compiling, running and debugging programs.
+* Major Modes::         Text mode vs. Lisp mode vs. C mode...
+* Indentation::         Editing the white space at the beginnings of lines.
+* Text::                Commands and modes for editing English.
+* Programs::            Commands and modes for editing programs.
+* Building::            Compiling, running and debugging programs.
 * Maintaining::         Features for maintaining large programs.
-* Abbrevs::	        How to define text abbreviations to reduce
-			  the number of characters you must type.
+* Abbrevs::             How to define text abbreviations to reduce
+                          the number of characters you must type.
 @c AFAICS, the tex stuff generates its own index and does not use this one.
 @ifnottex
 * Picture Mode::        Editing pictures made up of characters using
                           the quarter-plane screen model.
 @end ifnottex
 * Sending Mail::        Sending mail in Emacs.
-* Rmail::	        Reading mail in Emacs.
-* Dired::	        You can ``edit'' a directory to manage files in it.
+* Rmail::               Reading mail in Emacs.
+* Dired::               You can ``edit'' a directory to manage files in it.
 * Calendar/Diary::      The calendar and diary facilities.
 * Document View::       Viewing PDF, PS and DVI files.
-* Gnus::	        How to read netnews with Emacs.
-* Shell::	        Executing shell commands from Emacs.
+* Gnus::                How to read netnews with Emacs.
+* Shell::               Executing shell commands from Emacs.
 * Emacs Server::        Using Emacs as an editing server for @code{mail}, etc.
-* Printing::	        Printing hardcopies of buffers or regions.
-* Sorting::	        Sorting lines, paragraphs or pages within Emacs.
-* Narrowing::	        Restricting display and editing to a portion
-		          of the buffer.
-* Two-Column::	        Splitting apart columns to edit them
-		          in side-by-side windows.
+* Printing::            Printing hardcopies of buffers or regions.
+* Sorting::             Sorting lines, paragraphs or pages within Emacs.
+* Narrowing::           Restricting display and editing to a portion
+                          of the buffer.
+* Two-Column::          Splitting apart columns to edit them
+                          in side-by-side windows.
 * Editing Binary Files::Using Hexl mode to edit binary files.
 * Saving Emacs Sessions:: Saving Emacs state from one session to the next.
 * Recursive Edit::      A command can allow you to do editing
-			  "within the command".  This is called a
-			  "recursive editing level".
-* Emulation::	        Emulating some other editors with Emacs.
+                          "within the command".  This is called a
+                          "recursive editing level".
+* Emulation::           Emulating some other editors with Emacs.
 * Hyperlinking::        Following links in buffers.
 * Dissociated Press::   Dissociating text for fun.
-* Amusements::	        Various games and hacks.
+* Amusements::          Various games and hacks.
 * Customization::       Modifying the behavior of Emacs.
 
 Recovery from Problems
-* Quitting::	        Quitting and aborting.
-* Lossage::	        What to do if Emacs is hung or malfunctioning.
-* Bugs::	        How and when to report a bug.
+* Quitting::            Quitting and aborting.
+* Lossage::             What to do if Emacs is hung or malfunctioning.
+* Bugs::                How and when to report a bug.
 * Contributing::        How to contribute improvements to Emacs.
-* Service::	        How to get help for your own Emacs needs.
+* Service::             How to get help for your own Emacs needs.
 
 Appendices
-* Copying::	        The GNU General Public License gives you permission
-			  to redistribute GNU Emacs on certain terms;
-			  it also explains that there is no warranty.
+* Copying::             The GNU General Public License gives you permission
+                          to redistribute GNU Emacs on certain terms;
+                          it also explains that there is no warranty.
 * GNU Free Documentation License:: The license for this documentation.
 * Emacs Invocation::    Hairy startup options.
 * X Resources::         X resources for customizing Emacs.
-* Antinews::	        Information about Emacs version 22.
+* Antinews::            Information about Emacs version 22.
 * Mac OS / GNUstep::    Using Emacs under Mac OS and GNUstep.
 * Microsoft Windows::   Using Emacs on Microsoft Windows and MS-DOS.
-* Manifesto::	        What's GNU?  Gnu's Not Unix!
+* Manifesto::           What's GNU?  Gnu's Not Unix!
 
 @c Do NOT modify the following 3 lines!  They must have this form to
 @c be correctly identified by `texinfo-multiple-files-update'.  In
@@ -258,9 +258,9 @@
 
 The Organization of the Screen
 
-* Point::	        The place in the text where editing commands operate.
+* Point::               The place in the text where editing commands operate.
 * Echo Area::           Short messages appear at the bottom of the screen.
-* Mode Line::	        Interpreting the mode line.
+* Mode Line::           Interpreting the mode line.
 * Menu Bar::            How to use the menu bar.
 
 Basic Editing Commands
@@ -268,23 +268,23 @@
 * Inserting Text::      Inserting text by simply typing it.
 * Moving Point::        Moving the cursor to the place where you want to
                         change something.
-* Erasing::	        Deleting and killing text.
-* Basic Undo::	        Undoing recent changes in the text.
+* Erasing::             Deleting and killing text.
+* Basic Undo::          Undoing recent changes in the text.
 * Basic Files::         Visiting, creating, and saving files.
 * Basic Help::          Asking what a character does.
-* Blank Lines::	        Making and deleting blank lines.
+* Blank Lines::         Making and deleting blank lines.
 * Continuation Lines::  How Emacs displays lines too wide for the screen.
 * Position Info::       What page, line, row, or column is point on?
-* Arguments::	        Numeric arguments for repeating a command N times.
+* Arguments::           Numeric arguments for repeating a command N times.
 * Repeating::           Repeating the previous command quickly.
 
 The Minibuffer
 
 * Minibuffer File::     Entering file names with the minibuffer.
 * Minibuffer Edit::     How to edit in the minibuffer.
-* Completion::		An abbreviation facility for minibuffer input.
-* Minibuffer History::	Reusing recent minibuffer arguments.
-* Repetition::		Re-executing commands that used the minibuffer.
+* Completion::          An abbreviation facility for minibuffer input.
+* Minibuffer History::  Reusing recent minibuffer arguments.
+* Repetition::          Re-executing commands that used the minibuffer.
 * Passwords::           Entering passwords in the echo area.
 
 Completion
@@ -296,59 +296,59 @@
 
 Help
 
-* Help Summary::	Brief list of all Help commands.
-* Key Help::		Asking what a key does in Emacs.
-* Name Help::		Asking about a command, variable or function name.
-* Apropos::		Asking what pertains to a given topic.
+* Help Summary::        Brief list of all Help commands.
+* Key Help::            Asking what a key does in Emacs.
+* Name Help::           Asking about a command, variable or function name.
+* Apropos::             Asking what pertains to a given topic.
 * Help Mode::           Special features of Help mode and Help buffers.
-* Library Keywords::	Finding Lisp libraries by keywords (topics).
+* Library Keywords::    Finding Lisp libraries by keywords (topics).
 * Language Help::       Help relating to international language support.
-* Misc Help::		Other help commands.
+* Misc Help::           Other help commands.
 * Help Files::          Commands to display pre-written help files.
 * Help Echo::           Help on active text and tooltips (`balloon help').
 
 The Mark and the Region
 
-* Setting Mark::	Commands to set the mark.
-* Marking Objects::	Commands to put region around textual units.
-* Using Region::	Summary of ways to operate on contents of the region.
-* Mark Ring::   	Previous mark positions saved so you can go back there.
+* Setting Mark::        Commands to set the mark.
+* Marking Objects::     Commands to put region around textual units.
+* Using Region::        Summary of ways to operate on contents of the region.
+* Mark Ring::           Previous mark positions saved so you can go back there.
 * Global Mark Ring::    Previous mark positions in various buffers.
 * Shift Selection::     Using shifted cursor motion keys.
-* Persistent Mark::	Keeping the mark active all the time.
+* Persistent Mark::     Keeping the mark active all the time.
 
 Killing and Moving Text
 
-* Deletion::		Commands for deleting small amounts of text and
-			  blank areas.
-* Killing by Lines::	How to kill entire lines of text at one time.
+* Deletion::            Commands for deleting small amounts of text and
+                          blank areas.
+* Killing by Lines::    How to kill entire lines of text at one time.
 * Other Kill Commands:: Commands to kill large regions of text and
-			  syntactic units such as words and sentences.
+                          syntactic units such as words and sentences.
 * Kill Options::        Options that affect killing.
 
 Yanking
 
-* Kill Ring::		Where killed text is stored.  Basic yanking.
-* Appending Kills::	Several kills in a row all yank together.
-* Earlier Kills::	Yanking something killed some time ago.
+* Kill Ring::           Where killed text is stored.  Basic yanking.
+* Appending Kills::     Several kills in a row all yank together.
+* Earlier Kills::       Yanking something killed some time ago.
 
 Registers
 
-* RegPos::      	Saving positions in registers.
-* RegText::     	Saving text in registers.
-* RegRect::     	Saving rectangles in registers.
+* RegPos::              Saving positions in registers.
+* RegText::             Saving text in registers.
+* RegRect::             Saving rectangles in registers.
 * RegConfig::           Saving window configurations in registers.
 * RegNumbers::          Numbers in registers.
-* RegFiles::    	File names in registers.
+* RegFiles::            File names in registers.
 * Bookmarks::           Bookmarks are like registers, but persistent.
 
 Controlling the Display
 
-* Scrolling::	           Commands to move text up and down in a window.
+* Scrolling::              Commands to move text up and down in a window.
 * Auto Scrolling::         Redisplay scrolls text automatically when needed.
 * Horizontal Scrolling::   Moving text left and right in a window.
 * Follow Mode::            Follow mode lets two windows scroll as one.
-* Faces::	           How to change the display style using faces.
+* Faces::                  How to change the display style using faces.
 * Standard Faces::         Emacs' predefined faces.
 * Temporary Face Changes:: Commands to temporarily modify the default text face
 * Font Lock::              Minor mode for syntactic highlighting using faces.
@@ -367,15 +367,15 @@
 
 Searching and Replacement
 
-* Incremental Search::	   Search happens as you type the string.
+* Incremental Search::     Search happens as you type the string.
 * Nonincremental Search::  Specify entire string and then search.
-* Word Search::		   Search for sequence of words.
-* Regexp Search::	   Search for match for a regexp.
-* Regexps::		   Syntax of regular expressions.
+* Word Search::            Search for sequence of words.
+* Regexp Search::          Search for match for a regexp.
+* Regexps::                Syntax of regular expressions.
 * Regexp Backslash::       Regular expression constructs starting with `\'.
 * Regexp Example::         A complex regular expression explained.
-* Search Case::		   To ignore case while searching, or not.
-* Replace::		   Search, and replace some or all matches.
+* Search Case::            To ignore case while searching, or not.
+* Replace::                Search, and replace some or all matches.
 * Other Repeating Search:: Operating on all matches for some regexp.
 
 Incremental Search
@@ -393,16 +393,16 @@
 Replacement Commands
 
 * Unconditional Replace::  Replacing all matches for a string.
-* Regexp Replace::	   Replacing all matches for a regexp.
+* Regexp Replace::         Replacing all matches for a regexp.
 * Replacement and Case::   How replacements preserve case of letters.
-* Query Replace::	   How to use querying.
+* Query Replace::          How to use querying.
 
 Commands for Fixing Typos
 
 * Undo::                The Undo commands.
-* Transpose::	        Exchanging two characters, words, lines, lists...
+* Transpose::           Exchanging two characters, words, lines, lists...
 * Fixing Case::         Correcting case of last word entered.
-* Spelling::	        Apply spelling checker to a word, or a whole file.
+* Spelling::            Apply spelling checker to a word, or a whole file.
 
 Keyboard Macros
 
@@ -448,9 +448,9 @@
 
 Backup Files
 
-* Backup Names::	How backup files are named.
-* Backup Deletion::	Emacs deletes excess numbered backups.
-* Backup Copying::	Backups can be made by copying or renaming.
+* Backup Names::        How backup files are named.
+* Backup Deletion::     Emacs deletes excess numbered backups.
+* Backup Copying::      Backups can be made by copying or renaming.
 
 Auto Reverting Non-File Buffers
 
@@ -463,16 +463,16 @@
 * Auto Save Files::     The file where auto-saved changes are
                           actually made until you save the file.
 * Auto Save Control::   Controlling when and how often to auto-save.
-* Recover::	        Recovering text from auto-save files.
+* Recover::             Recovering text from auto-save files.
 
 Using Multiple Buffers
 
 * Select Buffer::       Creating a new buffer or reselecting an old one.
 * List Buffers::        Getting a list of buffers that exist.
-* Misc Buffer::	        Renaming; changing read-onlyness; copying text.
-* Kill Buffer::	        Killing buffers you no longer need.
+* Misc Buffer::         Renaming; changing read-onlyness; copying text.
+* Kill Buffer::         Killing buffers you no longer need.
 * Several Buffers::     How to go through the list of all buffers
-			  and operate variously on several of them.
+                          and operate variously on several of them.
 * Indirect Buffers::    An indirect buffer shares the text of another buffer.
 * Buffer Convenience::  Convenience and customization features for
                           buffer handling.
@@ -507,10 +507,10 @@
 * Multiple Displays::   How one Emacs job can talk to several displays.
 * Special Buffer Frames::  You can make certain buffers have their own frames.
 * Frame Parameters::    Changing the colors and other modes of frames.
-* Scroll Bars::	        How to enable and disable scroll bars; how to use them.
+* Scroll Bars::         How to enable and disable scroll bars; how to use them.
 * Wheeled Mice::        Using mouse wheels for scrolling.
 * Drag and Drop::       Using drag and drop to open files and insert text.
-* Menu Bars::	        Enabling and disabling the menu bar.
+* Menu Bars::           Enabling and disabling the menu bar.
 * Tool Bars::           Enabling and disabling the tool bar.
 * Dialog Boxes::        Controlling use of dialog boxes.
 * Tooltips::            Displaying information at the current mouse position.
@@ -559,31 +559,31 @@
 Indentation
 
 * Indentation Commands::  Various commands and techniques for indentation.
-* Tab Stops::		  You can set arbitrary "tab stops" and then
-			    indent to the next tab stop when you want to.
-* Just Spaces::		  You can request indentation using just spaces.
+* Tab Stops::             You can set arbitrary "tab stops" and then
+                            indent to the next tab stop when you want to.
+* Just Spaces::           You can request indentation using just spaces.
 
 Commands for Human Languages
 
-* Words::	        Moving over and killing words.
-* Sentences::	        Moving over and killing sentences.
-* Paragraphs::	        Moving over paragraphs.
-* Pages::	        Moving over pages.
-* Filling::	        Filling or justifying text.
-* Case::	        Changing the case of text.
-* Text Mode::	        The major modes for editing text files.
+* Words::               Moving over and killing words.
+* Sentences::           Moving over and killing sentences.
+* Paragraphs::          Moving over paragraphs.
+* Pages::               Moving over pages.
+* Filling::             Filling or justifying text.
+* Case::                Changing the case of text.
+* Text Mode::           The major modes for editing text files.
 * Outline Mode::        Editing outlines.
-* TeX Mode::	        Editing input to the formatter TeX.
+* TeX Mode::            Editing input to the formatter TeX.
 * HTML Mode::           Editing HTML and SGML files.
-* Nroff Mode::	        Editing input to the formatter nroff.
+* Nroff Mode::          Editing input to the formatter nroff.
 * Formatted Text::      Editing formatted text directly in WYSIWYG fashion.
 * Text Based Tables::   Editing text-based tables in WYSIWYG fashion.
 
 Filling Text
 
-* Auto Fill::	        Auto Fill mode breaks long lines automatically.
+* Auto Fill::           Auto Fill mode breaks long lines automatically.
 * Fill Commands::       Commands to refill paragraphs and center lines.
-* Fill Prefix::	        Filling paragraphs that are indented
+* Fill Prefix::         Filling paragraphs that are indented
                           or in a comment, etc.
 * Adaptive Fill::       How Emacs can determine the fill prefix automatically.
 * Refill::              Keeping paragraphs filled.
@@ -592,7 +592,7 @@
 Outline Mode
 
 * Outline Format::      What the text of an outline looks like.
-* Outline Motion::	Special commands for moving through
+* Outline Motion::      Special commands for moving through
                           outlines.
 * Outline Visibility::  Commands to control what is visible.
 * Outline Views::       Outlines and multiple views.
@@ -644,7 +644,7 @@
                           of a program.
 * Program Indent::      Adjusting indentation to show the nesting.
 * Parentheses::         Commands that operate on parentheses.
-* Comments::	        Inserting, killing, and aligning comments.
+* Comments::            Inserting, killing, and aligning comments.
 * Documentation::       Getting documentation of functions you plan to call.
 * Hideshow::            Displaying blocks selectively.
 * Symbol Completion::   Completion on symbol names of your program or language.
@@ -666,18 +666,18 @@
 
 Indentation for Programs
 
-* Basic Indent::	Indenting a single line.
+* Basic Indent::        Indenting a single line.
 * Multi-line Indent::   Commands to reindent many lines at once.
-* Lisp Indent::		Specifying how each Lisp function should be indented.
-* C Indent::		Extra features for indenting C and related modes.
-* Custom C Indent::	Controlling indentation style for C and related modes.
+* Lisp Indent::         Specifying how each Lisp function should be indented.
+* C Indent::            Extra features for indenting C and related modes.
+* Custom C Indent::     Controlling indentation style for C and related modes.
 
 Commands for Editing with Parentheses
 
 * Expressions::         Expressions with balanced parentheses.
 * Moving by Parens::    Commands for moving up, down and across
                           in the structure of parentheses.
-* Matching::	        Insertion of a close-delimiter flashes matching open.
+* Matching::            Insertion of a close-delimiter flashes matching open.
 
 Manipulating Comments
 
@@ -702,12 +702,12 @@
 
 Fortran Mode
 
-* Fortran Motion::	Moving point by statements or subprograms.
-* Fortran Indent::	Indentation commands for Fortran.
-* Fortran Comments::	Inserting and aligning comments.
-* Fortran Autofill::	Auto fill support for Fortran.
-* Fortran Columns::	Measuring columns for valid Fortran.
-* Fortran Abbrev::	Built-in abbrevs for Fortran keywords.
+* Fortran Motion::      Moving point by statements or subprograms.
+* Fortran Indent::      Indentation commands for Fortran.
+* Fortran Comments::    Inserting and aligning comments.
+* Fortran Autofill::    Auto fill support for Fortran.
+* Fortran Columns::     Measuring columns for valid Fortran.
+* Fortran Abbrev::      Built-in abbrevs for Fortran keywords.
 
 Fortran Indentation
 
@@ -719,28 +719,28 @@
 
 Compiling and Testing Programs
 
-* Compilation::		Compiling programs in languages other
-			  than Lisp (C, Pascal, etc.).
+* Compilation::         Compiling programs in languages other
+                          than Lisp (C, Pascal, etc.).
 * Compilation Mode::    The mode for visiting compiler errors.
 * Compilation Shell::   Customizing your shell properly
                           for use in the compilation buffer.
 * Grep Searching::      Searching with grep.
 * Flymake::             Finding syntax errors on the fly.
-* Debuggers::		Running symbolic debuggers for non-Lisp programs.
-* Executing Lisp::	Various modes for editing Lisp programs,
-			  with different facilities for running
-			  the Lisp programs.
+* Debuggers::           Running symbolic debuggers for non-Lisp programs.
+* Executing Lisp::      Various modes for editing Lisp programs,
+                          with different facilities for running
+                          the Lisp programs.
 * Lisp Libraries::      Creating Lisp programs to run in Emacs.
-* Lisp Eval::		Executing a single Lisp expression in Emacs.
+* Lisp Eval::           Executing a single Lisp expression in Emacs.
 * Lisp Interaction::    Executing Lisp in an Emacs buffer.
-* External Lisp::	Communicating through Emacs with a separate Lisp.
+* External Lisp::       Communicating through Emacs with a separate Lisp.
 
 Running Debuggers Under Emacs
 
-* Starting GUD::	How to start a debugger subprocess.
-* Debugger Operation::	Connection between the debugger and source buffers.
-* Commands of GUD::	Key bindings for common commands.
-* GUD Customization::	Defining your own commands for GUD.
+* Starting GUD::        How to start a debugger subprocess.
+* Debugger Operation::  Connection between the debugger and source buffers.
+* Commands of GUD::     Key bindings for common commands.
+* GUD Customization::   Defining your own commands for GUD.
 * GDB Graphical Interface::  An enhanced mode that uses GDB features to
                           implement a graphical debugging environment through
                           Emacs.
@@ -761,9 +761,9 @@
 Maintaining Large Programs
 
 * Version Control::     Using version control systems.
-* Change Log::	        Maintaining a change history for your program.
-* Tags::	        Go directly to any function in your program in one
-			  command.  Tags remembers which file it is in.
+* Change Log::          Maintaining a change history for your program.
+* Tags::                Go directly to any function in your program in one
+                          command.  Tags remembers which file it is in.
 * EDE::                 An integrated development environment for Emacs.
 * Emerge::              A convenient way of merging two versions of a program.
 
@@ -844,25 +844,25 @@
 
 Tags Tables
 
-* Tag Syntax::		Tag syntax for various types of code and text files.
-* Create Tags Table::	Creating a tags table with @code{etags}.
+* Tag Syntax::          Tag syntax for various types of code and text files.
+* Create Tags Table::   Creating a tags table with @code{etags}.
 * Etags Regexps::       Create arbitrary tags using regular expressions.
-* Select Tags Table::	How to visit a tags table.
-* Find Tag::		Commands to find the definition of a specific tag.
-* Tags Search::		Using a tags table for searching and replacing.
-* List Tags::		Listing and finding tags defined in a file.
+* Select Tags Table::   How to visit a tags table.
+* Find Tag::            Commands to find the definition of a specific tag.
+* Tags Search::         Using a tags table for searching and replacing.
+* List Tags::           Listing and finding tags defined in a file.
 
 Merging Files with Emerge
 
-* Overview of Emerge::	How to start Emerge.  Basic concepts.
-* Submodes of Emerge::	Fast mode vs. Edit mode.
-			  Skip Prefers mode and Auto Advance mode.
-* State of Difference::	You do the merge by specifying state A or B
-			  for each difference.
-* Merge Commands::	Commands for selecting a difference,
-			  changing states of differences, etc.
-* Exiting Emerge::	What to do when you've finished the merge.
-* Combining in Emerge::	    How to keep both alternatives for a difference.
+* Overview of Emerge::  How to start Emerge.  Basic concepts.
+* Submodes of Emerge::  Fast mode vs. Edit mode.
+                          Skip Prefers mode and Auto Advance mode.
+* State of Difference:: You do the merge by specifying state A or B
+                          for each difference.
+* Merge Commands::      Commands for selecting a difference,
+                          changing states of differences, etc.
+* Exiting Emerge::      What to do when you've finished the merge.
+* Combining in Emerge::     How to keep both alternatives for a difference.
 * Fine Points of Emerge::   Miscellaneous issues.
 
 Abbrevs
@@ -887,10 +887,10 @@
 
 Sending Mail
 
-* Mail Format:: 	Format of the mail being composed.
+* Mail Format::         Format of the mail being composed.
 * Mail Headers::        Details of some standard mail header fields.
 * Mail Aliases::        Abbreviating and grouping mail addresses.
-* Mail Commands::   	Special commands for editing mail being composed.
+* Mail Commands::       Special commands for editing mail being composed.
 * Mail Signature::      Adding a signature to every message.
 * Mail Amusements::     Distracting the NSA; adding fortune messages.
 * Mail Methods::        Using alternative mail-composition methods.
@@ -928,28 +928,28 @@
 
 Summaries
 
-* Rmail Make Summary::	     Making various sorts of summaries.
-* Rmail Summary Edit::	     Manipulating messages from the summary.
+* Rmail Make Summary::       Making various sorts of summaries.
+* Rmail Summary Edit::       Manipulating messages from the summary.
 
 Dired, the Directory Editor
 
-* Dired Enter:: 	     How to invoke Dired.
+* Dired Enter::              How to invoke Dired.
 * Dired Navigation::         Special motion commands in the Dired buffer.
 * Dired Deletion::           Deleting files with Dired.
 * Flagging Many Files::      Flagging files based on their names.
 * Dired Visiting::           Other file operations through Dired.
-* Marks vs Flags::	     Flagging for deletion vs marking.
-* Operating on Files::	     How to copy, rename, print, compress, etc.
-			       either one file or several files.
+* Marks vs Flags::           Flagging for deletion vs marking.
+* Operating on Files::       How to copy, rename, print, compress, etc.
+                               either one file or several files.
 * Shell Commands in Dired::  Running a shell command on the marked files.
 * Transforming File Names::  Using patterns to rename multiple files.
-* Comparison in Dired::	     Running `diff' by way of Dired.
+* Comparison in Dired::      Running `diff' by way of Dired.
 * Subdirectories in Dired::  Adding subdirectories to the Dired buffer.
 * Subdir Switches::          Subdirectory switches in Dired.
-* Subdirectory Motion::	     Moving across subdirectories, and up and down.
+* Subdirectory Motion::      Moving across subdirectories, and up and down.
 * Hiding Subdirectories::    Making subdirectories visible or invisible.
 * Dired Updating::           Discarding lines for files of no interest.
-* Dired and Find::	     Using `find' to choose the files for Dired.
+* Dired and Find::           Using `find' to choose the files for Dired.
 * Wdired::                   Operating on files by editing the Dired buffer.
 * Image-Dired::              Viewing image thumbnails in Dired.
 * Misc Dired Features::      Various other features.
@@ -966,7 +966,7 @@
 * Lunar Phases::        Displaying phases of the moon.
 * Other Calendars::     Converting dates to other calendar systems.
 * Diary::               Displaying events from your diary.
-* Appointments::	Reminders when it's time to do something.
+* Appointments::        Reminders when it's time to do something.
 * Importing Diary::     Converting diary events to/from other formats.
 * Daylight Saving::    How to specify when daylight saving time is active.
 * Time Intervals::      Keeping track of time intervals.
@@ -976,23 +976,23 @@
 
 * Calendar Unit Motion::      Moving by days, weeks, months, and years.
 * Move to Beginning or End::  Moving to start/end of weeks, months, and years.
-* Specified Dates::	      Moving to the current date or another
-				specific date.
+* Specified Dates::           Moving to the current date or another
+                                specific date.
 
 Conversion To and From Other Calendars
 
-* Calendar Systems::	   The calendars Emacs understands
-			     (aside from Gregorian).
-* To Other Calendar::	   Converting the selected date to various calendars.
-* From Other Calendar::	   Moving to a date specified in another calendar.
-* Mayan Calendar::	   Moving to a date specified in a Mayan calendar.
+* Calendar Systems::       The calendars Emacs understands
+                             (aside from Gregorian).
+* To Other Calendar::      Converting the selected date to various calendars.
+* From Other Calendar::    Moving to a date specified in another calendar.
+* Mayan Calendar::         Moving to a date specified in a Mayan calendar.
 
 The Diary
 
 * Displaying the Diary::   Viewing diary entries and associated calendar dates.
 * Format of Diary File::   Entering events in your diary.
-* Date Formats::	   Various ways you can specify dates.
-* Adding to Diary::	   Commands to create diary entries.
+* Date Formats::           Various ways you can specify dates.
+* Adding to Diary::        Commands to create diary entries.
 * Special Diary Entries::  Anniversaries, blocks of dates, cyclic entries, etc.
 
 Customizing the Calendar and Diary
@@ -1009,22 +1009,22 @@
 
 Document Viewing
 
-* Navigation::	Navigation inside DocView buffers.
-* Searching::	Searching inside documents.
-* Slicing::	Specifying which part of pages should be displayed.
-* Conversion::	Influencing and triggering conversion.
+* Navigation::  Navigation inside DocView buffers.
+* Searching::   Searching inside documents.
+* Slicing::     Specifying which part of pages should be displayed.
+* Conversion::  Influencing and triggering conversion.
 
 Gnus
 
-* Buffers of Gnus::	The group, summary, and article buffers.
-* Gnus Startup::	What you should know about starting Gnus.
-* Summary of Gnus::	A short description of the basic Gnus commands.
+* Buffers of Gnus::     The group, summary, and article buffers.
+* Gnus Startup::        What you should know about starting Gnus.
+* Summary of Gnus::     A short description of the basic Gnus commands.
 
 Running Shell Commands from Emacs
 
-* Single Shell::	How to run one shell command and return.
-* Interactive Shell::	Permanent shell taking input via Emacs.
-* Shell Mode::		Special Emacs commands used with permanent shell.
+* Single Shell::        How to run one shell command and return.
+* Interactive Shell::   Permanent shell taking input via Emacs.
+* Shell Mode::          Special Emacs commands used with permanent shell.
 * Shell Prompts::       Two ways to recognize shell prompts.
 * Shell History::       Repeating previous commands in a shell buffer.
 * Directory Tracking::  Keeping track when the subshell changes directory.
@@ -1032,7 +1032,7 @@
 * Terminal emulator::   An Emacs window as a terminal emulator.
 * Term Mode::           Special Emacs commands used in Term mode.
 * Paging in Term::      Paging in the terminal emulator.
-* Remote Host::		Connecting to another computer.
+* Remote Host::         Connecting to another computer.
 * Serial Terminal::     Connecting to a serial port.
 
 Shell Command History
@@ -1048,7 +1048,7 @@
 
 Printing Hard Copies
 
-* PostScript::	         Printing buffers or regions as PostScript.
+* PostScript::           Printing buffers or regions as PostScript.
 * PostScript Variables:: Customizing the PostScript printing commands.
 * Printing Package::     An optional advanced printing interface.
 
@@ -1060,18 +1060,18 @@
 
 Customization
 
-* Minor Modes::		Each minor mode is a feature you can turn on
-			  independently of any others.
+* Minor Modes::         Each minor mode is a feature you can turn on
+                          independently of any others.
 * Easy Customization::  Convenient way to browse and change settings.
-* Variables::		Many Emacs commands examine Emacs variables
-			  to decide what to do; by setting variables,
-			  you can control their functioning.
-* Key Bindings::	The keymaps say what command each key runs.
-			  By changing them, you can "redefine keys".
-* Syntax::		The syntax table controls how words and
-			  expressions are parsed.
-* Init File::		How to write common customizations in the
-			  @file{.emacs} file.
+* Variables::           Many Emacs commands examine Emacs variables
+                          to decide what to do; by setting variables,
+                          you can control their functioning.
+* Key Bindings::        The keymaps say what command each key runs.
+                          By changing them, you can "redefine keys".
+* Syntax::              The syntax table controls how words and
+                          expressions are parsed.
+* Init File::           How to write common customizations in the
+                          @file{.emacs} file.
 
 Easy Customization Interface
 
@@ -1087,10 +1087,10 @@
 
 Variables
 
-* Examining::	        Examining or setting one variable's value.
-* Hooks::	        Hook variables let you specify programs for parts
-		          of Emacs to run on particular occasions.
-* Locals::	        Per-buffer values of variables.
+* Examining::           Examining or setting one variable's value.
+* Hooks::               Hook variables let you specify programs for parts
+                          of Emacs to run on particular occasions.
+* Locals::              Per-buffer values of variables.
 * File Variables::      How files can specify variable values.
 * Directory Variables:: How variable values can be specified by directory.
 
@@ -1117,10 +1117,10 @@
 
 The Init File, @file{~/.emacs}
 
-* Init Syntax::	        Syntax of constants in Emacs Lisp.
+* Init Syntax::         Syntax of constants in Emacs Lisp.
 * Init Examples::       How to do some things with an init file.
 * Terminal Init::       Each terminal type can have an init file.
-* Find Init::	        How Emacs finds the init file.
+* Find Init::           How Emacs finds the init file.
 * Init Non-ASCII::      Using non-@acronym{ASCII} characters in an init file.
 
 Dealing with Emacs Trouble
@@ -1138,31 +1138,31 @@
 Reporting Bugs
 
 * Bug Criteria::        Have you really found a bug?
-* Understanding Bug Reporting::	How to report a bug effectively.
-* Checklist::		Steps to follow for a good bug report.
-* Sending Patches::	How to send a patch for GNU Emacs.
+* Understanding Bug Reporting:: How to report a bug effectively.
+* Checklist::           Steps to follow for a good bug report.
+* Sending Patches::     How to send a patch for GNU Emacs.
 
 Command Line Arguments for Emacs Invocation
 
-* Action Arguments::	Arguments to visit files, load libraries,
-			  and call functions.
+* Action Arguments::    Arguments to visit files, load libraries,
+                          and call functions.
 * Initial Options::     Arguments that take effect while starting Emacs.
 * Command Example::     Examples of using command line arguments.
-* Resume Arguments::	Specifying arguments when you resume a running Emacs.
+* Resume Arguments::    Specifying arguments when you resume a running Emacs.
 * Environment::         Environment variables that Emacs uses.
 * Display X::           Changing the default display and using remote login.
-* Font X::	        Choosing a font for text, under X.
-* Colors::	        Choosing display colors.
+* Font X::              Choosing a font for text, under X.
+* Colors::              Choosing display colors.
 * Window Size X::       Start-up window size, under X.
-* Borders X::	        Internal and external borders, under X.
+* Borders X::           Internal and external borders, under X.
 * Title X::             Specifying the initial frame's title.
 * Icons X::             Choosing what sort of icon to use, under X.
 * Misc X::              Other display options.
 
 Environment Variables
 
-* General Variables::	Environment variables that all versions of Emacs use.
-* Misc Variables::	Certain system-specific variables.
+* General Variables::   Environment variables that all versions of Emacs use.
+* Misc Variables::      Certain system-specific variables.
 * MS-Windows Registry:: An alternative to the environment on MS-Windows.
 
 X Options and Resources
--- a/doc/emacs/emerge-xtra.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/emerge-xtra.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,5 +1,6 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @c
 @c This file is included either in emacs-xtra.texi (when producing the
@@ -22,16 +23,16 @@
 and @ref{Top, Ediff,, ediff, The Ediff Manual}.
 
 @menu
-* Overview of Emerge::	How to start Emerge.  Basic concepts.
-* Submodes of Emerge::	Fast mode vs. Edit mode.
-			  Skip Prefers mode and Auto Advance mode.
-* State of Difference::	You do the merge by specifying state A or B
-			  for each difference.
-* Merge Commands::	Commands for selecting a difference,
-			  changing states of differences, etc.
-* Exiting Emerge::	What to do when you've finished the merge.
-* Combining in Emerge::	    How to keep both alternatives for a difference.
-* Fine Points of Emerge::   Miscellaneous issues.
+* Overview of Emerge::     How to start Emerge.  Basic concepts.
+* Submodes of Emerge::     Fast mode vs. Edit mode.
+                             Skip Prefers mode and Auto Advance mode.
+* State of Difference::    You do the merge by specifying state A or B
+                             for each difference.
+* Merge Commands::         Commands for selecting a difference,
+                             changing states of differences, etc.
+* Exiting Emerge::         What to do when you've finished the merge.
+* Combining in Emerge::    How to keep both alternatives for a difference.
+* Fine Points of Emerge::  Miscellaneous issues.
 @end menu
 
 @node Overview of Emerge
--- a/doc/emacs/files.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/files.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000,
-@c   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Files, Buffers, Keyboard Macros, Top
 @chapter File Handling
@@ -553,9 +554,9 @@
 another from the newly saved contents if you save again.
 
 @menu
-* Names: Backup Names.		How backup files are named.
-* Deletion: Backup Deletion.	Emacs deletes excess numbered backups.
-* Copying: Backup Copying.	Backups can be made by copying or renaming.
+* Names: Backup Names.          How backup files are named.
+* Deletion: Backup Deletion.    Emacs deletes excess numbered backups.
+* Copying: Backup Copying.      Backups can be made by copying or renaming.
 @end menu
 
 @node Backup Names
@@ -994,7 +995,7 @@
 * Files: Auto Save Files.       The file where auto-saved changes are
                                   actually made until you save the file.
 * Control: Auto Save Control.   Controlling when and how often to auto-save.
-* Recover::		        Recovering text from auto-save files.
+* Recover::                     Recovering text from auto-save files.
 @end menu
 
 @node Auto Save Files
--- a/doc/emacs/fortran-xtra.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/fortran-xtra.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,5 +1,6 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @c
 @c This file is included either in emacs-xtra.texi (when producing the
@@ -57,12 +58,12 @@
 @end ifnottex
 
 @menu
-* Motion: Fortran Motion.	 Moving point by statements or subprograms.
-* Indent: Fortran Indent.	 Indentation commands for Fortran.
-* Comments: Fortran Comments.	 Inserting and aligning comments.
-* Autofill: Fortran Autofill.	 Auto fill support for Fortran.
-* Columns: Fortran Columns.	 Measuring columns for valid Fortran.
-* Abbrev: Fortran Abbrev.	 Built-in abbrevs for Fortran keywords.
+* Motion: Fortran Motion.        Moving point by statements or subprograms.
+* Indent: Fortran Indent.        Indentation commands for Fortran.
+* Comments: Fortran Comments.    Inserting and aligning comments.
+* Autofill: Fortran Autofill.    Auto fill support for Fortran.
+* Columns: Fortran Columns.      Measuring columns for valid Fortran.
+* Abbrev: Fortran Abbrev.        Built-in abbrevs for Fortran keywords.
 @end menu
 
 @node Fortran Motion
--- a/doc/emacs/frames.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/frames.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000,
-@c   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Frames, International, Windows, Top
 @chapter Frames and Graphical Displays
@@ -44,10 +45,10 @@
 * Multiple Displays::   How one Emacs job can talk to several displays.
 * Special Buffer Frames::  You can make certain buffers have their own frames.
 * Frame Parameters::    Changing the colors and other modes of frames.
-* Scroll Bars::	        How to enable and disable scroll bars; how to use them.
+* Scroll Bars::         How to enable and disable scroll bars; how to use them.
 * Wheeled Mice::        Using mouse wheels for scrolling.
 * Drag and Drop::       Using drag and drop to open files and insert text.
-* Menu Bars::	        Enabling and disabling the menu bar.
+* Menu Bars::           Enabling and disabling the menu bar.
 * Tool Bars::           Enabling and disabling the tool bar.
 * Dialog Boxes::        Controlling use of dialog boxes.
 * Tooltips::            Displaying information at the current mouse position.
--- a/doc/emacs/help.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/help.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Help, Mark, M-x, Top
 @chapter Help
@@ -69,14 +70,14 @@
 @end table
 
 @menu
-* Help Summary::	Brief list of all Help commands.
-* Key Help::		Asking what a key does in Emacs.
-* Name Help::		Asking about a command, variable or function name.
-* Apropos::		Asking what pertains to a given topic.
+* Help Summary::        Brief list of all Help commands.
+* Key Help::            Asking what a key does in Emacs.
+* Name Help::           Asking about a command, variable or function name.
+* Apropos::             Asking what pertains to a given topic.
 * Help Mode::           Special features of Help mode and Help buffers.
-* Library Keywords::	Finding Lisp libraries by keywords (topics).
+* Library Keywords::    Finding Lisp libraries by keywords (topics).
 * Language Help::       Help relating to international language support.
-* Misc Help::		Other help commands.
+* Misc Help::           Other help commands.
 * Help Files::          Commands to display pre-written help files.
 * Help Echo::           Help on active text and tooltips (`balloon help').
 @end menu
--- a/doc/emacs/killing.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/killing.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 
 @node Killing, Yanking, Mark, Top
@@ -260,9 +261,9 @@
 instead of text killed within Emacs.
 
 @menu
-* Kill Ring::		Where killed text is stored.  Basic yanking.
-* Appending Kills::	Several kills in a row all yank together.
-* Earlier Kills::	Yanking something killed some time ago.
+* Kill Ring::           Where killed text is stored.  Basic yanking.
+* Appending Kills::     Several kills in a row all yank together.
+* Earlier Kills::       Yanking something killed some time ago.
 @end menu
 
 @node Kill Ring
--- a/doc/emacs/maintaining.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/maintaining.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -11,9 +11,9 @@
 
 @menu
 * Version Control::     Using version control systems.
-* Change Log::	        Maintaining a change history for your program.
-* Tags::	        Go directly to any function in your program in one
-			  command.  Tags remembers which file it is in.
+* Change Log::          Maintaining a change history for your program.
+* Tags::                Go directly to any function in your program in one
+                          command.  Tags remembers which file it is in.
 * EDE::                 An integrated development environment for Emacs.
 @ifnottex
 * Emerge::              A convenient way of merging two versions of a program.
@@ -1570,13 +1570,13 @@
 @xref{Top,, Ebrowse, ebrowse, Ebrowse User's Manual}.
 
 @menu
-* Tag Syntax::		Tag syntax for various types of code and text files.
-* Create Tags Table::	Creating a tags table with @code{etags}.
+* Tag Syntax::          Tag syntax for various types of code and text files.
+* Create Tags Table::   Creating a tags table with @code{etags}.
 * Etags Regexps::       Create arbitrary tags using regular expressions.
-* Select Tags Table::	How to visit a tags table.
-* Find Tag::		Commands to find the definition of a specific tag.
-* Tags Search::		Using a tags table for searching and replacing.
-* List Tags::		Listing and finding tags defined in a file.
+* Select Tags Table::   How to visit a tags table.
+* Find Tag::            Commands to find the definition of a specific tag.
+* Tags Search::         Using a tags table for searching and replacing.
+* List Tags::           Listing and finding tags defined in a file.
 @end menu
 
 @node Tag Syntax
--- a/doc/emacs/mark.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/mark.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Mark, Killing, Help, Top
 @chapter The Mark and the Region
@@ -41,13 +42,13 @@
 non-@code{nil}, each window highlights its own region.
 
 @menu
-* Setting Mark::	Commands to set the mark.
-* Marking Objects::	Commands to put region around textual units.
-* Using Region::	Summary of ways to operate on contents of the region.
-* Mark Ring::   	Previous mark positions saved so you can go back there.
+* Setting Mark::        Commands to set the mark.
+* Marking Objects::     Commands to put region around textual units.
+* Using Region::        Summary of ways to operate on contents of the region.
+* Mark Ring::           Previous mark positions saved so you can go back there.
 * Global Mark Ring::    Previous mark positions in various buffers.
 * Shift Selection::     Using shifted cursor motion keys.
-* Persistent Mark::	Keeping the mark active all the time.
+* Persistent Mark::     Keeping the mark active all the time.
 @end menu
 
 @node Setting Mark
--- a/doc/emacs/mini.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/mini.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Minibuffer, M-x, Basic, Top
 @chapter The Minibuffer
@@ -43,9 +44,9 @@
 @menu
 * Minibuffer File::       Entering file names with the minibuffer.
 * Minibuffer Edit::       How to edit in the minibuffer.
-* Completion::		  An abbreviation facility for minibuffer input.
+* Completion::            An abbreviation facility for minibuffer input.
 * Minibuffer History::    Reusing recent minibuffer arguments.
-* Repetition::		  Re-executing commands that used the minibuffer.
+* Repetition::            Re-executing commands that used the minibuffer.
 * Passwords::             Entering passwords in the echo area.
 @end menu
 
--- a/doc/emacs/misc.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/misc.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -71,10 +71,10 @@
 (@code{quit-window}).
 
 @menu
-* Navigation::	Navigation inside DocView buffers.
-* Searching::	Searching inside documents.
-* Slicing::	Specifying which part of pages should be displayed.
-* Conversion::	Influencing and triggering conversion.
+* Navigation::  Navigation inside DocView buffers.
+* Searching::   Searching inside documents.
+* Slicing::     Specifying which part of pages should be displayed.
+* Conversion::  Influencing and triggering conversion.
 @end menu
 
 @node Navigation
@@ -211,9 +211,9 @@
 To start Gnus, type @kbd{M-x gnus @key{RET}}.
 
 @menu
-* Buffers of Gnus::	The group, summary, and article buffers.
-* Gnus Startup::	What you should know about starting Gnus.
-* Summary of Gnus::	A short description of the basic Gnus commands.
+* Buffers of Gnus::     The group, summary, and article buffers.
+* Gnus Startup::        What you should know about starting Gnus.
+* Summary of Gnus::     A short description of the basic Gnus commands.
 @end menu
 
 @node Buffers of Gnus
@@ -1757,7 +1757,7 @@
 not compatible with @code{lpr}.
 
 @menu
-* PostScript::	         Printing buffers or regions as PostScript.
+* PostScript::           Printing buffers or regions as PostScript.
 * PostScript Variables:: Customizing the PostScript printing commands.
 * Printing Package::     An optional advanced printing interface.
 @end menu
--- a/doc/emacs/msdog.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/msdog.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Microsoft Windows, Manifesto, Mac OS / GNUstep, Top
 @appendix Emacs and Microsoft Windows/MS-DOS
@@ -761,8 +762,8 @@
 (setq ps-printer-name t)
 (setq ps-lpr-command "D:/gs6.01/bin/gswin32c.exe")
 (setq ps-lpr-switches '("-q" "-dNOPAUSE" "-dBATCH"
-			"-sDEVICE=mswinpr2"
-			"-sPAPERSIZE=a4"))
+                        "-sDEVICE=mswinpr2"
+                        "-sPAPERSIZE=a4"))
 @end example
 
 @noindent
--- a/doc/emacs/mule.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/mule.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -228,7 +228,7 @@
         character: @`A (192, #o300, #xc0)
 preferred charset: unicode (Unicode (ISO10646))
        code point: 0xC0
-           syntax: w 	which means: word
+           syntax: w    which means: word
          category: j:Japanese l:Latin v:Vietnamese
       buffer code: #xC3 #x80
         file code: not encodable by coding system undecided-unix
--- a/doc/emacs/programs.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/programs.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -34,7 +34,7 @@
                           of a program.
 * Program Indent::      Adjusting indentation to show the nesting.
 * Parentheses::         Commands that operate on parentheses.
-* Comments::	        Inserting, killing, and aligning comments.
+* Comments::            Inserting, killing, and aligning comments.
 * Documentation::       Getting documentation of functions you plan to call.
 * Hideshow::            Displaying blocks selectively.
 * Symbol Completion::   Completion on symbol names of your program or language.
@@ -354,11 +354,11 @@
 single parenthetical grouping.
 
 @menu
-* Basic Indent::	Indenting a single line.
+* Basic Indent::        Indenting a single line.
 * Multi-line Indent::   Commands to reindent many lines at once.
-* Lisp Indent::		Specifying how each Lisp function should be indented.
-* C Indent::		Extra features for indenting C and related modes.
-* Custom C Indent::	Controlling indentation style for C and related modes.
+* Lisp Indent::         Specifying how each Lisp function should be indented.
+* C Indent::            Extra features for indenting C and related modes.
+* Custom C Indent::     Controlling indentation style for C and related modes.
 @end menu
 
 @cindex pretty-printer
@@ -652,7 +652,7 @@
 * Expressions::         Expressions with balanced parentheses.
 * Moving by Parens::    Commands for moving up, down and across
                           in the structure of parentheses.
-* Matching::	        Insertion of a close-delimiter flashes matching open.
+* Matching::            Insertion of a close-delimiter flashes matching open.
 @end menu
 
 @node Expressions
--- a/doc/emacs/rmail.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/rmail.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Rmail, Dired, Sending Mail, Top
 @chapter Reading Mail with Rmail
@@ -21,7 +22,7 @@
 * Deletion: Rmail Deletion.  Deleting and expunging messages.
 * Inbox: Rmail Inbox.        How mail gets into the Rmail file.
 * Files: Rmail Files.        Using multiple Rmail files.
-* Output: Rmail Output.	     Copying messages out to files.
+* Output: Rmail Output.      Copying messages out to files.
 * Labels: Rmail Labels.      Classifying messages by labeling them.
 * Attrs: Rmail Attributes.   Certain standard labels, called attributes.
 * Reply: Rmail Reply.        Sending replies to messages you are viewing.
@@ -31,7 +32,7 @@
 * Coding: Rmail Coding.      How Rmail handles decoding character sets.
 * Editing: Rmail Editing.    Editing message text and headers in Rmail.
 * Digest: Rmail Digest.      Extracting the messages from a digest message.
-* Rot13: Rmail Rot13.	     Reading messages encoded in the rot13 code.
+* Rot13: Rmail Rot13.        Reading messages encoded in the rot13 code.
 * Movemail::                 More details of fetching new mail.
 * Remote Mailboxes::         Retrieving mail from remote mailboxes.
 * Other Mailbox Formats::    Retrieving mail from local mailboxes in
@@ -834,8 +835,8 @@
 time.
 
 @menu
-* Rmail Make Summary::	     Making various sorts of summaries.
-* Rmail Summary Edit::	     Manipulating messages from the summary.
+* Rmail Make Summary::       Making various sorts of summaries.
+* Rmail Summary Edit::       Manipulating messages from the summary.
 @end menu
 
 @node Rmail Make Summary
--- a/doc/emacs/screen.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/screen.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Screen, User Input, Acknowledgments, Top
 @chapter The Organization of the Screen
@@ -53,10 +54,10 @@
 selecting a particular frame selects a window in that frame.
 
 @menu
-* Point::	        The place in the text where editing commands operate.
-* Echo Area::           Short messages appear at the bottom of the screen.
-* Mode Line::	        Interpreting the mode line.
-* Menu Bar::            How to use the menu bar.
+* Point::             The place in the text where editing commands operate.
+* Echo Area::         Short messages appear at the bottom of the screen.
+* Mode Line::         Interpreting the mode line.
+* Menu Bar::          How to use the menu bar.
 @end menu
 
 @node Point
--- a/doc/emacs/search.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/search.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Search, Fixit, Display, Top
 @chapter Searching and Replacement
@@ -19,16 +20,16 @@
 
 
 @menu
-* Incremental Search::		Search happens as you type the string.
-* Nonincremental Search::	Specify entire string and then search.
-* Word Search::			Search for sequence of words.
-* Regexp Search::		Search for match for a regexp.
-* Regexps::			Syntax of regular expressions.
-* Regexp Backslash::            Regular expression constructs starting with `\'.
-* Regexp Example::              A complex regular expression explained.
-* Search Case::			To ignore case while searching, or not.
-* Replace::			Search, and replace some or all matches.
-* Other Repeating Search::	Operating on all matches for some regexp.
+* Incremental Search::        Search happens as you type the string.
+* Nonincremental Search::     Specify entire string and then search.
+* Word Search::               Search for sequence of words.
+* Regexp Search::             Search for match for a regexp.
+* Regexps::                   Syntax of regular expressions.
+* Regexp Backslash::          Regular expression constructs starting with `\'.
+* Regexp Example::            A complex regular expression explained.
+* Search Case::               To ignore case while searching, or not.
+* Replace::                   Search, and replace some or all matches.
+* Other Repeating Search::    Operating on all matches for some regexp.
 @end menu
 
 @node Incremental Search
@@ -983,10 +984,10 @@
 command @code{expand-region-abbrevs} (@pxref{Expanding Abbrevs}).
 
 @menu
-* Unconditional Replace::	Replacing all matches for a string.
-* Regexp Replace::		Replacing all matches for a regexp.
-* Replacement and Case::	How replacements preserve case of letters.
-* Query Replace::		How to use querying.
+* Unconditional Replace::   Replacing all matches for a string.
+* Regexp Replace::          Replacing all matches for a regexp.
+* Replacement and Case::    How replacements preserve case of letters.
+* Query Replace::           How to use querying.
 @end menu
 
 @node Unconditional Replace, Regexp Replace, Replace, Replace
--- a/doc/emacs/sending.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/sending.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Sending Mail
 @chapter Sending Mail
@@ -63,7 +64,7 @@
 cannot receive mail via SMTP (@pxref{Mail Headers}).
 
 @menu
-* Format: Mail Format.	      Format of a mail message.
+* Format: Mail Format.        Format of a mail message.
 * Headers: Mail Headers.      Details of some standard mail header fields.
 * Aliases: Mail Aliases.      Abbreviating and grouping mail addresses.
 * Commands: Mail Commands.    Special commands for editing mail being composed.
--- a/doc/emacs/text.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/text.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Text, Programs, Indentation, Top
 @chapter Commands for Human Languages
@@ -57,17 +58,17 @@
 @inforef{Top,, autotype}.
 
 @menu
-* Words::	        Moving over and killing words.
-* Sentences::	        Moving over and killing sentences.
-* Paragraphs::	        Moving over paragraphs.
-* Pages::	        Moving over pages.
-* Filling::	        Filling or justifying text.
-* Case::	        Changing the case of text.
-* Text Mode::	        The major modes for editing text files.
+* Words::               Moving over and killing words.
+* Sentences::           Moving over and killing sentences.
+* Paragraphs::          Moving over paragraphs.
+* Pages::               Moving over pages.
+* Filling::             Filling or justifying text.
+* Case::                Changing the case of text.
+* Text Mode::           The major modes for editing text files.
 * Outline Mode::        Editing outlines.
-* TeX Mode::	        Editing input to the formatter TeX.
+* TeX Mode::            Editing input to the formatter TeX.
 * HTML Mode::           Editing HTML and SGML files.
-* Nroff Mode::	        Editing input to the formatter nroff.
+* Nroff Mode::          Editing input to the formatter nroff.
 * Formatted Text::      Editing formatted text directly in WYSIWYG fashion.
 * Text Based Tables::   Editing text-based tables in WYSIWYG fashion.
 @end menu
@@ -402,13 +403,12 @@
 Text}).
 
 @menu
-* Auto Fill::	        Auto Fill mode breaks long lines automatically.
-* Fill Commands::       Commands to refill paragraphs and center lines.
-* Fill Prefix::	        Filling paragraphs that are indented
-                          or in a comment, etc.
-* Adaptive Fill::       How Emacs can determine the fill prefix automatically.
-* Refill::              Keeping paragraphs filled.
-* Longlines::           Editing text with very long lines.
+* Auto Fill::      Auto Fill mode breaks long lines automatically.
+* Fill Commands::  Commands to refill paragraphs and center lines.
+* Fill Prefix::    Filling paragraphs that are indented or in a comment, etc.
+* Adaptive Fill::  How Emacs can determine the fill prefix automatically.
+* Refill::         Keeping paragraphs filled.
+* Longlines::      Editing text with very long lines.
 @end menu
 
 @node Auto Fill
@@ -978,8 +978,8 @@
 the hook @code{outline-mode-hook} (@pxref{Hooks}).
 
 @menu
-* Format: Outline Format.	   What the text of an outline looks like.
-* Motion: Outline Motion.	   Special commands for moving through
+* Format: Outline Format.          What the text of an outline looks like.
+* Motion: Outline Motion.          Special commands for moving through
                                      outlines.
 * Visibility: Outline Visibility.  Commands to control what is visible.
 * Views: Outline Views.            Outlines and multiple views.
--- a/doc/emacs/trouble.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/trouble.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -426,10 +426,10 @@
 work-around, or give you additional information about related issues.
 
 @menu
-* Criteria:  Bug Criteria.	 Have you really found a bug?
-* Understanding Bug Reporting::	 How to report a bug effectively.
-* Checklist::			 Steps to follow for a good bug report.
-* Sending Patches::		 How to send a patch for GNU Emacs.
+* Criteria:  Bug Criteria.       Have you really found a bug?
+* Understanding Bug Reporting::  How to report a bug effectively.
+* Checklist::                    Steps to follow for a good bug report.
+* Sending Patches::              How to send a patch for GNU Emacs.
 @end menu
 
 @node Bug Criteria
--- a/doc/emacs/vc1-xtra.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/vc1-xtra.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -220,8 +220,8 @@
 stable version of the system that is ready for distribution to users.
 
 @menu
-* Making Revision Tags::		The tag facilities.
-* Revision Tag Caveats::		Things to be careful of when using tags.
+* Making Revision Tags::  The tag facilities.
+* Revision Tag Caveats::  Things to be careful of when using tags.
 @end menu
 
 @node Making Revision Tags
--- a/doc/emacs/xresources.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/emacs/xresources.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -435,13 +435,14 @@
 To specify a font, use fontconfig font names as values to the @code{faceName}
 resource.
 
-If Emacs is not built with the Xft library, Lucid menus and dialogs can only 
-display old style fonts.  If Emacs is built with Xft and you prefer the old 
-fonts, you have to specify @samp{none} to @code{faceName}:
+If Emacs is not built with the Xft library, Lucid menus and dialogs
+can only display old style fonts.  If Emacs is built with Xft and you
+prefer the old fonts, you have to specify @samp{none} to
+@code{faceName}:
 
 @example
-Emacs.pane.menubar.faceName:	none
-Emacs.pane.dialog.faceName:	none
+Emacs.pane.menubar.faceName:    none
+Emacs.pane.dialog.faceName:     none
 @end example
 
 @noindent
@@ -472,7 +473,7 @@
 the font @samp{8x16} for the pop-up menu items, write this:
 
 @example
-Emacs.menu*.font:	8x16
+Emacs.menu*.font:       8x16
 @end example
 
 @noindent
--- a/doc/lispintro/ChangeLog	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispintro/ChangeLog	Sat Jul 10 14:52:53 2010 -0400
@@ -1,3 +1,7 @@
+2010-06-23  Glenn Morris  <rgm@gnu.org>
+
+	* emacs-lisp-intro.texi: Untabify.
+
 2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
 
 	* Version 23.2 released.
--- a/doc/lispintro/emacs-lisp-intro.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispintro/emacs-lisp-intro.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -17789,7 +17789,7 @@
 This is an interface to the function `load'."
   (interactive
    (list (completing-read "Load library: "
-			  (apply-partially 'locate-file-completion-table
+                          (apply-partially 'locate-file-completion-table
                                            load-path
                                            (get-load-suffixes)))))
   (load library))
--- a/doc/lispref/ChangeLog	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/ChangeLog	Sat Jul 10 14:52:53 2010 -0400
@@ -3,6 +3,31 @@
 	* internals.texi (Writing Emacs Primitives): Adapt to ANSI C
 	calling sequences, which are now the standard.
 
+2010-06-24  Chong Yidong  <cyd@stupidchicken.com>
+
+	* text.texi (Undo): Clarify command loop behavior (Bug#2433).
+
+	* commands.texi (Command Overview): Mention undo-boundary call.
+
+2010-06-23  Glenn Morris  <rgm@gnu.org>
+
+	* abbrevs.texi, commands.texi, compile.texi, debugging.texi:
+	* display.texi, edebug.texi, elisp.texi, eval.texi, files.texi:
+	* frames.texi, functions.texi, internals.texi, keymaps.texi:
+	* loading.texi, minibuf.texi, numbers.texi, os.texi, processes.texi:
+	* searching.texi, sequences.texi, strings.texi, syntax.texi:
+	* text.texi, tips.texi, vol1.texi, vol2.texi, windows.texi:
+	Untabify Texinfo files.
+
+2010-06-20  Chong Yidong  <cyd@stupidchicken.com>
+
+	* modes.texi (Minor Mode Conventions): Fix typo (Bug#6477).
+
+2010-06-19  Chong Yidong  <cyd@stupidchicken.com>
+
+	* errors.texi (Standard Errors): Remove unnecessary markup
+	(Bug#6461).
+
 2010-06-02  Chong Yidong  <cyd@stupidchicken.com>
 
 	* searching.texi (Regexp Special): Remove obsolete information
--- a/doc/lispref/abbrevs.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/abbrevs.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -376,10 +376,10 @@
       (funcall expand))))
 
 (add-hook 'foo-mode-hook
-	  #'(lambda ()
-	      (add-hook 'abbrev-expand-functions
-			'foo-mode-abbrev-expand-function
-			nil t)))
+          #'(lambda ()
+              (add-hook 'abbrev-expand-functions
+                        'foo-mode-abbrev-expand-function
+                        nil t)))
 @end smallexample
 
 @node Standard Abbrev Tables, Abbrev Properties, Abbrev Expansion, Abbrevs
--- a/doc/lispref/commands.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/commands.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/commands
 @node Command Loop, Keymaps, Minibuffers, Top
@@ -21,7 +22,7 @@
 * Distinguish Interactive::     Making a command distinguish interactive calls.
 * Command Loop Info::   Variables set by the command loop for you to examine.
 * Adjusting Point::     Adjustment of point after a command.
-* Input Events::	What input looks like when you read it.
+* Input Events::        What input looks like when you read it.
 * Reading Input::       How to read input events from the keyboard or mouse.
 * Special Events::      Events processed immediately and individually.
 * Waiting::             Waiting for user input or elapsed time.
@@ -52,16 +53,19 @@
 command, which it then calls.  This is done by the command
 @code{execute-extended-command} (@pxref{Interactive Call}).
 
-  To execute a command requires first reading the arguments for it.
-This is done by calling @code{command-execute} (@pxref{Interactive
-Call}).  For commands written in Lisp, the @code{interactive}
-specification says how to read the arguments.  This may use the prefix
-argument (@pxref{Prefix Command Arguments}) or may read with prompting
-in the minibuffer (@pxref{Minibuffers}).  For example, the command
-@code{find-file} has an @code{interactive} specification which says to
-read a file name using the minibuffer.  The command's function body does
-not use the minibuffer; if you call this command from Lisp code as a
-function, you must supply the file name string as an ordinary Lisp
+  Prior to executing the command, Emacs runs @code{undo-boundary} to
+create an undo boundary.  @xref{Maintaining Undo}.
+
+  To execute a command, Emacs first reads its arguments by calling
+@code{command-execute} (@pxref{Interactive Call}).  For commands
+written in Lisp, the @code{interactive} specification says how to read
+the arguments.  This may use the prefix argument (@pxref{Prefix
+Command Arguments}) or may read with prompting in the minibuffer
+(@pxref{Minibuffers}).  For example, the command @code{find-file} has
+an @code{interactive} specification which says to read a file name
+using the minibuffer.  The function body of @code{find-file} does not
+use the minibuffer, so if you call @code{find-file} as a function from
+Lisp code, you must supply the file name string as an ordinary Lisp
 function argument.
 
   If the command is a string or vector (i.e., a keyboard macro) then
@@ -968,23 +972,23 @@
 @end defun
 
 @menu
-* Keyboard Events::		Ordinary characters--keys with symbols on them.
-* Function Keys::		Function keys--keys with names, not symbols.
+* Keyboard Events::             Ordinary characters--keys with symbols on them.
+* Function Keys::               Function keys--keys with names, not symbols.
 * Mouse Events::                Overview of mouse events.
-* Click Events::		Pushing and releasing a mouse button.
-* Drag Events::			Moving the mouse before releasing the button.
-* Button-Down Events::		A button was pushed and not yet released.
+* Click Events::                Pushing and releasing a mouse button.
+* Drag Events::                 Moving the mouse before releasing the button.
+* Button-Down Events::          A button was pushed and not yet released.
 * Repeat Events::               Double and triple click (or drag, or down).
-* Motion Events::		Just moving the mouse, not pushing a button.
-* Focus Events::		Moving the mouse between frames.
+* Motion Events::               Just moving the mouse, not pushing a button.
+* Focus Events::                Moving the mouse between frames.
 * Misc Events::                 Other events the system can generate.
-* Event Examples::		Examples of the lists for mouse events.
-* Classifying Events::		Finding the modifier keys in an event symbol.
-				Event types.
-* Accessing Mouse::		Functions to extract info from mouse events.
-* Accessing Scroll::		Functions to get info from scroll bar events.
+* Event Examples::              Examples of the lists for mouse events.
+* Classifying Events::          Finding the modifier keys in an event symbol.
+                                Event types.
+* Accessing Mouse::             Functions to extract info from mouse events.
+* Accessing Scroll::            Functions to get info from scroll bar events.
 * Strings of Events::           Special considerations for putting
-				  keyboard character events in a string.
+                                  keyboard character events in a string.
 @end menu
 
 @node Keyboard Events
@@ -2158,12 +2162,12 @@
   For higher-level input facilities, see @ref{Minibuffers}.
 
 @menu
-* Key Sequence Input::		How to read one key sequence.
-* Reading One Event::		How to read just one event.
+* Key Sequence Input::          How to read one key sequence.
+* Reading One Event::           How to read just one event.
 * Event Mod::                   How Emacs modifies events as they are read.
 * Invoking the Input Method::   How reading an event uses the input method.
-* Quoted Character Input::	Asking the user to specify a character.
-* Event Input Misc::    	How to reread or throw away input events.
+* Quoted Character Input::      Asking the user to specify a character.
+* Event Input Misc::            How to reread or throw away input events.
 @end menu
 
 @node Key Sequence Input
@@ -2889,9 +2893,9 @@
     (while (not done)
       (let ((inhibit-quit first)
             @dots{})
-	(and prompt (message "%s-" prompt))
-	(setq char (read-event))
-	(if inhibit-quit (setq quit-flag nil)))
+        (and prompt (message "%s-" prompt))
+        (setq char (read-event))
+        (if inhibit-quit (setq quit-flag nil)))
       @r{@dots{}set the variable @code{code}@dots{}})
     code))
 @end example
--- a/doc/lispref/compile.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/compile.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -47,9 +47,9 @@
 * Compilation Functions::       Byte compilation functions.
 * Docs and Compilation::        Dynamic loading of documentation strings.
 * Dynamic Loading::             Dynamic loading of individual functions.
-* Eval During Compile::  	Code to be evaluated when you compile.
+* Eval During Compile::         Code to be evaluated when you compile.
 * Compiler Errors::             Handling compiler error messages.
-* Byte-Code Objects::		The data type used for byte-compiled functions.
+* Byte-Code Objects::           The data type used for byte-compiled functions.
 * Disassembly::                 Disassembling byte-code; how to read byte-code.
 @end menu
 
--- a/doc/lispref/debugging.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/debugging.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -28,7 +28,7 @@
 
 @menu
 * Debugger::            How the Emacs Lisp debugger is implemented.
-* Edebug::		A source-level Emacs Lisp debugger.
+* Edebug::              A source-level Emacs Lisp debugger.
 * Syntax Errors::       How to find syntax errors.
 * Test Coverage::       Ensuring you have tested all branches in your code.
 * Compilation Errors::  How to find errors that show up in byte compilation.
@@ -58,7 +58,7 @@
 
 @menu
 * Error Debugging::       Entering the debugger when an error happens.
-* Infinite Loops::	  Stopping and debugging a program that doesn't exit.
+* Infinite Loops::        Stopping and debugging a program that doesn't exit.
 * Function Debugging::    Entering it when a certain function is called.
 * Explicit Debug::        Entering it at a certain point in the program.
 * Using Debugger::        What the debugger does; what you see while in it.
--- a/doc/lispref/display.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/display.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1181,7 +1181,7 @@
 @menu
 * Managing Overlays::   Creating and moving overlays.
 * Overlay Properties::  How to read and set properties.
-			What properties do to the screen display.
+                          What properties do to the screen display.
 * Finding Overlays::    Searching for overlays.
 @end menu
 
--- a/doc/lispref/edebug.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/edebug.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -59,24 +59,24 @@
 start using it.
 
 @menu
-* Using Edebug::		Introduction to use of Edebug.
-* Instrumenting::		You must instrument your code
-				  in order to debug it with Edebug.
+* Using Edebug::                Introduction to use of Edebug.
+* Instrumenting::               You must instrument your code
+                                  in order to debug it with Edebug.
 * Modes: Edebug Execution Modes. Execution modes, stopping more or less often.
-* Jumping::			Commands to jump to a specified place.
-* Misc: Edebug Misc.		Miscellaneous commands.
+* Jumping::                     Commands to jump to a specified place.
+* Misc: Edebug Misc.            Miscellaneous commands.
 * Breaks::                      Setting breakpoints to make the program stop.
-* Trapping Errors::		Trapping errors with Edebug.
-* Views: Edebug Views.		Views inside and outside of Edebug.
-* Eval: Edebug Eval.		Evaluating expressions within Edebug.
-* Eval List::			Expressions whose values are displayed
-				  each time you enter Edebug.
-* Printing in Edebug::		Customization of printing.
-* Trace Buffer::		How to produce trace output in a buffer.
-* Coverage Testing::		How to test evaluation coverage.
-* The Outside Context::		Data that Edebug saves and restores.
-* Edebug and Macros::	        Specifying how to handle macro calls.
-* Options: Edebug Options.	Option variables for customizing Edebug.
+* Trapping Errors::             Trapping errors with Edebug.
+* Views: Edebug Views.          Views inside and outside of Edebug.
+* Eval: Edebug Eval.            Evaluating expressions within Edebug.
+* Eval List::                   Expressions whose values are displayed
+                                  each time you enter Edebug.
+* Printing in Edebug::          Customization of printing.
+* Trace Buffer::                How to produce trace output in a buffer.
+* Coverage Testing::            How to test evaluation coverage.
+* The Outside Context::         Data that Edebug saves and restores.
+* Edebug and Macros::           Specifying how to handle macro calls.
+* Options: Edebug Options.      Option variables for customizing Edebug.
 @end menu
 
 @node Using Edebug
@@ -429,8 +429,8 @@
 
 @menu
 * Breakpoints::                 Breakpoints at stop points.
-* Global Break Condition::	Breaking on an event.
-* Source Breakpoints::  	Embedding breakpoints in source code.
+* Global Break Condition::      Breaking on an event.
+* Source Breakpoints::          Embedding breakpoints in source code.
 @end menu
 
 @node Breakpoints
@@ -940,9 +940,9 @@
 be completely transparent.
 
 @menu
-* Checking Whether to Stop::	When Edebug decides what to do.
-* Edebug Display Update::	When Edebug updates the display.
-* Edebug Recursive Edit::	When Edebug stops execution.
+* Checking Whether to Stop::    When Edebug decides what to do.
+* Edebug Display Update::       When Edebug updates the display.
+* Edebug Recursive Edit::       When Edebug stops execution.
 @end menu
 
 @node Checking Whether to Stop
@@ -1074,9 +1074,9 @@
 
 @menu
 * Instrumenting Macro Calls::   The basic problem.
-* Specification List::		How to specify complex patterns of evaluation.
-* Backtracking::		What Edebug does when matching fails.
-* Specification Examples::	To help understand specifications.
+* Specification List::          How to specify complex patterns of evaluation.
+* Backtracking::                What Edebug does when matching fails.
+* Specification Examples::      To help understand specifications.
 @end menu
 
 @node Instrumenting Macro Calls
--- a/doc/lispref/elisp.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/elisp.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -143,7 +143,7 @@
                               files are made.
 * Buffers::                 Creating and using buffer objects.
 * Windows::                 Manipulating windows and displaying buffers.
-* Frames::		    Making multiple system-level windows.
+* Frames::                  Making multiple system-level windows.
 * Positions::               Buffer positions and motion functions.
 * Markers::                 Markers represent positions and update
                               automatically when the text is changed.
@@ -155,7 +155,7 @@
 * Abbrevs::                 How Abbrev mode works, and its data structures.
 
 * Processes::               Running and communicating with subprocesses.
-* Display::	            Features for controlling the screen display.
+* Display::                 Features for controlling the screen display.
 * System Interface::        Getting the user id, system type, environment
                               variables, and other such things.
 
@@ -291,10 +291,10 @@
 Numbers
 
 * Integer Basics::          Representation and range of integers.
-* Float Basics::	    Representation and range of floating point.
+* Float Basics::            Representation and range of floating point.
 * Predicates on Numbers::   Testing for numbers.
 * Comparison of Numbers::   Equality and inequality predicates.
-* Numeric Conversions::	    Converting float to integer and vice versa.
+* Numeric Conversions::     Converting float to integer and vice versa.
 * Arithmetic Operations::   How to add, subtract, multiply and divide.
 * Rounding Operations::     Explicitly rounding floating point numbers.
 * Bitwise Operations::      Logical and, or, not, shifting.
@@ -311,7 +311,7 @@
 * String Conversion::       Converting to and from characters and strings.
 * Formatting Strings::      @code{format}: Emacs's analogue of @code{printf}.
 * Case Conversion::         Case conversion functions.
-* Case Tables::		    Customizing case conversion.
+* Case Tables::             Customizing case conversion.
 
 Lists
 
@@ -379,7 +379,7 @@
 * Symbol Forms::            Symbols evaluate as variables.
 * Classifying Lists::       How to distinguish various sorts of list forms.
 * Function Indirection::    When a symbol appears as the car of a list,
-			      we find the real function via the symbol.
+                              we find the real function via the symbol.
 * Function Forms::          Forms that call functions.
 * Macro Forms::             Forms that call macros.
 * Special Forms::           "Special forms" are idiosyncratic primitives,
@@ -460,9 +460,9 @@
 * Function Cells::          Accessing or setting the function definition
                               of a symbol.
 * Obsolete Functions::      Declaring functions obsolete.
-* Inline Functions::	    Defining functions that the compiler
+* Inline Functions::        Defining functions that the compiler
                               will open code.
-* Declaring Functions::	    Telling the compiler that a function is defined.
+* Declaring Functions::     Telling the compiler that a function is defined.
 * Function Safety::         Determining whether a function is safe to call.
 * Related Topics::          Cross-references to specific Lisp primitives
                               that have a special bearing on how
@@ -522,9 +522,9 @@
 * Repeated Loading::        Precautions about loading a file twice.
 * Named Features::          Loading a library if it isn't already loaded.
 * Where Defined::           Finding which file defined a certain symbol.
-* Unloading::		    How to "unload" a library that was loaded.
-* Hooks for Loading::	    Providing code to be run when
-			      particular libraries are loaded.
+* Unloading::               How to "unload" a library that was loaded.
+* Hooks for Loading::       Providing code to be run when
+                              particular libraries are loaded.
 
 Byte Compilation
 
@@ -534,7 +534,7 @@
 * Dynamic Loading::         Dynamic loading of individual functions.
 * Eval During Compile::     Code to be evaluated when you compile.
 * Compiler Errors::         Handling compiler error messages.
-* Byte-Code Objects::	    The data type used for byte-compiled functions.
+* Byte-Code Objects::       The data type used for byte-compiled functions.
 * Disassembly::             Disassembling byte-code; how to read byte-code.
 
 Advising Emacs Lisp Functions
@@ -563,7 +563,7 @@
 The Lisp Debugger
 
 * Error Debugging::         Entering the debugger when an error happens.
-* Infinite Loops::	    Stopping and debugging a program that doesn't exit.
+* Infinite Loops::          Stopping and debugging a program that doesn't exit.
 * Function Debugging::      Entering it when a certain function is called.
 * Explicit Debug::          Entering it at a certain point in the program.
 * Using Debugger::          What the debugger does; what you see while in it.
@@ -573,24 +573,24 @@
 
 Edebug
 
-* Using Edebug::	    Introduction to use of Edebug.
-* Instrumenting::	    You must instrument your code
-			      in order to debug it with Edebug.
+* Using Edebug::            Introduction to use of Edebug.
+* Instrumenting::           You must instrument your code
+                              in order to debug it with Edebug.
 * Edebug Execution Modes::  Execution modes, stopping more or less often.
-* Jumping::		    Commands to jump to a specified place.
-* Edebug Misc::		    Miscellaneous commands.
-* Breaks::		    Setting breakpoints to make the program stop.
-* Trapping Errors::	    Trapping errors with Edebug.
-* Edebug Views::	    Views inside and outside of Edebug.
-* Edebug Eval::		    Evaluating expressions within Edebug.
-* Eval List::		    Expressions whose values are displayed
-			      each time you enter Edebug.
-* Printing in Edebug::	    Customization of printing.
-* Trace Buffer::	    How to produce trace output in a buffer.
-* Coverage Testing::	    How to test evaluation coverage.
-* The Outside Context::	    Data that Edebug saves and restores.
+* Jumping::                 Commands to jump to a specified place.
+* Edebug Misc::             Miscellaneous commands.
+* Breaks::                  Setting breakpoints to make the program stop.
+* Trapping Errors::         Trapping errors with Edebug.
+* Edebug Views::            Views inside and outside of Edebug.
+* Edebug Eval::             Evaluating expressions within Edebug.
+* Eval List::               Expressions whose values are displayed
+                              each time you enter Edebug.
+* Printing in Edebug::      Customization of printing.
+* Trace Buffer::            How to produce trace output in a buffer.
+* Coverage Testing::        How to test evaluation coverage.
+* The Outside Context::     Data that Edebug saves and restores.
 * Edebug and Macros::       Specifying how to handle macro calls.
-* Edebug Options::	    Option variables for customizing Edebug.
+* Edebug Options::          Option variables for customizing Edebug.
 
 Breaks
 
@@ -607,8 +607,8 @@
 Edebug and Macros
 
 * Instrumenting Macro Calls::The basic problem.
-* Specification List::	    How to specify complex patterns of evaluation.
-* Backtracking::	    What Edebug does when matching fails.
+* Specification List::      How to specify complex patterns of evaluation.
+* Backtracking::            What Edebug does when matching fails.
 * Specification Examples::  To help understand specifications.
 
 Debugging Invalid Lisp Syntax
@@ -633,13 +633,13 @@
 * Intro to Minibuffers::    Basic information about minibuffers.
 * Text from Minibuffer::    How to read a straight text string.
 * Object from Minibuffer::  How to read a Lisp object or expression.
-* Minibuffer History::	    Recording previous minibuffer inputs
-			      so the user can reuse them.
+* Minibuffer History::      Recording previous minibuffer inputs
+                              so the user can reuse them.
 * Initial Input::           Specifying initial contents for the minibuffer.
 * Completion::              How to invoke and customize completion.
 * Yes-or-No Queries::       Asking a question with a simple answer.
-* Multiple Queries::	    Asking a series of similar questions.
-* Reading a Password::	    Reading a password from the terminal.
+* Multiple Queries::        Asking a series of similar questions.
+* Reading a Password::      Reading a password from the terminal.
 * Minibuffer Commands::     Commands used as key bindings in minibuffers.
 * Minibuffer Contents::     How such commands access the minibuffer text.
 * Minibuffer Windows::      Operating on the special minibuffer windows.
@@ -666,7 +666,7 @@
 * Distinguish Interactive::     Making a command distinguish interactive calls.
 * Command Loop Info::   Variables set by the command loop for you to examine.
 * Adjusting Point::     Adjustment of point after a command.
-* Input Events::	What input looks like when you read it.
+* Input Events::        What input looks like when you read it.
 * Reading Input::       How to read input events from the keyboard or mouse.
 * Special Events::      Events processed immediately and individually.
 * Waiting::             Waiting for user input or elapsed time.
@@ -700,7 +700,7 @@
 * Event Examples::          Examples of the lists for mouse events.
 * Classifying Events::      Finding the modifier keys in an event symbol.
                               Event types.
-* Accessing Mouse::	    Functions to extract info from mouse events.
+* Accessing Mouse::         Functions to extract info from mouse events.
 * Accessing Scroll::        Functions to get info from scroll bar events.
 * Strings of Events::       Special considerations for putting
                               keyboard character events in a string.
@@ -850,9 +850,9 @@
 * Changing Files::          Renaming files, changing protection, etc.
 * File Names::              Decomposing and expanding file names.
 * Contents of Directories:: Getting a list of the files in a directory.
-* Create/Delete Dirs::	    Creating and Deleting Directories.
-* Magic File Names::	    Defining "magic" special handling
-			      for certain file names.
+* Create/Delete Dirs::      Creating and Deleting Directories.
+* Magic File Names::        Defining "magic" special handling
+                              for certain file names.
 * Format Conversion::       Conversion to and from various file formats.
 
 Visiting Files
@@ -864,7 +864,7 @@
 
 * Testing Accessibility::   Is a given file readable?  Writable?
 * Kinds of Files::          Is it a directory?  A symbolic link?
-* Truenames::		    Eliminating symbolic links from a file name.
+* Truenames::               Eliminating symbolic links from a file name.
 * File Attributes::         How large is it?  Any other names?  Etc.
 * Locating Files::          How to find a file in standard places.
 
@@ -934,8 +934,8 @@
 * Buffers and Windows::     Each window displays the contents of a buffer.
 * Displaying Buffers::      Higher-level functions for displaying a buffer
                               and choosing a window for it.
-* Choosing Window::	    How to choose a window for displaying a buffer.
-* Dedicated Windows::	    How to avoid displaying another buffer in
+* Choosing Window::         How to choose a window for displaying a buffer.
+* Dedicated Windows::       How to avoid displaying another buffer in
                               a specific window.          
 * Window Point::            Each window has its own location of point.
 * Window Start and End::    Buffer positions indicating which text is
@@ -955,37 +955,37 @@
 
 Frames
 
-* Creating Frames::	    Creating additional frames.
+* Creating Frames::         Creating additional frames.
 * Multiple Terminals::      Displaying on several different devices.
-* Frame Parameters::	    Controlling frame size, position, font, etc.
+* Frame Parameters::        Controlling frame size, position, font, etc.
 * Terminal Parameters::     Parameters common for all frames on terminal.
 * Frame Titles::            Automatic updating of frame titles.
-* Deleting Frames::	    Frames last until explicitly deleted.
-* Finding All Frames::	    How to examine all existing frames.
-* Frames and Windows::	    A frame contains windows;
-			      display of text always works through windows.
+* Deleting Frames::         Frames last until explicitly deleted.
+* Finding All Frames::      How to examine all existing frames.
+* Frames and Windows::      A frame contains windows;
+                              display of text always works through windows.
 * Minibuffers and Frames::  How a frame finds the minibuffer to use.
-* Input Focus::		    Specifying the selected frame.
+* Input Focus::             Specifying the selected frame.
 * Visibility of Frames::    Frames may be visible or invisible, or icons.
 * Raising and Lowering::    Raising a frame makes it hide other windows;
-			      lowering it makes the others hide it.
+                              lowering it makes the others hide it.
 * Frame Configurations::    Saving the state of all frames.
-* Mouse Tracking::	    Getting events that say when the mouse moves.
-* Mouse Position::	    Asking where the mouse is, or moving it.
-* Pop-Up Menus::	    Displaying a menu for the user to select from.
+* Mouse Tracking::          Getting events that say when the mouse moves.
+* Mouse Position::          Asking where the mouse is, or moving it.
+* Pop-Up Menus::            Displaying a menu for the user to select from.
 * Dialog Boxes::            Displaying a box to ask yes or no.
 * Pointer Shape::           Specifying the shape of the mouse pointer.
 * Window System Selections::Transferring text to and from other X clients.
 * Drag and Drop::               Internals of Drag-and-Drop implementation.
-* Color Names::	            Getting the definitions of color names.
+* Color Names::             Getting the definitions of color names.
 * Text Terminal Colors::    Defining colors for text-only terminals.
-* Resources::		    Getting resource values from the server.
+* Resources::               Getting resource values from the server.
 * Display Feature Testing:: Determining the features of a terminal.
 
 Frame Parameters
 
 * Parameter Access::        How to change a frame's parameters.
-* Initial Parameters::	    Specifying frame parameters when you make a frame.
+* Initial Parameters::      Specifying frame parameters when you make a frame.
 * Window Frame Parameters:: List of frame parameters for window systems.
 * Size and Position::       Changing the size and position of a frame.
 * Geometry::                Parsing geometry specifications.
@@ -1044,7 +1044,7 @@
                               later use.
 * Undo::                    Undoing changes to the text of a buffer.
 * Maintaining Undo::        How to enable and disable undo information.
-			      How to control how much information is kept.
+                              How to control how much information is kept.
 * Filling::                 Functions for explicit filling.
 * Margins::                 How to specify margins for filling commands.
 * Adaptive Fill::           Adaptive Fill mode chooses a fill prefix
@@ -1070,7 +1070,7 @@
 * Kill Functions::          Functions that kill text.
 * Yanking::                 How yanking is done.
 * Yank Commands::           Commands that access the kill ring.
-* Low-Level Kill Ring::	    Functions and variables for kill ring access.
+* Low-Level Kill Ring::     Functions and variables for kill ring access.
 * Internals of Kill Ring::  Variables that hold kill ring data.
 
 Indentation
@@ -1085,9 +1085,9 @@
 Text Properties
 
 * Examining Properties::    Looking at the properties of one character.
-* Changing Properties::	    Setting the properties of a range of text.
-* Property Search::	    Searching for where a property changes value.
-* Special Properties::	    Particular properties with special meanings.
+* Changing Properties::     Setting the properties of a range of text.
+* Property Search::         Searching for where a property changes value.
+* Special Properties::      Particular properties with special meanings.
 * Format Properties::       Properties for representing formatting of text.
 * Sticky Properties::       How inserted text gets properties from
                               neighboring text.
@@ -1097,8 +1097,8 @@
                               do something when you click on them.
 * Fields::                  The @code{field} property defines
                               fields within the buffer.
-* Not Intervals::	    Why text properties do not use
-			      Lisp-visible text intervals.
+* Not Intervals::           Why text properties do not use
+                              Lisp-visible text intervals.
 
 Non-@acronym{ASCII} Characters
 
@@ -1141,7 +1141,7 @@
 * POSIX Regexps::           Searching POSIX-style for the longest match.
 * Match Data::              Finding out which part of the text matched,
                               after a string or regexp search.
-* Search and Replace::	    Commands that loop, searching and replacing.
+* Search and Replace::      Commands that loop, searching and replacing.
 * Standard Regexps::        Useful regexps for finding sentences, pages,...
 
 Regular Expressions
@@ -1158,9 +1158,9 @@
 
 The Match Data
 
-* Replacing Match::	    Replacing a substring that was matched.
+* Replacing Match::         Replacing a substring that was matched.
 * Simple Match Data::       Accessing single items of match data,
-			      such as where a particular subexpression started.
+                              such as where a particular subexpression started.
 * Entire Match Data::       Accessing the entire match data at once, as a list.
 * Saving Match Data::       Saving and restoring the match data.
 
@@ -1170,7 +1170,7 @@
 * Syntax Descriptors::      How characters are classified.
 * Syntax Table Functions::  How to create, examine and alter syntax tables.
 * Syntax Properties::       Overriding syntax with text properties.
-* Motion and Syntax::	    Moving over characters with certain syntaxes.
+* Motion and Syntax::       Moving over characters with certain syntaxes.
 * Parsing Expressions::     Parsing balanced expressions
                               using the syntax table.
 * Standard Syntax Tables::  Syntax tables used by various major modes.
@@ -1259,10 +1259,10 @@
 * Invisible Text::          Hiding part of the buffer text.
 * Selective Display::       Hiding part of the buffer text (the old way).
 * Temporary Displays::      Displays that go away automatically.
-* Overlays::		    Use overlays to highlight parts of the buffer.
+* Overlays::                Use overlays to highlight parts of the buffer.
 * Width::                   How wide a character or string is on the screen.
 * Line Height::             Controlling the height of lines.
-* Faces::		    A face defines a graphics style
+* Faces::                   A face defines a graphics style
                               for text characters: font, colors, etc.
 * Fringes::                 Controlling window fringes.
 * Scroll Bars::             Controlling vertical scroll bars.
@@ -1271,9 +1271,9 @@
 * Buttons::                 Adding clickable buttons to Emacs buffers.
 * Abstract Display::        Emacs' Widget for Object Collections.
 * Blinking::                How Emacs shows the matching open parenthesis.
-* Usual Display::	    The usual conventions for displaying
+* Usual Display::           The usual conventions for displaying
                               nonprinting chars.
-* Display Tables::	    How to specify other conventions.
+* Display Tables::          How to specify other conventions.
 * Beeping::                 Audible signal to the user.
 * Window Systems::          Which window system is being used.
 
@@ -1295,7 +1295,7 @@
 
 * Managing Overlays::       Creating and moving overlays.
 * Overlay Properties::      How to read and set properties.
-			    What properties do to the screen display.
+                              What properties do to the screen display.
 * Finding Overlays::        Searching for overlays.
 
 Faces
@@ -1375,14 +1375,14 @@
 * Getting Out::             How exiting works (permanent or temporary).
 * System Environment::      Distinguish the name and kind of system.
 * User Identification::     Finding the name and user id of the user.
-* Time of Day::		    Getting the current time.
+* Time of Day::             Getting the current time.
 * Time Conversion::         Converting a time from numeric form to 
                               calendrical data and vice versa.
 * Time Parsing::            Converting a time from numeric form to text
                               and vice versa.
 * Processor Run Time::      Getting the run time used by Emacs.
 * Time Calculations::       Adding, subtracting, comparing times, etc.
-* Timers::		    Setting a timer to call a function at a
+* Timers::                  Setting a timer to call a function at a
                               certain time.
 * Idle Timers::             Setting a timer to call a function when Emacs has
                               been idle for a certain length of time.
@@ -1409,8 +1409,8 @@
 
 Terminal Input
 
-* Input Modes::		    Options for how input is processed.
-* Recording Input::	    Saving histories of recent or all input events.
+* Input Modes::             Options for how input is processed.
+* Recording Input::         Saving histories of recent or all input events.
 
 Tips and Conventions
 
@@ -1420,7 +1420,7 @@
 * Compilation Tips::        Making compiled code run fast.
 * Warning Tips::            Turning off compiler warnings.
 * Documentation Tips::      Writing readable documentation strings.
-* Comment Tips::	    Conventions for writing comments.
+* Comment Tips::            Conventions for writing comments.
 * Library Headers::         Standard headers for library packages.
 
 GNU Emacs Internals
--- a/doc/lispref/errors.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/errors.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -63,11 +63,11 @@
 @xref{Lisp and Coding Systems}.
 
 @item cyclic-function-indirection
-@code{"Symbol's chain of function indirections\@* contains a loop"}@*
+@code{"Symbol's chain of function indirections contains a loop"}@*
 @xref{Function Indirection}.
 
 @item cyclic-variable-indirection
-@code{"Symbol's chain of variable indirections\@* contains a loop"}@*
+@code{"Symbol's chain of variable indirections contains a loop"}@*
 @xref{Variable Aliases}.
 
 @item end-of-buffer
--- a/doc/lispref/eval.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/eval.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -110,7 +110,7 @@
 * Symbol Forms::            Symbols evaluate as variables.
 * Classifying Lists::       How to distinguish various sorts of list forms.
 * Function Indirection::    When a symbol appears as the car of a list,
-			      we find the real function via the symbol.
+                              we find the real function via the symbol.
 * Function Forms::          Forms that call functions.
 * Macro Forms::             Forms that call macros.
 * Special Forms::           "Special forms" are idiosyncratic primitives,
--- a/doc/lispref/files.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/files.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/files
 @node Files, Backups and Auto-Saving, Documentation, Top
@@ -38,9 +39,9 @@
 * Changing Files::           Renaming files, changing protection, etc.
 * File Names::               Decomposing and expanding file names.
 * Contents of Directories::  Getting a list of the files in a directory.
-* Create/Delete Dirs::	     Creating and Deleting Directories.
-* Magic File Names::	     Defining "magic" special handling
-			       for certain file names.
+* Create/Delete Dirs::       Creating and Deleting Directories.
+* Magic File Names::         Defining "magic" special handling
+                               for certain file names.
 * Format Conversion::        Conversion to and from various file formats.
 @end menu
 
@@ -755,7 +756,7 @@
 @menu
 * Testing Accessibility::   Is a given file readable?  Writable?
 * Kinds of Files::          Is it a directory?  A symbolic link?
-* Truenames::		    Eliminating symbolic links from a file name.
+* Truenames::               Eliminating symbolic links from a file name.
 * File Attributes::         How large is it?  Any other names?  Etc.
 * Locating Files::          How to find a file in standard places.
 @end menu
--- a/doc/lispref/frames.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/frames.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -85,26 +85,26 @@
 * Frame Parameters::            Controlling frame size, position, font, etc.
 * Terminal Parameters::         Parameters common for all frames on terminal.
 * Frame Titles::                Automatic updating of frame titles.
-* Deleting Frames::		Frames last until explicitly deleted.
-* Finding All Frames::		How to examine all existing frames.
-* Frames and Windows::		A frame contains windows;
-				  display of text always works through windows.
-* Minibuffers and Frames::	How a frame finds the minibuffer to use.
-* Input Focus::			Specifying the selected frame.
-* Visibility of Frames::	Frames may be visible or invisible, or icons.
-* Raising and Lowering::	Raising a frame makes it hide other windows;
-				  lowering it makes the others hide it.
-* Frame Configurations::	Saving the state of all frames.
-* Mouse Tracking::		Getting events that say when the mouse moves.
-* Mouse Position::		Asking where the mouse is, or moving it.
-* Pop-Up Menus::		Displaying a menu for the user to select from.
+* Deleting Frames::             Frames last until explicitly deleted.
+* Finding All Frames::          How to examine all existing frames.
+* Frames and Windows::          A frame contains windows;
+                                  display of text always works through windows.
+* Minibuffers and Frames::      How a frame finds the minibuffer to use.
+* Input Focus::                 Specifying the selected frame.
+* Visibility of Frames::        Frames may be visible or invisible, or icons.
+* Raising and Lowering::        Raising a frame makes it hide other windows;
+                                  lowering it makes the others hide it.
+* Frame Configurations::        Saving the state of all frames.
+* Mouse Tracking::              Getting events that say when the mouse moves.
+* Mouse Position::              Asking where the mouse is, or moving it.
+* Pop-Up Menus::                Displaying a menu for the user to select from.
 * Dialog Boxes::                Displaying a box to ask yes or no.
 * Pointer Shape::               Specifying the shape of the mouse pointer.
 * Window System Selections::    Transferring text to and from other X clients.
 * Drag and Drop::               Internals of Drag-and-Drop implementation.
-* Color Names::	                Getting the definitions of color names.
+* Color Names::                 Getting the definitions of color names.
 * Text Terminal Colors::        Defining colors for text-only terminals.
-* Resources::		        Getting resource values from the server.
+* Resources::                   Getting resource values from the server.
 * Display Feature Testing::     Determining the features of a terminal.
 @end menu
 
@@ -343,7 +343,7 @@
 
 @menu
 * Parameter Access::       How to change a frame's parameters.
-* Initial Parameters::	   Specifying frame parameters when you make a frame.
+* Initial Parameters::     Specifying frame parameters when you make a frame.
 * Window Frame Parameters:: List of frame parameters for window systems.
 * Size and Position::      Changing the size and position of a frame.
 * Geometry::               Parsing geometry specifications.
--- a/doc/lispref/functions.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/functions.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/functions
 @node Functions, Macros, Variables, Top
@@ -22,7 +23,7 @@
 * Function Cells::        Accessing or setting the function definition
                             of a symbol.
 * Obsolete Functions::    Declaring functions obsolete.
-* Inline Functions::	  Defining functions that the compiler will open code.
+* Inline Functions::      Defining functions that the compiler will open code.
 * Declaring Functions::   Telling the compiler that a function is defined.
 * Function Safety::       Determining whether a function is safe to call.
 * Related Topics::        Cross-references to specific Lisp primitives
--- a/doc/lispref/internals.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/internals.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -760,22 +760,22 @@
 @group
   switch (coordinates_in_window (XWINDOW (window), &x, &y))
     @{
-    case 0:			/* NOT in window at all. */
+    case 0:                     /* NOT in window at all. */
       return Qnil;
 @end group
 
 @group
-    case 1:			/* In text part of window. */
+    case 1:                     /* In text part of window. */
       return Fcons (make_number (x), make_number (y));
 @end group
 
 @group
-    case 2:			/* In mode line of window. */
+    case 2:                     /* In mode line of window. */
       return Qmode_line;
 @end group
 
 @group
-    case 3:			/* On right border of window.  */
+    case 3:                     /* On right border of window.  */
       return Qvertical_line;
 @end group
 
--- a/doc/lispref/keymaps.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/keymaps.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/keymaps
 @node Keymaps, Modes, Command Loop, Top
@@ -16,19 +17,19 @@
 is found.  The whole process is called @dfn{key lookup}.
 
 @menu
-* Key Sequences::        	Key sequences as Lisp objects.
+* Key Sequences::               Key sequences as Lisp objects.
 * Keymap Basics::               Basic concepts of keymaps.
-* Format of Keymaps::		What a keymap looks like as a Lisp object.
-* Creating Keymaps:: 		Functions to create and copy keymaps.
-* Inheritance and Keymaps::	How one keymap can inherit the bindings
-				   of another keymap.
+* Format of Keymaps::           What a keymap looks like as a Lisp object.
+* Creating Keymaps::            Functions to create and copy keymaps.
+* Inheritance and Keymaps::     How one keymap can inherit the bindings
+                                   of another keymap.
 * Prefix Keys::                 Defining a key with a keymap as its definition.
 * Active Keymaps::              How Emacs searches the active keymaps
                                    for a key binding.
 * Searching Keymaps::           A pseudo-Lisp summary of searching active maps.
 * Controlling Active Maps::     Each buffer has a local keymap
                                    to override the standard (global) bindings.
-				   A minor mode can also override them.
+                                   A minor mode can also override them.
 * Key Lookup::                  Finding a key's binding in one keymap.
 * Functions for Key Lookup::    How to request key lookup.
 * Changing Key Bindings::       Redefining a key in a keymap.
@@ -36,7 +37,7 @@
 * Translation Keymaps::         Keymaps for translating sequences of events.
 * Key Binding Commands::        Interactive interfaces for redefining keys.
 * Scanning Keymaps::            Looking through all keymaps, for printing help.
-* Menu Keymaps::		Defining a menu as a keymap.
+* Menu Keymaps::                Defining a menu as a keymap.
 @end menu
 
 @node Key Sequences
@@ -1959,11 +1960,11 @@
 feature.
 
 @menu
-* Defining Menus::		How to make a keymap that defines a menu.
-* Mouse Menus::			How users actuate the menu with the mouse.
-* Keyboard Menus::		How users actuate the menu with the keyboard.
-* Menu Example::		Making a simple menu.
-* Menu Bar::			How to customize the menu bar.
+* Defining Menus::              How to make a keymap that defines a menu.
+* Mouse Menus::                 How users actuate the menu with the mouse.
+* Keyboard Menus::              How users actuate the menu with the keyboard.
+* Menu Example::                Making a simple menu.
+* Menu Bar::                    How to customize the menu bar.
 * Tool Bar::                    A tool bar is a row of images.
 * Modifying Menus::             How to add new items to a menu.
 @end menu
@@ -2413,10 +2414,10 @@
 @smallexample
 (define-key menu-bar-replace-menu [tags-repl-continue]
   '(menu-item "Continue Replace" tags-loop-continue
-	      :help "Continue last tags replace operation"))
+              :help "Continue last tags replace operation"))
 (define-key menu-bar-replace-menu [tags-repl]
   '(menu-item "Replace in tagged files" tags-query-replace
-	      :help "Interactively replace a regexp in all tagged files"))
+              :help "Interactively replace a regexp in all tagged files"))
 (define-key menu-bar-replace-menu [separator-replace-tags]
   '(menu-item "--"))
 ;; @r{@dots{}}
@@ -2656,8 +2657,8 @@
 By default, the global map binds @code{[tool-bar]} as follows:
 @example
 (global-set-key [tool-bar]
-		'(menu-item "tool bar" ignore
-			    :filter (lambda (ignore) tool-bar-map)))
+                '(menu-item "tool bar" ignore
+                            :filter (lambda (ignore) tool-bar-map)))
 @end example
 @noindent
 Thus the tool bar map is derived dynamically from the value of variable
--- a/doc/lispref/loading.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/loading.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/loading
 @node Loading, Byte Compilation, Customization, Top
@@ -43,9 +44,9 @@
 * Repeated Loading::        Precautions about loading a file twice.
 * Named Features::          Loading a library if it isn't already loaded.
 * Where Defined::           Finding which file defined a certain symbol.
-* Unloading::		    How to "unload" a library that was loaded.
-* Hooks for Loading::	    Providing code to be run when
-			      particular libraries are loaded.
+* Unloading::               How to "unload" a library that was loaded.
+* Hooks for Loading::       Providing code to be run when
+                              particular libraries are loaded.
 @end menu
 
 @node How Programs Do Loading
--- a/doc/lispref/minibuf.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/minibuf.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/minibuf
 @node Minibuffers, Command Loop, Read and Print, Top
@@ -22,13 +23,13 @@
 * Intro to Minibuffers::      Basic information about minibuffers.
 * Text from Minibuffer::      How to read a straight text string.
 * Object from Minibuffer::    How to read a Lisp object or expression.
-* Minibuffer History::	      Recording previous minibuffer inputs
-				so the user can reuse them.
+* Minibuffer History::        Recording previous minibuffer inputs
+                                so the user can reuse them.
 * Initial Input::             Specifying initial contents for the minibuffer.
 * Completion::                How to invoke and customize completion.
 * Yes-or-No Queries::         Asking a question with a simple answer.
-* Multiple Queries::	      Asking a series of similar questions.
-* Reading a Password::	      Reading a password from the terminal.
+* Multiple Queries::          Asking a series of similar questions.
+* Reading a Password::        Reading a password from the terminal.
 * Minibuffer Commands::       Commands used as key bindings in minibuffers.
 * Minibuffer Contents::       How such commands access the minibuffer text.
 * Minibuffer Windows::        Operating on the special minibuffer windows.
--- a/doc/lispref/modes.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/modes.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1342,7 +1342,7 @@
   Global minor modes distributed with Emacs should if possible support
 enabling and disabling via Custom (@pxref{Customization}).  To do this,
 the first step is to define the mode variable with @code{defcustom}, and
-specify @code{:type boolean}.
+specify @code{:type 'boolean}.
 
   If just setting the variable is not sufficient to enable the mode, you
 should also specify a @code{:set} method which enables the mode by
--- a/doc/lispref/numbers.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/numbers.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -21,10 +21,10 @@
 
 @menu
 * Integer Basics::            Representation and range of integers.
-* Float Basics::	      Representation and range of floating point.
+* Float Basics::              Representation and range of floating point.
 * Predicates on Numbers::     Testing for numbers.
 * Comparison of Numbers::     Equality and inequality predicates.
-* Numeric Conversions::	      Converting float to integer and vice versa.
+* Numeric Conversions::       Converting float to integer and vice versa.
 * Arithmetic Operations::     How to add, subtract, multiply and divide.
 * Rounding Operations::       Explicitly rounding floating point numbers.
 * Bitwise Operations::        Logical and, or, not, shifting.
--- a/doc/lispref/os.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/os.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/os
 @node System Interface, Antinews, Display, Top
@@ -20,14 +21,14 @@
 * Getting Out::         How exiting works (permanent or temporary).
 * System Environment::  Distinguish the name and kind of system.
 * User Identification:: Finding the name and user id of the user.
-* Time of Day::		Getting the current time.
+* Time of Day::         Getting the current time.
 * Time Conversion::     Converting a time from numeric form to 
                           calendrical data and vice versa.
 * Time Parsing::        Converting a time from numeric form to text
                           and vice versa.
 * Processor Run Time::  Getting the run time used by Emacs.
 * Time Calculations::   Adding, subtracting, comparing times, etc.
-* Timers::		Setting a timer to call a function at a certain time.
+* Timers::              Setting a timer to call a function at a certain time.
 * Idle Timers::         Setting a timer to call a function when Emacs has
                           been idle for a certain length of time.
 * Terminal Input::      Accessing and recording terminal input.
@@ -1815,8 +1816,8 @@
 functions.
 
 @menu
-* Input Modes::		Options for how input is processed.
-* Recording Input::	Saving histories of recent or all input events.
+* Input Modes::         Options for how input is processed.
+* Recording Input::     Saving histories of recent or all input events.
 @end menu
 
 @node Input Modes
--- a/doc/lispref/processes.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/processes.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/processes
 @node Processes, Display, Abbrevs, Top
@@ -51,13 +52,13 @@
 * Sentinels::                Sentinels run when process run-status changes.
 * Query Before Exit::        Whether to query if exiting will kill a process.
 * System Processes::         Accessing other processes running on your system.
-* Transaction Queues::	     Transaction-based communication with subprocesses.
+* Transaction Queues::       Transaction-based communication with subprocesses.
 * Network::                  Opening network connections.
 * Network Servers::          Network servers let Emacs accept net connections.
 * Datagrams::                UDP network connections.
 * Low-Level Network::        Lower-level but more general function
                                to create connections and servers.
-* Misc Network::             Additional relevant functions for network connections.
+* Misc Network::             Additional relevant functions for net connections.
 * Serial Ports::             Communicating with serial ports.
 * Byte Packing::             Using bindat to pack and unpack binary data.
 @end menu
--- a/doc/lispref/searching.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/searching.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/searching
 @node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top
@@ -22,7 +23,7 @@
 * POSIX Regexps::         Searching POSIX-style for the longest match.
 * Match Data::            Finding out which part of the text matched,
                             after a string or regexp search.
-* Search and Replace::	  Commands that loop, searching and replacing.
+* Search and Replace::    Commands that loop, searching and replacing.
 * Standard Regexps::      Useful regexps for finding sentences, pages,...
 @end menu
 
@@ -609,8 +610,8 @@
 For example, @samp{c[ad]\@{1,2\@}r} matches the strings @samp{car},
 @samp{cdr}, @samp{caar}, @samp{cadr}, @samp{cdar}, and @samp{cddr}, and
 nothing else.@*
-@samp{\@{0,1\@}} or @samp{\@{,1\@}} is equivalent to @samp{?}.	@*
-@samp{\@{0,\@}} or @samp{\@{,\@}} is equivalent to @samp{*}.	@*
+@samp{\@{0,1\@}} or @samp{\@{,1\@}} is equivalent to @samp{?}.@*
+@samp{\@{0,\@}} or @samp{\@{,\@}} is equivalent to @samp{*}.@*
 @samp{\@{1,\@}} is equivalent to @samp{+}.
 
 @item \( @dots{} \)
@@ -1213,9 +1214,9 @@
 match data around it, to prevent it from being overwritten.
 
 @menu
-* Replacing Match::	  Replacing a substring that was matched.
+* Replacing Match::       Replacing a substring that was matched.
 * Simple Match Data::     Accessing single items of match data,
-			    such as where a particular subexpression started.
+                            such as where a particular subexpression started.
 * Entire Match Data::     Accessing the entire match data at once, as a list.
 * Saving Match Data::     Saving and restoring the match data.
 @end menu
--- a/doc/lispref/sequences.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/sequences.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/sequences
 @node Sequences Arrays Vectors, Hash Tables, Lists, Top
@@ -669,13 +670,13 @@
 (let (accumulator)
    (map-char-table
     #'(lambda (key value)
-	(setq accumulator
-	      (cons (list
-		     (if (consp key)
-			 (list (car key) (cdr key))
-		       key)
-		     value)
-		    accumulator)))
+        (setq accumulator
+              (cons (list
+                     (if (consp key)
+                         (list (car key) (cdr key))
+                       key)
+                     value)
+                    accumulator)))
     (syntax-table))
    accumulator)
 @result{}
--- a/doc/lispref/strings.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/strings.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/strings
 @node Strings and Characters, Lists, Numbers, Top
@@ -31,7 +32,7 @@
 * String Conversion::         Converting to and from characters and strings.
 * Formatting Strings::        @code{format}: Emacs's analogue of @code{printf}.
 * Case Conversion::           Case conversion functions.
-* Case Tables::		      Customizing case conversion.
+* Case Tables::               Customizing case conversion.
 @end menu
 
 @node String Basics
--- a/doc/lispref/syntax.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/syntax.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/syntax
 @node Syntax Tables, Abbrevs, Searching and Matching, Top
@@ -23,7 +24,7 @@
 * Desc: Syntax Descriptors.  How characters are classified.
 * Syntax Table Functions::   How to create, examine and alter syntax tables.
 * Syntax Properties::        Overriding syntax with text properties.
-* Motion and Syntax::	     Moving over characters with certain syntaxes.
+* Motion and Syntax::        Moving over characters with certain syntaxes.
 * Parsing Expressions::      Parsing balanced expressions
                                 using the syntax table.
 * Standard Syntax Tables::   Syntax tables used by various major modes.
--- a/doc/lispref/text.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/text.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/text
 @node Text, Non-ASCII Characters, Markers, Top
@@ -42,7 +43,7 @@
 * The Kill Ring::    Where removed text sometimes is saved for later use.
 * Undo::             Undoing changes to the text of a buffer.
 * Maintaining Undo:: How to enable and disable undo information.
-			How to control how much information is kept.
+                        How to control how much information is kept.
 * Filling::          Functions for explicit filling.
 * Margins::          How to specify margins for filling commands.
 * Adaptive Fill::    Adaptive Fill mode chooses a fill prefix from context.
@@ -821,7 +822,7 @@
 * Kill Functions::         Functions that kill text.
 * Yanking::                How yanking is done.
 * Yank Commands::          Commands that access the kill ring.
-* Low-Level Kill Ring::	   Functions and variables for kill ring access.
+* Low-Level Kill Ring::    Functions and variables for kill ring access.
 * Internals of Kill Ring:: Variables that hold kill ring data.
 @end menu
 
@@ -1298,13 +1299,16 @@
 command stops at such a boundary, and successive undo commands undo
 to earlier and earlier boundaries.  This function returns @code{nil}.
 
-The editor command loop automatically creates an undo boundary before
-each key sequence is executed.  Thus, each undo normally undoes the
-effects of one command.  Self-inserting input characters are an
-exception.  The command loop makes a boundary for the first such
-character; the next 19 consecutive self-inserting input characters do
-not make boundaries, and then the 20th does, and so on as long as
-self-inserting characters continue.
+The editor command loop automatically calls @code{undo-boundary} just
+before executing each key sequence, so that each undo normally undoes
+the effects of one command.  As an exception, the command
+@code{self-insert-command}, which produces self-inserting input
+characters (@pxref{Commands for Insertion}), may remove the boundary
+inserted by the command loop: a boundary is accepted for the first
+such character, the next 19 consecutive self-inserting input
+characters do not have boundaries, and then the 20th does; and so on
+as long as the self-inserting characters continue.  Hence, sequences
+of consecutive character insertions can be undone as a group.
 
 All buffer modifications add a boundary whenever the previous undoable
 change was made in some other buffer.  This is to ensure that
@@ -2593,9 +2597,9 @@
 
 @menu
 * Examining Properties::   Looking at the properties of one character.
-* Changing Properties::	   Setting the properties of a range of text.
-* Property Search::	   Searching for where a property changes value.
-* Special Properties::	   Particular properties with special meanings.
+* Changing Properties::    Setting the properties of a range of text.
+* Property Search::        Searching for where a property changes value.
+* Special Properties::     Particular properties with special meanings.
 * Format Properties::      Properties for representing formatting of text.
 * Sticky Properties::      How inserted text gets properties from
                              neighboring text.
@@ -2605,8 +2609,8 @@
                              do something when you click on them.
 * Fields::                 The @code{field} property defines
                              fields within the buffer.
-* Not Intervals::	   Why text properties do not use
-			     Lisp-visible text intervals.
+* Not Intervals::          Why text properties do not use
+                             Lisp-visible text intervals.
 @end menu
 
 @node Examining Properties
--- a/doc/lispref/tips.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/tips.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998, 1999, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/tips
 @node Tips, GNU Emacs Internals, GPL, Top
@@ -28,7 +29,7 @@
 * Compilation Tips::          Making compiled code run fast.
 * Warning Tips::              Turning off compiler warnings.
 * Documentation Tips::        Writing readable documentation strings.
-* Comment Tips::	      Conventions for writing comments.
+* Comment Tips::              Conventions for writing comments.
 * Library Headers::           Standard headers for library packages.
 @end menu
 
--- a/doc/lispref/vol1.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/vol1.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -164,7 +164,7 @@
                               files are made.
 * Buffers::                 Creating and using buffer objects.
 * Windows::                 Manipulating windows and displaying buffers.
-* Frames::		    Making multiple system-level windows.
+* Frames::                  Making multiple system-level windows.
 * Positions::               Buffer positions and motion functions.
 * Markers::                 Markers represent positions and update
                               automatically when the text is changed.
@@ -176,7 +176,7 @@
 * Abbrevs::                 How Abbrev mode works, and its data structures.
 
 * Processes::               Running and communicating with subprocesses.
-* Display::	            Features for controlling the screen display.
+* Display::                 Features for controlling the screen display.
 * System Interface::        Getting the user id, system type, environment
                               variables, and other such things.
 
@@ -311,10 +311,10 @@
 Numbers
 
 * Integer Basics::          Representation and range of integers.
-* Float Basics::	    Representation and range of floating point.
+* Float Basics::            Representation and range of floating point.
 * Predicates on Numbers::   Testing for numbers.
 * Comparison of Numbers::   Equality and inequality predicates.
-* Numeric Conversions::	    Converting float to integer and vice versa.
+* Numeric Conversions::     Converting float to integer and vice versa.
 * Arithmetic Operations::   How to add, subtract, multiply and divide.
 * Rounding Operations::     Explicitly rounding floating point numbers.
 * Bitwise Operations::      Logical and, or, not, shifting.
@@ -331,7 +331,7 @@
 * String Conversion::       Converting to and from characters and strings.
 * Formatting Strings::      @code{format}: Emacs's analogue of @code{printf}.
 * Case Conversion::         Case conversion functions.
-* Case Tables::		    Customizing case conversion.
+* Case Tables::             Customizing case conversion.
 
 Lists
 
@@ -399,7 +399,7 @@
 * Symbol Forms::            Symbols evaluate as variables.
 * Classifying Lists::       How to distinguish various sorts of list forms.
 * Function Indirection::    When a symbol appears as the car of a list,
-			      we find the real function via the symbol.
+                              we find the real function via the symbol.
 * Function Forms::          Forms that call functions.
 * Macro Forms::             Forms that call macros.
 * Special Forms::           "Special forms" are idiosyncratic primitives,
@@ -480,9 +480,9 @@
 * Function Cells::          Accessing or setting the function definition
                               of a symbol.
 * Obsolete Functions::      Declaring functions obsolete.
-* Inline Functions::	    Defining functions that the compiler
+* Inline Functions::        Defining functions that the compiler
                               will open code.
-* Declaring Functions::	    Telling the compiler that a function is defined.
+* Declaring Functions::     Telling the compiler that a function is defined.
 * Function Safety::         Determining whether a function is safe to call.
 * Related Topics::          Cross-references to specific Lisp primitives
                               that have a special bearing on how
@@ -542,9 +542,9 @@
 * Repeated Loading::        Precautions about loading a file twice.
 * Named Features::          Loading a library if it isn't already loaded.
 * Where Defined::           Finding which file defined a certain symbol.
-* Unloading::		    How to "unload" a library that was loaded.
-* Hooks for Loading::	    Providing code to be run when
-			      particular libraries are loaded.
+* Unloading::               How to "unload" a library that was loaded.
+* Hooks for Loading::       Providing code to be run when
+                              particular libraries are loaded.
 
 Byte Compilation
 
@@ -554,7 +554,7 @@
 * Dynamic Loading::         Dynamic loading of individual functions.
 * Eval During Compile::     Code to be evaluated when you compile.
 * Compiler Errors::         Handling compiler error messages.
-* Byte-Code Objects::	    The data type used for byte-compiled functions.
+* Byte-Code Objects::       The data type used for byte-compiled functions.
 * Disassembly::             Disassembling byte-code; how to read byte-code.
 
 Advising Emacs Lisp Functions
@@ -583,7 +583,7 @@
 The Lisp Debugger
 
 * Error Debugging::         Entering the debugger when an error happens.
-* Infinite Loops::	    Stopping and debugging a program that doesn't exit.
+* Infinite Loops::          Stopping and debugging a program that doesn't exit.
 * Function Debugging::      Entering it when a certain function is called.
 * Explicit Debug::          Entering it at a certain point in the program.
 * Using Debugger::          What the debugger does; what you see while in it.
@@ -593,24 +593,24 @@
 
 Edebug
 
-* Using Edebug::	    Introduction to use of Edebug.
-* Instrumenting::	    You must instrument your code
-			      in order to debug it with Edebug.
+* Using Edebug::            Introduction to use of Edebug.
+* Instrumenting::           You must instrument your code
+                              in order to debug it with Edebug.
 * Edebug Execution Modes::  Execution modes, stopping more or less often.
-* Jumping::		    Commands to jump to a specified place.
-* Edebug Misc::		    Miscellaneous commands.
-* Breaks::		    Setting breakpoints to make the program stop.
-* Trapping Errors::	    Trapping errors with Edebug.
-* Edebug Views::	    Views inside and outside of Edebug.
-* Edebug Eval::		    Evaluating expressions within Edebug.
-* Eval List::		    Expressions whose values are displayed
-			      each time you enter Edebug.
-* Printing in Edebug::	    Customization of printing.
-* Trace Buffer::	    How to produce trace output in a buffer.
-* Coverage Testing::	    How to test evaluation coverage.
-* The Outside Context::	    Data that Edebug saves and restores.
+* Jumping::                 Commands to jump to a specified place.
+* Edebug Misc::             Miscellaneous commands.
+* Breaks::                  Setting breakpoints to make the program stop.
+* Trapping Errors::         Trapping errors with Edebug.
+* Edebug Views::            Views inside and outside of Edebug.
+* Edebug Eval::             Evaluating expressions within Edebug.
+* Eval List::               Expressions whose values are displayed
+                              each time you enter Edebug.
+* Printing in Edebug::      Customization of printing.
+* Trace Buffer::            How to produce trace output in a buffer.
+* Coverage Testing::        How to test evaluation coverage.
+* The Outside Context::     Data that Edebug saves and restores.
 * Edebug and Macros::       Specifying how to handle macro calls.
-* Edebug Options::	    Option variables for customizing Edebug.
+* Edebug Options::          Option variables for customizing Edebug.
 
 Breaks
 
@@ -627,8 +627,8 @@
 Edebug and Macros
 
 * Instrumenting Macro Calls::The basic problem.
-* Specification List::	    How to specify complex patterns of evaluation.
-* Backtracking::	    What Edebug does when matching fails.
+* Specification List::      How to specify complex patterns of evaluation.
+* Backtracking::            What Edebug does when matching fails.
 * Specification Examples::  To help understand specifications.
 
 Debugging Invalid Lisp Syntax
@@ -653,13 +653,13 @@
 * Intro to Minibuffers::    Basic information about minibuffers.
 * Text from Minibuffer::    How to read a straight text string.
 * Object from Minibuffer::  How to read a Lisp object or expression.
-* Minibuffer History::	    Recording previous minibuffer inputs
-			      so the user can reuse them.
+* Minibuffer History::      Recording previous minibuffer inputs
+                              so the user can reuse them.
 * Initial Input::           Specifying initial contents for the minibuffer.
 * Completion::              How to invoke and customize completion.
 * Yes-or-No Queries::       Asking a question with a simple answer.
-* Multiple Queries::	    Asking a series of similar questions.
-* Reading a Password::	    Reading a password from the terminal.
+* Multiple Queries::        Asking a series of similar questions.
+* Reading a Password::      Reading a password from the terminal.
 * Minibuffer Commands::     Commands used as key bindings in minibuffers.
 * Minibuffer Contents::     How such commands access the minibuffer text.
 * Minibuffer Windows::      Operating on the special minibuffer windows.
@@ -687,7 +687,7 @@
 * Distinguish Interactive::     Making a command distinguish interactive calls.
 * Command Loop Info::   Variables set by the command loop for you to examine.
 * Adjusting Point::     Adjustment of point after a command.
-* Input Events::	What input looks like when you read it.
+* Input Events::        What input looks like when you read it.
 * Reading Input::       How to read input events from the keyboard or mouse.
 * Special Events::      Events processed immediately and individually.
 * Waiting::             Waiting for user input or elapsed time.
@@ -721,7 +721,7 @@
 * Event Examples::          Examples of the lists for mouse events.
 * Classifying Events::      Finding the modifier keys in an event symbol.
                               Event types.
-* Accessing Mouse::	    Functions to extract info from mouse events.
+* Accessing Mouse::         Functions to extract info from mouse events.
 * Accessing Scroll::        Functions to get info from scroll bar events.
 * Strings of Events::       Special considerations for putting
                               keyboard character events in a string.
@@ -871,9 +871,9 @@
 * Changing Files::          Renaming files, changing protection, etc.
 * File Names::              Decomposing and expanding file names.
 * Contents of Directories:: Getting a list of the files in a directory.
-* Create/Delete Dirs::	    Creating and Deleting Directories.
-* Magic File Names::	    Defining "magic" special handling
-			      for certain file names.
+* Create/Delete Dirs::      Creating and Deleting Directories.
+* Magic File Names::        Defining "magic" special handling
+                              for certain file names.
 * Format Conversion::       Conversion to and from various file formats.
 
 Visiting Files
@@ -885,7 +885,7 @@
 
 * Testing Accessibility::   Is a given file readable?  Writable?
 * Kinds of Files::          Is it a directory?  A symbolic link?
-* Truenames::		    Eliminating symbolic links from a file name.
+* Truenames::               Eliminating symbolic links from a file name.
 * File Attributes::         How large is it?  Any other names?  Etc.
 * Locating Files::          How to find a file in standard places.
 
@@ -955,8 +955,8 @@
 * Buffers and Windows::     Each window displays the contents of a buffer.
 * Displaying Buffers::      Higher-level functions for displaying a buffer
                               and choosing a window for it.
-* Choosing Window::	    How to choose a window for displaying a buffer.
-* Dedicated Windows::	    How to avoid displaying another buffer in
+* Choosing Window::         How to choose a window for displaying a buffer.
+* Dedicated Windows::       How to avoid displaying another buffer in
                               a specific window.          
 * Window Point::            Each window has its own location of point.
 * Window Start and End::    Buffer positions indicating which text is
@@ -976,37 +976,37 @@
 
 Frames
 
-* Creating Frames::	    Creating additional frames.
+* Creating Frames::         Creating additional frames.
 * Multiple Terminals::      Displaying on several different devices.
-* Frame Parameters::	    Controlling frame size, position, font, etc.
+* Frame Parameters::        Controlling frame size, position, font, etc.
 * Terminal Parameters::     Parameters common for all frames on terminal.
 * Frame Titles::            Automatic updating of frame titles.
-* Deleting Frames::	    Frames last until explicitly deleted.
-* Finding All Frames::	    How to examine all existing frames.
-* Frames and Windows::	    A frame contains windows;
-			      display of text always works through windows.
+* Deleting Frames::         Frames last until explicitly deleted.
+* Finding All Frames::      How to examine all existing frames.
+* Frames and Windows::      A frame contains windows;
+                              display of text always works through windows.
 * Minibuffers and Frames::  How a frame finds the minibuffer to use.
-* Input Focus::		    Specifying the selected frame.
+* Input Focus::             Specifying the selected frame.
 * Visibility of Frames::    Frames may be visible or invisible, or icons.
 * Raising and Lowering::    Raising a frame makes it hide other windows;
-			      lowering it makes the others hide it.
+                              lowering it makes the others hide it.
 * Frame Configurations::    Saving the state of all frames.
-* Mouse Tracking::	    Getting events that say when the mouse moves.
-* Mouse Position::	    Asking where the mouse is, or moving it.
-* Pop-Up Menus::	    Displaying a menu for the user to select from.
+* Mouse Tracking::          Getting events that say when the mouse moves.
+* Mouse Position::          Asking where the mouse is, or moving it.
+* Pop-Up Menus::            Displaying a menu for the user to select from.
 * Dialog Boxes::            Displaying a box to ask yes or no.
 * Pointer Shape::           Specifying the shape of the mouse pointer.
 * Window System Selections::Transferring text to and from other X clients.
 * Drag and Drop::               Internals of Drag-and-Drop implementation.
-* Color Names::	            Getting the definitions of color names.
+* Color Names::             Getting the definitions of color names.
 * Text Terminal Colors::    Defining colors for text-only terminals.
-* Resources::		    Getting resource values from the server.
+* Resources::               Getting resource values from the server.
 * Display Feature Testing:: Determining the features of a terminal.
 
 Frame Parameters
 
 * Parameter Access::        How to change a frame's parameters.
-* Initial Parameters::	    Specifying frame parameters when you make a frame.
+* Initial Parameters::      Specifying frame parameters when you make a frame.
 * Window Frame Parameters:: List of frame parameters for window systems.
 * Size and Position::       Changing the size and position of a frame.
 * Geometry::                Parsing geometry specifications.
@@ -1065,7 +1065,7 @@
                               later use.
 * Undo::                    Undoing changes to the text of a buffer.
 * Maintaining Undo::        How to enable and disable undo information.
-			      How to control how much information is kept.
+                              How to control how much information is kept.
 * Filling::                 Functions for explicit filling.
 * Margins::                 How to specify margins for filling commands.
 * Adaptive Fill::           Adaptive Fill mode chooses a fill prefix
@@ -1091,7 +1091,7 @@
 * Kill Functions::          Functions that kill text.
 * Yanking::                 How yanking is done.
 * Yank Commands::           Commands that access the kill ring.
-* Low-Level Kill Ring::	    Functions and variables for kill ring access.
+* Low-Level Kill Ring::     Functions and variables for kill ring access.
 * Internals of Kill Ring::  Variables that hold kill ring data.
 
 Indentation
@@ -1106,9 +1106,9 @@
 Text Properties
 
 * Examining Properties::    Looking at the properties of one character.
-* Changing Properties::	    Setting the properties of a range of text.
-* Property Search::	    Searching for where a property changes value.
-* Special Properties::	    Particular properties with special meanings.
+* Changing Properties::     Setting the properties of a range of text.
+* Property Search::         Searching for where a property changes value.
+* Special Properties::      Particular properties with special meanings.
 * Format Properties::       Properties for representing formatting of text.
 * Sticky Properties::       How inserted text gets properties from
                               neighboring text.
@@ -1118,8 +1118,8 @@
                               do something when you click on them.
 * Fields::                  The @code{field} property defines
                               fields within the buffer.
-* Not Intervals::	    Why text properties do not use
-			      Lisp-visible text intervals.
+* Not Intervals::           Why text properties do not use
+                              Lisp-visible text intervals.
 
 Non-@acronym{ASCII} Characters
 
@@ -1162,7 +1162,7 @@
 * POSIX Regexps::           Searching POSIX-style for the longest match.
 * Match Data::              Finding out which part of the text matched,
                               after a string or regexp search.
-* Search and Replace::	    Commands that loop, searching and replacing.
+* Search and Replace::      Commands that loop, searching and replacing.
 * Standard Regexps::        Useful regexps for finding sentences, pages,...
 
 Regular Expressions
@@ -1179,9 +1179,9 @@
 
 The Match Data
 
-* Replacing Match::	    Replacing a substring that was matched.
+* Replacing Match::         Replacing a substring that was matched.
 * Simple Match Data::       Accessing single items of match data,
-			      such as where a particular subexpression started.
+                              such as where a particular subexpression started.
 * Entire Match Data::       Accessing the entire match data at once, as a list.
 * Saving Match Data::       Saving and restoring the match data.
 
@@ -1191,7 +1191,7 @@
 * Syntax Descriptors::      How characters are classified.
 * Syntax Table Functions::  How to create, examine and alter syntax tables.
 * Syntax Properties::       Overriding syntax with text properties.
-* Motion and Syntax::	    Moving over characters with certain syntaxes.
+* Motion and Syntax::       Moving over characters with certain syntaxes.
 * Parsing Expressions::     Parsing balanced expressions
                               using the syntax table.
 * Standard Syntax Tables::  Syntax tables used by various major modes.
@@ -1280,10 +1280,10 @@
 * Invisible Text::          Hiding part of the buffer text.
 * Selective Display::       Hiding part of the buffer text (the old way).
 * Temporary Displays::      Displays that go away automatically.
-* Overlays::		    Use overlays to highlight parts of the buffer.
+* Overlays::                Use overlays to highlight parts of the buffer.
 * Width::                   How wide a character or string is on the screen.
 * Line Height::             Controlling the height of lines.
-* Faces::		    A face defines a graphics style
+* Faces::                   A face defines a graphics style
                               for text characters: font, colors, etc.
 * Fringes::                 Controlling window fringes.
 * Scroll Bars::             Controlling vertical scroll bars.
@@ -1292,9 +1292,9 @@
 * Buttons::                 Adding clickable buttons to Emacs buffers.
 * Abstract Display::        Emacs' Widget for Object Collections.
 * Blinking::                How Emacs shows the matching open parenthesis.
-* Usual Display::	    The usual conventions for displaying
+* Usual Display::           The usual conventions for displaying
                               nonprinting chars.
-* Display Tables::	    How to specify other conventions.
+* Display Tables::          How to specify other conventions.
 * Beeping::                 Audible signal to the user.
 * Window Systems::          Which window system is being used.
 
@@ -1316,7 +1316,7 @@
 
 * Managing Overlays::       Creating and moving overlays.
 * Overlay Properties::      How to read and set properties.
-			    What properties do to the screen display.
+                            What properties do to the screen display.
 * Finding Overlays::        Searching for overlays.
 
 Faces
@@ -1396,14 +1396,14 @@
 * Getting Out::             How exiting works (permanent or temporary).
 * System Environment::      Distinguish the name and kind of system.
 * User Identification::     Finding the name and user id of the user.
-* Time of Day::		    Getting the current time.
+* Time of Day::             Getting the current time.
 * Time Conversion::         Converting a time from numeric form to 
                               calendrical data and vice versa.
 * Time Parsing::            Converting a time from numeric form to text
                               and vice versa.
 * Processor Run Time::      Getting the run time used by Emacs.
 * Time Calculations::       Adding, subtracting, comparing times, etc.
-* Timers::		    Setting a timer to call a function at a
+* Timers::                  Setting a timer to call a function at a
                               certain time.
 * Idle Timers::             Setting a timer to call a function when Emacs has
                               been idle for a certain length of time.
@@ -1430,8 +1430,8 @@
 
 Terminal Input
 
-* Input Modes::		    Options for how input is processed.
-* Recording Input::	    Saving histories of recent or all input events.
+* Input Modes::             Options for how input is processed.
+* Recording Input::         Saving histories of recent or all input events.
 
 Tips and Conventions
 
@@ -1441,7 +1441,7 @@
 * Compilation Tips::        Making compiled code run fast.
 * Warning Tips::            Turning off compiler warnings.
 * Documentation Tips::      Writing readable documentation strings.
-* Comment Tips::	    Conventions for writing comments.
+* Comment Tips::            Conventions for writing comments.
 * Library Headers::         Standard headers for library packages.
 
 GNU Emacs Internals
--- a/doc/lispref/vol2.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/vol2.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -163,7 +163,7 @@
                               files are made.
 * Buffers::                 Creating and using buffer objects.
 * Windows::                 Manipulating windows and displaying buffers.
-* Frames::		    Making multiple system-level windows.
+* Frames::                  Making multiple system-level windows.
 * Positions::               Buffer positions and motion functions.
 * Markers::                 Markers represent positions and update
                               automatically when the text is changed.
@@ -175,7 +175,7 @@
 * Abbrevs::                 How Abbrev mode works, and its data structures.
 
 * Processes::               Running and communicating with subprocesses.
-* Display::	            Features for controlling the screen display.
+* Display::                 Features for controlling the screen display.
 * System Interface::        Getting the user id, system type, environment
                               variables, and other such things.
 
@@ -310,10 +310,10 @@
 Numbers
 
 * Integer Basics::          Representation and range of integers.
-* Float Basics::	    Representation and range of floating point.
+* Float Basics::            Representation and range of floating point.
 * Predicates on Numbers::   Testing for numbers.
 * Comparison of Numbers::   Equality and inequality predicates.
-* Numeric Conversions::	    Converting float to integer and vice versa.
+* Numeric Conversions::     Converting float to integer and vice versa.
 * Arithmetic Operations::   How to add, subtract, multiply and divide.
 * Rounding Operations::     Explicitly rounding floating point numbers.
 * Bitwise Operations::      Logical and, or, not, shifting.
@@ -330,7 +330,7 @@
 * String Conversion::       Converting to and from characters and strings.
 * Formatting Strings::      @code{format}: Emacs's analogue of @code{printf}.
 * Case Conversion::         Case conversion functions.
-* Case Tables::		    Customizing case conversion.
+* Case Tables::             Customizing case conversion.
 
 Lists
 
@@ -398,7 +398,7 @@
 * Symbol Forms::            Symbols evaluate as variables.
 * Classifying Lists::       How to distinguish various sorts of list forms.
 * Function Indirection::    When a symbol appears as the car of a list,
-			      we find the real function via the symbol.
+                              we find the real function via the symbol.
 * Function Forms::          Forms that call functions.
 * Macro Forms::             Forms that call macros.
 * Special Forms::           "Special forms" are idiosyncratic primitives,
@@ -479,9 +479,9 @@
 * Function Cells::          Accessing or setting the function definition
                               of a symbol.
 * Obsolete Functions::      Declaring functions obsolete.
-* Inline Functions::	    Defining functions that the compiler
+* Inline Functions::        Defining functions that the compiler
                               will open code.
-* Declaring Functions::	    Telling the compiler that a function is defined.
+* Declaring Functions::     Telling the compiler that a function is defined.
 * Function Safety::         Determining whether a function is safe to call.
 * Related Topics::          Cross-references to specific Lisp primitives
                               that have a special bearing on how
@@ -541,9 +541,9 @@
 * Repeated Loading::        Precautions about loading a file twice.
 * Named Features::          Loading a library if it isn't already loaded.
 * Where Defined::           Finding which file defined a certain symbol.
-* Unloading::		    How to "unload" a library that was loaded.
-* Hooks for Loading::	    Providing code to be run when
-			      particular libraries are loaded.
+* Unloading::               How to "unload" a library that was loaded.
+* Hooks for Loading::       Providing code to be run when
+                              particular libraries are loaded.
 
 Byte Compilation
 
@@ -553,7 +553,7 @@
 * Dynamic Loading::         Dynamic loading of individual functions.
 * Eval During Compile::     Code to be evaluated when you compile.
 * Compiler Errors::         Handling compiler error messages.
-* Byte-Code Objects::	    The data type used for byte-compiled functions.
+* Byte-Code Objects::       The data type used for byte-compiled functions.
 * Disassembly::             Disassembling byte-code; how to read byte-code.
 
 Advising Emacs Lisp Functions
@@ -582,7 +582,7 @@
 The Lisp Debugger
 
 * Error Debugging::         Entering the debugger when an error happens.
-* Infinite Loops::	    Stopping and debugging a program that doesn't exit.
+* Infinite Loops::          Stopping and debugging a program that doesn't exit.
 * Function Debugging::      Entering it when a certain function is called.
 * Explicit Debug::          Entering it at a certain point in the program.
 * Using Debugger::          What the debugger does; what you see while in it.
@@ -592,24 +592,24 @@
 
 Edebug
 
-* Using Edebug::	    Introduction to use of Edebug.
-* Instrumenting::	    You must instrument your code
-			      in order to debug it with Edebug.
+* Using Edebug::            Introduction to use of Edebug.
+* Instrumenting::           You must instrument your code
+                              in order to debug it with Edebug.
 * Edebug Execution Modes::  Execution modes, stopping more or less often.
-* Jumping::		    Commands to jump to a specified place.
-* Edebug Misc::		    Miscellaneous commands.
-* Breaks::		    Setting breakpoints to make the program stop.
-* Trapping Errors::	    Trapping errors with Edebug.
-* Edebug Views::	    Views inside and outside of Edebug.
-* Edebug Eval::		    Evaluating expressions within Edebug.
-* Eval List::		    Expressions whose values are displayed
-			      each time you enter Edebug.
-* Printing in Edebug::	    Customization of printing.
-* Trace Buffer::	    How to produce trace output in a buffer.
-* Coverage Testing::	    How to test evaluation coverage.
-* The Outside Context::	    Data that Edebug saves and restores.
+* Jumping::                 Commands to jump to a specified place.
+* Edebug Misc::             Miscellaneous commands.
+* Breaks::                  Setting breakpoints to make the program stop.
+* Trapping Errors::         Trapping errors with Edebug.
+* Edebug Views::            Views inside and outside of Edebug.
+* Edebug Eval::             Evaluating expressions within Edebug.
+* Eval List::               Expressions whose values are displayed
+                              each time you enter Edebug.
+* Printing in Edebug::      Customization of printing.
+* Trace Buffer::            How to produce trace output in a buffer.
+* Coverage Testing::        How to test evaluation coverage.
+* The Outside Context::     Data that Edebug saves and restores.
 * Edebug and Macros::       Specifying how to handle macro calls.
-* Edebug Options::	    Option variables for customizing Edebug.
+* Edebug Options::          Option variables for customizing Edebug.
 
 Breaks
 
@@ -626,8 +626,8 @@
 Edebug and Macros
 
 * Instrumenting Macro Calls::The basic problem.
-* Specification List::	    How to specify complex patterns of evaluation.
-* Backtracking::	    What Edebug does when matching fails.
+* Specification List::      How to specify complex patterns of evaluation.
+* Backtracking::            What Edebug does when matching fails.
 * Specification Examples::  To help understand specifications.
 
 Debugging Invalid Lisp Syntax
@@ -652,13 +652,13 @@
 * Intro to Minibuffers::    Basic information about minibuffers.
 * Text from Minibuffer::    How to read a straight text string.
 * Object from Minibuffer::  How to read a Lisp object or expression.
-* Minibuffer History::	    Recording previous minibuffer inputs
-			      so the user can reuse them.
+* Minibuffer History::      Recording previous minibuffer inputs
+                              so the user can reuse them.
 * Initial Input::           Specifying initial contents for the minibuffer.
 * Completion::              How to invoke and customize completion.
 * Yes-or-No Queries::       Asking a question with a simple answer.
-* Multiple Queries::	    Asking a series of similar questions.
-* Reading a Password::	    Reading a password from the terminal.
+* Multiple Queries::        Asking a series of similar questions.
+* Reading a Password::      Reading a password from the terminal.
 * Minibuffer Commands::     Commands used as key bindings in minibuffers.
 * Minibuffer Contents::     How such commands access the minibuffer text.
 * Minibuffer Windows::      Operating on the special minibuffer windows.
@@ -686,7 +686,7 @@
 * Distinguish Interactive::     Making a command distinguish interactive calls.
 * Command Loop Info::   Variables set by the command loop for you to examine.
 * Adjusting Point::     Adjustment of point after a command.
-* Input Events::	What input looks like when you read it.
+* Input Events::        What input looks like when you read it.
 * Reading Input::       How to read input events from the keyboard or mouse.
 * Special Events::      Events processed immediately and individually.
 * Waiting::             Waiting for user input or elapsed time.
@@ -720,7 +720,7 @@
 * Event Examples::          Examples of the lists for mouse events.
 * Classifying Events::      Finding the modifier keys in an event symbol.
                               Event types.
-* Accessing Mouse::	    Functions to extract info from mouse events.
+* Accessing Mouse::         Functions to extract info from mouse events.
 * Accessing Scroll::        Functions to get info from scroll bar events.
 * Strings of Events::       Special considerations for putting
                               keyboard character events in a string.
@@ -870,9 +870,9 @@
 * Changing Files::          Renaming files, changing protection, etc.
 * File Names::              Decomposing and expanding file names.
 * Contents of Directories:: Getting a list of the files in a directory.
-* Create/Delete Dirs::	    Creating and Deleting Directories.
-* Magic File Names::	    Defining "magic" special handling
-			      for certain file names.
+* Create/Delete Dirs::      Creating and Deleting Directories.
+* Magic File Names::        Defining "magic" special handling
+                              for certain file names.
 * Format Conversion::       Conversion to and from various file formats.
 
 Visiting Files
@@ -884,7 +884,7 @@
 
 * Testing Accessibility::   Is a given file readable?  Writable?
 * Kinds of Files::          Is it a directory?  A symbolic link?
-* Truenames::		    Eliminating symbolic links from a file name.
+* Truenames::               Eliminating symbolic links from a file name.
 * File Attributes::         How large is it?  Any other names?  Etc.
 * Locating Files::          How to find a file in standard places.
 
@@ -954,8 +954,8 @@
 * Buffers and Windows::     Each window displays the contents of a buffer.
 * Displaying Buffers::      Higher-level functions for displaying a buffer
                               and choosing a window for it.
-* Choosing Window::	    How to choose a window for displaying a buffer.
-* Dedicated Windows::	    How to avoid displaying another buffer in
+* Choosing Window::         How to choose a window for displaying a buffer.
+* Dedicated Windows::       How to avoid displaying another buffer in
                               a specific window.          
 * Window Point::            Each window has its own location of point.
 * Window Start and End::    Buffer positions indicating which text is
@@ -975,37 +975,37 @@
 
 Frames
 
-* Creating Frames::	    Creating additional frames.
+* Creating Frames::         Creating additional frames.
 * Multiple Terminals::      Displaying on several different devices.
-* Frame Parameters::	    Controlling frame size, position, font, etc.
+* Frame Parameters::        Controlling frame size, position, font, etc.
 * Terminal Parameters::     Parameters common for all frames on terminal.
 * Frame Titles::            Automatic updating of frame titles.
-* Deleting Frames::	    Frames last until explicitly deleted.
-* Finding All Frames::	    How to examine all existing frames.
-* Frames and Windows::	    A frame contains windows;
-			      display of text always works through windows.
+* Deleting Frames::         Frames last until explicitly deleted.
+* Finding All Frames::      How to examine all existing frames.
+* Frames and Windows::      A frame contains windows;
+                              display of text always works through windows.
 * Minibuffers and Frames::  How a frame finds the minibuffer to use.
-* Input Focus::		    Specifying the selected frame.
+* Input Focus::             Specifying the selected frame.
 * Visibility of Frames::    Frames may be visible or invisible, or icons.
 * Raising and Lowering::    Raising a frame makes it hide other windows;
-			      lowering it makes the others hide it.
+                              lowering it makes the others hide it.
 * Frame Configurations::    Saving the state of all frames.
-* Mouse Tracking::	    Getting events that say when the mouse moves.
-* Mouse Position::	    Asking where the mouse is, or moving it.
-* Pop-Up Menus::	    Displaying a menu for the user to select from.
+* Mouse Tracking::          Getting events that say when the mouse moves.
+* Mouse Position::          Asking where the mouse is, or moving it.
+* Pop-Up Menus::            Displaying a menu for the user to select from.
 * Dialog Boxes::            Displaying a box to ask yes or no.
 * Pointer Shape::           Specifying the shape of the mouse pointer.
 * Window System Selections::Transferring text to and from other X clients.
 * Drag and Drop::               Internals of Drag-and-Drop implementation.
-* Color Names::	            Getting the definitions of color names.
+* Color Names::             Getting the definitions of color names.
 * Text Terminal Colors::    Defining colors for text-only terminals.
-* Resources::		    Getting resource values from the server.
+* Resources::               Getting resource values from the server.
 * Display Feature Testing:: Determining the features of a terminal.
 
 Frame Parameters
 
 * Parameter Access::        How to change a frame's parameters.
-* Initial Parameters::	    Specifying frame parameters when you make a frame.
+* Initial Parameters::      Specifying frame parameters when you make a frame.
 * Window Frame Parameters:: List of frame parameters for window systems.
 * Size and Position::       Changing the size and position of a frame.
 * Geometry::                Parsing geometry specifications.
@@ -1064,7 +1064,7 @@
                               later use.
 * Undo::                    Undoing changes to the text of a buffer.
 * Maintaining Undo::        How to enable and disable undo information.
-			      How to control how much information is kept.
+                              How to control how much information is kept.
 * Filling::                 Functions for explicit filling.
 * Margins::                 How to specify margins for filling commands.
 * Adaptive Fill::           Adaptive Fill mode chooses a fill prefix
@@ -1090,7 +1090,7 @@
 * Kill Functions::          Functions that kill text.
 * Yanking::                 How yanking is done.
 * Yank Commands::           Commands that access the kill ring.
-* Low-Level Kill Ring::	    Functions and variables for kill ring access.
+* Low-Level Kill Ring::     Functions and variables for kill ring access.
 * Internals of Kill Ring::  Variables that hold kill ring data.
 
 Indentation
@@ -1105,9 +1105,9 @@
 Text Properties
 
 * Examining Properties::    Looking at the properties of one character.
-* Changing Properties::	    Setting the properties of a range of text.
-* Property Search::	    Searching for where a property changes value.
-* Special Properties::	    Particular properties with special meanings.
+* Changing Properties::     Setting the properties of a range of text.
+* Property Search::         Searching for where a property changes value.
+* Special Properties::      Particular properties with special meanings.
 * Format Properties::       Properties for representing formatting of text.
 * Sticky Properties::       How inserted text gets properties from
                               neighboring text.
@@ -1117,8 +1117,8 @@
                               do something when you click on them.
 * Fields::                  The @code{field} property defines
                               fields within the buffer.
-* Not Intervals::	    Why text properties do not use
-			      Lisp-visible text intervals.
+* Not Intervals::           Why text properties do not use
+                              Lisp-visible text intervals.
 
 Non-@acronym{ASCII} Characters
 
@@ -1161,7 +1161,7 @@
 * POSIX Regexps::           Searching POSIX-style for the longest match.
 * Match Data::              Finding out which part of the text matched,
                               after a string or regexp search.
-* Search and Replace::	    Commands that loop, searching and replacing.
+* Search and Replace::      Commands that loop, searching and replacing.
 * Standard Regexps::        Useful regexps for finding sentences, pages,...
 
 Regular Expressions
@@ -1178,9 +1178,9 @@
 
 The Match Data
 
-* Replacing Match::	    Replacing a substring that was matched.
+* Replacing Match::         Replacing a substring that was matched.
 * Simple Match Data::       Accessing single items of match data,
-			      such as where a particular subexpression started.
+                              such as where a particular subexpression started.
 * Entire Match Data::       Accessing the entire match data at once, as a list.
 * Saving Match Data::       Saving and restoring the match data.
 
@@ -1190,7 +1190,7 @@
 * Syntax Descriptors::      How characters are classified.
 * Syntax Table Functions::  How to create, examine and alter syntax tables.
 * Syntax Properties::       Overriding syntax with text properties.
-* Motion and Syntax::	    Moving over characters with certain syntaxes.
+* Motion and Syntax::       Moving over characters with certain syntaxes.
 * Parsing Expressions::     Parsing balanced expressions
                               using the syntax table.
 * Standard Syntax Tables::  Syntax tables used by various major modes.
@@ -1279,10 +1279,10 @@
 * Invisible Text::          Hiding part of the buffer text.
 * Selective Display::       Hiding part of the buffer text (the old way).
 * Temporary Displays::      Displays that go away automatically.
-* Overlays::		    Use overlays to highlight parts of the buffer.
+* Overlays::                Use overlays to highlight parts of the buffer.
 * Width::                   How wide a character or string is on the screen.
 * Line Height::             Controlling the height of lines.
-* Faces::		    A face defines a graphics style
+* Faces::                   A face defines a graphics style
                               for text characters: font, colors, etc.
 * Fringes::                 Controlling window fringes.
 * Scroll Bars::             Controlling vertical scroll bars.
@@ -1291,9 +1291,9 @@
 * Buttons::                 Adding clickable buttons to Emacs buffers.
 * Abstract Display::        Emacs' Widget for Object Collections.
 * Blinking::                How Emacs shows the matching open parenthesis.
-* Usual Display::	    The usual conventions for displaying
+* Usual Display::           The usual conventions for displaying
                               nonprinting chars.
-* Display Tables::	    How to specify other conventions.
+* Display Tables::          How to specify other conventions.
 * Beeping::                 Audible signal to the user.
 * Window Systems::          Which window system is being used.
 
@@ -1315,7 +1315,7 @@
 
 * Managing Overlays::       Creating and moving overlays.
 * Overlay Properties::      How to read and set properties.
-			    What properties do to the screen display.
+                            What properties do to the screen display.
 * Finding Overlays::        Searching for overlays.
 
 Faces
@@ -1395,14 +1395,14 @@
 * Getting Out::             How exiting works (permanent or temporary).
 * System Environment::      Distinguish the name and kind of system.
 * User Identification::     Finding the name and user id of the user.
-* Time of Day::		    Getting the current time.
+* Time of Day::             Getting the current time.
 * Time Conversion::         Converting a time from numeric form to 
                               calendrical data and vice versa.
 * Time Parsing::            Converting a time from numeric form to text
                               and vice versa.
 * Processor Run Time::      Getting the run time used by Emacs.
 * Time Calculations::       Adding, subtracting, comparing times, etc.
-* Timers::		    Setting a timer to call a function at a
+* Timers::                  Setting a timer to call a function at a
                               certain time.
 * Idle Timers::             Setting a timer to call a function when Emacs has
                               been idle for a certain length of time.
@@ -1429,8 +1429,8 @@
 
 Terminal Input
 
-* Input Modes::		    Options for how input is processed.
-* Recording Input::	    Saving histories of recent or all input events.
+* Input Modes::             Options for how input is processed.
+* Recording Input::         Saving histories of recent or all input events.
 
 Tips and Conventions
 
@@ -1440,7 +1440,7 @@
 * Compilation Tips::        Making compiled code run fast.
 * Warning Tips::            Turning off compiler warnings.
 * Documentation Tips::      Writing readable documentation strings.
-* Comment Tips::	    Conventions for writing comments.
+* Comment Tips::            Conventions for writing comments.
 * Library Headers::         Standard headers for library packages.
 
 GNU Emacs Internals
--- a/doc/lispref/windows.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/lispref/windows.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -22,8 +22,8 @@
 * Buffers and Windows::     Each window displays the contents of a buffer.
 * Displaying Buffers::      Higher-level functions for displaying a buffer
                               and choosing a window for it.
-* Choosing Window::	    How to choose a window for displaying a buffer.
-* Dedicated Windows::	    How to avoid displaying another buffer in
+* Choosing Window::         How to choose a window for displaying a buffer.
+* Dedicated Windows::       How to avoid displaying another buffer in
                               a specific window.
 * Window Point::            Each window has its own location of point.
 * Window Start and End::    Buffer positions indicating which text is
--- a/doc/misc/ChangeLog	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/ChangeLog	Sat Jul 10 14:52:53 2010 -0400
@@ -16,6 +16,31 @@
 	* dbus.texi (Receiving Method Calls): Add optional argument
 	EMITS-SIGNAL to `dbus-register-property'.
 
+2010-06-27  Alex Schroeder  <alex@gnu.org>
+
+	* nxml-mode.texi (Commands for locating a schema): Fix typo.
+
+2010-06-24  Glenn Morris  <rgm@gnu.org>
+
+	* ada-mode.texi, auth.texi, autotype.texi, calc.texi, cc-mode.texi:
+	* dired-x.texi, ebrowse.texi, ede.texi, edt.texi, eieio.texi:
+	* emacs-mime.texi, epa.texi, erc.texi, eshell.texi, eudc.texi:
+	* flymake.texi, gnus.texi, info.texi, mairix-el.texi, message.texi:
+	* newsticker.texi, org.texi, pgg.texi, rcirc.texi, reftex.texi:
+	* remember.texi, sasl.texi, semantic.texi, ses.texi, smtpmail.texi:
+	* speedbar.texi, tramp.texi, url.texi, viper.texi, widget.texi:
+	* woman.texi: Start direntry descriptions in column 32, per Texinfo
+	convention.   Make them end with a period.
+
+2010-06-23  Glenn Morris  <rgm@gnu.org>
+
+	* autotype.texi, cl.texi, dired-x.texi, ebrowse.texi, ede.texi:
+	* eieio.texi, epa.texi, faq.texi, flymake.texi, forms.texi:
+	* gnus-faq.texi, idlwave.texi, mh-e.texi, nxml-mode.texi, org.texi:
+	* pcl-cvs.texi, pgg.texi, reftex.texi, sasl.texi, sc.texi,
+	* sem-user.texi, semantic.texi, sieve.texi, smtpmail.texi,
+	* speedbar.texi, vip.texi, viper.texi, widget.texi: Untabify.
+
 2010-06-10  Glenn Morris  <rgm@gnu.org>
 
 	* idlwave.texi (Load-Path Shadows):
@@ -6469,10 +6494,6 @@
 	(INFO_TARGETS): Add ../info/cc-mode.
 	(DVI_TARGETS): Add cc-mode.dvi.
 
-1996-05-25  Karl Heuer  <kwzh@gnu.ai.mit.edu>
-
-	* Version 19.31 released.
-
 1995-11-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
 
 	* Version 19.30 released.
--- a/doc/misc/ada-mode.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/ada-mode.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -3,8 +3,8 @@
 @settitle Ada Mode
 
 @copying
-Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+2007, 2008, 2009, 2010  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -22,7 +22,7 @@
 
 @dircategory Emacs
 @direntry
-* Ada mode: (ada-mode). Emacs mode for editing and compiling Ada code.
+* Ada mode: (ada-mode).         Emacs mode for editing and compiling Ada code.
 @end direntry
 
 @titlepage
--- a/doc/misc/auth.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/auth.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -31,7 +31,7 @@
 
 @dircategory Emacs
 @direntry
-* Auth-source: (auth).   The Emacs auth-source library.
+* Auth-source: (auth).          The Emacs auth-source library.
 @end direntry
 
 @titlepage
--- a/doc/misc/autotype.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/autotype.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -10,8 +10,8 @@
 @c  @cindex autotypist
 
 @copying
-Copyright @copyright{} 1994, 1995, 1999, 2001, 2002, 2003, 2004,
-2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+Copyright @copyright{} 1994, 1995, 1999, 2001, 2002, 2003, 2004, 2005,
+2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -29,8 +29,8 @@
 
 @dircategory Emacs
 @direntry
-* Autotype: (autotype). Convenient features for text that you enter frequently
-                          in Emacs.
+* Autotype: (autotype).         Convenient features for text that you
+                                  enter frequently in Emacs.
 @end direntry
 
 @titlepage
@@ -92,7 +92,7 @@
                              after point.
 * Autoinserting::          Filling up empty files as soon as you visit them.
 * Copyrights::             Inserting and updating copyrights.
-* Executables::	           Turning interpreter scripts into executables.
+* Executables::            Turning interpreter scripts into executables.
 * Timestamps::             Updating dates and times in modified files.
 * QuickURL::               Inserting URLs based on text at point.
 * Tempo::                  Flexible template insertion.
@@ -201,7 +201,7 @@
 
 @example
 (c-mode-abbrev-table)
-"if"	       0    ""	       c-if
+"if"           0    ""         c-if
 @end example
 
 @noindent
--- a/doc/misc/calc.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/calc.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -111,7 +111,7 @@
 
 @dircategory Emacs
 @direntry
-* Calc: (calc).         Advanced desk calculator and mathematical tool.
+* Calc: (calc).                 Advanced desk calculator and mathematical tool.
 @end direntry
 
 @titlepage
--- a/doc/misc/cc-mode.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/cc-mode.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -180,8 +180,8 @@
 @comment here is by request from the FSF folks.
 @dircategory Emacs
 @direntry
-* CC Mode: (ccmode).    Emacs mode for editing C, C++, Objective-C,
-                        Java, Pike, AWK, and CORBA IDL code.
+* CC Mode: (ccmode).            Emacs mode for editing C, C++, Objective-C,
+                                Java, Pike, AWK, and CORBA IDL code.
 @end direntry
 
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
--- a/doc/misc/cl.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/cl.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -24,7 +24,7 @@
 
 @dircategory Emacs
 @direntry
-* CL: (cl).		Partial Common Lisp support for Emacs Lisp.
+* CL: (cl).                     Partial Common Lisp support for Emacs Lisp.
 @end direntry
 
 @finalout
--- a/doc/misc/dired-x.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/dired-x.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -3,7 +3,7 @@
 @c dired-x.texi --- Sebastian Kremer's Extra DIRED hacked up for GNU Emacs
 @c
 @c Author: Sebastian Kremer <sk@thp.uni-koeln.de>
-@c	Lawrence R. Dodd <dodd@roebling.poly.edu>
+@c      Lawrence R. Dodd <dodd@roebling.poly.edu>
 @c [Dodd's address no longer valid.]
 
 @comment %**start of header (This is for running Texinfo on a region.)
@@ -14,7 +14,7 @@
 @iftex
 @finalout
 @end iftex
-@c @setchapternewpage odd		% For book style double sided manual.
+@c @setchapternewpage odd               % For book style double sided manual.
 @comment %**end of header (This is for running Texinfo on a region.)
 
 @copying
@@ -37,7 +37,7 @@
 
 @dircategory Emacs
 @direntry
-* Dired-X: (dired-x).   Dired Extra Features.
+* Dired-X: (dired-x).           Dired Extra Features.
 @end direntry
 
 @c      @smallbook
--- a/doc/misc/ebrowse.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/ebrowse.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -29,7 +29,7 @@
 
 @dircategory Emacs
 @direntry
-* Ebrowse: (ebrowse).   A C++ class browser for Emacs.
+* Ebrowse: (ebrowse).           A C++ class browser for Emacs.
 @end direntry
 
 @titlepage
@@ -55,14 +55,14 @@
 @end ifnottex
 
 @menu
-* Overview::			What is it and how does it work?
-* Generating browser files::	How to process C++ source files
-* Loading a Tree::		How to start browsing
-* Tree Buffers::		Traversing class hierarchies
-* Member Buffers::		Looking at member information
-* Tags-like Functions::		Finding members from source files
+* Overview::                    What is it and how does it work?
+* Generating browser files::    How to process C++ source files
+* Loading a Tree::              How to start browsing
+* Tree Buffers::                Traversing class hierarchies
+* Member Buffers::              Looking at member information
+* Tags-like Functions::         Finding members from source files
 * GNU Free Documentation License:: The license for this documentation.
-* Concept Index::		An entry for each concept defined
+* Concept Index::               An entry for each concept defined
 @end menu
 
 
@@ -215,10 +215,10 @@
 available command line options.@refill
 
 @menu
-* Input files::		Specifying which files to parse
-* Output file::		Changing the output file name
-* Structs and unions::	Omitting @code{struct}s and @code{union}s
-* Matching::		Setting regular expression lengths
+* Input files::         Specifying which files to parse
+* Output file::         Changing the output file name
+* Structs and unions::  Omitting @code{struct}s and @code{union}s
+* Matching::            Setting regular expression lengths
 * Verbosity::           Getting feedback for lengthy operations
 @end menu
 
@@ -454,17 +454,17 @@
 buffers.
 
 @menu
-* Source Display::		Viewing and finding a class declaration
-* Member Display::		Showing members, switching to member buffers
-* Go to Class::			Finding a class
-* Quitting::			Discarding and burying the tree buffer
-* File Name Display::		Showing file names in the tree
-* Expanding and Collapsing::	Expanding and collapsing branches
-* Tree Indentation::		Changing the tree indentation
-* Killing Classes::		Removing class from the tree
-* Saving a Tree::		Saving a modified tree
-* Statistics::			Displaying class tree statistics
-* Marking Classes::		Marking and unmarking classes
+* Source Display::              Viewing and finding a class declaration
+* Member Display::              Showing members, switching to member buffers
+* Go to Class::                 Finding a class
+* Quitting::                    Discarding and burying the tree buffer
+* File Name Display::           Showing file names in the tree
+* Expanding and Collapsing::    Expanding and collapsing branches
+* Tree Indentation::            Changing the tree indentation
+* Killing Classes::             Removing class from the tree
+* Saving a Tree::               Saving a modified tree
+* Statistics::                  Displaying class tree statistics
+* Marking Classes::             Marking and unmarking classes
 @end menu
 
 
@@ -625,17 +625,15 @@
 Here is an example of a tree buffer with file names displayed.
 
 @example
-|  Collection		(unknown)
-|    IndexedCollection	(indexedcltn.h)
-|      Array		(array.h)
-|        FixedArray	(fixedarray.h)
-|    Set		(set.h)
-|    Dictionary		(dict.h)
+|  Collection           (unknown)
+|    IndexedCollection  (indexedcltn.h)
+|      Array            (array.h)
+|        FixedArray     (fixedarray.h)
+|    Set                (set.h)
+|    Dictionary         (dict.h)
 @end example
 
 
-
-
 @node Expanding and Collapsing, Tree Indentation, File Name Display, Tree Buffers
 @comment  node-name,  next,  previous,  up
 @section Expanding and Collapsing a Tree
@@ -818,20 +816,20 @@
 buffer: members, classes, and the buffer itself.
 
 @menu
-* Switching Member Lists::	Choosing which members to display
-* Finding/Viewing::		Modifying source code
-* Inherited Members::		Display of Inherited Members
-* Searching Members::		Finding members in member buffer
-* Switching to Tree::		Going back to the tree buffer
-* Filters::			Selective member display
-* Attributes::			Display of @code{virtual} etc.
-* Long and Short Display::	Comprehensive and verbose display
-* Regexp Display::		Showing matching regular expressions
-* Switching Classes::		Displaying another class
-* Killing/Burying::		Getting rid of the member buffer
-* Column Width::		Display style
-* Redisplay::			Redrawing the member list
-* Getting Help::		How to get help for key bindings
+* Switching Member Lists::      Choosing which members to display
+* Finding/Viewing::             Modifying source code
+* Inherited Members::           Display of Inherited Members
+* Searching Members::           Finding members in member buffer
+* Switching to Tree::           Going back to the tree buffer
+* Filters::                     Selective member display
+* Attributes::                  Display of @code{virtual} etc.
+* Long and Short Display::      Comprehensive and verbose display
+* Regexp Display::              Showing matching regular expressions
+* Switching Classes::           Displaying another class
+* Killing/Burying::             Getting rid of the member buffer
+* Column Width::                Display style
+* Redisplay::                   Redrawing the member list
+* Getting Help::                How to get help for key bindings
 @end menu
 
 
@@ -1234,7 +1232,7 @@
 
 
 @comment **************************************************************
-@comment ***		    TAGS LIKE FUNCTIONS
+@comment ***                TAGS LIKE FUNCTIONS
 @comment **************************************************************
 
 @node Tags-like Functions, GNU Free Documentation License, Member Buffers, Top
@@ -1245,14 +1243,14 @@
 Emacs Tags facility, but better suited to the needs of C++ programmers.
 
 @menu
-* Finding and Viewing::	Going to a member declaration/definition
-* Position Stack::	Moving to previous locations
-* Search & Replace::    Searching and replacing over class tree files
-* Members in Files::    Listing all members in a given file
-* Apropos::             Listing members matching a regular expression
-* Symbol Completion::   Completing names while editing
+* Finding and Viewing::   Going to a member declaration/definition
+* Position Stack::        Moving to previous locations
+* Search & Replace::      Searching and replacing over class tree files
+* Members in Files::      Listing all members in a given file
+* Apropos::               Listing members matching a regular expression
+* Symbol Completion::     Completing names while editing
 * Member Buffer Display:: Quickly display a member buffer for some
-                        identifier
+                            identifier
 @end menu
 
 
--- a/doc/misc/ede.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/ede.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -5,8 +5,8 @@
 @copying
 This file describes EDE, the Emacs Development Environment.
 
-Copyright @copyright{} 1998, 1999, 2000, 2001, 2004, 2005, 2008, 2009, 2010
-Free Software Foundation, Inc.
+Copyright @copyright{} 1998, 1999, 2000, 2001, 2004, 2005, 2008, 2009,
+2010  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -24,7 +24,7 @@
 
 @dircategory Emacs
 @direntry
-* ede: (ede).       Project management for Emacs
+* ede: (ede).                   Project management for Emacs.
 @end direntry
 
 @titlepage
@@ -404,8 +404,8 @@
 @menu
 * ede-cpp-root::        This project marks the root of a C/C++ code project.
 * ede-simple subclassing:: Create your own simple project.
-* ede-emacs::		A project for working with Emacs.
-* ede-linux::		A project for working with Linux kernels.
+* ede-emacs::           A project for working with Emacs.
+* ede-linux::           A project for working with Linux kernels.
 * Custom Locate::       Customizing how to locate files in a simple project
 @end menu
 
@@ -525,14 +525,14 @@
   )
 
 (add-to-list 'ede-project-class-files
-	     (ede-project-autoload "cpp-root"
-	      :name "CPP ROOT"
-	      :file 'ede-cpp-root
-	      :proj-file 'MY-FILE-FOR-DIR
+             (ede-project-autoload "cpp-root"
+              :name "CPP ROOT"
+              :file 'ede-cpp-root
+              :proj-file 'MY-FILE-FOR-DIR
               :proj-root 'MY-ROOT-FCN
-	      :load-type 'MY-LOAD
-	      :class-sym 'ede-cpp-root)
-	     t)
+              :load-type 'MY-LOAD
+              :class-sym 'ede-cpp-root)
+             t)
 @end example
 
 This example only creates an auto-loader, and does not create a new kind
@@ -751,9 +751,9 @@
 @example
 (defvar ede-source-emacs
   (ede-sourcecode "ede-emacs-source"
-		  :name "Emacs Lisp"
-		  :sourcepattern "\\.el$"
-		  :garbagepattern '("*.elc"))
+                  :name "Emacs Lisp"
+                  :sourcepattern "\\.el$"
+                  :garbagepattern '("*.elc"))
   "Emacs Lisp source code definition.")
 @end example
 
--- a/doc/misc/edt.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/edt.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -25,7 +25,7 @@
 
 @dircategory Emacs
 @direntry
-* EDT: (edt).   An Emacs emulation of the EDT editor.
+* EDT: (edt).                   An Emacs emulation of the EDT editor.
 @end direntry
 
 @titlepage
--- a/doc/misc/eieio.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/eieio.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -29,7 +29,7 @@
 
 @dircategory Emacs
 @direntry
-* eieio: (eieio).       Objects for Emacs
+* eieio: (eieio).               Objects for Emacs.
 @end direntry
 
 @titlepage
@@ -295,8 +295,8 @@
 
 @menu
 * Inheritance::         How to specify parents classes
-* Slot Options::	How to specify features of a slot.
-* Class Options::	How to specify features for this class.
+* Slot Options::        How to specify features of a slot.
+* Class Options::       How to specify features for this class.
 @end menu
 
 @node Inheritance
--- a/doc/misc/emacs-mime.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/emacs-mime.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -31,7 +31,7 @@
 
 @dircategory Emacs
 @direntry
-* Emacs MIME: (emacs-mime).   Emacs MIME de/composition library.
+* Emacs MIME: (emacs-mime).     Emacs MIME de/composition library.
 @end direntry
 @iftex
 @finalout
--- a/doc/misc/epa.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/epa.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -33,7 +33,7 @@
 
 @dircategory Emacs
 @direntry
-* EasyPG Assistant: (epa).   An Emacs user interface to GNU Privacy Guard.
+* EasyPG Assistant: (epa).      An Emacs user interface to GNU Privacy Guard.
 @end direntry
 
 @titlepage
@@ -142,15 +142,15 @@
 @example
  u Daiki Ueno <ueno@@unixuser.org>
  u A5B6B2D4B15813FE 1024bits DSA
-	Created: 2001-10-09
-	Expires: 2007-09-04
-	Capabilities: sign certify
-	Fingerprint: 8003 7CD0 0F1A 9400 03CA  50AA A5B6 B2D4 B158 13FE
+        Created: 2001-10-09
+        Expires: 2007-09-04
+        Capabilities: sign certify
+        Fingerprint: 8003 7CD0 0F1A 9400 03CA  50AA A5B6 B2D4 B158 13FE
  u 4447461B2A9BEA2D 2048bits ELGAMAL_E
-	Created: 2001-10-09
-	Expires: 2007-09-04
-	Capabilities: encrypt
-	Fingerprint: 9003 D76B 73B7 4A8A E588  10AF 4447 461B 2A9B EA2D
+        Created: 2001-10-09
+        Expires: 2007-09-04
+        Capabilities: encrypt
+        Fingerprint: 9003 D76B 73B7 4A8A E588  10AF 4447 461B 2A9B EA2D
 @end example
 
 @noindent
--- a/doc/misc/erc.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/erc.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -8,7 +8,8 @@
 @copying
 This manual is for ERC version 5.3.
 
-Copyright @copyright{} 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+Copyright @copyright{} 2005, 2006, 2007, 2008, 2009, 2010
+Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -29,7 +30,7 @@
 
 @dircategory Emacs
 @direntry
-* ERC: (erc).           Powerful, modular, and extensible IRC client for Emacs.
+* ERC: (erc).                   Powerful and extensible IRC client for Emacs.
 @end direntry
 
 @titlepage
--- a/doc/misc/eshell.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/eshell.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -8,8 +8,8 @@
 @copying
 This manual is for Eshell, the Emacs shell.
 
-Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -27,7 +27,7 @@
 
 @dircategory Emacs
 @direntry
-* Eshell: (eshell).     A command shell implemented in Emacs Lisp.
+* Eshell: (eshell).             A command shell implemented in Emacs Lisp.
 @end direntry
 
 @titlepage
--- a/doc/misc/eudc.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/eudc.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -31,7 +31,7 @@
 
 @dircategory Emacs
 @direntry
-* EUDC: (eudc).   An Emacs client for directory servers (LDAP, PH).
+* EUDC: (eudc).                 Emacs client for directory servers (LDAP, PH).
 @end direntry
 
 @footnotestyle end
--- a/doc/misc/faq.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/faq.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -41,7 +41,7 @@
 
 @dircategory Emacs
 @direntry
-* Emacs FAQ: (efaq).	Frequently Asked Questions about Emacs.
+* Emacs FAQ: (efaq).            Frequently Asked Questions about Emacs.
 @end direntry
 
 @c The @titlepage stuff only appears in the printed version
--- a/doc/misc/flymake.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/flymake.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -11,8 +11,8 @@
 This manual is for GNU Flymake (version @value{VERSION}, @value{UPDATED}),
 which is a universal on-the-fly syntax checker for GNU Emacs.
 
-Copyright @copyright{} 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-Foundation, Inc.
+Copyright @copyright{} 2004, 2005, 2006, 2007, 2008, 2009, 2010
+Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -30,7 +30,7 @@
 
 @dircategory Emacs
 @direntry
-* Flymake: (flymake). A universal on-the-fly syntax checker.
+* Flymake: (flymake).           A universal on-the-fly syntax checker.
 @end direntry
 
 @titlepage
@@ -409,7 +409,7 @@
 (defun flymake-perl-init ()
   (let* ((temp-file (flymake-init-create-temp-buffer-copy
                      'flymake-create-temp-inplace))
-	 (local-file (file-relative-name
+         (local-file (file-relative-name
                       temp-file
                       (file-name-directory buffer-file-name))))
     (list "perl" (list "-wc " local-file))))
--- a/doc/misc/forms.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/forms.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,4 +1,4 @@
-\input texinfo			@c -*-texinfo-*-
+\input texinfo                  @c -*-texinfo-*-
 @c documentation for forms-mode
 @c Written by Johan Vromans, and edited by Richard Stallman
 
@@ -37,8 +37,8 @@
 
 @dircategory Emacs
 @direntry
-* Forms: (forms).	Emacs package for editing data bases
-			  by filling in forms.
+* Forms: (forms).               Emacs package for editing data bases
+                                  by filling in forms.
 @end direntry
 
 @titlepage
--- a/doc/misc/gnus-faq.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/gnus-faq.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,8 +1,8 @@
 @c \input texinfo @c -*-texinfo-*-
 @c Uncomment 1st line before texing this file alone.
 @c %**start of header
-@c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-@c   2008, 2009, 2010 Free Software Foundation, Inc.
+@c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+@c   2009, 2010 Free Software Foundation, Inc.
 @c
 @c Do not modify this file, it was generated from gnus-faq.xml, available from
 @c <URL:http://my.gnus.org/FAQ/>.
@@ -550,7 +550,7 @@
 @example
 (add-to-list 'gnus-secondary-select-methods
              '(nnspool ""
-		       (nnspool-directory "/usr/local/myspoolddir")))
+                       (nnspool-directory "/usr/local/myspoolddir")))
 @end example
 @noindent
 
@@ -635,8 +635,8 @@
 @example
 (eval-after-load "mail-source"
   '(add-to-list 'mail-sources
-		'(directory :path "/path/to/procmail-dir/"
-			    :suffix ".prcml")))
+                '(directory :path "/path/to/procmail-dir/"
+                            :suffix ".prcml")))
 @end example
 @noindent
 
@@ -691,10 +691,10 @@
 
 @example
 (add-to-list 'gnus-secondary-select-methods
-	     '(nnimap "Give the baby a name"
-		      (nnimap-address "imap.yourProvider.net")
-		      (nnimap-port 143)
-		      (nnimap-list-pattern "archive.*")))
+             '(nnimap "Give the baby a name"
+                      (nnimap-address "imap.yourProvider.net")
+                      (nnimap-port 143)
+                      (nnimap-list-pattern "archive.*")))
 @end example
 @noindent
 
@@ -874,7 +874,7 @@
 @example
 (setq gnus-visible-headers
       '("^From" "^Subject" "^Date" "^Newsgroups" "^Followup-To"
-	"^User-Agent" "^X-Newsreader" "^X-Mailer"))
+        "^User-Agent" "^X-Newsreader" "^X-Mailer"))
 @end example
 @noindent
 
@@ -1099,18 +1099,18 @@
 (gnus-add-configuration
  '(article
    (horizontal 1.0
-	       (vertical 25
-			 (group 1.0))
-	       (vertical 1.0
-			 (summary 0.25 point)
-			 (article 1.0)))))
+               (vertical 25
+                         (group 1.0))
+               (vertical 1.0
+                         (summary 0.25 point)
+                         (article 1.0)))))
 (gnus-add-configuration
  '(summary
    (horizontal 1.0
-	       (vertical 25
-			 (group 1.0))
-	       (vertical 1.0
-			 (summary 1.0 point)))))
+               (vertical 25
+                         (group 1.0))
+               (vertical 1.0
+                         (summary 1.0 point)))))
 @end example
 @noindent
 
@@ -1480,7 +1480,7 @@
 alias syntax:
 
 @example
-alias al	"Al <al@@english-heritage.invalid>"
+alias al        "Al <al@@english-heritage.invalid>"
 @end example
 @noindent
 
@@ -1644,9 +1644,9 @@
 
 @example
 (setq gnus-message-archive-group
-	'((if (message-news-p)
-	      "nnml:Send-News"
-	    "nnml:Send-Mail")))
+        '((if (message-news-p)
+              "nnml:Send-News"
+            "nnml:Send-Mail")))
 @end example
 @noindent
 
--- a/doc/misc/gnus.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/gnus.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -322,7 +322,7 @@
 
 @dircategory Emacs
 @direntry
-* Gnus: (gnus).         The newsreader Gnus.
+* Gnus: (gnus).                 The newsreader Gnus.
 @end direntry
 @iftex
 @finalout
--- a/doc/misc/idlwave.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/idlwave.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -41,7 +41,7 @@
 
 @dircategory Emacs
 @direntry
-* IDLWAVE: (idlwave).	Major mode and shell for IDL files.
+* IDLWAVE: (idlwave).           Major mode and shell for IDL files.
 @end direntry
 
 @titlepage
--- a/doc/misc/info.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/info.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -40,7 +40,7 @@
 
 @dircategory Texinfo documentation system
 @direntry
-* Info: (info).         How to use the documentation browsing system.
+* Info: (info).                 How to use the documentation browsing system.
 @end direntry
 
 @titlepage
--- a/doc/misc/mairix-el.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/mairix-el.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -24,7 +24,7 @@
 
 @dircategory Emacs
 @direntry
-* Mairix: (mairix-el).  Emacs interface to the Mairix mail indexer.
+* Mairix: (mairix-el).          Emacs interface to the Mairix mail indexer.
 @end direntry
 
 @titlepage
--- a/doc/misc/message.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/message.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -27,7 +27,8 @@
 
 @dircategory Emacs
 @direntry
-* Message: (message).   Mail and news composition mode that goes with Gnus.
+* Message: (message).           Mail and news composition mode that
+                                  goes with Gnus.
 @end direntry
 @iftex
 @finalout
--- a/doc/misc/mh-e.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/mh-e.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -24,8 +24,8 @@
 This is version @value{VERSION}@value{EDITION} of @cite{The MH-E
 Manual}, last updated @value{UPDATED}.
 
-Copyright @copyright{} 1995, 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010
-Free Software Foundation, Inc.
+Copyright @copyright{} 1995, 2001, 2002, 2003, 2005, 2006, 2007, 2008,
+  2009, 2010  Free Software Foundation, Inc.
 
 @c This dual license has been agreed upon by the FSF.
 
@@ -58,7 +58,7 @@
 @c Info Directory Entry
 @dircategory Emacs
 @direntry
-* MH-E: (mh-e).		Emacs interface to the MH mail system.
+* MH-E: (mh-e).                 Emacs interface to the MH mail system.
 @end direntry
 
 @c Title Page
@@ -7767,7 +7767,7 @@
 done by adding the following to your @file{crontab}:
 
 @smallexample
-0 * * * *	sa-learn --rebuild > /dev/null 2>&1
+0 * * * *       sa-learn --rebuild > /dev/null 2>&1
 @end smallexample
 
 @subheading Bogofilter
--- a/doc/misc/newsticker.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/newsticker.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -32,7 +32,7 @@
 
 @dircategory Emacs
 @direntry
-* Newsticker: (newsticker). A Newsticker for Emacs.
+* Newsticker: (newsticker).     A Newsticker for Emacs.
 @end direntry
 
 @titlepage
--- a/doc/misc/nxml-mode.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/nxml-mode.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -187,7 +187,7 @@
 
 @example
 Possible completions are:
-xml:lang			   xmlns
+xml:lang                           xmlns
 @end example
 
 @noindent
@@ -520,7 +520,7 @@
 
 If you want to use a schema that has not yet been added to the
 schema locating files, you can use the command @kbd{C-c C-s C-f}
-to manually select the file contaiing the schema for the document in
+to manually select the file containing the schema for the document in
 current buffer.  Emacs will read the file-name of the schema from the
 minibuffer. After reading the file-name, Emacs will ask whether you
 wish to add a rule to a schema locating file that persistently
--- a/doc/misc/org.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/org.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -68,7 +68,7 @@
 
 @dircategory Emacs
 @direntry
-* Org Mode: (org).      Outline-based notes management and organizer
+* Org Mode: (org).              Outline-based notes management and organizer.
 @end direntry
 
 @titlepage
@@ -4702,7 +4702,7 @@
 
 @example
 :COLUMNS:  %25ITEM %9Approved(Approved?)@{X@} %Owner %11Status \@footnote{Please note that the COLUMNS definition must be on a single line---it is wrapped here only because of formatting constraints.}
-		   %10Time_Estimate@{:@} %CLOCKSUM
+                   %10Time_Estimate@{:@} %CLOCKSUM
 :Owner_ALL:    Tammy Mark Karl Lisa Don
 :Status_ALL:   "In progress" "Not started yet" "Finished" ""
 :Approved_ALL: "[ ]" "[X]"
@@ -7482,12 +7482,12 @@
 @group
 (defun org-my-auto-exclude-function (tag)
   (and (cond
-	((string= tag "Net")
-	 (/= 0 (call-process "/sbin/ping" nil nil nil
-			     "-c1" "-q" "-t1" "mail.gnu.org")))
-	((or (string= tag "Errand") (string= tag "Call"))
-	 (let ((hour (nth 2 (decode-time))))
-	   (or (< hour 8) (> hour 21)))))
+        ((string= tag "Net")
+         (/= 0 (call-process "/sbin/ping" nil nil nil
+                             "-c1" "-q" "-t1" "mail.gnu.org")))
+        ((or (string= tag "Errand") (string= tag "Call"))
+         (let ((hour (nth 2 (decode-time))))
+           (or (< hour 8) (> hour 21)))))
        (concat "-" tag)))
 
 (setq org-agenda-auto-exclude-function 'org-my-auto-exclude-function)
@@ -11340,9 +11340,9 @@
 
 @lisp
 (add-hook 'org-mode-hook
-	  (lambda ()
-	    (org-set-local 'yas/trigger-key [tab])
-	    (define-key yas/keymap [tab] 'yas/next-field-group)))
+          (lambda ()
+            (org-set-local 'yas/trigger-key [tab])
+            (define-key yas/keymap [tab] 'yas/next-field-group)))
 @end lisp
 
 @item @file{windmove.el} by Hovav Shacham
--- a/doc/misc/pcl-cvs.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/pcl-cvs.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -26,7 +26,7 @@
 
 @dircategory Emacs
 @direntry
-* PCL-CVS: (pcl-cvs).	Emacs front-end to CVS.
+* PCL-CVS: (pcl-cvs).           Emacs front-end to CVS.
 @end direntry
 
 @c The titlepage section does not appear in the Info file.
--- a/doc/misc/pgg.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/pgg.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -8,8 +8,8 @@
 This file describes PGG @value{VERSION}, an Emacs interface to various
 PGP implementations.
 
-Copyright @copyright{} 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-Free Software Foundation, Inc.
+Copyright @copyright{} 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+2010  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -27,7 +27,7 @@
 
 @dircategory Emacs
 @direntry
-* PGG: (pgg).   Emacs interface to various PGP implementations.
+* PGG: (pgg).                   Emacs interface to various PGP implementations.
 @end direntry
 
 @titlepage
@@ -133,7 +133,7 @@
 * User Commands::               
 * Selecting an implementation::  
 * Caching passphrase::          
-* Default user identity::	
+* Default user identity::       
 @end menu
 
 @node User Commands
@@ -376,7 +376,7 @@
 (defun pgg-make-scheme-gpg ()
   (or pgg-scheme-gpg-instance
       (setq pgg-scheme-gpg-instance
-	    (luna-make-entity 'pgg-scheme-gpg))))
+            (luna-make-entity 'pgg-scheme-gpg))))
 @end lisp
 
 The name of the function must follow the
--- a/doc/misc/rcirc.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/rcirc.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -5,7 +5,8 @@
 @c %**end of header
 
 @copying
-Copyright @copyright{} 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+Copyright @copyright{} 2006, 2007, 2008, 2009, 2010
+Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -23,7 +24,7 @@
 
 @dircategory Emacs
 @direntry
-* Rcirc: (rcirc).       Internet Relay Chat (IRC) client.
+* Rcirc: (rcirc).               Internet Relay Chat (IRC) client.
 @end direntry
 
 @titlepage
--- a/doc/misc/reftex.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/reftex.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -46,7 +46,8 @@
 
 @dircategory Emacs
 @direntry
-* RefTeX: (reftex).	Emacs support for LaTeX cross-references and citations.
+* RefTeX: (reftex).             Emacs support for LaTeX cross-references
+                                  and citations.
 @end direntry
 
 @finalout
@@ -3281,7 +3282,7 @@
 (TeX-add-style-hook "multind"
   (lambda ()
     (and (fboundp 'reftex-add-index-macros)
-	 (reftex-add-index-macros '(multind)))))
+         (reftex-add-index-macros '(multind)))))
 @end lisp
 
 If you have your own package @file{myindex} which defines the
--- a/doc/misc/remember.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/remember.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -27,7 +27,7 @@
 
 @dircategory Emacs
 @direntry
-* Remember: (remember). Simple information manager for Emacs
+* Remember: (remember).         Simple information manager for Emacs.
 @end direntry
 
 @titlepage
--- a/doc/misc/sasl.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/sasl.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -32,7 +32,7 @@
 
 @dircategory Emacs
 @direntry
-* SASL: (sasl).   The Emacs SASL library.
+* SASL: (sasl).                 The Emacs SASL library.
 @end direntry
 
 
@@ -148,7 +148,7 @@
 
 @example
 (defconst sasl-anonymous-steps
-  '(identity				;no initial response
+  '(identity                            ;no initial response
     sasl-anonymous-response))
 
 (put 'sasl-anonymous 'sasl-mechanism
@@ -232,7 +232,7 @@
 @example
 (process-send-string
  process
- (if (sasl-step-data step)		;initial response
+ (if (sasl-step-data step)              ;initial response
      (format "AUTH %s %s\r\n" name (base64-encode-string (sasl-step-data step) t))
    (format "AUTH %s\r\n" name)))
 @end example
--- a/doc/misc/sc.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/sc.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -7,7 +7,7 @@
 @finalout
 @end iftex
 
-@c @setchapternewpage odd		% For book style double sided manual.
+@c @setchapternewpage odd               % For book style double sided manual.
 @comment %**end of header (This is for running Texinfo on a region.)
 
 @copying
@@ -35,8 +35,8 @@
 
 @dircategory Emacs
 @direntry
-* SC: (sc).		Supercite lets you cite parts of messages you're
-			  replying to, in flexible ways.
+* SC: (sc).                     Supercite lets you cite parts of messages
+                                  you're replying to, in flexible ways.
 @end direntry
 
 @titlepage
@@ -1795,23 +1795,23 @@
 a mail message to the Supercite mailing list:
 
 @example
-	Martin> Each news/mail-reader should provide a form of
-	Martin> mail-yank-original that
+        Martin> Each news/mail-reader should provide a form of
+        Martin> mail-yank-original that
 
-	Martin> 1: inserts the original message incl. header into the
-	Martin>    reply buffer; no indentation/prefixing is done, the header
-	Martin>    tends to be a "full blown" version rather than to be
-	Martin>    stripped down.
+        Martin> 1: inserts the original message incl. header into the
+        Martin>    reply buffer; no indentation/prefixing is done, the header
+        Martin>    tends to be a "full blown" version rather than to be
+        Martin>    stripped down.
 
-	Martin> 2: `point' is at the start of the header, `mark' at the
-	Martin>    end of the message body.
+        Martin> 2: `point' is at the start of the header, `mark' at the
+        Martin>    end of the message body.
 
-	Martin> 3: (run-hooks 'mail-yank-hooks)
+        Martin> 3: (run-hooks 'mail-yank-hooks)
 
-	Martin> [Supercite] should be run as such a hook and merely
-	Martin> rewrite the message.  This way it isn't anymore
-	Martin> [Supercite]'s job to gather the original from obscure
-	Martin> sources. [@dots{}]
+        Martin> [Supercite] should be run as such a hook and merely
+        Martin> rewrite the message.  This way it isn't anymore
+        Martin> [Supercite]'s job to gather the original from obscure
+        Martin> sources. [@dots{}]
 @end example
 
 @vindex mail-citation-hook
--- a/doc/misc/sem-user.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/sem-user.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -1,7 +1,7 @@
 @c This file is included by semantic.texi
 
-@c Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010
-@c Free Software Foundation, Inc.
+@c Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009,
+@c   2010  Free Software Foundation, Inc.
 
 @c Permission is granted to copy, distribute and/or modify this
 @c document under the terms of the GNU Free Documentation License,
@@ -328,8 +328,8 @@
 
 @example
 (setq-mode-local c-mode
-		 semanticdb-find-default-throttle
-		 '(project unloaded system recursive))
+                 semanticdb-find-default-throttle
+                 '(project unloaded system recursive))
 @end example
 
 @defvar semanticdb-find-default-throttle
--- a/doc/misc/semantic.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/semantic.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -43,7 +43,7 @@
 
 @dircategory Emacs
 @direntry
-* Semantic: (semantic).      Source code parser library and utilities.
+* Semantic: (semantic).         Source code parser library and utilities.
 @end direntry
 
 @titlepage
@@ -224,8 +224,8 @@
 to learn more about how @semantic{} works.
 
 @menu
-* Parser code ::	  Code used for the parsers
-* Tag handling ::	  Code used for manipulating tags
+* Parser code ::          Code used for the parsers
+* Tag handling ::         Code used for manipulating tags
 * Semanticdb Internals :: Code used in the semantic database
 * Analyzer Internals ::   Code used in the code analyzer
 * Tools ::                Code used in user tools
--- a/doc/misc/ses.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/ses.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -11,8 +11,8 @@
 @copying
 This file documents SES: the Simple Emacs Spreadsheet.
 
-Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-Free Software Foundation, Inc.
+Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+2010 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -30,7 +30,7 @@
 
 @dircategory Emacs
 @direntry
-* SES: (ses).       Simple Emacs Spreadsheet
+* SES: (ses).                   Simple Emacs Spreadsheet.
 @end direntry
 
 @finalout
--- a/doc/misc/sieve.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/sieve.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -8,8 +8,8 @@
 @copying
 This file documents the Emacs Sieve package, for server-side mail filtering.
 
-Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-Free Software Foundation, Inc.
+Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+2009, 2010  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -227,7 +227,7 @@
 require "fileinto";
 
 if address "sender" "owner-w3-beta@@xemacs.org" @{
-	fileinto "INBOX.w3-beta";
+        fileinto "INBOX.w3-beta";
 @}
 @end example
 
@@ -238,7 +238,7 @@
 
 @example
 if header :contains "Delivered-To" "auc-tex@@sunsite.dk" @{
-	fileinto "INBOX.auc-tex";
+        fileinto "INBOX.auc-tex";
 @}
 @end example
 
@@ -249,7 +249,7 @@
 
 @example
 if address ["to", "cc"] "kerberos@@mit.edu" @{
-	fileinto "INBOX.kerberos";
+        fileinto "INBOX.kerberos";
 @}
 @end example
 
--- a/doc/misc/smtpmail.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/smtpmail.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -22,7 +22,7 @@
 
 @dircategory Emacs
 @direntry
-* SMTP: (smtpmail). Emacs library for sending mail via SMTP.
+* SMTP: (smtpmail).             Emacs library for sending mail via SMTP.
 @end direntry
 
 @titlepage
@@ -44,17 +44,17 @@
 @end ifnottex
 
 @menu
-* How Mail Works::	Brief introduction to mail concepts.
+* How Mail Works::      Brief introduction to mail concepts.
 * Emacs Speaks SMTP::   How to use the SMTP library in Emacs.
-* Authentication::	Authenticating yourself to the server.
-* Queued delivery::	Sending mail without an internet connection.
-* Server workarounds::	Mail servers with special requirements.
-* Debugging::		Tracking down problems.
+* Authentication::      Authenticating yourself to the server.
+* Queued delivery::     Sending mail without an internet connection.
+* Server workarounds::  Mail servers with special requirements.
+* Debugging::           Tracking down problems.
 * GNU Free Documentation License:: The license for this documentation.
 
 Indices
 
-* Index::		Index over variables and functions.
+* Index::               Index over variables and functions.
 @end menu
 
 @node How Mail Works
@@ -355,15 +355,15 @@
 set this unless you have get an error like:
 
 @example
-	Sending failed; SMTP protocol error
+        Sending failed; SMTP protocol error
 @end example
 
 when sending mail, and the debug buffer (@pxref{Debugging})) contains
 an error such as:
 
 @example
-	RCPT TO: @var{someone}
-	501 @var{someone}: recipient address must contain a domain
+        RCPT TO: @var{someone}
+        501 @var{someone}: recipient address must contain a domain
 @end example
 
 @end table
--- a/doc/misc/speedbar.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/speedbar.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -23,7 +23,7 @@
 
 @dircategory Emacs
 @direntry
-* Speedbar: (speedbar). File/Tag summarizing utility.
+* Speedbar: (speedbar).         File/Tag summarizing utility.
 @end direntry
 
 @titlepage
@@ -1131,7 +1131,7 @@
 
 @example
 (add-to-list 'speedbar-dynamic-tags-function-list
-	     '(my-fetch-dynamic-tags  . my-insert-tag-list))
+             '(my-fetch-dynamic-tags . my-insert-tag-list))
 @end example
 
 If your parser is only good for a few types of files, make sure that it
Binary file doc/misc/tramp.texi has changed
--- a/doc/misc/url.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/url.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -15,7 +15,7 @@
 @dircategory World Wide Web
 @dircategory Emacs
 @direntry
-* URL: (url).                 URL loading package.
+* URL: (url).                   URL loading package.
 @end direntry
 
 @copying
--- a/doc/misc/vip.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/vip.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -3,8 +3,8 @@
 @settitle VIP
 
 @copying
-Copyright @copyright{} 1987, 2001, 2002, 2003, 2004,
-2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+Copyright @copyright{} 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+2008, 2009, 2010 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -38,7 +38,7 @@
 
 @dircategory Emacs
 @direntry
-* VIP: (vip).		An older VI-emulation for Emacs.
+* VIP: (vip).                   An older VI-emulation for Emacs.
 @end direntry
 
 @ifnottex
@@ -65,10 +65,10 @@
 @end ifnottex
 
 @menu
-* Survey::		A survey of VIP.
-* Vi Commands::		Details of Vi commands.
-* Ex Commands::		Details of Ex commands.
-* Customization::	How to customize VIP.
+* Survey::              A survey of VIP.
+* Vi Commands::         Details of Vi commands.
+* Ex Commands::         Details of Ex commands.
+* Customization::       How to customize VIP.
 * GNU Free Documentation License:: The license for this documentation.
 
 @end menu
@@ -99,10 +99,10 @@
 found in Vi and on how to use VIP under GNU Emacs.
 
 @menu
-* Basic Concepts::	Basic concepts in Emacs.
-* Loading VIP::		How to load VIP automatically.
-* Modes in VIP::	VIP has three modes, which are orthogonal to modes
-			in Emacs.
+* Basic Concepts::      Basic concepts in Emacs.
+* Loading VIP::         How to load VIP automatically.
+* Modes in VIP::        VIP has three modes, which are orthogonal to modes
+                          in Emacs.
 * Differences from Vi:: Differences of VIP from Vi is explained.
 @end menu
 
@@ -253,10 +253,10 @@
 @end ifinfo
 
 @menu
-* Emacs Mode::		This is the mode you should know better.
-* Vi Mode::		Vi commands are executed in this mode.
-* Insert Mode::		You can enter text, and also can do editing if you
-			know enough Emacs commands.
+* Emacs Mode::          This is the mode you should know better.
+* Vi Mode::             Vi commands are executed in this mode.
+* Insert Mode::         You can enter text, and also can do editing if you
+                          know enough Emacs commands.
 @end menu
 
 @node Emacs Mode, Vi Mode, Modes in VIP, Modes in VIP
@@ -306,23 +306,23 @@
 The major differences from Vi are explained below.
 
 @menu
-* Undoing::		You can undo more in VIP.
-* Changing::		Commands for changing the text.
-* Searching::		Search commands.
-* z Command::		You can now use zH, zM and zL as well as z- etc.
-* Counts::		Some Vi commands which do not accept a count now
-			accept one.
-* Marking::		You can now mark the current point, beginning of
-			the buffer etc.
-* Region Commands::	You can now give a region as an argument for delete
-			commands etc.
-* New Commands::	Some new commands not available in Vi are added.
-* New Bindings::	Bindings of some keys are changed for the
-			convenience of editing under Emacs.
-* Window Commands::	Commands for moving among windows etc.
-* Buffer Commands::	Commands for selecting buffers etc.
-* File Commands::	Commands for visiting files etc.
-* Misc Commands::	Other useful commands.
+* Undoing::             You can undo more in VIP.
+* Changing::            Commands for changing the text.
+* Searching::           Search commands.
+* z Command::           You can now use zH, zM and zL as well as z- etc.
+* Counts::              Some Vi commands which do not accept a count now
+                        accept one.
+* Marking::             You can now mark the current point, beginning of
+                        the buffer etc.
+* Region Commands::     You can now give a region as an argument for delete
+                        commands etc.
+* New Commands::        Some new commands not available in Vi are added.
+* New Bindings::        Bindings of some keys are changed for the
+                        convenience of editing under Emacs.
+* Window Commands::     Commands for moving among windows etc.
+* Buffer Commands::     Commands for selecting buffers etc.
+* File Commands::       Commands for visiting files etc.
+* Misc Commands::       Other useful commands.
 @end menu
 
 @node Undoing, Changing, Differences from Vi, Differences from Vi
@@ -693,17 +693,17 @@
 commands described in this chapter are to be used in vi mode.
 
 @menu
-* Numeric Arguments::	Many commands accept numeric arguments
-* Important Keys::	Some very important keys.
-* Buffers and Windows::	Commands for handling buffers and windows.
-* Files::		Commands for handling files.
-* Viewing the Buffer::	How you can view the current buffer.
-* Mark Commands::	Marking positions in a buffer.
-* Motion Commands::	Commands for moving point.
-* Searching and Replacing::	Commands for searching and replacing.
-* Modifying Commands::	Commands for modifying the buffer.
-* Other Vi Commands::	Miscellaneous Commands.
-* Commands in Insert Mode::	Commands for entering insert mode.
+* Numeric Arguments::        Many commands accept numeric arguments
+* Important Keys::           Some very important keys.
+* Buffers and Windows::      Commands for handling buffers and windows.
+* Files::                    Commands for handling files.
+* Viewing the Buffer::       How you can view the current buffer.
+* Mark Commands::            Marking positions in a buffer.
+* Motion Commands::          Commands for moving point.
+* Searching and Replacing::  Commands for searching and replacing.
+* Modifying Commands::       Commands for modifying the buffer.
+* Other Vi Commands::        Miscellaneous Commands.
+* Commands in Insert Mode::  Commands for entering insert mode.
 @end menu
 
 @node Numeric Arguments, Important Keys, Vi Commands, Vi Commands
@@ -1265,7 +1265,7 @@
 @var{newstring}.  If the mode is regular expression, @var{string} is
 treated as a regular expression and every string matching the regular
 expression is replaced with @var{newstring} (@code{vip-replace-string}).
-@item Q	@var{string} RET @var{newstring}
+@item Q @var{string} RET @var{newstring}
 @kindex 121 @kbd{Q} (@code{vip-query-replace})
 Same as @kbd{R} except that you will be asked form confirmation before each
 replacement
@@ -1311,10 +1311,10 @@
 command.
 
 @menu
-* Delete Commands::	Commands for deleting text.
-* Yank Commands::	Commands for yanking text in Vi's sense.
-* Put Back Commands::	Commands for putting back deleted/yanked text.
-* Change Commands::	Commands for changing text.
+* Delete Commands::     Commands for deleting text.
+* Yank Commands::       Commands for yanking text in Vi's sense.
+* Put Back Commands::   Commands for putting back deleted/yanked text.
+* Change Commands::     Commands for changing text.
 * Repeating and Undoing Modifications::
 @end menu
 @node Delete Commands, Yank Commands, Modifying Commands, Modifying Commands
@@ -1713,7 +1713,7 @@
 character @samp{|}.
 
 @menu
-* Ex Command Reference::	Explain all the Ex commands available in VIP.
+* Ex Command Reference::        Explain all the Ex commands available in VIP.
 @end menu
 @node Ex Command Reference, Customization, Ex Commands, Ex Commands
 @section Ex Command Reference
@@ -1869,8 +1869,8 @@
 customizing VIP.
 
 @menu
-* Customizing Constants::	How to change values of constants.
-* Customizing Key Bindings::	How to change key bindings.
+* Customizing Constants::       How to change values of constants.
+* Customizing Key Bindings::    How to change key bindings.
 @end menu
 
 @node Customizing Constants, Customizing Key Bindings, Customization, Customization
--- a/doc/misc/viper.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/viper.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -26,9 +26,9 @@
 
 @dircategory Emacs
 @direntry
-* VIPER: (viper).       The newest Emacs VI-emulation mode.
-                          (also, A VI Plan for Emacs Rescue
-                           or the VI PERil.)
+* VIPER: (viper).               The newest Emacs VI-emulation mode.
+                                  (also, A VI Plan for Emacs Rescue
+                                  or the VI PERil.)
 @end direntry
 
 @finalout
@@ -3004,14 +3004,14 @@
 found on the Vi archives.  This reference has been adapted for Viper.@refill
 
 @menu
-* Groundwork::			Textual Conventions and Viper basics
-* Text Handling::		Moving, Editing, Undoing.
-* Display::			Scrolling.
-* File and Buffer Handling::	Editing, Writing and Quitting.
-* Mapping::			Mapping Keys, Keyboard Macros
-* Shell Commands::		Accessing Shell Commands, Processing Text
-* Options::			Ex options, the @kbd{:set} commands
-* Emacs Related Commands::	Meta Keys, Windows
+* Groundwork::                  Textual Conventions and Viper basics
+* Text Handling::               Moving, Editing, Undoing.
+* Display::                     Scrolling.
+* File and Buffer Handling::    Editing, Writing and Quitting.
+* Mapping::                     Mapping Keys, Keyboard Macros
+* Shell Commands::              Accessing Shell Commands, Processing Text
+* Options::                     Ex options, the @kbd{:set} commands
+* Emacs Related Commands::      Meta Keys, Windows
 * Mouse-bound Commands::        Search and insertion of text
 @end menu
 
@@ -3230,15 +3230,15 @@
 @section Text Handling
 
 @menu
-* Move Commands::		Moving, Searching
-* Marking::		        Textmarkers in Viper and the Emacs Mark.
-* Appending Text::		Text insertion, Shifting, Putting
-* Editing in Insert State::	Autoindent, Quoting etc.
-* Deleting Text::		Deleting
-* Changing Text::		Changing, Replacement, Joining
-* Search and Replace::		Searches, Query Replace, Pattern Commands
-* Yanking::			Yanking, Viewing Registers
-* Undoing::			Multiple Undo, Backups
+* Move Commands::               Moving, Searching
+* Marking::                     Textmarkers in Viper and the Emacs Mark.
+* Appending Text::              Text insertion, Shifting, Putting
+* Editing in Insert State::     Autoindent, Quoting etc.
+* Deleting Text::               Deleting
+* Changing Text::               Changing, Replacement, Joining
+* Search and Replace::          Searches, Query Replace, Pattern Commands
+* Yanking::                     Yanking, Viewing Registers
+* Undoing::                     Multiple Undo, Backups
 @end menu
 
 @node Move Commands,Marking,,Text Handling
--- a/doc/misc/widget.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/widget.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -8,8 +8,8 @@
 @c %**end of header
 
 @copying
-Copyright @copyright{} 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+Copyright @copyright{} 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+2008, 2009, 2010  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -27,8 +27,8 @@
 
 @dircategory Emacs
 @direntry
-* Widget: (widget).      The "widget" package used by the Emacs Customization
-                           facility.
+* Widget: (widget).             The "widget" package used by the Emacs
+                                  Customization facility.
 @end direntry
 
 @contents
@@ -338,71 +338,71 @@
   (remove-overlays)
   (widget-insert "Here is some documentation.\n\n")
   (widget-create 'editable-field
-		 :size 13
-		 :format "Name: %v " ; Text after the field!
-		 "My Name")
+                 :size 13
+                 :format "Name: %v " ; Text after the field!
+                 "My Name")
   (widget-create 'menu-choice
-		 :tag "Choose"
-		 :value "This"
-		 :help-echo "Choose me, please!"
-		 :notify (lambda (widget &rest ignore)
-			   (message "%s is a good choice!"
-				    (widget-value widget)))
-		 '(item :tag "This option" :value "This")
-		 '(choice-item "That option")
-		 '(editable-field :menu-tag "No option" "Thus option"))
+                 :tag "Choose"
+                 :value "This"
+                 :help-echo "Choose me, please!"
+                 :notify (lambda (widget &rest ignore)
+                           (message "%s is a good choice!"
+                                    (widget-value widget)))
+                 '(item :tag "This option" :value "This")
+                 '(choice-item "That option")
+                 '(editable-field :menu-tag "No option" "Thus option"))
   (widget-create 'editable-field
-		 :format "Address: %v"
-		 "Some Place\nIn some City\nSome country.")
+                 :format "Address: %v"
+                 "Some Place\nIn some City\nSome country.")
   (widget-insert "\nSee also ")
   (widget-create 'link
-		 :notify (lambda (&rest ignore)
-			   (widget-value-set widget-example-repeat
-					     '("En" "To" "Tre"))
-			   (widget-setup))
-		 "other work")
+                 :notify (lambda (&rest ignore)
+                           (widget-value-set widget-example-repeat
+                                             '("En" "To" "Tre"))
+                           (widget-setup))
+                 "other work")
   (widget-insert
     " for more information.\n\nNumbers: count to three below\n")
   (setq widget-example-repeat
-	(widget-create 'editable-list
-		       :entry-format "%i %d %v"
-		       :notify (lambda (widget &rest ignore)
-				 (let ((old (widget-get widget
-							':example-length))
-				       (new (length (widget-value widget))))
-				   (unless (eq old new)
-				     (widget-put widget ':example-length new)
-				     (message "You can count to %d." new))))
-		       :value '("One" "Eh, two?" "Five!")
-		       '(editable-field :value "three")))
+        (widget-create 'editable-list
+                       :entry-format "%i %d %v"
+                       :notify (lambda (widget &rest ignore)
+                                 (let ((old (widget-get widget
+                                                        ':example-length))
+                                       (new (length (widget-value widget))))
+                                   (unless (eq old new)
+                                     (widget-put widget ':example-length new)
+                                     (message "You can count to %d." new))))
+                       :value '("One" "Eh, two?" "Five!")
+                       '(editable-field :value "three")))
   (widget-insert "\n\nSelect multiple:\n\n")
   (widget-create 'checkbox t)
   (widget-insert " This\n")
   (widget-create 'checkbox nil)
   (widget-insert " That\n")
   (widget-create 'checkbox
-		 :notify (lambda (&rest ignore) (message "Tickle"))
-		 t)
+                 :notify (lambda (&rest ignore) (message "Tickle"))
+                 t)
   (widget-insert " Thus\n\nSelect one:\n\n")
   (widget-create 'radio-button-choice
-		 :value "One"
-		 :notify (lambda (widget &rest ignore)
-			   (message "You selected %s"
-				    (widget-value widget)))
-		 '(item "One") '(item "Another One.") '(item "A Final One."))
+                 :value "One"
+                 :notify (lambda (widget &rest ignore)
+                           (message "You selected %s"
+                                    (widget-value widget)))
+                 '(item "One") '(item "Another One.") '(item "A Final One."))
   (widget-insert "\n")
   (widget-create 'push-button
-		 :notify (lambda (&rest ignore)
-			   (if (= (length (widget-value widget-example-repeat))
-				  3)
-			       (message "Congratulation!")
-			     (error "Three was the count!")))
-		 "Apply Form")
+                 :notify (lambda (&rest ignore)
+                           (if (= (length (widget-value widget-example-repeat))
+                                  3)
+                               (message "Congratulation!")
+                             (error "Three was the count!")))
+                 "Apply Form")
   (widget-insert " ")
   (widget-create 'push-button
-		 :notify (lambda (&rest ignore)
-			   (widget-example))
-		 "Reset Form")
+                 :notify (lambda (&rest ignore)
+                           (widget-example))
+                 "Reset Form")
   (widget-insert "\n")
   (use-local-map widget-keymap)
   (widget-setup))
--- a/doc/misc/woman.texi	Sat Jul 10 17:29:46 2010 +0300
+++ b/doc/misc/woman.texi	Sat Jul 10 14:52:53 2010 -0400
@@ -4,7 +4,7 @@
 @settitle WoMan: Browse Unix Manual Pages ``W.O. (without) Man''
 @c FIXME
 @c Manual last updated:
-@set UPDATED Time-stamp: <Sat 16-Jan-2010 19:18:43 gm on grasmoor>
+@set UPDATED Time-stamp: <Thu 24-Jun-2010 00:06:54 gm on grasmoor>
 @c Software version:
 @set VERSION 0.54 (beta)
 @afourpaper
@@ -37,7 +37,7 @@
 
 @dircategory Emacs
 @direntry
-* WoMan: (woman).       Browse UN*X Manual Pages "W.O. (without) Man".
+* WoMan: (woman).               Browse UN*X Manual Pages "W.O. (without) Man".
 @end direntry
 
 @finalout
--- a/etc/ChangeLog	Sat Jul 10 17:29:46 2010 +0300
+++ b/etc/ChangeLog	Sat Jul 10 14:52:53 2010 -0400
@@ -1,3 +1,7 @@
+2010-06-19  Ken Brown  <kbrown@cornell.edu>
+
+	* PROBLEMS: Update Cygwin GCC information.  (Bug#6458)
+
 2010-06-12  Glenn Morris  <rgm@gnu.org>
 
 	* tutorials/TUTORIAL.bg, tutorials/TUTORIAL.es: Fix typos.
--- a/etc/PROBLEMS	Sat Jul 10 17:29:46 2010 +0300
+++ b/etc/PROBLEMS	Sat Jul 10 14:52:53 2010 -0400
@@ -2339,17 +2339,10 @@
 
 (using the location of the 32-bit X libraries on your system).
 
-*** Building the Cygwin port for MS-Windows can fail with some GCC versions
-
-Building Emacs 22 with Cygwin builds of GCC 3.4.4-1 and 3.4.4-2 is
-reported to either fail or cause Emacs to segfault at run time.  In
-addition, the Cygwin GCC 3.4.4-2 has problems with generating debug
-info.  Cygwin users are advised not to use these versions of GCC for
-compiling Emacs.  GCC versions 4.0.3, 4.0.4, 4.1.1, and 4.1.2
-reportedly build a working Cygwin binary of Emacs, so we recommend
-these GCC versions.  Note that these versions of GCC, 4.0.3, 4.0.4,
-4.1.1, and 4.1.2, are currently the _only_ versions known to succeed
-in building Emacs (as of v22.1).
+*** Building Emacs for Cygwin can fail with GCC 3
+
+As of Emacs 22.1, there have been stability problems with Cygwin
+builds of Emacs using GCC 3.  Cygwin users are advised to use GCC 4.
 
 *** Building the native MS-Windows port fails due to unresolved externals
 
--- a/info/dir	Sat Jul 10 17:29:46 2010 +0300
+++ b/info/dir	Sat Jul 10 14:52:53 2010 -0400
@@ -19,75 +19,78 @@
 
 * Menu:
 
-* Info: (info).         How to use the documentation browsing system.
+* Info: (info).                 How to use the documentation browsing system.
 
 Emacs
-* Emacs: (emacs).       The extensible self-documenting text editor.
-* Emacs FAQ: (efaq).    Frequently Asked Questions about Emacs.
+* Emacs: (emacs).               The extensible self-documenting text editor.
+* Emacs FAQ: (efaq).            Frequently Asked Questions about Emacs.
 
 GNU Emacs Lisp
-* Emacs Lisp Intro: (eintr).
-                          A simple introduction to Emacs Lisp programming.
-* Elisp: (elisp).       The Emacs Lisp Reference Manual.
+* Emacs Lisp Intro: (eintr).    A simple introduction to Emacs Lisp programming.
+* Elisp: (elisp).               The Emacs Lisp Reference Manual.
 
 Emacs editing modes
-* Ada mode: (ada-mode). Emacs mode for editing and compiling Ada code.
-* CC Mode: (ccmode).    Emacs mode for editing C, C++, Objective-C,
-                        Java, Pike, AWK, and CORBA IDL code.
-* IDLWAVE: (idlwave).   Major mode and shell for IDL files.
+* Ada mode: (ada-mode).         Emacs mode for editing and compiling Ada code.
+* CC Mode: (ccmode).            Emacs mode for editing C, C++, Objective-C,
+                                  Java, Pike, AWK, and CORBA IDL code.
+* IDLWAVE: (idlwave).           Major mode and shell for IDL files.
 * nXML Mode: (nxml-mode).       XML editing mode with RELAX NG support.
-* Org Mode: (org).      Outline-based notes management and organizer
+* Org Mode: (org).              Outline-based notes management and organizer
 
 Emacs network features
-* EUDC: (eudc).   An Emacs client for directory servers (LDAP, PH).
-* Gnus: (gnus).         The newsreader Gnus.
-* Mairix: (mairix-el).  Emacs interface to the Mairix mail indexer.
-* MH-E: (mh-e).         Emacs interface to the MH mail system.
-* Message: (message).   Mail and news composition mode that goes with Gnus.
-* Newsticker: (newsticker). A Newsticker for Emacs.
-* PGG: (pgg).   Emacs interface to various PGP implementations.
-* ERC: (erc).           Powerful, modular, and extensible IRC client for Emacs.
-* Rcirc: (rcirc).       Internet Relay Chat (IRC) client.
-* SASL: (sasl).         The Emacs SASL library.
-* SC: (sc).             Supercite lets you cite parts of messages you're
-                          replying to, in flexible ways.
+* EUDC: (eudc).                 Emacs client for directory servers (LDAP, PH).
+* Gnus: (gnus).                 The newsreader Gnus.
+* Mairix: (mairix-el).          Emacs interface to the Mairix mail indexer.
+* MH-E: (mh-e).                 Emacs interface to the MH mail system.
+* Message: (message).           Mail and news composition mode that
+                                  goes with Gnus.
+* Newsticker: (newsticker).     A Newsticker for Emacs.
+* PGG: (pgg).                   Emacs interface to various PGP implementations.
+* ERC: (erc).                   Powerful and extensible IRC client for Emacs.
+* Rcirc: (rcirc).               Internet Relay Chat (IRC) client.
+* SASL: (sasl).                 The Emacs SASL library.
+* SC: (sc).                     Supercite lets you cite parts of messages
+                                  you're replying to, in flexible ways.
 * Sieve: (sieve).               Managing Sieve scripts in Emacs.
-* TRAMP: (tramp).                Transparent Remote Access, Multiple Protocol
-                                 GNU Emacs remote file access via rsh and rcp.
+* TRAMP: (tramp).               Transparent Remote Access, Multiple Protocol
+                                  GNU Emacs remote file access via rsh and rcp.
 
 Emacs misc features
-* Autotype: (autotype). Convenient features for text that you enter frequently
-                          in Emacs.
-* Calc: (calc).         Advanced desk calculator and mathematical tool.
-* Dired-X: (dired-x).   Dired Extra Features.
-* EasyPG Assistant: (epa).   An Emacs user interface to GNU Privacy Guard.
-* Ebrowse: (ebrowse).   A C++ class browser for Emacs.
-* EDE: (ede).           The Emacs Development Environment.
-* Ediff: (ediff).       A visual interface for comparing and merging programs.
-* EDT: (edt).           An Emacs emulation of the EDT editor.
-* EIEIO: (eieio).       An object system for Emacs Lisp.
-* Eshell: (eshell).     A command shell implemented in Emacs Lisp.
-* Flymake: (flymake).   A universal on-the-fly syntax checker.
-* Forms: (forms).       Emacs package for editing data bases
-                          by filling in forms.
-* PCL-CVS: (pcl-cvs).   Emacs front-end to CVS.
-* RefTeX: (reftex).     Emacs support for LaTeX cross-references and citations.
-* Remember: (remember). Simple information manager for Emacs.
-* Semantic: (semantic). Source code parsing utilities for Emacs.
-* SES: (ses).       Simple Emacs Spreadsheet
-* Speedbar: (speedbar). File/Tag summarizing utility.
-* VIP: (vip).           An older VI-emulation for Emacs.
-* VIPER: (viper).       The newest Emacs VI-emulation mode.
-                          (also, A VI Plan for Emacs Rescue
-                           or the VI PERil.)
-* WoMan: (woman).       Browse UN*X Manual Pages "W.O. (without) Man".
+* Autotype: (autotype).         Convenient features for text that you enter
+                                  frequently in Emacs.
+* Calc: (calc).                 Advanced desk calculator and mathematical tool.
+* Dired-X: (dired-x).           Dired Extra Features.
+* EasyPG Assistant: (epa).      An Emacs user interface to GNU Privacy Guard.
+* Ebrowse: (ebrowse).           A C++ class browser for Emacs.
+* EDE: (ede).                   The Emacs Development Environment.
+* Ediff: (ediff).               A visual interface for comparing and
+                                  merging programs.
+* EDT: (edt).                   An Emacs emulation of the EDT editor.
+* EIEIO: (eieio).               An object system for Emacs Lisp.
+* Eshell: (eshell).             A command shell implemented in Emacs Lisp.
+* Flymake: (flymake).           A universal on-the-fly syntax checker.
+* Forms: (forms).               Emacs package for editing data bases
+                                  by filling in forms.
+* PCL-CVS: (pcl-cvs).           Emacs front-end to CVS.
+* RefTeX: (reftex).             Emacs support for LaTeX cross-references
+                                  and citations.
+* Remember: (remember).         Simple information manager for Emacs.
+* Semantic: (semantic).         Source code parsing utilities for Emacs.
+* SES: (ses).                   Simple Emacs Spreadsheet
+* Speedbar: (speedbar).         File/Tag summarizing utility.
+* VIP: (vip).                   An older VI-emulation for Emacs.
+* VIPER: (viper).               The newest Emacs VI-emulation mode.
+                                  (also, A VI Plan for Emacs Rescue
+                                  or the VI PERil.)
+* WoMan: (woman).               Browse UN*X Manual Pages "W.O. (without) Man".
 
 Emacs lisp libraries
-* Auth-source: (auth).  A single configuration for multiple applications.
-* CL: (cl).             Partial Common Lisp support for Emacs Lisp.
+* Auth-source: (auth).          A single configuration for multiple
+                                  applications.
+* CL: (cl).                     Partial Common Lisp support for Emacs Lisp.
 * D-Bus: (dbus).                Using D-Bus in Emacs.
-* Emacs MIME: (emacs-mime).   Emacs MIME de/composition library.
-* URL: (url).                 URL loading package.
-* Widget: (widget).      The "widget" package used by the Emacs Customization
-                           facility.
-* SMTP: (smtpmail). Emacs library for sending mail via SMTP.
+* Emacs MIME: (emacs-mime).     Emacs MIME de/composition library.
+* URL: (url).                   URL loading package.
+* Widget: (widget).             The "widget" package used by the Emacs
+                                  Customization facility.
+* SMTP: (smtpmail).             Emacs library for sending mail via SMTP.
--- a/lisp/ChangeLog	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/ChangeLog	Sat Jul 10 14:52:53 2010 -0400
@@ -17,6 +17,12 @@
 	(ispell-complete-word): Use ispell-complete-word-dict or
 	ispell-alternate-dictionary.
 
+2010-07-07  Christoph Scholtes  <cschol2112@gmail.com>
+
+	* progmodes/python.el (python-font-lock-keywords): Add Python 2.7
+	builtins (BufferError, BytesWarning, WindowsError; callables
+	bin, bytearray, bytes, format, memoryview, next, print; __package__).
+
 2010-07-07  Glenn Morris  <rgm@gnu.org>
 
 	* play/zone.el (top-level): Do not require timer, tabify, or cl.
@@ -207,6 +213,75 @@
 
 2010-06-21  Karl Fogel  <kfogel@red-bean.com>
 
+	* play/zone.el (zone-fall-through-ws): Fix next-line ->
+	forward-line fallout.
+
+2010-07-06  Chong Yidong  <cyd@stupidchicken.com>
+
+	* mouse.el (mouse-appearance-menu): Add docstring.
+
+	* help.el (describe-key): Print up-event using key-description.
+
+2010-07-03  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/zeroconf.el (zeroconf-resolve-service)
+	(zeroconf-service-resolver-handler): Use
+	`dbus-byte-array-to-string'.
+	(zeroconf-publish-service): Use `dbus-string-to-byte-array'.
+
+2010-07-03  Jan Moringen  <jan.moringen@uni-bielefeld.de>
+
+	* net/zeroconf.el (zeroconf-service-remove-hook): New defun.
+
+2010-06-30  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	Avoid displaying files with a nil state in vc-dir.
+	* vc-dir.el (vc-dir-update): Obey the noinsert argument in all
+	cases that cause insertion.
+	(vc-dir-resynch-file): Tell vc-dir-update to avoid inserting files
+	with a nil state.
+
+2010-06-30  Chong Yidong  <cyd@stupidchicken.com>
+
+	* xml.el (xml-parse-region): Avoid infloop (Bug#5281).
+
+2010-06-29  Leo  <sdl.web@gmail.com>
+
+	* emacs-lisp/rx.el (rx): Doc fix.  (Bug#6537)
+
+2010-06-27  Oleksandr Gavenko  <gavenkoa@gmail.com>  (tiny change)
+
+	* generic-x.el (bat-generic-mode): Fix regexp for command line
+	switches (Bug#5719).
+
+2010-06-27  Masatake YAMATO  <yamato@redhat.com>
+
+	* htmlfontify.el (hfy-face-attr-for-class): Use append instead
+	of nconc to avoid pure storage error (Bug#6239).
+
+2010-06-27  Christoph  <cschol2112@googlemail.com>  (tiny change)
+
+	* bookmark.el (bookmark-bmenu-2-window, bookmark-bmenu-other-window)
+	(bookmark-bmenu-other-window-with-mouse): Remove unnecessary
+	bindings of bookmark-automatically-show-annotations (Bug#6515).
+
+2010-06-25  Eli Zaretskii  <eliz@gnu.org>
+
+	* arc-mode.el (archive-zip-extract): Don't quote the file name on
+	MS-Windows and MS-DOS.  (Bug#6467, Bug#6144)
+
+2010-06-24  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
+
+	* comint.el (make-comint, make-comint-in-buffer): Mention return
+	value in the docstrings.  (Bug#6498)
+
+2010-06-24  Yoni Rabkin  <yoni@rabkins.net>
+
+	* bs.el (bs-mode-font-lock-keywords): Remove "by" from Dired pattern,
+	since it is not present when using some non-default switches.
+
+2010-06-23  Karl Fogel  <kfogel@red-bean.com>
+
 	* simple.el (compose-mail): Fix doc string to refer to
 	`compose-mail-user-agent-warnings', instead of to the
 	nonexistent `compose-mail-check-user-agent'.
@@ -320,6 +395,66 @@
 
 	* emacs-lisp/package.el: New file.
 
+2010-06-22  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	Fix vc-annotate for renamed files when using Git.
+	* vc-git.el (vc-git-find-revision): Deal with empty results from
+	ls-files.  Doe not pass the object as a file name to cat-file, it
+	is not a file name.
+	(vc-git-annotate-command): Pass the file name using -- to avoid
+	ambiguity with the revision.
+	(vc-git-previous-revision): Pass a relative file name.
+
+2010-06-22  Glenn Morris  <rgm@gnu.org>
+
+	* progmodes/js.el (js-mode-map): Use standard capitalization and
+	ellipses for menu entries.
+
+	* wid-edit.el (widget-complete): Doc fix.
+
+2010-06-22  Jürgen Hötzel  <juergen@hoetzel.info>  (tiny change)
+
+	* wid-edit.el (widget-complete): Fix typo in 2009-12-02 change.
+
+2010-06-22  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	Fix annotating other revisions for renamed files in vc-annotate.
+	* vc-annotate.el (vc-annotate): Add an optional argument for the
+	VC backend.  Use it when non-nil.
+	(vc-annotate-warp-revision): Pass the VC backend to vc-annotate.  (Bug#6487)
+
+	Fix vc-annotate-show-changeset-diff-revision-at-line for git.
+	* vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal):
+	Do not pass the file name to the 'previous-revision call when we
+	don't want a file diff.  (Bug#6489)
+
+2010-06-21  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	Fix finding revisions for renamed files in vc-annotate.
+	* vc.el (vc-find-revision): Add an optional argument for
+	the VC backend.  Use it when non-nil.
+	* vc-annotate.el (vc-annotate-find-revision-at-line): Pass the VC
+	backend to vc-find-revision.  (Bug#6487)
+
+2010-06-21  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	Fix reading file names in Git annotate buffers.
+	* vc-git.el (vc-git-annotate-extract-revision-at-line): Remove
+	trailing whitespace.  Suggested by Eric Hanchrow.  (Bug#6481)
+
+2010-06-20  Alan Mackenzie  <acm@muc.de>
+
+	* progmodes/cc-mode.el (c-before-hack-hook): When the mode is set
+	in file local variables, set it first.
+
+2010-06-19  Glenn Morris  <rgm@gnu.org>
+
+	* descr-text.el (describe-char-unicode-data): Insert separating
+	space when needed.  (Bug#6422)
+
+	* progmodes/idlwave.el (idlwave-action-and-binding):
+	Fix typo in 2009-12-03 change.  (Bug#6450)
+
 2010-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* emacs-lisp/macroexp.el (macroexpand-all-1): Put back special
@@ -335,6 +470,8 @@
 	* facemenu.el (list-colors-display): Call `pop-to-buffer' before
 	`list-colors-print'.  (Bug#6332)
 
+	* subr.el (read-quoted-char): Fix up last change (bug#6290).
+
 2010-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* emacs-lisp/macroexp.el (macroexpand-all-1): Don't handle `lambda'
--- a/lisp/arc-mode.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/arc-mode.el	Sat Jul 10 14:52:53 2010 -0400
@@ -1811,10 +1811,13 @@
    (t
     (archive-extract-by-stdout
      archive
-     ;; unzip expands wildcards in NAME, so we need to quote it.
+     ;; unzip expands wildcards in NAME, so we need to quote it.  But
+     ;; not on DOS/Windows, since that fails extraction on those
+     ;; systems, and file names with wildcards in zip archives don't
+     ;; work there anyway.
      ;; FIXME: Does pkunzip need similar treatment?
-     ;; (7z doesn't need to quote wildcards)
-     (if (equal (car archive-zip-extract) "unzip")
+     (if (and (not (memq system-type '(windows-nt ms-dos)))
+	      (equal (car archive-zip-extract) "unzip"))
 	 (shell-quote-argument name)
        name)
      archive-zip-extract))))
--- a/lisp/bs.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/bs.el	Sat Jul 10 14:52:53 2010 -0400
@@ -195,7 +195,7 @@
 	     'font-lock-constant-face
 	   'font-lock-comment-face))
    ;; Dired-Buffers
-   '("^..\\(.*Dired by .*\\)$" 1 font-lock-function-name-face)
+   '("^..\\(.*Dired .*\\)$" 1 font-lock-function-name-face)
    ;; the star for modified buffers
    '("^.\\(\\*\\) +[^\\*]"     1 font-lock-comment-face))
   "Default font lock expressions for Buffer Selection Menu.")
--- a/lisp/comint.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/comint.el	Sat Jul 10 14:52:53 2010 -0400
@@ -701,7 +701,9 @@
 STARTFILE is the name of a file, whose contents are sent to the
 process as its initial input.
 
-If PROGRAM is a string, any more args are arguments to PROGRAM."
+If PROGRAM is a string, any more args are arguments to PROGRAM.
+
+Returns the (possibly newly created) process buffer."
   (or (fboundp 'start-file-process)
       (error "Multi-processing is not supported for this system"))
   (setq buffer (get-buffer-create (or buffer (concat "*" name "*"))))
@@ -725,7 +727,9 @@
 STARTFILE is the name of a file, whose contents are sent to the
 process as its initial input.
 
-If PROGRAM is a string, any more args are arguments to PROGRAM."
+If PROGRAM is a string, any more args are arguments to PROGRAM.
+
+Returns the (possibly newly created) process buffer."
   (apply #'make-comint-in-buffer name nil program startfile switches))
 
 ;;;###autoload
--- a/lisp/descr-text.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/descr-text.el	Sat Jul 10 14:52:53 2010 -0400
@@ -301,7 +301,7 @@
 				   (lambda (arg)
 				     (string (string-to-number arg 16)))
 				   parts " "))
-		      (concat info parts))))
+		      (concat info (if info " ") parts))))
 	       (list "Decimal digit value"
 		     (nth 5 fields))
 	       (list "Digit value"
--- a/lisp/dnd.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/dnd.el	Sat Jul 10 14:52:53 2010 -0400
@@ -1,8 +1,9 @@
-;;; dnd.el --- drag and drop support.
+;;; dnd.el --- drag and drop support.  -*- coding: utf-8 -*-
 
-;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
+;;   Free Software Foundation, Inc.
 
-;; Author: Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
+;; Author: Jan Djärv <jan.h.d@swipnet.se>
 ;; Maintainer: FSF
 ;; Keywords: window, drag, drop
 
--- a/lisp/emacs-lisp/cl-loaddefs.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/emacs-lisp/cl-loaddefs.el	Sat Jul 10 14:52:53 2010 -0400
@@ -282,7 +282,7 @@
 ;;;;;;  flet progv psetq do-all-symbols do-symbols dotimes dolist
 ;;;;;;  do* do loop return-from return block etypecase typecase ecase
 ;;;;;;  case load-time-value eval-when destructuring-bind function*
-;;;;;;  defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "36cafd5054969b5bb0b1ce6a21605fed")
+;;;;;;  defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "49b7d96626dd8ba5d39551909edbd4c7")
 ;;; Generated autoloads from cl-macs.el
 
 (autoload 'gensym "cl-macs" "\
--- a/lisp/emacs-lisp/rx.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/emacs-lisp/rx.el	Sat Jul 10 14:52:53 2010 -0400
@@ -1053,9 +1053,6 @@
      like `and', but makes the match accessible with `match-end',
      `match-beginning', and `match-string'.
 
-`(group SEXP1 SEXP2 ...)'
-     another name for `submatch'.
-
 `(or SEXP1 SEXP2 ...)'
 `(| SEXP1 SEXP2 ...)'
      matches anything that matches SEXP1 or SEXP2, etc.  If all
--- a/lisp/emulation/cua-base.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/emulation/cua-base.el	Sat Jul 10 14:52:53 2010 -0400
@@ -4,7 +4,7 @@
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Kim F. Storm <storm@cua.dk>
-;; Keywords: keyboard emulation convenience cua
+;; Keywords: keyboard emulations convenience cua
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/pc-select.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/emulation/pc-select.el	Sat Jul 10 14:52:53 2010 -0400
@@ -6,7 +6,7 @@
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Staats <michael@thp.Uni-Duisburg.DE>
-;; Keywords: convenience emulation
+;; Keywords: convenience emulations
 ;; Created: 26 Sep 1995
 
 ;; This file is part of GNU Emacs.
--- a/lisp/generic-x.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/generic-x.el	Sat Jul 10 14:52:53 2010 -0400
@@ -508,8 +508,7 @@
      '("^[ \t]*\\(:\\sw+\\)"         1 font-lock-function-name-face t)
      '("\\(%\\sw+%\\)"               1 font-lock-variable-name-face t)
      '("\\(%[0-9]\\)"                1 font-lock-variable-name-face t)
-     '("\\(/[^/ \"\t\n]+\\)"         1 font-lock-type-face)
-     '("[\t ]+\\([+-][^\t\n\" ]+\\)" 1 font-lock-type-face)
+     '("[\t ]+\\([+-/][^\t\n\" ]+\\)" 1 font-lock-type-face)
      '("[ \t\n|]\\<\\([gG][oO][tT][oO]\\)\\>[ \t]*\\(\\sw+\\)?"
        (1 font-lock-keyword-face)
        (2 font-lock-function-name-face nil t))
--- a/lisp/help.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/help.el	Sat Jul 10 14:52:53 2010 -0400
@@ -768,9 +768,10 @@
 
 ----------------- up-event %s----------------
 
-<%S>%s%s runs the command %S, which is "
+%s%s%s runs the command %S, which is "
 			   (if mouse-1-tricky "(short click) " "")
-			   ev-type mouse-msg
+			   (key-description (vector up-event))
+			   mouse-msg
 			   (if mouse-1-remapped
                                " is remapped to <mouse-2>, which" "")
 			   defn-up))
--- a/lisp/hl-line.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/hl-line.el	Sat Jul 10 14:52:53 2010 -0400
@@ -1,12 +1,12 @@
 ;;; hl-line.el --- highlight the current line
 
-;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+;;   2008, 2009, 2010  Free Software Foundation, Inc.
 
 ;; Author:  Dave Love <fx@gnu.org>
 ;; Maintainer: FSF
 ;; Created: 1998-09-13
-;; Keywords: faces, frames, emulation
+;; Keywords: faces, frames, emulations
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/htmlfontify.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/htmlfontify.el	Sat Jul 10 14:52:53 2010 -0400
@@ -926,7 +926,7 @@
                new-spec)))))
     (if (or (memq :inherit face-spec) (eq 'default face))
         face-spec
-      (nconc face-spec (list :inherit 'default))) ))
+      (append face-spec (list :inherit 'default)))))
 
 ;; construct an assoc of (css-tag-name . css-tag-value) pairs
 ;; from a face or assoc of face attributes:
--- a/lisp/mouse.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/mouse.el	Sat Jul 10 14:52:53 2010 -0400
@@ -2357,6 +2357,7 @@
 (declare-function font-face-attributes "font.c" (font &optional frame))
 
 (defun mouse-appearance-menu (event)
+  "Show a menu for changing the default face in the current buffer."
   (interactive "@e")
   (require 'face-remap)
   (when (display-multi-font-p)
--- a/lisp/net/zeroconf.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/net/zeroconf.el	Sat Jul 10 14:52:53 2010 -0400
@@ -336,6 +336,23 @@
       (puthash type l-hook zeroconf-service-removed-hooks-hash)))
    (t (error "EVENT must be either `:new' or `:removed'"))))
 
+(defun zeroconf-service-remove-hook (type event function)
+  "Remove FUNCTION from the hook of service type TYPE.
+
+EVENT must be either :new or :removed and has to match the event
+type used when registering FUNCTION."
+  (let* ((table (cond
+		 ((equal event :new)
+		  zeroconf-service-added-hooks-hash)
+		 ((equal event :removed)
+		  zeroconf-service-removed-hooks-hash)
+		 (t (error "EVENT must be either `:new' or `:removed'"))))
+	 (l-hook (gethash type table nil)))
+    (remove-hook 'l-hook function)
+    (if l-hook
+	(puthash type l-hook table)
+      (remhash type table))))
+
 (defun zeroconf-get-host ()
   "Returns the local host name as string."
   (dbus-call-method
@@ -407,7 +424,7 @@
 	      (elt (nth 9 result))) ;; TXT.
 	 ;; The TXT field has the signature "aay".  Transform to "as".
 	 (while elt
-	   (setcar elt (apply 'string (car elt)))
+	   (setcar elt (dbus-byte-array-to-string (car elt)))
 	   (setq elt (cdr elt)))
 
 	 (when nil ;; We discard it, no use so far.
@@ -599,7 +616,7 @@
   ;; The "TXT" field has the signature "aay".  Transform to "as".
   (let ((elt (nth 9 val)))
     (while elt
-      (setcar elt (apply 'string (car elt)))
+      (setcar elt (dbus-byte-array-to-string (car elt)))
       (setq elt (cdr elt))))
   (when zeroconf-debug
     (message "zeroconf-service-resolver-handler: %s %S"
@@ -641,11 +658,7 @@
 
     ;; The TXT field has the signature "as".  Transform to "aay".
     (dolist (elt txt)
-      (let (args)
-	(add-to-list
-	 'result
-	 (dolist (elt1 (string-to-list elt) (append '(:array) args))
-	   (setq args (append args (list :byte elt1)))))))
+      (add-to-list 'result (dbus-string-to-byte-array elt)))
 
     ;; Add the service.
     (dbus-call-method
--- a/lisp/play/zone.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/play/zone.el	Sat Jul 10 14:52:53 2010 -0400
@@ -478,8 +478,10 @@
          (wait 0.15)
          newpos fall-p)
     (while (when (save-excursion
-                   (forward-line 1)
-                   (and (= col (current-column))
+                   (and (zerop (forward-line 1))
+                        (progn
+                          (forward-char col)
+                          (= col (current-column)))
                         (setq newpos (point))
                         (string= spaces (buffer-substring-no-properties
                                          newpos (+ newpos cw-ceil)))
--- a/lisp/progmodes/cc-mode.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/progmodes/cc-mode.el	Sat Jul 10 14:52:53 2010 -0400
@@ -669,8 +669,13 @@
 
 This function is called from the hook `before-hack-local-variables-hook'."
   (when c-buffer-is-cc-mode
-    (let ((stile (cdr (assq 'c-file-style file-local-variables-alist)))
+    (let ((mode-cons (assq 'mode file-local-variables-alist))
+	  (stile (cdr (assq 'c-file-style file-local-variables-alist)))
 	  (offsets (cdr (assq 'c-file-offsets file-local-variables-alist))))
+      (when mode-cons
+	(hack-one-local-variable (car mode-cons) (cdr mode-cons))
+	(setq file-local-variables-alist
+	      (delq mode-cons file-local-variables-alist)))
       (when stile
 	(or (stringp stile) (error "c-file-style is not a string"))
 	(c-set-style stile))
--- a/lisp/progmodes/idlwave.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/progmodes/idlwave.el	Sat Jul 10 14:52:53 2010 -0400
@@ -1602,7 +1602,7 @@
         `(lambda ()
            (interactive)
            (self-insert-command 1)
-           ,@(if (listp cmd) cmd (list cmd))))))
+           ,(if (listp cmd) cmd (list cmd))))))
 
 ;; Set action and key bindings.
 ;; See description of the function `idlwave-action-and-binding'.
--- a/lisp/progmodes/js.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/progmodes/js.el	Sat Jul 10 14:52:53 2010 -0400
@@ -474,8 +474,7 @@
 (defcustom js-js-tmpdir
   "~/.emacs.d/js/js"
   "Temporary directory used by `js-mode' to communicate with Mozilla.
-This directory must be readable and writable by both Mozilla and
-Emacs."
+This directory must be readable and writable by both Mozilla and Emacs."
   :type 'directory
   :group 'js)
 
@@ -499,11 +498,11 @@
     (define-key keymap [(meta ?.)] #'js-find-symbol)
     (easy-menu-define nil keymap "Javascript Menu"
       '("Javascript"
-        ["Select new Mozilla context…" js-set-js-context
+        ["Select New Mozilla Context..." js-set-js-context
          (fboundp #'inferior-moz-process)]
-        ["Evaluate expression in Mozilla context…" js-eval
+        ["Evaluate Expression in Mozilla Context..." js-eval
          (fboundp #'inferior-moz-process)]
-        ["Send current function to Mozilla…" js-eval-defun
+        ["Send Current Function to Mozilla..." js-eval-defun
          (fboundp #'inferior-moz-process)]))
     keymap)
   "Keymap for `js-mode'.")
--- a/lisp/progmodes/python.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/progmodes/python.el	Sat Jul 10 14:52:53 2010 -0400
@@ -93,7 +93,7 @@
 
 (defvar python-font-lock-keywords
   `(,(rx symbol-start
-	 ;; From v 2.5 reference, § keywords.
+	 ;; From v 2.7 reference, § keywords.
 	 ;; def and class dealt with separately below
 	 (or "and" "as" "assert" "break" "continue" "del" "elif" "else"
 	     "except" "exec" "finally" "for" "from" "global" "if"
@@ -102,7 +102,7 @@
              ;; Not real keywords, but close enough to be fontified as such
              "self" "True" "False")
 	 symbol-end)
-    (,(rx symbol-start "None" symbol-end)	; see § Keywords in 2.5 manual
+    (,(rx symbol-start "None" symbol-end)	; see § Keywords in 2.7 manual
      . font-lock-constant-face)
     ;; Definitions
     (,(rx symbol-start (group "class") (1+ space) (group (1+ (or word ?_))))
@@ -117,7 +117,7 @@
 					    (0+ "." (1+ (or word ?_)))))
      (1 font-lock-type-face))
     ;; Built-ins.  (The next three blocks are from
-    ;; `__builtin__.__dict__.keys()' in Python 2.5.1.)  These patterns
+    ;; `__builtin__.__dict__.keys()' in Python 2.7)  These patterns
     ;; are debateable, but they at least help to spot possible
     ;; shadowing of builtins.
     (,(rx symbol-start (or
@@ -135,7 +135,9 @@
 	  "SystemExit" "TabError" "TypeError" "UnboundLocalError"
 	  "UnicodeDecodeError" "UnicodeEncodeError" "UnicodeError"
 	  "UnicodeTranslateError" "UnicodeWarning" "UserWarning"
-	  "ValueError" "Warning" "ZeroDivisionError") symbol-end)
+	  "ValueError" "Warning" "ZeroDivisionError"
+	  ;; Python 2.7
+	  "BufferError" "BytesWarning" "WindowsError") symbol-end)
      . font-lock-type-face)
     (,(rx (or line-start (not (any ". \t"))) (* (any " \t")) symbol-start
 	  (group (or
@@ -152,12 +154,16 @@
 	  "range" "raw_input" "reduce" "reload" "repr" "reversed"
 	  "round" "set" "setattr" "slice" "sorted" "staticmethod"
 	  "str" "sum" "super" "tuple" "type" "unichr" "unicode" "vars"
-	  "xrange" "zip")) symbol-end)
+	  "xrange" "zip"
+	  ;; Python 2.7.
+	  "bin" "bytearray" "bytes" "format" "memoryview" "next" "print"
+	  )) symbol-end)
      (1 font-lock-builtin-face))
     (,(rx symbol-start (or
 	  ;; other built-ins
 	  "True" "False" "None" "Ellipsis"
-	  "_" "__debug__" "__doc__" "__import__" "__name__") symbol-end)
+	  "_" "__debug__" "__doc__" "__import__" "__name__" "__package__")
+          symbol-end)
      . font-lock-builtin-face)))
 
 (defconst python-font-lock-syntactic-keywords
--- a/lisp/subr.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/subr.el	Sat Jul 10 14:52:53 2010 -0400
@@ -1874,12 +1874,11 @@
       ;; Note: `read-char' does it using the `ascii-character' property.
       ;; We should try and use read-key instead.
       (let ((translation (lookup-key local-function-key-map (vector char))))
-	(if (arrayp translation)
-	    (setq translated (aref translation 0))))
-      (setq translated
-	    (if (integerp char)
-		(char-resolve-modifiers char)
-	      char))
+	(setq translated (if (arrayp translation)
+			     (aref translation 0)
+			   char)))
+      (if (integerp translated)
+	  (setq translated (char-resolve-modifiers translated)))
       (cond ((null translated))
 	    ((not (integerp translated))
 	     (setq unread-command-events (list char)
--- a/lisp/url/ChangeLog	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/url/ChangeLog	Sat Jul 10 14:52:53 2010 -0400
@@ -806,7 +806,7 @@
 	(url-http-parse-headers): Use it.
 	(url-http-handle-authentication): Use subst-char-in-string.
 
-2005-11-16  Juergen Hoetzel  <emacs@hoetzel.info>  (tiny change)
+2005-11-16  Jürgen Hötzel  <emacs@hoetzel.info>  (tiny change)
 
 	* url-handlers.el (url-insert-file-contents): Use the charset info
 	provided by the HTTP server, if any.
--- a/lisp/vc/vc-annotate.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/vc/vc-annotate.el	Sat Jul 10 14:52:53 2010 -0400
@@ -315,7 +315,7 @@
 		  vc-annotate-display-mode))))
 
 ;;;###autoload
-(defun vc-annotate (file rev &optional display-mode buf move-point-to)
+(defun vc-annotate (file rev &optional display-mode buf move-point-to vc-bk)
   "Display the edit history of the current FILE using colors.
 
 This command creates a buffer that shows, for each line of the current
@@ -336,6 +336,8 @@
 
 If MOVE-POINT-TO is given, move the point to that line.
 
+If VC-BK is given used that VC backend.
+
 Customization variables:
 
 `vc-annotate-menu-elements' customizes the menu elements of the
@@ -376,7 +378,7 @@
 		;; In case it had to be uniquified.
 		(setq temp-buffer-name (buffer-name))))
     (with-output-to-temp-buffer temp-buffer-name
-      (let ((backend (vc-backend file))
+      (let ((backend (or vc-bk (vc-backend file)))
 	    (coding-system-for-read buffer-file-coding-system))
         (vc-call-backend backend 'annotate-command file
                          (get-buffer temp-buffer-name) rev)
@@ -462,7 +464,7 @@
       (if (not rev-at-line)
 	  (message "Cannot extract revision number from the current line")
 	(switch-to-buffer-other-window
-	 (vc-find-revision (cdr rev-at-line) (car rev-at-line)))))))
+	 (vc-find-revision (cdr rev-at-line) (car rev-at-line) vc-annotate-backend))))))
 
 (defun vc-annotate-revision-previous-to-line ()
   "Visit the annotation of the revision before the revision at line."
@@ -527,7 +529,7 @@
 	  (message "Cannot extract revision number from the current line")
 	(setq prev-rev
 	      (vc-call-backend vc-annotate-backend 'previous-revision
-                               fname rev))
+                               (if filediff fname nil) rev))
 	(if (not prev-rev)
 	    (message "Cannot diff from any revision prior to %s" rev)
 	  (save-window-excursion
@@ -597,7 +599,8 @@
 		     ;; place the point in the line.
 		     (min oldline (progn (goto-char (point-max))
                                          (forward-line -1)
-                                         (line-number-at-pos))))))))
+                                         (line-number-at-pos)))
+		     vc-annotate-backend)))))
 
 (defun vc-annotate-compcar (threshold a-list)
   "Test successive cons cells of A-LIST against THRESHOLD.
--- a/lisp/vc/vc-dir.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/vc/vc-dir.el	Sat Jul 10 14:52:53 2010 -0400
@@ -412,22 +412,24 @@
 		(setq entry (car entries))
 		(setq node (ewoc-next vc-ewoc node)))
 	       (t
-		(ewoc-enter-before vc-ewoc node
-				   (apply 'vc-dir-create-fileinfo entry))
+		(unless noinsert
+		  (ewoc-enter-before vc-ewoc node
+				     (apply 'vc-dir-create-fileinfo entry)))
 		(setq entries (cdr entries))
 		(setq entry (car entries))))))
 	   (t
-	    ;; We might need to insert a directory node if the
-	    ;; previous node was in a different directory.
-	    (let* ((rd (file-relative-name entrydir))
-		   (prev-node (ewoc-prev vc-ewoc node))
-		   (prev-dir (vc-dir-node-directory prev-node)))
-	      (unless (string-equal entrydir prev-dir)
-		(ewoc-enter-before
-		 vc-ewoc node (vc-dir-create-fileinfo rd nil nil nil entrydir))))
-	    ;; Now insert the node itself.
-	    (ewoc-enter-before vc-ewoc node
-			       (apply 'vc-dir-create-fileinfo entry))
+	    (unless noinsert
+	      ;; We might need to insert a directory node if the
+	      ;; previous node was in a different directory.
+	      (let* ((rd (file-relative-name entrydir))
+		     (prev-node (ewoc-prev vc-ewoc node))
+		     (prev-dir (vc-dir-node-directory prev-node)))
+		(unless (string-equal entrydir prev-dir)
+		  (ewoc-enter-before
+		   vc-ewoc node (vc-dir-create-fileinfo rd nil nil nil entrydir))))
+	      ;; Now insert the node itself.
+	      (ewoc-enter-before vc-ewoc node
+				 (apply 'vc-dir-create-fileinfo entry)))
 	    (setq entries (cdr entries) entry (car entries))))))
       ;; We're past the last node, all remaining entries go to the end.
       (unless (or node noinsert)
@@ -902,10 +904,12 @@
 		      (vc-dir-resync-directory-files file)
 		      (ewoc-set-hf vc-ewoc
 				   (vc-dir-headers vc-dir-backend default-directory) ""))
-                  (let ((state (vc-dir-recompute-file-state file ddir)))
+                  (let* ((complete-state (vc-dir-recompute-file-state file ddir))
+			 (state (cadr complete-state)))
                     (vc-dir-update
-                     (list state)
-                     status-buf (eq (cadr state) 'up-to-date))))))))))
+                     (list complete-state)
+                     status-buf (or (not state)
+				    (eq state 'up-to-date)))))))))))
     ;; Remove out-of-date entries from vc-dir-buffers.
     (dolist (b drop) (setq vc-dir-buffers (delq b vc-dir-buffers)))))
 
--- a/lisp/vc/vc-git.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/vc/vc-git.el	Sat Jul 10 14:52:53 2010 -0400
@@ -563,13 +563,18 @@
   (let* (process-file-side-effects
 	 (coding-system-for-read 'binary)
 	 (coding-system-for-write 'binary)
-	 (fullname (substring
-		    (vc-git--run-command-string
-		     file "ls-files" "-z" "--full-name" "--")
-		    0 -1)))
+	 (fullname
+	  (let ((fn (vc-git--run-command-string
+		     file "ls-files" "-z" "--full-name" "--")))
+	    ;; ls-files does not return anything when looking for a
+	    ;; revision of a file that has been renamed or removed.
+	    (if (string= fn "")
+		(file-relative-name file (vc-git-root default-directory))
+	      (substring fn 0 -1)))))
     (vc-git-command
      buffer 0
-     (concat (if rev rev "HEAD") ":" fullname) "cat-file" "blob")))
+     nil
+     "cat-file" "blob" (concat (if rev rev "HEAD") ":" fullname))))
 
 (defun vc-git-checkout (file &optional editable rev)
   (vc-git-command nil 0 file "checkout" (or rev "HEAD")))
@@ -723,7 +728,7 @@
 
 (defun vc-git-annotate-command (file buf &optional rev)
   (let ((name (file-relative-name file)))
-    (vc-git-command buf 'async name "blame" "--date=iso" "-C" "-C" rev)))
+    (vc-git-command buf 'async nil "blame" "--date=iso" "-C" "-C" rev "--" name)))
 
 (declare-function vc-annotate-convert-time "vc-annotate" (time))
 
@@ -740,8 +745,12 @@
     (when (looking-at "\\([0-9a-f^][0-9a-f]+\\) \\(\\([^(]+\\) \\)?")
       (let ((revision (match-string-no-properties 1)))
 	(if (match-beginning 2)
-	    (cons revision (expand-file-name (match-string-no-properties 3)
-					     (vc-git-root default-directory)))
+	    (let ((fname (match-string-no-properties 3)))
+	      ;; Remove trailing whitespace from the file name.
+	      (when (string-match " +\\'" fname)
+		(setq fname (substring fname 0 (match-beginning 0))))
+	      (cons revision
+		    (expand-file-name fname (vc-git-root default-directory))))
 	  revision)))))
 
 ;;; TAG SYSTEM
@@ -765,11 +774,10 @@
 (defun vc-git-previous-revision (file rev)
   "Git-specific version of `vc-previous-revision'."
   (if file
-      (let* ((default-directory (file-name-directory (expand-file-name file)))
-             (file (file-name-nondirectory file))
+      (let* ((fname (file-relative-name file))
              (prev-rev (with-temp-buffer
                          (and
-                          (vc-git--out-ok "rev-list" "-2" rev "--" file)
+                          (vc-git--out-ok "rev-list" "-2" rev "--" fname)
                           (goto-char (point-max))
                           (bolp)
                           (zerop (forward-line -1))
--- a/lisp/vc/vc.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/vc/vc.el	Sat Jul 10 14:52:53 2010 -0400
@@ -1700,8 +1700,9 @@
 		    rev)))
     (switch-to-buffer-other-window (vc-find-revision file revision))))
 
-(defun vc-find-revision (file revision)
-  "Read REVISION of FILE into a buffer and return the buffer."
+(defun vc-find-revision (file revision &optional backend)
+  "Read REVISION of FILE into a buffer and return the buffer.
+Use BACKEND as the VC backend if specified."
   (let ((automatic-backup (vc-version-backup-file-name file revision))
 	(filebuf (or (get-file-buffer file) (current-buffer)))
         (filename (vc-version-backup-file-name file revision 'manual)))
@@ -1719,7 +1720,9 @@
 		      ;; Change buffer to get local value of
 		      ;; vc-checkout-switches.
 		      (with-current-buffer filebuf
-			(vc-call find-revision file revision outbuf))))
+			(if backend
+			    (vc-call-backend backend 'find-revision file revision outbuf)
+			  (vc-call find-revision file revision outbuf)))))
 		  (setq failed nil))
 	      (when (and failed (file-exists-p filename))
 		(delete-file filename))))
--- a/lisp/wid-edit.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/wid-edit.el	Sat Jul 10 14:52:53 2010 -0400
@@ -1156,14 +1156,17 @@
     (if field
 	(narrow-to-region (line-beginning-position) (line-end-position)))))
 
+;; This used to say:
+;; "When not inside a field, move to the previous button or field."
+;; but AFAICS, it has always just thrown an error.
 (defun widget-complete ()
   "Complete content of editable field from point.
-When not inside a field, move to the previous button or field."
+When not inside a field, signal an error."
   (interactive)
   (let ((field (widget-field-find (point))))
-    (when field
-      (widget-apply field :complete))
-    (error "Not in an editable field")))
+    (if field
+	(widget-apply field :complete)
+      (error "Not in an editable field"))))
 
 ;;; Setting up the buffer.
 
--- a/lisp/x-dnd.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/x-dnd.el	Sat Jul 10 14:52:53 2010 -0400
@@ -1,9 +1,9 @@
-;;; x-dnd.el --- drag and drop support for X.
+;;; x-dnd.el --- drag and drop support for X  -*- coding: utf-8 -*-
 
 ;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
 ;;   Free Software Foundation, Inc.
 
-;; Author: Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
+;; Author: Jan Djärv <jan.h.d@swipnet.se>
 ;; Maintainer: FSF
 ;; Keywords: window, drag, drop
 
--- a/lisp/xml.el	Sat Jul 10 17:29:46 2010 +0300
+++ b/lisp/xml.el	Sat Jul 10 14:52:53 2010 -0400
@@ -321,18 +321,20 @@
 		(progn
 		  (forward-char -1)
 		  (setq result (xml-parse-tag parse-dtd parse-ns))
-		  (if (and xml result (not xml-sub-parser))
-		      ;;  translation of rule [1] of XML specifications
-		      (error "XML: (Not Well-Formed) Only one root tag allowed")
-		    (cond
-		     ((null result))
-		     ((and (listp (car result))
-			   parse-dtd)
-		      (setq dtd (car result))
-		      (if (cdr result)	; possible leading comment
-			  (add-to-list 'xml (cdr result))))
-		     (t
-		      (add-to-list 'xml result)))))
+		  (cond
+		   ((null result)
+		    ;; Not looking at an xml start tag.
+		    (forward-char 1))
+		   ((and xml (not xml-sub-parser))
+		    ;; Translation of rule [1] of XML specifications
+		    (error "XML: (Not Well-Formed) Only one root tag allowed"))
+		   ((and (listp (car result))
+			 parse-dtd)
+		    (setq dtd (car result))
+		    (if (cdr result)	; possible leading comment
+			(add-to-list 'xml (cdr result))))
+		   (t
+		    (add-to-list 'xml result))))
 	      (goto-char (point-max))))
 	  (if parse-dtd
 	      (cons dtd (nreverse xml))
--- a/src/ChangeLog	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/ChangeLog	Sat Jul 10 14:52:53 2010 -0400
@@ -802,7 +802,55 @@
 	Improve documentation.  Return font regardless of use_system_font.
 	(syms_of_xsettings): Improve documentation for font-use-system-font.
 
-2009-06-17  Naohiro Aota  <naota@elisp.net>  (tiny change)
+2010-07-10  Chong Yidong  <cyd@stupidchicken.com>
+
+	* xfaces.c (realize_face): Garbage the frame if a face is removed
+	(Bug#6593).
+
+2010-07-05  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* keyboard.c: Remove duplicate <setjmp.h>.
+	(read_key_sequence): Remove volatile qualifiers.
+
+2010-07-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	* dispextern.h (FRINGE_HEIGHT_BITS): New define.
+	(struct glyph_row): New members left_fringe_offset and
+	right_fringe_offset.
+
+	* xterm.c (x_draw_fringe_bitmap): Don't clip bottom aligned bitmap
+	specially.
+	* w32term.c (w32_draw_fringe_bitmap): Likewise.
+	* nsterm.m (ns_draw_fringe_bitmap): Likewise.
+
+	* fringe.c (draw_fringe_bitmap_1): Don't clip bitmap here.
+	Take account of	bitmap offset.
+	(draw_window_fringes): Take account of window vscroll.
+	(update_window_fringes): Likewise.  Extend top-aligned top indicator
+	or bottom-aligned bottom indicator to adjacent rows if it doesn't fit
+	in one row.  Don't set redraw_fringe_bitmaps_p outside row comparison.
+	Set left_fringe_offset and right_fringe_offset (Bug#5634, Bug#6325).
+
+2010-07-04  Juanma Barranquero  <lekktu@gmail.com>
+
+	* w32fns.c (Qtooltip): Declare.
+	Suggested by Andy Moreton <andrewjmoreton@gmail.com>.
+
+2010-07-03  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* xmenu.c (x_activate_menubar): Send Press/Release for Gtk+ to avoid
+	grab on just Press (Bug#6499).
+
+2010-07-02  Chong Yidong  <cyd@stupidchicken.com>
+
+	* frame.c (Qtooltip): New var.
+	(delete_frame): Use it.  Fix faulty if statement.  Don't update
+	mode line for tooltip frames.  Suggested by Martin Rudalics.
+
+	* xfns.c (x_create_tip_frame):
+	* w32fns.c (x_create_tip_frame): Use it.
+
+2010-06-17  Naohiro Aota  <naota@elisp.net>  (tiny change)
 
 	* xftfont.c (xftfont_open): Check font width one by one also when
 	spacing is dual.
@@ -981,6 +1029,30 @@
 
 	* m/ibms390x.h: Rather than duplicating ibms390.h, just include it.
 
+2010-06-26  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* alloc.c (Fmake_byte_code): Don't access undefined argument
+	(Bug#6517).
+
+2010-06-25  Chong Yidong  <cyd@stupidchicken.com>
+
+	* xdisp.c (next_element_from_image): Ensure that after-strings are
+	read the next time we hit handle_stop (Bug#1336).
+
+2010-06-23  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* lread.c (read1): Signal error if #s is not followed by paren.
+
+2010-06-19  Chong Yidong  <cyd@stupidchicken.com>
+
+	* image.c (free_image): Mark frame as garbaged (Bug#6426).
+
+	* keymap.c (Fdefine_key): Doc fix (Bug#6460).
+
+2010-06-15  Glenn Morris  <rgm@gnu.org>
+
+	* editfns.c (Fbyte_to_string): Pacify compiler.
+
 2010-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* dbusbind.c (xd_append_arg): Don't "make-unibyte" the string.
--- a/src/alloc.c	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/alloc.c	Sat Jul 10 14:52:53 2010 -0400
@@ -3030,7 +3030,7 @@
   else
     val = Fmake_vector (len, Qnil);
 
-  if (STRINGP (args[1]) && STRING_MULTIBYTE (args[1]))
+  if (nargs > 1 && STRINGP (args[1]) && STRING_MULTIBYTE (args[1]))
     /* BYTECODE-STRING must have been produced by Emacs 20.2 or the
        earlier because they produced a raw 8-bit string for byte-code
        and now such a byte-code string is loaded as multibyte while
--- a/src/dispextern.h	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/dispextern.h	Sat Jul 10 14:52:53 2010 -0400
@@ -105,6 +105,8 @@
 /* Number of bits allocated to store fringe bitmap numbers.  */
 #define FRINGE_ID_BITS  16
 
+/* Number of bits allocated to store fringe bitmap height.  */
+#define FRINGE_HEIGHT_BITS 8
 
 
 /***********************************************************************
@@ -800,6 +802,12 @@
   /* Face of the right fringe glyph.  */
   unsigned right_fringe_face_id : FACE_ID_BITS;
 
+  /* Vertical offset of the left fringe bitmap.  */
+  signed left_fringe_offset : FRINGE_HEIGHT_BITS;
+
+  /* Vertical offset of the right fringe bitmap.  */
+  signed right_fringe_offset : FRINGE_HEIGHT_BITS;
+
   /* 1 means that we must draw the bitmaps of this row.  */
   unsigned redraw_fringe_bitmaps_p : 1;
 
--- a/src/frame.c	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/frame.c	Sat Jul 10 14:52:53 2010 -0400
@@ -100,6 +100,7 @@
 Lisp_Object Qheight, Qwidth;
 Lisp_Object Qleft, Qright;
 Lisp_Object Qicon_left, Qicon_top, Qicon_type, Qicon_name;
+Lisp_Object Qtooltip;
 Lisp_Object Qinternal_border_width;
 Lisp_Object Qmouse_color;
 Lisp_Object Qminibuffer;
@@ -1298,7 +1299,7 @@
   struct frame *sf = SELECTED_FRAME ();
   struct kboard *kb;
 
-  int minibuffer_selected;
+  int minibuffer_selected, tooltip_frame;
 
   if (EQ (frame, Qnil))
     {
@@ -1350,13 +1351,15 @@
 	}
     }
 
+  tooltip_frame = !NILP (Fframe_parameter (frame, intern ("tooltip")));
+
   /* Run `delete-frame-functions' unless FORCE is `noelisp' or
      frame is a tooltip.  FORCE is set to `noelisp' when handling
      a disconnect from the terminal, so we don't dare call Lisp
      code.  */
-  if (NILP (Vrun_hooks) || !NILP (Fframe_parameter (frame, intern ("tooltip"))))
+  if (NILP (Vrun_hooks) || tooltip_frame)
     ;
-  if (EQ (force, Qnoelisp))
+  else if (EQ (force, Qnoelisp))
     pending_funcalls
       = Fcons (list3 (Qrun_hook_with_args, Qdelete_frame_functions, frame),
 	       pending_funcalls);
@@ -1602,7 +1605,8 @@
     }
 
   /* Cause frame titles to update--necessary if we now have just one frame.  */
-  update_mode_lines = 1;
+  if (!tooltip_frame)
+    update_mode_lines = 1;
 
   return Qnil;
 }
@@ -4320,6 +4324,8 @@
   staticpro (&Qicon_left);
   Qicon_top = intern_c_string ("icon-top");
   staticpro (&Qicon_top);
+  Qtooltip = intern_c_string ("tooltip");
+  staticpro (&Qtooltip);
   Qleft = intern_c_string ("left");
   staticpro (&Qleft);
   Qright = intern_c_string ("right");
--- a/src/fringe.c	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/fringe.c	Sat Jul 10 14:52:53 2010 -0400
@@ -555,23 +555,26 @@
   struct fringe_bitmap *fb;
   int period;
   int face_id = DEFAULT_FACE_ID;
+  int offset, header_line_height;
 
-  p.cursor_p = 0;
   p.overlay_p = (overlay & 1) == 1;
   p.cursor_p = (overlay & 2) == 2;
 
   if (which != NO_FRINGE_BITMAP)
     {
+      offset = 0;
     }
   else if (left_p)
     {
       which = row->left_fringe_bitmap;
       face_id = row->left_fringe_face_id;
+      offset = row->left_fringe_offset;
     }
   else
     {
       which = row->right_fringe_bitmap;
       face_id = row->right_fringe_face_id;
+      offset = row->right_fringe_offset;
     }
 
   if (face_id == DEFAULT_FACE_ID)
@@ -591,7 +594,7 @@
   period = fb->period;
 
   /* Convert row to frame coordinates.  */
-  p.y = WINDOW_TO_FRAME_PIXEL_Y (w, row->y);
+  p.y = WINDOW_TO_FRAME_PIXEL_Y (w, row->y) + offset;
 
   p.which = which;
   p.bits = fb->bits;
@@ -600,9 +603,19 @@
   p.h = fb->height;
   p.dh = (period > 0 ? (p.y % period) : 0);
   p.h -= p.dh;
-  /* Clip bitmap if too high.  */
-  if (p.h > row->height)
-    p.h = row->height;
+
+  /* Adjust y to the offset in the row to start drawing the bitmap.  */
+  switch (fb->align)
+    {
+    case ALIGN_BITMAP_CENTER:
+      p.y += (row->height - p.h) / 2;
+      break;
+    case ALIGN_BITMAP_BOTTOM:
+      p.y += (row->visible_height - p.h);
+      break;
+    case ALIGN_BITMAP_TOP:
+      break;
+    }
 
   p.face = FACE_FROM_ID (f, face_id);
 
@@ -618,6 +631,9 @@
   /* Clear left fringe if no bitmap to draw or if bitmap doesn't fill
      the fringe.  */
   p.bx = -1;
+  header_line_height = WINDOW_HEADER_LINE_HEIGHT (w);
+  p.by = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height, row->y));
+  p.ny = row->visible_height;
   if (left_p)
     {
       int wd = WINDOW_LEFT_FRINGE_WIDTH (w);
@@ -628,7 +644,7 @@
 	p.wd = wd;
       p.x = x - p.wd - (wd - p.wd) / 2;
 
-      if (p.wd < wd || row->height > p.h)
+      if (p.wd < wd || p.y > p.by || p.y + p.h < p.by + p.ny)
 	{
 	  /* If W has a vertical border to its left, don't draw over it.  */
 	  wd -= ((!WINDOW_LEFTMOST_P (w)
@@ -650,35 +666,13 @@
       p.x = x + (wd - p.wd) / 2;
       /* Clear right fringe if no bitmap to draw of if bitmap doesn't fill
 	 the fringe.  */
-      if (p.wd < wd || row->height > p.h)
+      if (p.wd < wd || p.y > p.by || p.y + p.h < p.by + p.ny)
 	{
 	  p.bx = x;
 	  p.nx = wd;
 	}
     }
 
-  if (p.bx >= 0)
-    {
-      int header_line_height = WINDOW_HEADER_LINE_HEIGHT (w);
-
-      p.by = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height, row->y));
-      p.ny = row->visible_height;
-    }
-
-  /* Adjust y to the offset in the row to start drawing the bitmap.  */
-  switch (fb->align)
-    {
-    case ALIGN_BITMAP_CENTER:
-      p.y += (row->height - p.h) / 2;
-      break;
-    case ALIGN_BITMAP_BOTTOM:
-      p.h = fb->height;
-      p.y += (row->visible_height - p.h);
-      break;
-    case ALIGN_BITMAP_TOP:
-      break;
-    }
-
   FRAME_RIF (f)->draw_fringe_bitmap (w, row, &p);
 }
 
@@ -892,7 +886,7 @@
   struct glyph_row *row;
   int yb = window_text_bottom_y (w);
   int nrows = w->current_matrix->nrows;
-  int y = 0, rn;
+  int y, rn;
   int updated = 0;
 
   if (w->pseudo_window_p)
@@ -904,7 +898,7 @@
 	  || WINDOW_RIGHT_FRINGE_WIDTH (w) == 0))
     updated++;
 
-  for (y = 0, rn = 0, row = w->current_matrix->rows;
+  for (y = w->vscroll, rn = 0, row = w->current_matrix->rows;
        y < yb && rn < nrows;
        y += row->height, ++row, ++rn)
     {
@@ -938,6 +932,9 @@
   Lisp_Object ind = Qnil;
 #define MAX_BITMAP_CACHE (8*4)
   int bitmap_cache[MAX_BITMAP_CACHE];
+  int top_ind_rn, bot_ind_rn;
+  int top_ind_min_y, bot_ind_max_y;
+  int top_row_ends_at_zv_p, bot_row_ends_at_zv_p;
 
   if (w->pseudo_window_p)
     return 0;
@@ -966,11 +963,10 @@
 	boundary_top = boundary_bot = Qleft;
     }
 
+  top_ind_rn = bot_ind_rn = -1;
   if (!NILP (ind))
     {
-      int done_top = 0, done_bot = 0;
-
-      for (y = 0, rn = 0;
+      for (y = w->vscroll, rn = 0;
 	   y < yb && rn < nrows;
 	   y += row->height, ++rn)
 	{
@@ -991,31 +987,25 @@
 
 	  if (!row->mode_line_p)
 	    {
-	      if (!done_top)
+	      if (top_ind_rn < 0 && row->visible_height > 0)
 		{
 		  if (MATRIX_ROW_START_CHARPOS (row) <= BUF_BEGV (XBUFFER (w->buffer))
 		      && !MATRIX_ROW_PARTIALLY_VISIBLE_AT_TOP_P (w, row))
 		    row->indicate_bob_p = !NILP (boundary_top);
 		  else
 		    row->indicate_top_line_p = !NILP (arrow_top);
-		  done_top = 1;
+		  top_ind_rn = rn;
 		}
 
-	      if (!done_bot)
+	      if (bot_ind_rn < 0)
 		{
 		  if (MATRIX_ROW_END_CHARPOS (row) >= BUF_ZV (XBUFFER (w->buffer))
 		      && !MATRIX_ROW_PARTIALLY_VISIBLE_AT_BOTTOM_P (w, row))
-		    row->indicate_eob_p = !NILP (boundary_bot), done_bot = 1;
+		    row->indicate_eob_p = !NILP (boundary_bot), bot_ind_rn = rn;
 		  else if (y + row->height >= yb)
-		    row->indicate_bottom_line_p = !NILP (arrow_bot), done_bot = 1;
+		    row->indicate_bottom_line_p = !NILP (arrow_bot), bot_ind_rn = rn;
 		}
 	    }
-
-	  if (indicate_bob_p != row->indicate_bob_p
-	      || indicate_top_line_p != row->indicate_top_line_p
-	      || indicate_eob_p != row->indicate_eob_p
-	      || indicate_bottom_line_p != row->indicate_bottom_line_p)
-	    row->redraw_fringe_bitmaps_p = 1;
 	}
     }
 
@@ -1039,12 +1029,139 @@
       get_logical_fringe_bitmap (w, which, 1, partial_p)))
 
 
-  for (y = 0, rn = 0;
+  /* Extend top-aligned top indicator (or bottom-aligned bottom
+     indicator) to adjacent rows if it doesn't fit in one row.  */
+  top_ind_min_y = bot_ind_max_y = -1;
+  if (top_ind_rn >= 0)
+    {
+      int bn = NO_FRINGE_BITMAP;
+
+      row = w->desired_matrix->rows + top_ind_rn;
+      if (!row->enabled_p)
+	row = w->current_matrix->rows + top_ind_rn;
+
+      top_row_ends_at_zv_p = row->ends_at_zv_p;
+      if (row->indicate_bob_p)
+	{
+	  if (EQ (boundary_top, Qleft))
+	    bn = ((row->indicate_eob_p && EQ (boundary_bot, Qleft))
+		  ? LEFT_FRINGE (1, Qtop_bottom, row->ends_at_zv_p)
+		  : LEFT_FRINGE (2, Qtop, 0));
+	  else
+	    bn = ((row->indicate_eob_p && EQ (boundary_bot, Qright))
+		  ? RIGHT_FRINGE (1, Qtop_bottom, row->ends_at_zv_p)
+		  : RIGHT_FRINGE (2, Qtop, 0));
+	}
+      else if (row->indicate_top_line_p)
+	{
+	  if (EQ (arrow_top, Qleft))
+	    bn = LEFT_FRINGE (6, Qup, 0);
+	  else
+	    bn = RIGHT_FRINGE (6, Qup, 0);
+	}
+
+      if (bn != NO_FRINGE_BITMAP)
+	{
+	  struct fringe_bitmap *fb;
+
+	  fb = fringe_bitmaps[bn];
+	  if (fb == NULL)
+	    fb = &standard_bitmaps[bn < MAX_STANDARD_FRINGE_BITMAPS
+				   ? bn : UNDEF_FRINGE_BITMAP];
+	  if (fb->align == ALIGN_BITMAP_TOP && fb->period == 0)
+	    {
+	      struct glyph_row *row1;
+	      int top_ind_max_y;
+
+	      top_ind_min_y = WINDOW_HEADER_LINE_HEIGHT (w);
+	      top_ind_max_y = top_ind_min_y + fb->height;
+	      if (top_ind_max_y > yb)
+		top_ind_max_y = yb;
+
+	      for (y = row->y + row->height, rn = top_ind_rn + 1;
+		   y < top_ind_max_y && rn < nrows;
+		   y += row1->height, rn++)
+		{
+		  if (bot_ind_rn >= 0 && rn >= bot_ind_rn)
+		    break;
+
+		  row1 = w->desired_matrix->rows + rn;
+		  if (!row1->enabled_p)
+		    row1 = w->current_matrix->rows + rn;
+
+		  row1->indicate_bob_p = row->indicate_bob_p;
+		  row1->indicate_top_line_p = row->indicate_top_line_p;
+		}
+	    }
+	}
+    }
+  if (bot_ind_rn >= 0)
+    {
+      int bn = NO_FRINGE_BITMAP;
+
+      row = w->desired_matrix->rows + bot_ind_rn;
+      if (!row->enabled_p)
+	row = w->current_matrix->rows + bot_ind_rn;
+
+      bot_row_ends_at_zv_p = row->ends_at_zv_p;
+      if (row->indicate_eob_p)
+	{
+	  if (EQ (boundary_bot, Qleft))
+	    bn = LEFT_FRINGE (3, Qbottom, row->ends_at_zv_p);
+	  else
+	    bn = RIGHT_FRINGE (3, Qbottom, row->ends_at_zv_p);
+	}
+      else if (row->indicate_bottom_line_p)
+	{
+	  if (EQ (arrow_bot, Qleft))
+	    bn = LEFT_FRINGE (7, Qdown, 0);
+	  else
+	    bn = RIGHT_FRINGE (7, Qdown, 0);
+	}
+
+      if (bn != NO_FRINGE_BITMAP)
+	{
+	  struct fringe_bitmap *fb;
+
+	  fb = fringe_bitmaps[bn];
+	  if (fb == NULL)
+	    fb = &standard_bitmaps[bn < MAX_STANDARD_FRINGE_BITMAPS
+				   ? bn : UNDEF_FRINGE_BITMAP];
+	  if (fb->align == ALIGN_BITMAP_BOTTOM && fb->period == 0)
+	    {
+	      struct glyph_row *row1;
+	      int bot_ind_min_y;
+
+	      bot_ind_max_y = row->y + row->visible_height;
+	      bot_ind_min_y = bot_ind_max_y - fb->height;
+	      if (bot_ind_min_y < WINDOW_HEADER_LINE_HEIGHT (w))
+		bot_ind_min_y = WINDOW_HEADER_LINE_HEIGHT (w);
+
+	      for (y = row->y, rn = bot_ind_rn - 1;
+		   y >= bot_ind_min_y && rn >= 0;
+		   y -= row1->height, rn--)
+		{
+		  if (top_ind_rn >= 0 && rn <= top_ind_rn)
+		    break;
+
+		  row1 = w->desired_matrix->rows + rn;
+		  if (!row1->enabled_p)
+		    row1 = w->current_matrix->rows + rn;
+
+		  row1->indicate_eob_p = row->indicate_eob_p;
+		  row1->indicate_bottom_line_p = row->indicate_bottom_line_p;
+		}
+	    }
+	}
+    }
+
+  for (y = w->vscroll, rn = 0;
        y < yb && rn < nrows;
        y += row->height, rn++)
     {
       int left, right;
       unsigned left_face_id, right_face_id;
+      int left_offset, right_offset;
 
       row = w->desired_matrix->rows + rn;
       cur = w->current_matrix->rows + rn;
@@ -1052,6 +1169,7 @@
 	row = cur;
 
       left_face_id = right_face_id = DEFAULT_FACE_ID;
+      left_offset = right_offset = 0;
 
       /* Decide which bitmap to draw in the left fringe.  */
       if (WINDOW_LEFT_FRINGE_WIDTH (w) == 0)
@@ -1065,20 +1183,35 @@
 	       || (row->reversed_p && row->truncated_on_right_p))
 	left = LEFT_FRINGE(0, Qtruncation, 0);
       else if (row->indicate_bob_p && EQ (boundary_top, Qleft))
-	left = ((row->indicate_eob_p && EQ (boundary_bot, Qleft))
-		? LEFT_FRINGE (1, Qtop_bottom, row->ends_at_zv_p)
-		: LEFT_FRINGE (2, Qtop, 0));
+	{
+	  left = ((row->indicate_eob_p && EQ (boundary_bot, Qleft))
+		  ? LEFT_FRINGE (1, Qtop_bottom, top_row_ends_at_zv_p)
+		  : LEFT_FRINGE (2, Qtop, 0));
+	  if (top_ind_min_y >= 0)
+	    left_offset = top_ind_min_y - row->y;
+	}
       else if (row->indicate_eob_p && EQ (boundary_bot, Qleft))
-	left = LEFT_FRINGE (3, Qbottom, row->ends_at_zv_p);
-      else if ((!row->reversed_p && MATRIX_ROW_CONTINUATION_LINE_P (row))
-	       || (row->reversed_p && row->continued_p))
+	{
+	  left = LEFT_FRINGE (3, Qbottom, bot_row_ends_at_zv_p);
+	  if (bot_ind_max_y >= 0)
+	    left_offset = bot_ind_max_y - (row->y + row->visible_height);
+	}
+      else if (MATRIX_ROW_CONTINUATION_LINE_P (row))
 	left = LEFT_FRINGE (4, Qcontinuation, 0);
       else if (row->indicate_empty_line_p && EQ (empty_pos, Qleft))
 	left = LEFT_FRINGE (5, Qempty_line, 0);
       else if (row->indicate_top_line_p && EQ (arrow_top, Qleft))
-	left = LEFT_FRINGE (6, Qup, 0);
+	{
+	  left = LEFT_FRINGE (6, Qup, 0);
+	  if (top_ind_min_y >= 0)
+	    left_offset = top_ind_min_y - row->y;
+	}
       else if (row->indicate_bottom_line_p && EQ (arrow_bot, Qleft))
-	left = LEFT_FRINGE (7, Qdown, 0);
+	{
+	  left = LEFT_FRINGE (7, Qdown, 0);
+	  if (bot_ind_max_y >= 0)
+	    left_offset = bot_ind_max_y - (row->y + row->visible_height);
+	}
       else
 	left = NO_FRINGE_BITMAP;
 
@@ -1094,18 +1227,33 @@
 	       || (row->reversed_p && row->truncated_on_left_p))
 	right = RIGHT_FRINGE (0, Qtruncation, 0);
       else if (row->indicate_bob_p && EQ (boundary_top, Qright))
-	right = ((row->indicate_eob_p && EQ (boundary_bot, Qright))
-		 ? RIGHT_FRINGE (1, Qtop_bottom, row->ends_at_zv_p)
-		 : RIGHT_FRINGE (2, Qtop, 0));
+	{
+	  right = ((row->indicate_eob_p && EQ (boundary_bot, Qright))
+		   ? RIGHT_FRINGE (1, Qtop_bottom, top_row_ends_at_zv_p)
+		   : RIGHT_FRINGE (2, Qtop, 0));
+	  if (top_ind_min_y >= 0)
+	    right_offset = top_ind_min_y - row->y;
+	}
       else if (row->indicate_eob_p && EQ (boundary_bot, Qright))
-	right = RIGHT_FRINGE (3, Qbottom, row->ends_at_zv_p);
-      else if ((!row->reversed_p && row->continued_p)
-	       || (row->reversed_p && MATRIX_ROW_CONTINUATION_LINE_P (row)))
+	{
+	  right = RIGHT_FRINGE (3, Qbottom, bot_row_ends_at_zv_p);
+	  if (bot_ind_max_y >= 0)
+	    right_offset = bot_ind_max_y - (row->y + row->visible_height);
+	}
+      else if (row->continued_p)
 	right = RIGHT_FRINGE (4, Qcontinuation, 0);
       else if (row->indicate_top_line_p && EQ (arrow_top, Qright))
-	right = RIGHT_FRINGE (6, Qup, 0);
+	{
+	  right = RIGHT_FRINGE (6, Qup, 0);
+	  if (top_ind_min_y >= 0)
+	    right_offset = top_ind_min_y - row->y;
+	}
       else if (row->indicate_bottom_line_p && EQ (arrow_bot, Qright))
-	right = RIGHT_FRINGE (7, Qdown, 0);
+	{
+	  right = RIGHT_FRINGE (7, Qdown, 0);
+	  if (bot_ind_max_y >= 0)
+	    right_offset = bot_ind_max_y - (row->y + row->visible_height);
+	}
       else if (row->indicate_empty_line_p && EQ (empty_pos, Qright))
 	right = RIGHT_FRINGE (5, Qempty_line, 0);
       else
@@ -1118,6 +1266,8 @@
 	  || right != cur->right_fringe_bitmap
 	  || left_face_id != cur->left_fringe_face_id
 	  || right_face_id != cur->right_fringe_face_id
+	  || left_offset != cur->left_fringe_offset
+	  || right_offset != cur->right_fringe_offset
 	  || cur->redraw_fringe_bitmaps_p)
 	{
 	  redraw_p = row->redraw_fringe_bitmaps_p = 1;
@@ -1128,6 +1278,8 @@
 	      cur->right_fringe_bitmap = right;
 	      cur->left_fringe_face_id = left_face_id;
 	      cur->right_fringe_face_id = right_face_id;
+	      cur->left_fringe_offset = left_offset;
+	      cur->right_fringe_offset = right_offset;
 	    }
 	}
 
@@ -1144,9 +1296,8 @@
       row->right_fringe_bitmap = right;
       row->left_fringe_face_id = left_face_id;
       row->right_fringe_face_id = right_face_id;
-
-      if (rn > 0 && row->redraw_fringe_bitmaps_p)
-	row[-1].redraw_fringe_bitmaps_p = cur[-1].redraw_fringe_bitmaps_p = 1;
+      row->left_fringe_offset = left_offset;
+      row->right_fringe_offset = right_offset;
     }
 
   return redraw_p && !keep_current_p;
--- a/src/image.c	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/image.c	Sat Jul 10 14:52:53 2010 -0400
@@ -1053,6 +1053,10 @@
       /* Free resources, then free IMG.  */
       img->type->free (f, img);
       xfree (img);
+
+      /* As display glyphs may still be referring to the image ID, we
+	 must garbage the frame (Bug#6426).  */
+      SET_FRAME_GARBAGED (f);
     }
 }
 
--- a/src/keyboard.c	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/keyboard.c	Sat Jul 10 14:52:53 2010 -0400
@@ -42,7 +42,6 @@
 #include "puresize.h"
 #include "systime.h"
 #include "atimer.h"
-#include <setjmp.h>
 #include <errno.h>
 
 #ifdef HAVE_GTK_AND_PTHREAD
@@ -9000,48 +8999,48 @@
 		   int dont_downcase_last, int can_return_switch_frame,
 		   int fix_current_buffer)
 {
-  volatile Lisp_Object from_string;
-  volatile int count = SPECPDL_INDEX ();
+  Lisp_Object from_string;
+  int count = SPECPDL_INDEX ();
 
   /* How many keys there are in the current key sequence.  */
-  volatile int t;
+  int t;
 
   /* The length of the echo buffer when we started reading, and
      the length of this_command_keys when we started reading.  */
-  volatile int echo_start;
-  volatile int keys_start;
+  int echo_start;
+  int keys_start;
 
   /* The number of keymaps we're scanning right now, and the number of
      keymaps we have allocated space for.  */
-  volatile int nmaps;
-  volatile int nmaps_allocated = 0;
+  int nmaps;
+  int nmaps_allocated = 0;
 
   /* defs[0..nmaps-1] are the definitions of KEYBUF[0..t-1] in
      the current keymaps.  */
-  Lisp_Object *volatile defs = NULL;
+  Lisp_Object *defs = NULL;
 
   /* submaps[0..nmaps-1] are the prefix definitions of KEYBUF[0..t-1]
      in the current keymaps, or nil where it is not a prefix.  */
-  Lisp_Object *volatile submaps = NULL;
+  Lisp_Object *submaps = NULL;
 
   /* The local map to start out with at start of key sequence.  */
-  volatile Lisp_Object orig_local_map;
+  Lisp_Object orig_local_map;
 
   /* The map from the `keymap' property to start out with at start of
      key sequence.  */
-  volatile Lisp_Object orig_keymap;
+  Lisp_Object orig_keymap;
 
   /* 1 if we have already considered switching to the local-map property
      of the place where a mouse click occurred.  */
-  volatile int localized_local_map = 0;
+  int localized_local_map = 0;
 
   /* The index in submaps[] of the first keymap that has a binding for
      this key sequence.  In other words, the lowest i such that
      submaps[i] is non-nil.  */
-  volatile int first_binding;
+  int first_binding;
   /* Index of the first key that has no binding.
      It is useless to try fkey.start larger than that.  */
-  volatile int first_unbound;
+  int first_unbound;
 
   /* If t < mock_input, then KEYBUF[t] should be read as the next
      input key.
@@ -9056,7 +9055,7 @@
      restart_sequence; the loop will read keys from keybuf up until
      mock_input, thus rebuilding the state; and then it will resume
      reading characters from the keyboard.  */
-  volatile int mock_input = 0;
+  int mock_input = 0;
 
   /* If the sequence is unbound in submaps[], then
      keybuf[fkey.start..fkey.end-1] is a prefix in Vfunction_key_map,
@@ -9066,28 +9065,28 @@
      should hold off until t reaches them.  We do this when we've just
      recognized a function key, to avoid searching for the function
      key's again in Vfunction_key_map.  */
-  volatile keyremap fkey;
+  keyremap fkey;
 
   /* Likewise, for key_translation_map and input-decode-map.  */
-  volatile keyremap keytran, indec;
+  keyremap keytran, indec;
 
   /* Non-zero if we are trying to map a key by changing an upper-case
      letter to lower case, or a shifted function key to an unshifted
      one. */
-  volatile int shift_translated = 0;
+  int shift_translated = 0;
 
   /* If we receive a `switch-frame' or `select-window' event in the middle of
      a key sequence, we put it off for later.
      While we're reading, we keep the event here.  */
-  volatile Lisp_Object delayed_switch_frame;
+  Lisp_Object delayed_switch_frame;
 
   /* See the comment below... */
 #if defined (GOBBLE_FIRST_EVENT)
   Lisp_Object first_event;
 #endif
 
-  volatile Lisp_Object original_uppercase;
-  volatile int original_uppercase_position = -1;
+  Lisp_Object original_uppercase;
+  int original_uppercase_position = -1;
 
   /* Gets around Microsoft compiler limitations.  */
   int dummyflag = 0;
@@ -9095,7 +9094,7 @@
   struct buffer *starting_buffer;
 
   /* List of events for which a fake prefix key has been generated.  */
-  volatile Lisp_Object fake_prefixed_keys = Qnil;
+  Lisp_Object fake_prefixed_keys = Qnil;
 
 #if defined (GOBBLE_FIRST_EVENT)
   int junk;
@@ -9252,13 +9251,13 @@
          (say, a mouse click on the mode line which is being treated
          as [mode-line (mouse-...)], then we backtrack to this point
          of keybuf.  */
-      volatile int last_real_key_start;
+      int last_real_key_start;
 
       /* These variables are analogous to echo_start and keys_start;
 	 while those allow us to restart the entire key sequence,
 	 echo_local_start and keys_local_start allow us to throw away
 	 just one key.  */
-      volatile int echo_local_start, keys_local_start, local_first_binding;
+      int echo_local_start, keys_local_start, local_first_binding;
 
       eassert (indec.end == t || (indec.end > t && indec.end <= mock_input));
       eassert (indec.start <= indec.end);
--- a/src/keymap.c	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/keymap.c	Sat Jul 10 14:52:53 2010 -0400
@@ -1126,11 +1126,13 @@
        doc: /* In KEYMAP, define key sequence KEY as DEF.
 KEYMAP is a keymap.
 
-KEY is a string or a vector of symbols and characters meaning a
+KEY is a string or a vector of symbols and characters, representing a
 sequence of keystrokes and events.  Non-ASCII characters with codes
-above 127 (such as ISO Latin-1) can be included if you use a vector.
-Using [t] for KEY creates a default definition, which applies to any
-event type that has no other definition in this keymap.
+above 127 (such as ISO Latin-1) can be represented by vectors.
+Two types of vector have special meanings:
+ [remap COMMAND] remaps any key binding for COMMAND.
+ [t] creates a default definition, which applies to any event with no
+    other definition in KEYMAP.
 
 DEF is anything that can be a key's definition:
  nil (means key is undefined in this keymap),
--- a/src/lread.c	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/lread.c	Sat Jul 10 14:52:53 2010 -0400
@@ -2316,28 +2316,28 @@
 	      /* This is repetitive but fast and simple. */
 	      params[param_count] = QCsize;
 	      params[param_count+1] = Fplist_get (tmp, Qsize);
-	      if (!NILP (params[param_count+1]))
-		param_count+=2;
+	      if (!NILP (params[param_count + 1]))
+		param_count += 2;
 
 	      params[param_count] = QCtest;
 	      params[param_count+1] = Fplist_get (tmp, Qtest);
-	      if (!NILP (params[param_count+1]))
-		param_count+=2;
+	      if (!NILP (params[param_count + 1]))
+		param_count += 2;
 
 	      params[param_count] = QCweakness;
 	      params[param_count+1] = Fplist_get (tmp, Qweakness);
-	      if (!NILP (params[param_count+1]))
-		param_count+=2;
+	      if (!NILP (params[param_count + 1]))
+		param_count += 2;
 
 	      params[param_count] = QCrehash_size;
 	      params[param_count+1] = Fplist_get (tmp, Qrehash_size);
-	      if (!NILP (params[param_count+1]))
-		param_count+=2;
+	      if (!NILP (params[param_count + 1]))
+		param_count += 2;
 
 	      params[param_count] = QCrehash_threshold;
 	      params[param_count+1] = Fplist_get (tmp, Qrehash_threshold);
-	      if (!NILP (params[param_count+1]))
-		param_count+=2;
+	      if (!NILP (params[param_count + 1]))
+		param_count += 2;
 
 	      /* This is the hashtable data. */
 	      data = Fplist_get (tmp, Qdata);
@@ -2358,6 +2358,8 @@
 
 	      return ht;
 	    }
+	  UNREAD (c);
+	  invalid_syntax ("#", 1);
 	}
       if (c == '^')
 	{
--- a/src/nsterm.m	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/nsterm.m	Sat Jul 10 14:52:53 2010 -0400
@@ -2177,20 +2177,7 @@
 
   /* Must clip because of partially visible lines.  */
   rowY = WINDOW_TO_FRAME_PIXEL_Y (w, row->y);
-  if (p->y < rowY)
-    {
-      /* Adjust position of "bottom aligned" bitmap on partially
-	 visible last row.  */
-      int oldY = row->y;
-      int oldVH = row->visible_height;
-      row->visible_height = p->h;
-      row->y -= rowY - p->y;
-      ns_clip_to_row (w, row, -1, NO);
-      row->y = oldY;
-      row->visible_height = oldVH;
-    }
-  else
-    ns_clip_to_row (w, row, -1, YES);
+  ns_clip_to_row (w, row, -1, YES);
 
   if (p->bx >= 0 && !p->overlay_p)
     {
--- a/src/w32fns.c	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/w32fns.c	Sat Jul 10 14:52:53 2010 -0400
@@ -288,10 +288,15 @@
 #define MENU_FREE_DELAY 1000
 static unsigned menu_free_timer = 0;
 
+/* In dispnew.c */
+
+extern Lisp_Object Vwindow_system_version;
+
 /* The below are defined in frame.c.  */
 
 extern Lisp_Object Vmenu_bar_mode, Vtool_bar_mode;
 extern Lisp_Object Vwindow_system_version;
+extern Lisp_Object Qtooltip;
 
 #ifdef GLYPH_DEBUG
 int image_cache_refcount, dpyinfo_refcount;
@@ -5476,9 +5481,8 @@
   change_frame_size (f, height, width, 1, 0, 0);
 
   /* Add `tooltip' frame parameter's default value. */
-  if (NILP (Fframe_parameter (frame, intern ("tooltip"))))
-    Fmodify_frame_parameters (frame, Fcons (Fcons (intern ("tooltip"), Qt),
-					    Qnil));
+  if (NILP (Fframe_parameter (frame, Qtooltip)))
+    Fmodify_frame_parameters (frame, Fcons (Fcons (Qtooltip, Qt), Qnil));
 
   /* Set up faces after all frame parameters are known.  This call
      also merges in face attributes specified for new frames.
--- a/src/w32term.c	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/w32term.c	Sat Jul 10 14:52:53 2010 -0400
@@ -737,7 +737,6 @@
   struct frame *f = XFRAME (WINDOW_FRAME (w));
   HDC hdc;
   struct face *face = p->face;
-  int rowY;
 
   hdc = get_frame_dc (f);
 
@@ -796,21 +795,7 @@
     }
 
   /* Must clip because of partially visible lines.  */
-  rowY = WINDOW_TO_FRAME_PIXEL_Y (w, row->y);
-  if (p->y < rowY)
-    {
-      /* Adjust position of "bottom aligned" bitmap on partially
-	 visible last row.  */
-      int oldY = row->y;
-      int oldVH = row->visible_height;
-      row->visible_height = p->h;
-      row->y -= rowY - p->y;
-      w32_clip_to_row (w, row, -1, hdc);
-      row->y = oldY;
-      row->visible_height = oldVH;
-    }
-  else
-    w32_clip_to_row (w, row, -1, hdc);
+  w32_clip_to_row (w, row, -1, hdc);
 
   if (p->which && p->which < max_fringe_bmp)
     {
--- a/src/xdisp.c	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/xdisp.c	Sat Jul 10 14:52:53 2010 -0400
@@ -6625,6 +6625,7 @@
 next_element_from_image (struct it *it)
 {
   it->what = IT_IMAGE;
+  it->ignore_overlay_strings_at_pos_p = 0;
   return 1;
 }
 
--- a/src/xfaces.c	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/xfaces.c	Sat Jul 10 14:52:53 2010 -0400
@@ -5605,6 +5605,7 @@
       struct face *former_face = cache->faces_by_id[former_face_id];
       uncache_face (cache, former_face);
       free_realized_face (cache->f, former_face);
+      SET_FRAME_GARBAGED (cache->f);
     }
 
   if (FRAME_WINDOW_P (cache->f))
--- a/src/xfns.c	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/xfns.c	Sat Jul 10 14:52:53 2010 -0400
@@ -205,6 +205,7 @@
 /* The below are defined in frame.c.  */
 
 extern Lisp_Object Vmenu_bar_mode, Vtool_bar_mode;
+extern Lisp_Object Qtooltip;
 
 #if GLYPH_DEBUG
 int image_cache_refcount, dpyinfo_refcount;
@@ -4847,9 +4848,8 @@
   change_frame_size (f, height, width, 1, 0, 0);
 
   /* Add `tooltip' frame parameter's default value. */
-  if (NILP (Fframe_parameter (frame, intern ("tooltip"))))
-    Fmodify_frame_parameters (frame, Fcons (Fcons (intern ("tooltip"), Qt),
-					    Qnil));
+  if (NILP (Fframe_parameter (frame, Qtooltip)))
+    Fmodify_frame_parameters (frame, Fcons (Fcons (Qtooltip, Qt), Qnil));
 
   /* FIXME - can this be done in a similar way to normal frames?
      http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg00641.html */
--- a/src/xmenu.c	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/xmenu.c	Sat Jul 10 14:52:53 2010 -0400
@@ -676,6 +676,14 @@
   set_frame_menubar (f, 0, 1);
   BLOCK_INPUT;
 #ifdef USE_GTK
+  /* If we click outside any menu item, the menu bar still grabs.
+     So we send Press and the Release.  If outside, grab is released.
+     If on a menu item, it is popped up normally.
+     PutBack is like a stack, so we put back in reverse order.  */
+  f->output_data.x->saved_menu_event->type = ButtonRelease;
+  XPutBackEvent (f->output_data.x->display_info->display,
+                 f->output_data.x->saved_menu_event);
+  f->output_data.x->saved_menu_event->type = ButtonPress;
   XPutBackEvent (f->output_data.x->display_info->display,
                  f->output_data.x->saved_menu_event);
   popup_activated_flag = 1;
--- a/src/xterm.c	Sat Jul 10 17:29:46 2010 +0300
+++ b/src/xterm.c	Sat Jul 10 14:52:53 2010 -0400
@@ -753,24 +753,9 @@
   Window window = FRAME_X_WINDOW (f);
   GC gc = f->output_data.x->normal_gc;
   struct face *face = p->face;
-  int rowY;
 
   /* Must clip because of partially visible lines.  */
-  rowY = WINDOW_TO_FRAME_PIXEL_Y (w, row->y);
-  if (p->y < rowY)
-    {
-      /* Adjust position of "bottom aligned" bitmap on partially
-	 visible last row.  */
-      int oldY = row->y;
-      int oldVH = row->visible_height;
-      row->visible_height = p->h;
-      row->y -= rowY - p->y;
-      x_clip_to_row (w, row, -1, gc);
-      row->y = oldY;
-      row->visible_height = oldVH;
-    }
-  else
-    x_clip_to_row (w, row, -1, gc);
+  x_clip_to_row (w, row, -1, gc);
 
   if (!p->overlay_p)
     {