]> code.delx.au - gnu-emacs/commitdiff
Merge changes from emacs-24 branch
authorChong Yidong <cyd@gnu.org>
Fri, 27 Apr 2012 03:10:38 +0000 (11:10 +0800)
committerChong Yidong <cyd@gnu.org>
Fri, 27 Apr 2012 03:10:38 +0000 (11:10 +0800)
48 files changed:
1  2 
doc/emacs/ChangeLog
doc/emacs/ack.texi
doc/lispref/ChangeLog
doc/lispref/buffers.texi
doc/lispref/commands.texi
doc/lispref/compile.texi
doc/lispref/control.texi
doc/lispref/customize.texi
doc/lispref/display.texi
doc/lispref/eval.texi
doc/lispref/files.texi
doc/lispref/frames.texi
doc/lispref/functions.texi
doc/lispref/hash.texi
doc/lispref/help.texi
doc/lispref/intro.texi
doc/lispref/keymaps.texi
doc/lispref/lists.texi
doc/lispref/macros.texi
doc/lispref/minibuf.texi
doc/lispref/modes.texi
doc/lispref/numbers.texi
doc/lispref/objects.texi
doc/lispref/streams.texi
doc/lispref/symbols.texi
doc/lispref/syntax.texi
doc/lispref/text.texi
doc/lispref/tips.texi
doc/lispref/variables.texi
doc/lispref/windows.texi
doc/misc/ChangeLog
etc/ChangeLog
etc/NEWS
lisp/ChangeLog
lisp/gnus/ChangeLog
lisp/mouse.el
lisp/org/ChangeLog
lisp/progmodes/gdb-mi.el
lisp/progmodes/which-func.el
lisp/simple.el
lisp/startup.el
lisp/subr.el
lisp/vc/vc-git.el
lisp/window.el
src/ChangeLog
src/fileio.c
src/window.c
src/xdisp.c

diff --combined doc/emacs/ChangeLog
index 63ccb880d409938d63f4f7e7dd77c3ea41f8afde,32a5e43b41b6ec65dad13b84809847422d0a5a56..50c3d868eb371a319458abb1db623bf5301c055f
@@@ -1,8 -1,29 +1,29 @@@
+ 2012-04-27  Glenn Morris  <rgm@gnu.org>
+       * emacs.texi: Some fixes for detailed menu.
+ 2012-04-26  Glenn Morris  <rgm@gnu.org>
+       * emacs.texi: Add "et al." to authors.
+       * ack.texi, basic.texi, buffers.texi, building.texi:
+       * calendar.texi, cmdargs.texi, commands.texi, custom.texi:
+       * dired.texi, display.texi, emerge-xtra.texi, files.texi:
+       * fortran-xtra.texi, help.texi, kmacro.texi, mini.texi, misc.texi:
+       * msdog-xtra.texi, picture-xtra.texi, programs.texi, rmail.texi:
+       * search.texi, trouble.texi, windows.texi:
+       Use Texinfo recommended convention for quotes+punctuation.
+ 2012-04-25  Eli Zaretskii  <eliz@gnu.org>
+       * mule.texi (Bidirectional Editing): Improve indexing.  Minor
+       wording tweaks.
  2012-04-15  Chong Yidong  <cyd@gnu.org>
  
        * misc.texi (emacsclient Options): More clarifications.
  
 -2012-04-14  Glenn Morris  <rgm@gnu.org>
 +2012-04-15  Glenn Morris  <rgm@gnu.org>
  
        * msdog.texi (Windows Printing): It doesn't set printer-name.
  
@@@ -12,7 -33,7 +33,7 @@@
        (Defining Fontsets, Modifying Fontsets, Undisplayable Characters)
        (Unibyte Mode, Charsets, Bidirectional Editing): Copyedits.
  
 -2012-04-14  Chong Yidong  <cyd@gnu.org>
 +2012-04-15  Chong Yidong  <cyd@gnu.org>
  
        * glossary.texi (Glossary): Standardize on "text terminal"
        terminology.  All callers changed.
@@@ -20,7 -41,7 +41,7 @@@
        * misc.texi (emacsclient Options): Document "client frame" concept
        and its effect on C-x C-c more carefully.
  
 -2012-04-14  Glenn Morris  <rgm@gnu.org>
 +2012-04-15  Glenn Morris  <rgm@gnu.org>
  
        * frames.texi (Scroll Bars):
        * glossary.texi (Glossary): Use consistent case for "X Window System".
@@@ -32,7 -53,7 +53,7 @@@
        (Text Coding, Communication Coding, File Name Coding, Terminal Coding):
        Copyedits.
  
 -2012-04-13  Glenn Morris  <rgm@gnu.org>
 +2012-04-14  Glenn Morris  <rgm@gnu.org>
  
        * mule.texi (Select Input Method, Coding Systems, Recognize Coding):
        Copyedits.
        auto-coding-functions does not override coding: tags.
        Remove rmail-decode-mime-charset; it no longer has any effect.
  
 -2012-04-12  Chong Yidong  <cyd@gnu.org>
 +2012-04-14  Chong Yidong  <cyd@gnu.org>
  
        * custom.texi (Creating Custom Themes): Add reference to Custom
        Themes node in Lisp manual.
  
 -2012-04-12  Glenn Morris  <rgm@gnu.org>
 +2012-04-14  Glenn Morris  <rgm@gnu.org>
  
        * mule.texi (International): Copyedits.
        (International Chars): Update C-x = example output.
@@@ -62,6 -83,8 +83,6 @@@
        Update for "Disabling Multibyte" node name change.
        * emacs.texi: Update for "Disabling Multibyte" node name change.
  
 -2012-04-10  Glenn Morris  <rgm@gnu.org>
 -
        * abbrevs.texi, arevert-xtra.texi, buffers.texi, building.texi:
        * cmdargs.texi, custom.texi, entering.texi, files.texi, frames.texi:
        * glossary.texi, help.texi, macos.texi, maintaining.texi, mini.texi:
        * entering.texi (Entering Emacs):
        Do not mention initial-buffer-choice = t.
  
 -2012-04-08  Glenn Morris  <rgm@gnu.org>
 -
        * misc.texi (Gnus Startup): Use @env for environment variables.
  
 +      * Makefile.in: Replace non-portable use of $< in ordinary rules.
 +
 +2012-04-12  Glenn Morris  <rgm@gnu.org>
 +
 +      * ack.texi (Acknowledgments): Don't mention obsolete mailpost.el.
 +
  2012-04-07  Glenn Morris  <rgm@gnu.org>
  
 -      * Makefile.in: Replace non-portable use of $< in ordinary rules.
 +      * emacsver.texi (EMACSVER): Bump version to 24.1.50.
  
  2012-04-05  Glenn Morris  <rgm@gnu.org>
  
diff --combined doc/emacs/ack.texi
index 51f6d70bd904f6b99e7e8da2fe33d79dc87d4b0b,5e4e6f254744f473080d64655055e6bab83ee3e9..eafd38155f24bbc08c10d95bf4993141bda21691
@@@ -240,7 -240,7 +240,7 @@@ for compiled Emacs Lisp code
  
  @item
  Mathias Dahl wrote @file{image-dired.el}, a package for viewing image
- files as ``thumbnails.''
+ files as ``thumbnails''.
  
  @item
  Julien Danjou wrote an implementation of ``Desktop Notifications''
@@@ -251,6 -251,10 +251,6 @@@ color manipulation.  He also made vario
  Vivek Dasmohapatra wrote @file{htmlfontify.el}, to convert a buffer or
  source tree to HTML.
  
 -@item
 -Gary Delp wrote @file{mailpost.el}, an interface between RMAIL and the
 -@file{/usr/uci/post} mailer.
 -
  @item
  Matthieu Devin wrote @file{delsel.el}, a package to make newly-typed
  text replace the current selection.
@@@ -1027,7 -1031,7 +1027,7 @@@ Together with Dmitry Dzhus, he wrote @f
  
  @item
  Danny Roozendaal implemented @file{handwrite.el}, which converts text
- into ``handwriting.''
+ into ``handwriting''.
  
  @item
  Markus Rost wrote @file{cus-test.el}, a testing framework for customize.
@@@ -1224,7 -1228,7 +1224,7 @@@ the keyboard
  
  @item
  Jean-Philippe Theberge wrote @file{thumbs.el}, a package for viewing
- image files as ``thumbnails.''
+ image files as ``thumbnails''.
  
  @item
  Spencer Thomas wrote the original @file{dabbrev.el}, providing a command
diff --combined doc/lispref/ChangeLog
index 5333e3af3df30e990c1a296d4df55371736fef4b,c66fed1ca04fe6b3b20868a7b0ec69eb88ce3448..9c323d7937fa37c3c75588b5aca2259fbce1e973
@@@ -1,17 -1,55 +1,68 @@@
 -2012-04-26  Glenn Morris  <rgm@gnu.org>
++2012-04-27  Glenn Morris  <rgm@gnu.org>
+       * elisp.texi, vol1.texi, vol2.texi: Some fixes for detailed menu.
+       * modes.texi (Major Modes, Auto-Indentation):
+       * buffers.texi (Buffers): Some fixes for menu descriptions.
 -2012-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
++2012-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+       * functions.texi (Simple Lambda, Argument List):
+       * eval.texi (Function Indirection): Avoid deprecated form.
 -2012-04-26  Glenn Morris  <rgm@gnu.org>
++2012-04-27  Glenn Morris  <rgm@gnu.org>
+       * book-spine.texi, elisp.texi, vol1.texi, vol2.texi:
+       Add "et al." to authors.
+       * buffers.texi, commands.texi, compile.texi, control.texi:
+       * customize.texi, display.texi, eval.texi, files.texi, frames.texi:
+       * hash.texi, help.texi, intro.texi, keymaps.texi, lists.texi:
+       * modes.texi, numbers.texi, objects.texi, streams.texi:
+       * symbols.texi, syntax.texi, text.texi, tips.texi, variables.texi:
+       Use Texinfo recommended convention for quotes+punctuation.
 -2012-04-23  Chong Yidong  <cyd@gnu.org>
++2012-04-27  Chong Yidong  <cyd@gnu.org>
+       * keymaps.texi (Scanning Keymaps): Fix description of NO-REMAP arg
+       to where-is-internal (Bug#10872).
 -2012-04-21  Glenn Morris  <rgm@gnu.org>
++2012-04-27  Glenn Morris  <rgm@gnu.org>
+       * macros.texi (Indenting Macros): Fix typo.
+       * windows.texi (Basic Windows, Windows and Frames, Window Sizes)
+       (Resizing Windows, Deleting Windows, Selecting Windows)
+       (Choosing Window Options, Horizontal Scrolling)
+       (Cyclic Window Ordering, Window History, Dedicated Windows)
+       (Quitting Windows, Window Configurations, Textual Scrolling):
+       (Coordinates and Windows, Window Configurations)
+       (Window Parameters, Window Hooks): Copyedits.
+       (Splitting Windows, Deleting Windows):
+       Fix ignore-window-parameters logic.
+       (Selecting Windows, Choosing Window Options): Markup fixes.
+       (Window Start and End): Remove pointless example.
+       Remove cross-reference to deleted count-lines content.
+       (Textual Scrolling): Mention recenter-redisplay, recenter-top-bottom,
+       and recenter-positions.  Remove recenter example.
+       * elisp.texi, vol1.texi, vol2.texi: Bump VERSION and DATE.
+       * minibuf.texi (Intro to Minibuffers):
+       Tweak discussion of resizing minibuffer window.
 +2012-04-26  Glenn Morris  <rgm@gnu.org>
 +
 +      * elisp-covers.texi, front-cover-1.texi: Remove files.
 +
 +      * tindex.pl: Remove file.
 +
 +      * makefile.w32-in (srcs):
 +      * Makefile.in (srcs): Remove back.texi (which is unused).
 +
 +2012-04-24  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * os.texi (Notifications): Extend possible notification hints.
 +      Add notifications-get-capabilities.
 +
  2012-04-20  Chong Yidong  <cyd@gnu.org>
  
        * processes.texi (Asynchronous Processes): Mention nil argument to
@@@ -30,6 -68,8 +81,6 @@@
        * elisp.texi, vol1.texi, vol2.texi, minibuf.texi (Completion):
        Update "High-Level Completion" description.
  
 -2012-04-19  Glenn Morris  <rgm@gnu.org>
 -
        * minibuf.texi (Minibuffers):
        * elisp.texi, vol1.texi, vol2.texi: Fix minibuffer subsection order.
  
        (Minibuffer Misc): Mention minibuffer-message-timeout, and
        minibuffer-inactive-mode.
  
 -2012-04-18  Glenn Morris  <rgm@gnu.org>
 -
        * processes.texi (Serial Ports, Byte Packing, Bindat Spec)
        (Bindat Functions): Copyedits.
  
 -2012-04-18  Christopher Schmidt  <christopher@ch.ristopher.com>
 +2012-04-20  Christopher Schmidt  <christopher@ch.ristopher.com>
  
        * files.texi (Saving Buffers): Document `visit and `visit-save'
        values of require-final-newline.
  
 -2012-04-18  Glenn Morris  <rgm@gnu.org>
 +2012-04-20  Glenn Morris  <rgm@gnu.org>
  
        * processes.texi (Output from Processes, Filter Functions):
        Mention waiting-for-user-input-p.
        (Network): Add encrypted network overview paragraph.
        Cross-reference the Emacs-GnuTLS manual.  Use @acronym.
  
 -2012-04-17  Chong Yidong  <cyd@gnu.org>
 +2012-04-20  Chong Yidong  <cyd@gnu.org>
  
        * help.texi (Keys in Documentation): Mention :advertised-binding.
  
        * keymaps.texi (Menu Bar): Move most of the :advertised-binding
        description to help.texi.
  
 -2012-04-16  Glenn Morris  <rgm@gnu.org>
 +2012-04-20  Glenn Morris  <rgm@gnu.org>
  
        * processes.texi (Process Information, Input to Processes)
        (Signals to Processes, Output from Processes, Process Buffers)
        (Process Information): Fix typo.
        (Bindat Spec): Use Texinfo-recommended form of quote+punctuation.
  
 -2012-04-14  Glenn Morris  <rgm@gnu.org>
 +2012-04-15  Glenn Morris  <rgm@gnu.org>
  
        * anti.texi (Antinews): Copyedits.  Don't @dfn anything here.
        open-network-stream does exist in Emacs 23, but is simpler.
  
 -2012-04-13  Chong Yidong  <cyd@gnu.org>
 +2012-04-15  Chong Yidong  <cyd@gnu.org>
  
        * customize.texi (Custom Themes): Also document load-theme etc.
  
 -2012-04-12  Chong Yidong  <cyd@gnu.org>
 +2012-04-14  Chong Yidong  <cyd@gnu.org>
  
        * customize.texi (Applying Customizations):
        (Custom Themes): New nodes.
        * modes.texi (Defining Minor Modes, Defining Minor Modes):
        * os.texi (Startup Summary): Copyedits.
  
 -2012-04-12  Glenn Morris  <rgm@gnu.org>
 +2012-04-14  Glenn Morris  <rgm@gnu.org>
  
        * loading.texi (Loading Non-ASCII): "unibyte:" can also be at the end.
  
 -2012-04-10  Glenn Morris  <rgm@gnu.org>
 -
        * strings.texi (Case Tables):
        * objects.texi (General Escape Syntax):
        * keymaps.texi (Key Sequences): Use @acronym with "ASCII".
  
        * compile.texi (Compiler Errors): Add missing space in buffer name.
  
 -2012-04-08  Chong Yidong  <cyd@gnu.org>
 +2012-04-14  Chong Yidong  <cyd@gnu.org>
  
        * processes.texi (Query Before Exit): Remove obsolete function
        process-kill-without-query (Bug#11190).
  
 -2012-04-08  Glenn Morris  <rgm@gnu.org>
 +2012-04-14  Glenn Morris  <rgm@gnu.org>
  
        * files.texi, frames.texi, loading.texi, os.texi, processes.texi:
        Use @env for environment variables.
  
 -2012-04-07  Glenn Morris  <rgm@gnu.org>
 -
        * Makefile.in: Replace non-portable use of $< in ordinary rules.
  
 +2012-04-12  Jari Aalto  <jari.aalto@cante.net>
 +
 +      * processes.texi (Synchronous Processes): Mention
 +      `default-directory' (bug#7515).
 +
 +2012-04-09  Chong Yidong  <cyd@gnu.org>
 +
 +      * customize.texi (Variable Definitions): Remove user-variable-p.
 +
 +      * commands.texi (Interactive Codes):
 +      * help.texi (Accessing Documentation):
 +      * minibuf.texi (High-Level Completion): Callers changed.
 +
  2012-04-06  Chong Yidong  <cyd@gnu.org>
  
        * minibuf.texi (Programmed Completion): Document metadata method.
diff --combined doc/lispref/buffers.texi
index 844b6423a52887adfad9c33589a578dbafc29cae,fa0cb11777264021bdd3fb26f445cd07b933b566..165faf32b098687ae73cb7f72765ee7701778c9b
@@@ -3,6 -3,7 +3,6 @@@
  @c Copyright (C) 1990-1995, 1998-1999, 2001-2012
  @c   Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/buffers
  @node Buffers, Windows, Backups and Auto-Saving, Top
  @chapter Buffers
  @cindex buffer
@@@ -23,7 -24,7 +23,7 @@@ not be displayed in any windows
  * Buffer File Name::    The buffer file name indicates which file is visited.
  * Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved.
  * Modification Time::   Determining whether the visited file was changed
-                          ``behind Emacs's back''.
+                          "behind Emacs's back".
  * Read Only Buffers::   Modifying text is not allowed in a read-only buffer.
  * The Buffer List::     How to look at all the existing buffers.
  * Creating Buffers::    Functions that create buffers.
@@@ -481,7 -482,7 +481,7 @@@ correspond to the new file name, unles
  use.
  
  If @var{filename} is @code{nil} or the empty string, that stands for
- ``no visited file.''  In this case, @code{set-visited-file-name} marks
+ ``no visited file''.  In this case, @code{set-visited-file-name} marks
  the buffer as having no visited file, without changing the buffer's
  modified flag.
  
index bf26d83b7bfffa1da3c148e7af97828f98639b12,b96d5878124ed8cb905966cd8ac6a28b7ded409d..dea838462bb689cf62259a7c782edb92957d2cb8
@@@ -2,6 -2,7 +2,6 @@@
  @c This is part of the GNU Emacs Lisp Reference Manual.
  @c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/commands
  @node Command Loop, Keymaps, Minibuffers, Top
  @chapter Command Loop
  @cindex editor command loop
@@@ -481,7 -482,7 +481,7 @@@ discarded, @samp{U} provides @code{nil
  
  @item v
  A variable declared to be a user option (i.e., satisfying the
 -predicate @code{user-variable-p}).  This reads the variable using
 +predicate @code{custom-variable-p}).  This reads the variable using
  @code{read-variable}.  @xref{Definition of read-variable}.  Existing,
  Completion, Prompt.
  
@@@ -718,7 -719,7 +718,7 @@@ We use @code{"p"} because the numeric p
  message when called from a keyboard macro.
  
    The above method with the additional argument is usually best,
- because it allows callers to say ``treat this call as interactive.''
+ because it allows callers to say ``treat this call as interactive''.
  But you can also do the job by testing @code{called-interactively-p}.
  
  @defun called-interactively-p kind
@@@ -2325,7 -2326,7 +2325,7 @@@ same symbol that would normally represe
  button and modifier keys.  The information about the window part is kept
  elsewhere in the event---in the coordinates.  But
  @code{read-key-sequence} translates this information into imaginary
- ``prefix keys,'' all of which are symbols: @code{header-line},
+ ``prefix keys'', all of which are symbols: @code{header-line},
  @code{horizontal-scroll-bar}, @code{menu-bar}, @code{mode-line},
  @code{vertical-line}, and @code{vertical-scroll-bar}.  You can define
  meanings for mouse clicks in special window parts by defining key
@@@ -2705,7 -2706,7 +2705,7 @@@ individual events, which you can put i
  
  @defvar unread-command-char
  This variable holds a character to be read as command input.
- A value of -1 means ``empty.''
+ A value of -1 means ``empty''.
  
  This variable is mostly obsolete now that you can use
  @code{unread-command-events} instead; it exists only to support programs
@@@ -3195,7 -3196,7 +3195,7 @@@ using the minibuffer.  Usually it is mo
  change the major mode of the current buffer temporarily to a special
  major mode, which should have a command to go back to the previous mode.
  (The @kbd{e} command in Rmail uses this technique.)  Or, if you wish to
- give the user different text to edit ``recursively,'' create and select
+ give the user different text to edit ``recursively'', create and select
  a new buffer in a special mode.  In this mode, define a command to
  complete the processing and go back to the previous buffer.  (The
  @kbd{m} command in Rmail does this.)
diff --combined doc/lispref/compile.texi
index ead75942b244ca5640c12f9a60ee76eb040b6b2b,e6931aae0164e6519032862ebfc679d25890ef41..8cebd9fade6e36e6238a0628c6eecdd813ba1a70
@@@ -1,7 -1,8 +1,7 @@@
  @c -*-texinfo-*-
  @c This is part of the GNU Emacs Lisp Reference Manual.
 -@c Copyright (C) 1990-1994, 2001-2012  Free Software Foundation, Inc.
 +@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/compile
  @node Byte Compilation, Advising Functions, Loading, Top
  @chapter Byte Compilation
  @cindex byte compilation
@@@ -274,7 -275,7 +274,7 @@@ reloading each file after recompiling i
  use a special Lisp reader construct, @samp{#@@@var{count}}.  This
  construct skips the next @var{count} characters.  It also uses the
  @samp{#$} construct, which stands for ``the name of this file, as a
- string.''  It is usually best not to use these constructs in Lisp source
+ string''.  It is usually best not to use these constructs in Lisp source
  files, since they are not designed to be clear to humans reading the
  file.
  
diff --combined doc/lispref/control.texi
index aa24291d89299a18169e389e2ed0cefc6d46361f,f8f9ddfa2e85e72eecd6893e938667899e415d2e..d6dee7ecf91b9fe5bc4e7aaea6f91fe925925299
@@@ -1,7 -1,8 +1,7 @@@
  @c -*-texinfo-*-
  @c This is part of the GNU Emacs Lisp Reference Manual.
 -@c Copyright (C) 1990-1995, 1998-1999, 2001-2012  Free Software Foundation, Inc.
 +@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/control
  @node Control Structures, Variables, Evaluation, Top
  @chapter Control Structures
  @cindex special forms for control structures
@@@ -220,7 -221,7 +220,7 @@@ non-@code{nil}, the clause ``succeeds''
  @var{body-forms}, and the value of the last of @var{body-forms} becomes
  the value of the @code{cond}.  The remaining clauses are ignored.
  
- If the value of @var{condition} is @code{nil}, the clause ``fails,'' so
+ If the value of @var{condition} is @code{nil}, the clause ``fails'', so
  the @code{cond} moves on to the following clause, trying its
  @var{condition}.
  
@@@ -622,7 -623,7 +622,7 @@@ error is signaled with data @code{(@var
  @subsection Examples of @code{catch} and @code{throw}
  
    One way to use @code{catch} and @code{throw} is to exit from a doubly
- nested loop.  (In most languages, this would be done with a ``goto.'')
+ nested loop.  (In most languages, this would be done with a ``goto''.)
  Here we compute @code{(foo @var{i} @var{j})} for @var{i} and @var{j}
  varying from 0 to 9:
  
index 04b3cdd11f0956f46edda02b66e000828e54c897,92bd7a80ac61bde0317b8391e9b338da19ec43e9..c8e60fd84f4a6a41ab7ca4f727e95e572b552419
@@@ -1,7 -1,8 +1,7 @@@
  @c -*-texinfo-*-
  @c This is part of the GNU Emacs Lisp Reference Manual.
 -@c Copyright (C) 1997-2012  Free Software Foundation, Inc.
 +@c Copyright (C) 1997-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/customize
  @node Customization, Loading, Macros, Top
  @chapter Customization Settings
  
@@@ -466,6 -467,14 +466,6 @@@ meaning it was declared with @code{defc
  another customizable variable.
  @end defun
  
 -@defun user-variable-p arg
 -This function is like @code{custom-variable-p}, except it also returns
 -@code{t} if the first character of the variable's documentation string
 -is the character @samp{*}.  That is an obsolete way of indicating a
 -user option, so for most purposes you may consider
 -@code{user-variable-p} as equivalent to @code{custom-variable-p}.
 -@end defun
 -
  @node Customization Types
  @section Customization Types
  
@@@ -817,7 -826,7 +817,7 @@@ For example
  
  @noindent
  describes a variable for which @code{t} means yes, @code{nil} means no,
- and @code{foo} means ``ask.''
+ and @code{foo} means ``ask''.
  
  @item (other @var{value})
  This alternative can match any Lisp value, but if the user chooses this
@@@ -834,7 -843,7 +834,7 @@@ For example
  
  @noindent
  describes a variable for which @code{t} means yes, @code{nil} means no,
- and anything else means ``ask.''  If the user chooses @samp{Ask} from
+ and anything else means ``ask''.  If the user chooses @samp{Ask} from
  the menu of alternatives, that specifies the value @code{foo}; but any
  other value (not @code{t}, @code{nil} or @code{foo}) displays as
  @samp{Ask}, just like @code{foo}.
diff --combined doc/lispref/display.texi
index 0113ae86358ad170ee963e1cd214c8ec78bc6dce,1fe5a92e8a32f75d11025dfdb881fd846a0b658c..4ec3b8bf08ad8f0cd034564f6cf3ae818fda8fcc
@@@ -2,6 -2,7 +2,6 @@@
  @c This is part of the GNU Emacs Lisp Reference Manual.
  @c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/display
  @node Display, System Interface, Processes, Top
  @chapter Emacs Display
  
@@@ -155,7 -156,7 +155,7 @@@ boundary.  @xref{Filling}
  indicate truncated and continued lines (@pxref{Fringes}).  On a text
  terminal, a @samp{$} in the rightmost column of the window indicates
  truncation; a @samp{\} on the rightmost column indicates a line that
- ``wraps.''  (The display table can specify alternate characters to use
+ ``wraps''.  (The display table can specify alternate characters to use
  for this; @pxref{Display Tables}).
  
  @defopt truncate-lines
@@@ -451,7 -452,7 +451,7 @@@ prints the message of @var{reporter} fo
  echo area.
  
  You should always call this function and not hope for
- @code{progress-reporter-update} to print ``100%.''  Firstly, it may
+ @code{progress-reporter-update} to print ``100%''.  Firstly, it may
  never print it, there are many good reasons for this not to happen.
  Secondly, ``done'' is more explicit.
  @end defun
@@@ -1308,7 -1309,7 +1308,7 @@@ The return value is @var{overlay}
  This is the only valid way to change the endpoints of an overlay.  Do
  not try modifying the markers in the overlay by hand, as that fails to
  update other vital data structures and can cause some overlays to be
- ``lost.''
+ ``lost''.
  @end defun
  
  @defun remove-overlays &optional start end name value
@@@ -1385,7 -1386,7 +1385,7 @@@ fo
  @end example
  
    Emacs stores the overlays of each buffer in two lists, divided
- around an arbitrary ``center position.''  One list extends backwards
+ around an arbitrary ``center position''.  One list extends backwards
  through the buffer from that center position, and the other extends
  forwards from that center position.  The center position can be anywhere
  in the buffer.
@@@ -4359,7 -4360,7 +4359,7 @@@ $$\pmatrix{ 2 & -1 &  0 \c
  @end ifnottex
  
  @item disabled
- Specifies transforming the image so that it looks ``disabled.''
+ Specifies transforming the image so that it looks ``disabled''.
  @end table
  
  @item :mask @var{mask}
@@@ -5531,7 -5532,7 +5531,7 @@@ Any @var{args} are passed to @var{map-f
  @subsection Abstract Display Example
  
    Here is a simple example using functions of the ewoc package to
- implement a ``color components display,'' an area in a buffer that
+ implement a ``color components display'', an area in a buffer that
  represents a vector of three integers (itself representing a 24-bit RGB
  value) in various ways.
  
@@@ -5842,7 -5843,7 +5842,7 @@@ display the character @var{c} as those 
  
    @strong{Warning:} if you use the display table to change the display
  of newline characters, the whole buffer will be displayed as one long
- ``line.''
+ ``line''.
  
    The display table also has six ``extra slots'' which serve special
  purposes.  Here is a table of their meanings; @code{nil} in any slot
@@@ -6153,7 -6154,7 +6153,7 @@@ capability (@samp{vb})
  
  @defvar ring-bell-function
  If this is non-@code{nil}, it specifies how Emacs should ``ring the
- bell.''  Its value should be a function of no arguments.  If this is
+ bell''.  Its value should be a function of no arguments.  If this is
  non-@code{nil}, it takes precedence over the @code{visible-bell}
  variable.
  @end defvar
  @section Window Systems
  
    Emacs works with several window systems, most notably the X Window
- System.  Both Emacs and X use the term ``window,'' but use it
+ System.  Both Emacs and X use the term ``window'', but use it
  differently.  An Emacs frame is a single window as far as X is
  concerned; the individual Emacs windows are not known to X at all.
  
diff --combined doc/lispref/eval.texi
index 4c1150d1a5103ec30cfc4536c67acca51362dbc1,62de337a5e3f4d58221634fc174caf214987c90e..76059079ca15d3c3d7ad8e1004d6565557d853b6
@@@ -1,7 -1,8 +1,7 @@@
  @c -*-texinfo-*-
  @c This is part of the GNU Emacs Lisp Reference Manual.
 -@c Copyright (C) 1990-1994, 1998, 2001-2012  Free Software Foundation, Inc.
 +@c Copyright (C) 1990-1994, 1998, 2001-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/eval
  @node Evaluation, Control Structures, Symbols, Top
  @chapter Evaluation
  @cindex evaluation
@@@ -103,7 -104,7 +103,7 @@@ interpretation.  @xref{Command Loop}
  @dfn{form} (or an @dfn{expression}).  How Emacs evaluates a form
  depends on its data type.  Emacs has three different kinds of form
  that are evaluated differently: symbols, lists, and ``all other
- types.''  This section describes all three kinds, one by one, starting
+ types''.  This section describes all three kinds, one by one, starting
  with the ``all other types'' which are self-evaluating forms.
  
  @menu
@@@ -304,6 -305,22 +304,22 @@@ function, not a symbol
  Executing the function itself evaluates its body; this does involve
  symbol function indirection when calling @code{erste}.
  
+   This form is rarely used and is now deprecated.  Instead, you should write it
+ as:
+ @smallexample
+ @group
+ (funcall (lambda (arg) (erste arg))
+          '(1 2 3))
+ @end group
+ @end smallexample
+ or just
+ @smallexample
+ @group
+ (let ((arg '(1 2 3))) (erste arg))
+ @end group
+ @end smallexample
    The built-in function @code{indirect-function} provides an easy way to
  perform symbol function indirection explicitly.
  
diff --combined doc/lispref/files.texi
index 3597d9f80c46c1269a58f62a4b6b3486b889fd35,62f9f6f43c3daf5dfc1d0ac49b98a0006a26a164..1af904aff41fe8374315c4cb6d1c5f79e26f9f28
@@@ -3,6 -3,7 +3,6 @@@
  @c Copyright (C) 1990-1995, 1998-1999, 2001-2012
  @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
  @comment  node-name,  next,  previous,  up
  @chapter Files
@@@ -71,8 -72,8 +71,8 @@@ back into the file
  
    In spite of the distinction between files and buffers, people often
  refer to a file when they mean a buffer and vice-versa.  Indeed, we say,
- ``I am editing a file,'' rather than, ``I am editing a buffer that I
- will soon save as a file of the same name.''  Humans do not usually need
+ ``I am editing a file'', rather than, ``I am editing a buffer that I
+ will soon save as a file of the same name''.  Humans do not usually need
  to make the distinction explicit.  When dealing with a computer program,
  however, it is good to keep the distinction in mind.
  
@@@ -688,7 -689,7 +688,7 @@@ The file lock is really a file, a symbo
  stored in the same directory as the file you are editing.
  
    When you access files using NFS, there may be a small probability that
- you and another user will both lock the same file ``simultaneously.''
+ you and another user will both lock the same file ``simultaneously''.
  If this happens, it is possible for the two users to make changes
  simultaneously, but Emacs will still warn the user who saves second.
  Also, the detection of modification of a buffer visiting a file changed
@@@ -1806,7 -1807,7 +1806,7 @@@ return value, but backup version number
  @end defun
  
  @defun file-name-extension filename &optional period
- This function returns @var{filename}'s final ``extension,'' if any,
+ This function returns @var{filename}'s final ``extension'', if any,
  after applying @code{file-name-sans-versions} to remove any
  version/backup part.  The extension, in a file name, is the part that
  follows the last @samp{.} in the last name component (minus any
@@@ -2798,7 -2799,7 +2798,7 @@@ unlocking the buffer if it is locked
  possibly others to be added in the future.  It need not implement all
  these operations itself---when it has nothing special to do for a
  certain operation, it can reinvoke the primitive, to handle the
- operation ``in the usual way.''  It should always reinvoke the primitive
+ operation ``in the usual way''.  It should always reinvoke the primitive
  for an operation it does not recognize.  Here's one way to do this:
  
  @smallexample
diff --combined doc/lispref/frames.texi
index d824f51e47ef0c979c46d93a7bcc68ee80e33680,9d10326c29407cdd26ba61cc4ee8bc95de2a51e1..869f03e2273fe64802c8318a48cd8319f963cfdb
@@@ -2,6 -2,7 +2,6 @@@
  @c This is part of the GNU Emacs Lisp Reference Manual.
  @c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/frames
  @node Frames, Positions, Windows, Top
  @chapter Frames
  @cindex frame
@@@ -882,7 -883,7 +882,7 @@@ This variable specifies how to blink th
  form @code{(@var{on-state} . @var{off-state})}.  Whenever the cursor
  type equals @var{on-state} (comparing using @code{equal}), the
  corresponding @var{off-state} specifies what the cursor looks like
- when it blinks ``off.''  Both @var{on-state} and @var{off-state}
+ when it blinks ``off''.  Both @var{on-state} and @var{off-state}
  should be suitable values for the @code{cursor-type} frame parameter.
  
  There are various defaults for how to blink each type of cursor, if
@@@ -1069,7 -1070,7 +1069,7 @@@ characters rather than pixels
  These values include the internal borders, and windows' scroll bars
  and fringes (which belong to individual windows, not to the frame
  itself).  The exact value of the heights depends on the window-system
- and toolkit in use.  With Gtk+, the height does not include any tool
+ and toolkit in use.  With GTK+, the height does not include any tool
  bar or menu bar.  With the Motif or Lucid toolkits, it includes the
  tool bar but not the menu bar.  In a graphical version with no
  toolkit, it includes both the tool bar and menu bar.  For a text
@@@ -1532,7 -1533,7 +1532,7 @@@ track of such changes.  @xref{Misc Even
    Most window systems use a desktop metaphor.  Part of this metaphor is
  the idea that windows are stacked in a notional third dimension
  perpendicular to the screen surface, and thus ordered from ``highest''
- to ``lowest.''  Where two windows overlap, the one higher up covers
+ to ``lowest''.  Where two windows overlap, the one higher up covers
  the one underneath.  Even a window at the bottom of the stack can be
  seen if no other window overlaps it.
  
  @cindex lowering a frame
    A window's place in this ordering is not fixed; in fact, users tend
  to change the order frequently.  @dfn{Raising} a window means moving
- it ``up,'' to the top of the stack.  @dfn{Lowering} a window means
+ it ``up'', to the top of the stack.  @dfn{Lowering} a window means
  moving it to the bottom of the stack.  This motion is in the notional
  third dimension only, and does not change the position of the window
  on the screen.
@@@ -1814,7 -1815,7 +1814,7 @@@ the menu keymap as necessary
    A dialog box is a variant of a pop-up menu---it looks a little
  different, it always appears in the center of a frame, and it has just
  one level and one or more buttons.  The main use of dialog boxes is
- for asking questions that the user can answer with ``yes,'' ``no,''
+ for asking questions that the user can answer with ``yes'', ``no'',
  and a few other alternatives.  With a single button, they can also
  force the user to acknowledge important information.  The functions
  @code{y-or-n-p} and @code{yes-or-no-p} use dialog boxes instead of the
@@@ -2028,7 -2029,7 +2028,7 @@@ colors.
    These functions provide a way to determine which color names are
  valid, and what they look like.  In some cases, the value depends on the
  @dfn{selected frame}, as described below; see @ref{Input Focus}, for the
- meaning of the term ``selected frame.''
+ meaning of the term ``selected frame''.
  
    To read user input of color names with completion, use
  @code{read-color} (@pxref{High-Level Completion, read-color}).
@@@ -2425,7 -2426,7 +2425,7 @@@ software (as a string).  Really this me
  server.
  
  When the developers of X labeled software distributors as
- ``vendors,'' they showed their false assumption that no system could
+ ``vendors'', they showed their false assumption that no system could
  ever be developed and distributed noncommercially.
  @end defun
  
index 73bdefe19fc204fa7c389f808f9862c7cced5713,24fe9ed5e68cc901c24e30c59958b421cc5ec8ba..b5cf38ed6f22ef0dfe0b4ab8b3f59354cd64db8f
@@@ -3,6 -3,7 +3,6 @@@
  @c Copyright (C) 1990-1995, 1998-1999, 2001-2012
  @c   Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/functions
  @node Functions, Macros, Variables, Top
  @chapter Functions
  
@@@ -266,13 -267,12 +266,12 @@@ function is the value returned by the l
  @end example
  
  @noindent
- We can call this function by writing it as the @sc{car} of an
- expression, like this:
+ We can call this function by passing it to @code{funcall}, like this:
  
  @example
  @group
- ((lambda (a b c) (+ a b c))
-  1 2 3)
+ (funcall (lambda (a b c) (+ a b c))
+          1 2 3)
  @end group
  @end example
  
@@@ -287,8 -287,8 +286,8 @@@ this example
  
  @example
  @group
- ((lambda (a b c) (+ a b c))
-  1 (* 2 3) (- 5 4))
+ (funcall (lambda (a b c) (+ a b c))
+          1 (* 2 3) (- 5 4))
  @end group
  @end example
  
@@@ -399,16 -399,16 +398,16 @@@ after a @code{&rest} argument
    Here are some examples of argument lists and proper calls:
  
  @smallexample
- ((lambda (n) (1+ n))                ; @r{One required:}
-  1)                                 ; @r{requires exactly one argument.}
+ (funcall (lambda (n) (1+ n))        ; @r{One required:}
+          1)                         ; @r{requires exactly one argument.}
       @result{} 2
- ((lambda (n &optional n1)           ; @r{One required and one optional:}
-          (if n1 (+ n n1) (1+ n)))   ; @r{1 or 2 arguments.}
-  1 2)
+ (funcall (lambda (n &optional n1)   ; @r{One required and one optional:}
+            (if n1 (+ n n1) (1+ n))) ; @r{1 or 2 arguments.}
+          1 2)
       @result{} 3
- ((lambda (n &rest ns)               ; @r{One required and one rest:}
-          (+ n (apply '+ ns)))       ; @r{1 or more arguments.}
-  1 2 3 4 5)
+ (funcall (lambda (n &rest ns)       ; @r{One required and one rest:}
+            (+ n (apply '+ ns)))     ; @r{1 or more arguments.}
+          1 2 3 4 5)
       @result{} 15
  @end smallexample
  
diff --combined doc/lispref/hash.texi
index 0ca4c915a65abc6428ff2a94f594d20beafd76ea,94d9e6e44854ee722a9190d9aba9e7591f01168f..1aa6004b3a66eb91753a39337284126eb146f93e
@@@ -1,7 -1,8 +1,7 @@@
  @c -*-texinfo-*-
  @c This is part of the GNU Emacs Lisp Reference Manual.
 -@c Copyright (C) 1999, 2001-2012  Free Software Foundation, Inc.
 +@c Copyright (C) 1999, 2001-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/hash
  @node Hash Tables, Symbols, Sequences Arrays Vectors, Top
  @chapter Hash Tables
  @cindex hash tables
@@@ -74,13 -75,13 +74,13 @@@ alternatives
  Keys which are numbers are ``the same'' if they are @code{equal}, that
  is, if they are equal in value and either both are integers or both
  are floating point numbers; otherwise, two distinct objects are never
- ``the same.''
+ ``the same''.
  
  @item eq
  Any two distinct Lisp objects are ``different'' as keys.
  
  @item equal
- Two Lisp objects are ``the same,'' as keys, if they are equal
+ Two Lisp objects are ``the same'', as keys, if they are equal
  according to @code{equal}.
  @end table
  
@@@ -128,7 -129,7 +128,7 @@@ doing that takes some extra time
  The default size is 65.
  
  @item :rehash-size @var{rehash-size}
- When you add an association to a hash table and the table is ``full,''
+ When you add an association to a hash table and the table is ``full'',
  it grows automatically.  This value specifies how to make the hash table
  larger, at that time.
  
@@@ -262,7 -263,7 +262,7 @@@ will use @var{test-fn} to compare key v
  a ``hash code'' from a key value.
  
  The function @var{test-fn} should accept two arguments, two keys, and
- return non-@code{nil} if they are considered ``the same.''
+ return non-@code{nil} if they are considered ``the same''.
  
  The function @var{hash-fn} should accept one argument, a key, and return
  an integer that is the ``hash code'' of that key.  For good results, the
diff --combined doc/lispref/help.texi
index 5dfb2b05ff8206ab887fe867fa5a8f940f83ed68,3edeac2b6d5b9b6a35b6aaba9ccd89623dd26f34..762b42113f2da750d2e776948fce4e8db9d6dc5a
@@@ -3,6 -3,7 +3,6 @@@
  @c Copyright (C) 1990-1995, 1998-1999, 2001-2012
  @c   Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/help
  @node Documentation, Files, Modes, Top
  @chapter Documentation
  @cindex documentation strings
@@@ -217,7 -218,7 +217,7 @@@ in the `*Help*' buffer.
  @group
                  (princ
                   (format "%s\t%s\n%s\n\n" s
 -                   (if (user-variable-p s)
 +                   (if (custom-variable-p s)
                         "Option " "Variable")
  @end group
  @group
@@@ -599,7 -600,7 +599,7 @@@ subcommands of the prefix key
  
  @defopt help-event-list
  The value of this variable is a list of event types that serve as
- alternative ``help characters.''  These events are handled just like the
+ alternative ``help characters''.  These events are handled just like the
  event specified by @code{help-char}.
  @end defopt
  
diff --combined doc/lispref/intro.texi
index d3a5b253162ce187c03f768723d3a64536b3f03a,9ae5e1fa849a1bd940500e394501d4ea7225aeff..37d2cc55a9e41d040a95d64cbebdfe49497a2d56
@@@ -1,7 -1,8 +1,7 @@@
  @c -*-coding: iso-latin-1-*-
  @c This is part of the GNU Emacs Lisp Reference Manual.
 -@c Copyright (C) 1990-1994, 2001-2012  Free Software Foundation, Inc.
 +@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/intro
  
  @node Introduction, Lisp Data Types, Top, Top
  @comment  node-name,  next,  previous,  up
@@@ -146,7 -147,7 +146,7 @@@ printer'' refer to those routines in Li
  representations of Lisp objects into actual Lisp objects, and vice
  versa.  @xref{Printed Representation}, for more details.  You, the
  person reading this manual, are thought of as ``the programmer'' and are
- addressed as ``you.''  ``The user'' is the person who uses Lisp
+ addressed as ``you''.  ``The user'' is the person who uses Lisp
  programs, including those you write.
  
  @cindex typographic conventions
@@@ -219,7 -220,7 +219,7 @@@ the examples in this manual, this is in
  @end example
  
  @noindent
- You can read this as ``@code{(car '(1 2))} evaluates to 1.''
+ You can read this as ``@code{(car '(1 2))} evaluates to 1''.
  
    When a form is a macro call, it expands into a new form for Lisp to
  evaluate.  We show the result of the expansion with
diff --combined doc/lispref/keymaps.texi
index b12752fdeea313c230c2d0928fb6b7b40ad59a99,2cec68719b6a239b4b7047e282c25db9f4e23752..337364cb2ce4038b5ab455a1c47308b44283778f
@@@ -2,6 -2,7 +2,6 @@@
  @c This is part of the GNU Emacs Lisp Reference Manual.
  @c Copyright (C) 1990-1994, 1998-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/keymaps
  @node Keymaps, Modes, Command Loop, Top
  @chapter Keymaps
  @cindex keymap
@@@ -1032,7 -1033,7 +1032,7 @@@ binding of @var{othertype} in @var{othe
  This feature permits you to define one key as an alias for another key.
  For example, an entry whose @sc{car} is the keymap called @code{esc-map}
  and whose @sc{cdr} is 32 (the code for @key{SPC}) means, ``Use the global
- binding of @kbd{Meta-@key{SPC}}, whatever that may be.''
+ binding of @kbd{Meta-@key{SPC}}, whatever that may be''.
  @end itemize
  
  @item @var{symbol}
@@@ -1887,9 -1888,9 +1887,9 @@@ maps searched are @var{keymap} and the 
  is a list of keymaps, only those keymaps are searched.
  
  Usually it's best to use @code{overriding-local-map} as the expression
- for @var{keymap}.  Then @code{where-is-internal} searches precisely the
- keymaps that are active.  To search only the global map, pass
- @code{(keymap)} (an empty keymap) as @var{keymap}.
+ for @var{keymap}.  Then @code{where-is-internal} searches precisely
+ the keymaps that are active.  To search only the global map, pass the
value @code{(keymap)} (an empty keymap) as @var{keymap}.
  
  If @var{firstonly} is @code{non-ascii}, then the value is a single
  vector representing the first key sequence found, rather than a list of
@@@ -1903,20 -1904,24 +1903,24 @@@ If @var{noindirect} is non-@code{nil}, 
  follow indirect keymap bindings.  This makes it possible to search for
  an indirect definition itself.
  
- When command remapping is in effect (@pxref{Remapping Commands}),
- @code{where-is-internal} figures out when a command will be run due to
- remapping and reports keys accordingly.  It also returns @code{nil} if
- @var{command} won't really be run because it has been remapped to some
- other command.  However, if @var{no-remap} is non-@code{nil}.
- @code{where-is-internal} ignores remappings.
+ The fifth argument, @var{no-remap}, determines how this function
+ treats command remappings (@pxref{Remapping Commands}).  There are two
+ cases of interest:
  
- @smallexample
- @group
- (where-is-internal 'describe-function)
-     @result{} ([8 102] [f1 102] [help 102]
-          [menu-bar help-menu describe describe-function])
- @end group
- @end smallexample
+ @table @asis
+ @item If a command @var{other-command} is remapped to @var{command}:
+ If @var{no-remap} is @code{nil}, find the bindings for
+ @var{other-command} and treat them as though they are also bindings
+ for @var{command}.  If @var{no-remap} is non-@code{nil}, include the
+ vector @code{[remap @var{other-command}]} in the list of possible key
+ sequences, instead of finding those bindings.
+ @item If @var{command} is remapped to @var{other-command}:
+ If @var{no-remap} is @code{nil}, return the bindings for
+ @var{other-command} rather than @var{command}.  If @var{no-remap} is
+ non-@code{nil}, return the bindings for @var{command}, ignoring the
+ fact that it is remapped.
+ @end table
  @end defun
  
  @deffn Command describe-bindings &optional prefix buffer-or-name
@@@ -2147,7 -2152,7 +2151,7 @@@ This works because @code{toggle-debug-o
  which toggles the variable @code{debug-on-error}.
  
  @dfn{Radio buttons} are a group of menu items, in which at any time one
- and only one is ``selected.''  There should be a variable whose value
+ and only one is ``selected''.  There should be a variable whose value
  says which one is selected at any time.  The @var{selected} form for
  each radio button in the group should check whether the variable has the
  right value for selecting that button.  Clicking on the button should
@@@ -2424,7 -2429,7 +2428,7 @@@ Next we define the menu items
  Note the symbols which the bindings are ``made for''; these appear
  inside square brackets, in the key sequence being defined.  In some
  cases, this symbol is the same as the command name; sometimes it is
- different.  These symbols are treated as ``function keys,'' but they are
+ different.  These symbols are treated as ``function keys'', but they are
  not real function keys on the keyboard.  They do not affect the
  functioning of the menu itself, but they are ``echoed'' in the echo area
  when the user selects from the menu, and they appear in the output of
diff --combined doc/lispref/lists.texi
index 2325915d76ab4f110041139094a5bd3263c49147,68ec888b7e1dbf24d20bb6a136fbbf73befd2f9b..423bc7b6d8a2604c5c2054e2699c9367280b2df6
@@@ -1,7 -1,8 +1,7 @@@
  @c -*-texinfo-*-
  @c This is part of the GNU Emacs Lisp Reference Manual.
 -@c Copyright (C) 1990-1995, 1998-1999, 2001-2012  Free Software Foundation, Inc.
 +@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/lists
  @node Lists, Sequences Arrays Vectors, Strings and Characters, Top
  @chapter Lists
  @cindex lists
@@@ -34,12 -35,12 +34,12 @@@ object that represents an ordered pair
  and each slot @dfn{holds}, or @dfn{refers to}, some Lisp object.  One
  slot is known as the @sc{car}, and the other is known as the @sc{cdr}.
  (These names are traditional; see @ref{Cons Cell Type}.)  @sc{cdr} is
- pronounced ``could-er.''
+ pronounced ``could-er''.
  
    We say that ``the @sc{car} of this cons cell is'' whatever object
  its @sc{car} slot currently holds, and likewise for the @sc{cdr}.
  
-   A list is a series of cons cells ``chained together,'' so that each
+   A list is a series of cons cells ``chained together'', so that each
  cell refers to the next one.  There is one cons cell for each element
  of the list.  By convention, the @sc{car}s of the cons cells hold the
  elements of the list, and the @sc{cdr}s are used to chain the list
@@@ -1632,7 -1633,7 +1632,7 @@@ a @sc{cdr} @code{equal} to @var{value}
  
  @code{rassoc} is like @code{assoc} except that it compares the @sc{cdr} of
  each @var{alist} association instead of the @sc{car}.  You can think of
- this as ``reverse @code{assoc},'' finding the key for a given value.
+ this as ``reverse @code{assoc}'', finding the key for a given value.
  @end defun
  
  @defun assq key alist
@@@ -1673,7 -1674,7 +1673,7 @@@ a @sc{cdr} @code{eq} to @var{value}
  
  @code{rassq} is like @code{assq} except that it compares the @sc{cdr} of
  each @var{alist} association instead of the @sc{car}.  You can think of
- this as ``reverse @code{assq},'' finding the key for a given value.
+ this as ``reverse @code{assq}'', finding the key for a given value.
  
  For example:
  
diff --combined doc/lispref/macros.texi
index bc4cec3307d3f90de129f1e4cff1560e3b75e886,b87e9f228f3704289a76a3f096125a8cd05cf800..3984e5c03aaee8ce0ee1f54e2eb42b388ed8d6fa
@@@ -1,7 -1,8 +1,7 @@@
  @c -*-texinfo-*-
  @c This is part of the GNU Emacs Lisp Reference Manual.
 -@c Copyright (C) 1990-1995, 1998, 2001-2012  Free Software Foundation, Inc.
 +@c Copyright (C) 1990-1995, 1998, 2001-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/macros
  @node Macros, Customization, Functions, Top
  @chapter Macros
  @cindex macros
@@@ -604,7 -605,7 +604,7 @@@ either
  @section Indenting Macros
  
    Within a macro definition, you can use the @code{declare} form
- (@pxref{Defining Macros}) to specify how to @key{TAB} should indent
+ (@pxref{Defining Macros}) to specify how @key{TAB} should indent
  calls to the macro.  An indentation specification is written like this:
  
  @example
diff --combined doc/lispref/minibuf.texi
index c840eb6ded0dc02c1d83de4c9b14d79271277eb1,47ecc9e5893d08689fc39174f6513e030e4db07b..8ce7e0d4686a2b8a67d5eff8ee2b257676d343d2
@@@ -3,6 -3,7 +3,6 @@@
  @c Copyright (C) 1990-1995, 1998-1999, 2001-2012
  @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
  @chapter Minibuffers
  @cindex arguments, reading
@@@ -57,16 -58,17 +57,17 @@@ including @code{beginning-of-line}, @co
  @code{forward-sentence}, and @code{forward-paragraph}, stop at the
  boundary between the prompt and the actual text.
  
+ @c See http://debbugs.gnu.org/11276
    The minibuffer's window is normally a single line; it grows
- automatically if the contents require more space.  You can explicitly
- @c FIXME?  Works in 23.4, not 24.0.95.  (Bug#11276)
- resize it temporarily with the window sizing commands; it reverts to
- its normal size when the minibuffer is exited.  You can resize it
- @c FIXME?  Doesn't work in any version of Emacs?
+ automatically if the contents require more space.  Whilst it is
+ active, you can explicitly resize it temporarily with the window
+ sizing commands; it reverts to its normal size when the minibuffer is
+ exited.  When the minibuffer is not active, you can resize it
  permanently by using the window sizing commands in the frame's other
- window, when the minibuffer is not active.  If the frame contains just
- a minibuffer, you can change the minibuffer's size by changing the
- frame's size.
+ window, or dragging the mode line with the mouse.  (Due to details of
+ the current implementation, for this to work @code{resize-mini-windows}
+ must be @code{nil}.)  If the frame contains just a minibuffer, you can
+ change the minibuffer's size by changing the frame's size.
  
    Use of the minibuffer reads input events, and that alters the values
  of variables such as @code{this-command} and @code{last-command}
@@@ -1282,11 -1284,10 +1283,11 @@@ complete in the set of extant Lisp symb
  
  @defun read-variable prompt &optional default
  @anchor{Definition of read-variable}
 -This function reads the name of a user variable and returns it as a
 -symbol.  Its arguments have the same form as those of @code{read-command}.
 -In general, this function is similar to @code{read-command}, but uses
 -the predicate @code{user-variable-p} instead of @code{commandp}.
 +This function reads the name of a customizable variable and returns it
 +as a symbol.  Its arguments have the same form as those of
 +@code{read-command}.  It behaves just like @code{read-command}, except
 +that it uses the predicate @code{custom-variable-p} instead of
 +@code{commandp}.
  @end defun
  
  @deffn Command read-color &optional prompt convert allow-empty display
diff --combined doc/lispref/modes.texi
index aa089aec36bd941e0d6e311809b192194d394488,e9be9f1763f5ca6e412dc513f02efabcc91db3c2..00cd43d7b718a4a465bfbcc92d7bc240d9b887b8
@@@ -2,6 -2,7 +2,6 @@@
  @c This is part of the GNU Emacs Lisp Reference Manual.
  @c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/modes
  @node Modes, Documentation, Keymaps, Top
  @chapter Major and Minor Modes
  @cindex mode
@@@ -283,7 -284,7 +283,7 @@@ buffer is put in Fundamental mode (@pxr
  * Derived Modes::           Defining a new major mode based on another major
                                mode.
  * Basic Major Modes::       Modes that other modes are often derived from.
- * Mode Hooks::              Hooks run at the end of major mode commands.
+ * Mode Hooks::              Hooks run at the end of major mode functions.
  * Tabulated List Mode::     Parent mode for buffers containing tabulated data.
  * Generic Modes::           Defining a simple major mode that supports
                                comment syntax and Font Lock mode.
@@@ -384,7 -385,7 +384,7 @@@ reserved for users
  
  A major mode can also rebind the keys @kbd{M-n}, @kbd{M-p} and
  @kbd{M-s}.  The bindings for @kbd{M-n} and @kbd{M-p} should normally
- be some kind of ``moving forward and backward,'' but this does not
+ be some kind of ``moving forward and backward'', but this does not
  necessarily mean cursor motion.
  
  It is legitimate for a major mode to rebind a standard key sequence if
@@@ -938,7 -939,7 +938,7 @@@ such a major mode, please correct it t
  
    When you defined a major mode using @code{define-derived-mode}, it
  automatically makes sure these conventions are followed.  If you
- define a major mode ``by hand,'' not using @code{define-derived-mode},
+ define a major mode ``by hand'', not using @code{define-derived-mode},
  use the following functions to handle these conventions automatically.
  
  @defun run-mode-hooks &rest hookvars
@@@ -1122,8 -1123,8 +1122,8 @@@ documentation for the mode command.  I
  The argument @var{comment-list} is a list in which each element is
  either a character, a string of one or two characters, or a cons cell.
  A character or a string is set up in the mode's syntax table as a
- ``comment starter.''  If the entry is a cons cell, the @sc{car} is set
- up as a ``comment starter'' and the @sc{cdr} as a ``comment ender.''
+ ``comment starter''.  If the entry is a cons cell, the @sc{car} is set
+ up as a ``comment starter'' and the @sc{cdr} as a ``comment ender''.
  (Use @code{nil} for the latter if you want comments to end at the end
  of the line.)  Note that the syntax table mechanism has limitations
  about what comment starters and enders are actually possible.
@@@ -1648,7 -1649,7 +1648,7 @@@ See the command \\[hungry-electric-dele
  @end smallexample
  
  @noindent
- This defines a minor mode named ``Hungry mode,'' a command named
+ This defines a minor mode named ``Hungry mode'', a command named
  @code{hungry-mode} to toggle it, a variable named @code{hungry-mode}
  which indicates whether the mode is enabled, and a variable named
  @code{hungry-mode-map} which holds the keymap that is active when the
@@@ -3374,7 -3375,7 +3374,7 @@@ Another one is SMIE which takes an appr
  of Lisp sexps and adapts it to non-Lisp languages.
  
  @menu
- * SMIE::                        A simple minded indentation engine
+ * SMIE::                        A simple minded indentation engine.
  @end menu
  
  @node SMIE
@@@ -3400,14 -3401,14 +3400,14 @@@ languages cannot be parsed correctly us
  resorting to some special tricks (@pxref{SMIE Tricks}).
  
  @menu
- * SMIE setup::                  SMIE setup and features
- * Operator Precedence Grammars::  A very simple parsing technique
- * SMIE Grammar::                Defining the grammar of a language
- * SMIE Lexer::                  Defining tokens
- * SMIE Tricks::                 Working around the parser's limitations
- * SMIE Indentation::            Specifying indentation rules
- * SMIE Indentation Helpers::    Helper functions for indentation rules
- * SMIE Indentation Example::    Sample indentation rules
+ * SMIE setup::                  SMIE setup and features.
+ * Operator Precedence Grammars::  A very simple parsing technique.
+ * SMIE Grammar::                Defining the grammar of a language.
+ * SMIE Lexer::                  Defining tokens.
+ * SMIE Tricks::                 Working around the parser's limitations.
+ * SMIE Indentation::            Specifying indentation rules.
+ * SMIE Indentation Helpers::    Helper functions for indentation rules.
+ * SMIE Indentation Example::    Sample indentation rules.
  @end menu
  
  @node SMIE setup
diff --combined doc/lispref/numbers.texi
index 66f491b7780c8ba2944c0f78577f26582fabc34f,5973137e587b35698271c781b2e40bf43e155ea4..02d306b3f757b2037a2470338b2ebb585f22a539
@@@ -3,6 -3,7 +3,6 @@@
  @c Copyright (C) 1990-1995, 1998-1999, 2001-2012
  @c   Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/numbers
  @node Numbers, Strings and Characters, Lisp Data Types, Top
  @chapter Numbers
  @cindex integers
@@@ -777,7 -778,7 +777,7 @@@ and returns that value as a floating po
  sequence of @dfn{bits} (digits which are either zero or one).  A bitwise
  operation acts on the individual bits of such a sequence.  For example,
  @dfn{shifting} moves the whole sequence left or right one or more places,
- reproducing the same pattern ``moved over.''
+ reproducing the same pattern ``moved over''.
  
    The bitwise operations in Emacs Lisp apply only to integers.
  
diff --combined doc/lispref/objects.texi
index 58ceeb02b769abc0ce5c0c049fdc2f21dfb232c9,cc451f8262955e6a15285b64ae92d5477013e550..b49d2bc05fe252f0ecd9d17f99d66e1f238f03d5
@@@ -3,6 -3,7 +3,6 @@@
  @c Copyright (C) 1990-1995, 1998-1999, 2001-2012
  @c   Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/objects
  @node Lisp Data Types, Numbers, Introduction, Top
  @chapter Lisp Data Types
  @cindex object
@@@ -675,7 -676,7 +675,7 @@@ not distinguish between a cons cell slo
  
  @cindex atoms
    Because cons cells are so central to Lisp, we also have a word for
- ``an object which is not a cons cell.''  These objects are called
+ ``an object which is not a cons cell''.  These objects are called
  @dfn{atoms}.
  
  @cindex parenthesis
@@@ -1289,7 -1290,7 +1289,7 @@@ without qualification, we mean a Lisp m
    A @dfn{primitive function} is a function callable from Lisp but
  written in the C programming language.  Primitive functions are also
  called @dfn{subrs} or @dfn{built-in functions}.  (The word ``subr'' is
- derived from ``subroutine.'')  Most primitive functions evaluate all
+ derived from ``subroutine''.)  Most primitive functions evaluate all
  their arguments when they are called.  A primitive function that does
  not evaluate all its arguments is called a @dfn{special form}
  (@pxref{Special Forms}).@refill
diff --combined doc/lispref/streams.texi
index 7028b6e4e3fd1029ec00c265878bafa9fcd3ee7b,70b11d78b0ad3d6c7b6f5c563dd80af09437907d..66df1f34eda285e9cbc5e2ee3cf93e19f8b77342
@@@ -1,7 -1,8 +1,7 @@@
  @c -*-texinfo-*-
  @c This is part of the GNU Emacs Lisp Reference Manual.
 -@c Copyright (C) 1990-1994, 1998-1999, 2001-2012  Free Software Foundation, Inc.
 +@c Copyright (C) 1990-1994, 1998-1999, 2001-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/streams
  @node Read and Print, Minibuffers, Debugging, Top
  @comment  node-name,  next,  previous,  up
  @chapter Reading and Printing Lisp Objects
@@@ -114,7 -115,7 +114,7 @@@ When it is called with one argument (al
  should save the argument and arrange to return it on the next call.
  This is called @dfn{unreading} the character; it happens when the Lisp
  reader reads one character too many and wants to ``put it back where it
- came from.''  In this case, it makes no difference what value
+ came from''.  In this case, it makes no difference what value
  @var{function} returns.
  @end itemize
  
@@@ -618,7 -619,7 +618,7 @@@ spacing between calls
  @defun terpri &optional stream
  @cindex newline in print
  This function outputs a newline to @var{stream}.  The name stands
- for ``terminate print.''
+ for ``terminate print''.
  @end defun
  
  @defun write-char character &optional stream
diff --combined doc/lispref/symbols.texi
index ac2cea020405a714f8b9357a105aa2080fa335e8,f2ffc20f588a664c0a386af85ef275de93170154..1e749b8c3bbaa4aa0425e81f02e51be5a4991184
@@@ -1,7 -1,8 +1,7 @@@
  @c -*-texinfo-*-
  @c This is part of the GNU Emacs Lisp Reference Manual.
 -@c Copyright (C) 1990-1995, 1998-1999, 2001-2012  Free Software Foundation, Inc.
 +@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/symbols
  @node Symbols, Evaluation, Hash Tables, Top
  @chapter Symbols
  @cindex symbol
@@@ -140,7 -141,7 +140,7 @@@ act correctly if it is evaluated with l
    @code{defun} defines a symbol as a function, creating a lambda
  expression and storing it in the function cell of the symbol.  This
  lambda expression thus becomes the function definition of the symbol.
- (The term ``function definition,'' meaning the contents of the function
+ (The term ``function definition'', meaning the contents of the function
  cell, is derived from the idea that @code{defun} gives the symbol its
  definition as a function.)  @code{defsubst} and @code{defalias} are two
  other ways of defining a function.  @xref{Functions}.
diff --combined doc/lispref/syntax.texi
index 830ceeedefda13cb2ba6a65bb9013a757e8cd9ab,af6243fd4574388c6d81a4e8beceadebdabb3a85..4a86065744479bde4b926640eba8553e3bd27fd3
@@@ -3,6 -3,7 +3,6 @@@
  @c Copyright (C) 1990-1995, 1998-1999, 2001-2012
  @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
  @chapter Syntax Tables
  @cindex parsing buffer text
@@@ -56,7 -57,7 +56,7 @@@ Modes}, for an example of how to set u
  A syntax table can inherit the data for some characters from the
  standard syntax table, while specifying other characters itself.  The
  ``inherit'' syntax class means ``inherit this character's syntax from
- the standard syntax table.''  Just changing the standard syntax for a
+ the standard syntax table''.  Just changing the standard syntax for a
  character affects all syntax tables that inherit from it.
  
  @defun syntax-table-p object
@@@ -617,7 -618,7 +617,7 @@@ higher-level functions for moving over 
    A character's syntax controls how it changes the state of the
  parser, rather than describing the state itself.  For example, a
  string delimiter character toggles the parser state between
- ``in-string'' and ``in-code,'' but the syntax of characters does not
+ ``in-string'' and ``in-code'', but the syntax of characters does not
  directly say whether they are inside a string.  For example (note that
  15 is the syntax code for generic string delimiters),
  
diff --combined doc/lispref/text.texi
index a9c51fead1bca4ade9827071adf1e822d9f7c873,4ed096d21a4c62482b1276caf06730d9ce40cea5..d794ddc385bdc9ceeee1ff75352d91d6626e7d33
@@@ -1,7 -1,8 +1,7 @@@
  @c -*-texinfo-*-
  @c This is part of the GNU Emacs Lisp Reference Manual.
 -@c Copyright (C) 1990-1995, 1998-2012  Free Software Foundation, Inc.
 +@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/text
  @node Text, Non-ASCII Characters, Markers, Top
  @chapter Text
  @cindex text
@@@ -555,7 -556,7 +555,7 @@@ error; if some of the text in it is rea
  asking for any confirmation.  It returns @code{nil}.
  
  Normally, deleting a large amount of text from a buffer inhibits further
- auto-saving of that buffer ``because it has shrunk.''  However,
+ auto-saving of that buffer ``because it has shrunk''.  However,
  @code{erase-buffer} does not do this, the idea being that the future
  text is not really related to the former text, and its size should not
  be compared with that of the former text.
@@@ -806,7 -807,7 +806,7 @@@ that treat it as a ring
  
    Some people think this use of the word ``kill'' is unfortunate, since
  it refers to operations that specifically @emph{do not} destroy the
- entities ``killed.''  This is in sharp contrast to ordinary life, in
+ entities ``killed''.  This is in sharp contrast to ordinary life, in
  which death is permanent and ``killed'' entities do not come back to
  life.  Therefore, other metaphors have been proposed.  For example, the
  term ``cut ring'' makes sense to people who, in pre-computer days, used
@@@ -845,7 -846,7 +845,7 @@@ the entry made by the first one
  
    For yanking, one entry in the kill ring is designated the ``front'' of
  the ring.  Some yank commands ``rotate'' the ring by designating a
- different element as the ``front.''  But this virtual rotation doesn't
+ different element as the ``front''.  But this virtual rotation doesn't
  change the list itself---the most recent entry always comes first in the
  list.
  
@@@ -1093,8 -1094,8 +1093,8 @@@ programs, when you are using a window s
  @code{nil} or a function of no arguments.
  
  If the value is a function, @code{current-kill} calls it to get the
- ``most recent kill.''  If the function returns a non-@code{nil} value,
- then that value is used as the ``most recent kill.''  If it returns
+ ``most recent kill''.  If the function returns a non-@code{nil} value,
+ then that value is used as the ``most recent kill''.  If it returns
  @code{nil}, then the front of the kill ring is used.
  
  To facilitate support for window systems that support multiple
@@@ -3504,7 -3505,7 +3504,7 @@@ once for the same part of the buffer, y
  If this variable's value is non-@code{nil}, it is a symbol which is used
  as a text property name.  A non-@code{nil} value for that text property
  means, ``the other text properties for this character have already been
- computed.''
+ computed''.
  
  If all the characters in the range specified for @code{buffer-substring}
  have a non-@code{nil} value for this property, @code{buffer-substring}
@@@ -3808,7 -3809,7 +3808,7 @@@ after @var{old-pos}.)  If @var{escape-f
  @var{new-pos} can be anywhere in the two adjacent fields.
  Additionally, if two fields are separated by another field with the
  special value @code{boundary}, then any point within this special
- field is also considered to be ``on the boundary.''
+ field is also considered to be ``on the boundary''.
  
  Commands like @kbd{C-a} with no argument, that normally move backward
  to a specific kind of location and stay there once there, probably
diff --combined doc/lispref/tips.texi
index 4ba7dd9dfe9f25f4b1975794a9757f42fd5eb4a7,56c361cf86e9941a47eee505d1ed7052b1619273..0e58373119fed4d238d7181e5c4816182682378d
@@@ -3,6 -3,7 +3,6 @@@
  @c Copyright (C) 1990-1993, 1995, 1998-1999, 2001-2012
  @c   Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/tips
  @node Tips, GNU Emacs Internals, GPL, Top
  @appendix Tips and Conventions
  @cindex tips for writing Lisp
@@@ -640,7 -641,7 +640,7 @@@ have the form (KEY . VALUE).  Here, KE
  
  @item
  Never change the case of a Lisp symbol when you mention it in a doc
- string.  If the symbol's name is @code{foo}, write ``foo,'' not
+ string.  If the symbol's name is @code{foo}, write ``foo'', not
  ``Foo'' (which is a different symbol).
  
  This might appear to contradict the policy of writing function
@@@ -772,9 -773,9 +772,9 @@@ is indicative and has a proper subject
  
  @item
  The documentation string for a function that is a yes-or-no predicate
- should start with words such as ``Return t if,'' to indicate
- explicitly what constitutes ``truth.''  The word ``return'' avoids
- starting the sentence with lower-case ``t,'' which could be somewhat
+ should start with words such as ``Return t if'', to indicate
+ explicitly what constitutes ``truth''.  The word ``return'' avoids
+ starting the sentence with lower-case ``t'', which could be somewhat
  distracting.
  
  @item
@@@ -797,8 -798,8 +797,8 @@@ returned.'
  
  @item
  Avoid using the word ``cause'' (or its equivalents) unnecessarily.
- Instead of, ``Cause Emacs to display text in boldface,'' write just
- ``Display text in boldface.''
+ Instead of, ``Cause Emacs to display text in boldface'', write just
+ ``Display text in boldface''.
  
  @item
  Avoid using ``iff'' (a mathematics term meaning ``if and only if''),
@@@ -821,7 -822,7 +821,7 @@@ to set, use @code{defcustom}.  @xref{De
  
  @item
  The documentation string for a variable that is a yes-or-no flag should
- start with words such as ``Non-nil means,'' to make it clear that
+ start with words such as ``Non-nil means'', to make it clear that
  all non-@code{nil} values are equivalent and indicate explicitly what
  @code{nil} and non-@code{nil} mean.
  @end itemize
index e0e629ec9d3621a8d89ce337e77a9a4fef1024f0,6f54acea26a2848fa5b0432413e259999f055876..4e62223164596fa97ccef1a25b5a32c128d686d2
@@@ -2,6 -2,7 +2,6 @@@
  @c This is part of the GNU Emacs Lisp Reference Manual.
  @c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/variables
  @node Variables, Functions, Control Structures, Top
  @chapter Variables
  @cindex variable
@@@ -670,7 -671,7 +670,7 @@@ symbol is changed
  
  @code{setq} does not evaluate @var{symbol}; it sets the symbol that you
  write.  We say that this argument is @dfn{automatically quoted}.  The
- @samp{q} in @code{setq} stands for ``quoted.''
+ @samp{q} in @code{setq} stands for ``quoted''.
  
  The value of the @code{setq} form is the value of the last @var{form}.
  
diff --combined doc/lispref/windows.texi
index a9a25d8e8677ced0c7daf60c8877f507e10e87ee,c8a9316bcfa47f24d4cfc8c595c3798cce36277d..094729033b15bb54728732840cd838cc26f2b2b9
@@@ -3,6 -3,7 +3,6 @@@
  @c Copyright (C) 1990-1995, 1998-1999, 2001-2012
  @c   Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
 -@setfilename ../../info/windows
  @node Windows, Frames, Buffers, Top
  @chapter Windows
  
@@@ -49,7 -50,7 +49,7 @@@ is displayed in windows
  @section Basic Concepts of Emacs Windows
  @cindex window
  
- A @dfn{window} is a area of the screen which is used to display a
+ A @dfn{window} is a area of the screen that is used to display a
  buffer (@pxref{Buffers}).  In Emacs Lisp, windows are represented by a
  special Lisp object type.
  
@@@ -297,8 -298,8 +297,8 @@@ child of its parent
  
  The functions @code{window-next-sibling} and
  @code{window-prev-sibling} should not be confused with the functions
- @code{next-window} and @code{previous-window} which respectively
return the next and previous window in the cyclic ordering of windows
+ @code{next-window} and @code{previous-window}, which return the next
and previous window, respectively, in the cyclic ordering of windows
  (@pxref{Cyclic Window Ordering}).
  
    You can use the following functions to find the first live window on
@@@ -376,7 -377,7 +376,7 @@@ line (@pxref{Mode Line Format})
  
    Emacs provides several functions for finding the height and width of
  a window.  Except where noted, Emacs reports window heights and widths
- as integer numbers of lines and columns respectively.  On a graphical
+ as integer numbers of lines and columns, respectively.  On a graphical
  display, each ``line'' and ``column'' actually corresponds to the
  height and width of a ``default'' character specified by the frame's
  default font.  Thus, if a window is displaying text with a different
@@@ -619,7 -620,7 +619,7 @@@ window
  
  The optional argument @var{max-height}, if non-@code{nil}, specifies
  the maximum total height that this function can give @var{window}.
- The optional argument @var{min-height}, if no-@code{nil}, specifies
+ The optional argument @var{min-height}, if non-@code{nil}, specifies
  the minimum total height that it can give, which overrides the
  variable @code{window-min-height}.
  
@@@ -723,7 -724,7 +723,7 @@@ properties of the window selected withi
  
  The behavior of this function may be altered by the window parameters
  of @var{window}, so long as the variable
- @code{ignore-window-parameters} is non-@code{nil}.  If the value of
+ @code{ignore-window-parameters} is @code{nil}.  If the value of
  the @code{split-window} window parameter is @code{t}, this function
  ignores all other window parameters.  Otherwise, if the value of the
  @code{split-window} window parameter is a function, that function is
@@@ -1062,7 -1063,7 +1062,7 @@@ combination.  @xref{Splitting Windows}
  
  The behavior of this function may be altered by the window parameters
  of @var{window}, so long as the variable
- @code{ignore-window-parameters} is non-@code{nil}.  If the value of
+ @code{ignore-window-parameters} is @code{nil}.  If the value of
  the @code{delete-window} window parameter is @code{t}, this function
  ignores all other window parameters.  Otherwise, if the value of the
  @code{delete-window} window parameter is a function, that function is
@@@ -1079,7 -1080,7 +1079,7 @@@ defaults to the selected window.  The r
  
  The behavior of this function may be altered by the window parameters
  of @var{window}, so long as the variable
- @code{ignore-window-parameters} is non-@code{nil}.  If the value of
+ @code{ignore-window-parameters} is @code{nil}.  If the value of
  the @code{delete-other-windows} window parameter is @code{t}, this
  function ignores all other window parameters.  Otherwise, if the value
  of the @code{delete-other-windows} window parameter is a function,
@@@ -1119,8 -1120,8 +1119,8 @@@ means operate on that frame
  
  Note that this argument does not have the same meaning as in other
  functions which scan all live windows (@pxref{Cyclic Window
- Ordering}).  Specifically, the values @code{t} and @code{nil} have the
opposite of their meanings in those other functions.
+ Ordering}).  Specifically, the meanings of @code{t} and @code{nil} here
are the opposite of what they are in those other functions.
  @end deffn
  
  @node Selecting Windows
@@@ -1171,11 -1172,11 +1171,11 @@@ the buffer list
  This macro selects @var{window}, executes @var{forms} in sequence, then
  restores the previously selected window and current buffer.  The ordering
  of recently selected windows and the buffer list remain unchanged unless
- you deliberately change them within @var{forms}, for example, by calling
+ you deliberately change them within @var{forms}; for example, by calling
  @code{select-window} with argument @var{norecord} @code{nil}.
  
- The order of recently selected windows and the buffer list are not
changed by this macro.
+ This macro does not change the order of recently selected windows or
the buffer list.
  @end defmac
  
  @defun frame-selected-window &optional frame
@@@ -1185,7 -1186,7 +1185,7 @@@ within that frame.  @var{frame} should 
  @end defun
  
  @defun set-frame-selected-window frame window &optional norecord
- This function makes @code{window} the window selected within the frame
+ This function makes @var{window} the window selected within the frame
  @var{frame}.  @var{frame} should be a live frame; if omitted or
  @code{nil}, it defaults to the selected frame.  @var{window} should be
  a live window; if omitted or @code{nil}, it defaults to the selected
@@@ -1223,7 -1224,7 +1223,7 @@@ the cyclic ordering of windows.  @var{w
  if omitted or @code{nil}, it defaults to the selected window.
  
  The optional argument @var{minibuf} specifies whether minibuffer windows
- shall be included in the cyclic ordering.  Normally, when @var{minibuf}
+ should be included in the cyclic ordering.  Normally, when @var{minibuf}
  is @code{nil}, a minibuffer window is included only if it is currently
  ``active''; this matches the behavior of @kbd{C-x o}.  (Note that a
  minibuffer window is active as long as its minibuffer is in use; see
@@@ -1805,14 -1806,14 +1805,14 @@@ desired buffer) or @code{nil} (which me
  @end defopt
  
  @defun split-window-sensibly window
- This function tries to split @code{window}, and return the newly
- created window.  If @code{window} cannot be split, it returns
+ This function tries to split @var{window}, and return the newly
+ created window.  If @var{window} cannot be split, it returns
  @code{nil}.
  
  This function obeys the usual rules that determine when a window may
  be split (@pxref{Splitting Windows}).  It first tries to split by
  placing the new window below, subject to the restriction imposed by
- @code{split-height-threshold} (see below) in addition to any other
+ @code{split-height-threshold} (see below), in addition to any other
  restrictions.  If that fails, it tries to split by placing the new
  window to the right, subject to @code{split-width-threshold} (see
  below).  If that fails, and the window is the only window on its
@@@ -1944,7 -1945,7 +1944,7 @@@ to display @var{buffer}
  
  If @var{args} is an alist, it specifies frame parameters for the new
  frame.  If @var{args} is a list whose @sc{car} is a symbol, then
- @code{(car @var{args})} is called as a function to actually create and
+ @code{(car @var{args})} is a function to actually create and
  set up the frame; it is called with @var{buffer} as first argument, and
  @code{(cdr @var{args})} as additional arguments.
  
@@@ -1962,7 -1963,7 +1962,7 @@@ This variable holds frame parameters fo
  
  @defopt same-window-buffer-names
  A list of buffer names for buffers that should be displayed in the
- selected window.  If the buffer's name is in this list,
+ selected window.  If a buffer's name is in this list,
  @code{display-buffer} handles the buffer by switching to it in the
  selected window.
  @end defopt
@@@ -1997,8 -1998,8 +1997,8 @@@ above
  @section Window History
  @cindex window history
  
- Each window remembers the buffers it has displayed earlier and the order
- in which these buffers have been removed from it.  This history is used,
+ Each window remembers the buffers it has previously displayed, and the order
+ in which these buffers were removed from it.  This history is used,
  for example, by @code{replace-buffer-in-windows} (@pxref{Buffers and
  Windows}).  This list is automatically maintained by Emacs, but you can
  use the following functions to explicitly inspect or alter it:
@@@ -2061,41 -2062,41 +2061,41 @@@ This command displays the previous buff
  argument @var{window} should be a live window or @code{nil} (meaning
  the selected window).  If the optional argument @var{bury-or-kill} is
  non-@code{nil}, this means that the buffer currently shown in
- @var{window} is about to be buried or killed and consequently shall
+ @var{window} is about to be buried or killed and consequently should
  not be switched to in future invocations of this command.
  
  The previous buffer is usually the buffer shown before the buffer
  currently shown in @var{window}.  However, a buffer that has been buried
- or killed or has been already shown by a recent invocation of
- @code{switch-to-prev-buffer} does not qualify as previous buffer.
+ or killed, or has been already shown by a recent invocation of
+ @code{switch-to-prev-buffer}, does not qualify as previous buffer.
  
  If repeated invocations of this command have already shown all buffers
  previously shown in @var{window}, further invocations will show buffers
  from the buffer list of the frame @var{window} appears on (@pxref{The
- Buffer List}) trying to skip buffers that are already shown in another
+ Buffer List}), trying to skip buffers that are already shown in another
  window on that frame.
  @end deffn
  
  @deffn Command switch-to-next-buffer &optional window
- This command switches to the next buffer in @var{window} thus undoing
+ This command switches to the next buffer in @var{window}, thus undoing
  the effect of the last @code{switch-to-prev-buffer} command in
  @var{window}.  The argument @var{window} must be a live window and
  defaults to the selected one.
  
- If there is no recent invocation of @code{switch-to-prev-buffer} that
+ If there is no recent invocation of @code{switch-to-prev-buffer} that
  can be undone, this function tries to show a buffer from the buffer list
  of the frame @var{window} appears on (@pxref{The Buffer List}).
  @end deffn
  
  By default @code{switch-to-prev-buffer} and @code{switch-to-next-buffer}
  can switch to a buffer that is already shown in another window on the
- same frame.  The following option can be used to override that behavior.
+ same frame.  The following option can be used to override this behavior.
  
  @defopt switch-to-visible-buffer
  If this variable is non-@code{nil}, @code{switch-to-prev-buffer} and
  @code{switch-to-next-buffer} may switch to a buffer that is already
- visible on the same frame, provided the buffer was shown in the argument
- window before.  If it's @code{nil}, @code{switch-to-prev-buffer} and
+ visible on the same frame, provided the buffer was shown in the relevant
+ window before.  If it is @code{nil}, @code{switch-to-prev-buffer} and
  @code{switch-to-next-buffer} always try to avoid switching to a buffer
  that is already visible in another window on the same frame.
  @end defopt
@@@ -2137,7 -2138,7 +2137,7 @@@ another buffer in it and iconifies the 
  This function returns non-@code{nil} if @var{window} is dedicated to its
  buffer and @code{nil} otherwise.  More precisely, the return value is
  the value assigned by the last call of @code{set-window-dedicated-p} for
- @var{window} or @code{nil} if that function was never called with
+ @var{window}, or @code{nil} if that function was never called with
  @var{window} as its argument.  The default for @var{window} is the
  selected window.
  @end defun
@@@ -2158,20 -2159,20 +2158,20 @@@ non-@code{nil} value
  @node Quitting Windows
  @section Quitting Windows
  
- When you want to get rid of a window used for displaying a buffer you
+ When you want to get rid of a window used for displaying a buffer, you
  can call @code{delete-window} or @code{delete-windows-on}
  (@pxref{Deleting Windows}) to remove that window from its frame.  If the
  buffer is shown on a separate frame, you might want to call
  @code{delete-frame} (@pxref{Deleting Frames}) instead.  If, on the other
  hand, a window has been reused for displaying the buffer, you might
- prefer showing the buffer previously shown in that window by calling the
+ prefer showing the buffer previously shown in that window, by calling the
  function @code{switch-to-prev-buffer} (@pxref{Window History}).
  Finally, you might want to either bury (@pxref{The Buffer List}) or kill
  (@pxref{Killing Buffers}) the window's buffer.
  
     The following function uses information on how the window for
- displaying the buffer was obtained in the first place thus attempting to
- automatize the above decisions for you.
+ displaying the buffer was obtained in the first place, thus attempting to
+ automate the above decisions for you.
  
  @deffn Command quit-window &optional kill window
  This command quits @var{window} and buries its buffer.  The argument
@@@ -2199,39 -2200,39 +2199,39 @@@ restore the original height of @var{win
  The three cases described so far require that the buffer shown in
  @var{window} is still the buffer displayed by the last buffer display
  function for this window.  If another buffer has been shown in the
- meantime or the buffer previously shown no longer exists, this command
+ meantime, or the buffer previously shown no longer exists, this command
  calls @code{switch-to-prev-buffer} (@pxref{Window History}) to show some
  other buffer instead.
  @end deffn
  
  The function @code{quit-window} bases its decisions on information
  stored in @var{window}'s @code{quit-restore} window parameter
- (@pxref{Window Parameters}) and resets that parameter to @code{nil}
+ (@pxref{Window Parameters}), and resets that parameter to @code{nil}
  after it's done.
  
  The following option specifies how to deal with a frame containing just
- one window that shall be either quit or whose buffer shall be buried.
+ one window that should be either quit, or whose buffer should be buried.
  
  @defopt frame-auto-hide-function
  The function specified by this option is called to automatically hide
- frames.  This function is called with one argument - a frame.
+ frames.  This function is called with one argument---a frame.
  
  The function specified here is called by @code{bury-buffer} (@pxref{The
  Buffer List}) when the selected window is dedicated and shows the buffer
- that shall be buried.  It is also called by @code{quit-window} (see
- above) when the frame of the window that shall be quit has been
+ that should be buried.  It is also called by @code{quit-window} (see
+ above) when the frame of the window that should be quit has been
  specially created for displaying that window's buffer and the buffer
- shall be buried.
+ should be buried.
  
  The default is to call @code{iconify-frame} (@pxref{Visibility of
- Frames}).  Alternatively, you may either specify @code{delete-frame}
+ Frames}).  Alternatively, you may specify either @code{delete-frame}
  (@pxref{Deleting Frames}) to remove the frame from its display,
  @code{ignore} to leave the frame unchanged, or any other function that
  can take a frame as its sole argument.
  
  Note that the function specified by this option is called if and only if
- there's at least one other frame on the terminal of the frame it's
- supposed to handle and that frame contains only one live window.
+ there is at least one other frame on the terminal of the frame it's
+ supposed to handle, and that frame contains only one live window.
  @end defopt
  
  
@@@ -2321,14 -2322,7 +2321,7 @@@ command to a key
  @cindex window top line
  This function returns the display-start position of window
  @var{window}.  If @var{window} is @code{nil}, the selected window is
- used.  For example,
- @example
- @group
- (window-start)
-      @result{} 7058
- @end group
- @end example
+ used.
  
  When you create a window, or display a different buffer in it, the
  display-start position is set to a display-start position recently used
@@@ -2340,9 -2334,6 +2333,6 @@@ it explicitly since the previous redisp
  on the screen.  Nothing except redisplay automatically changes the
  window-start position; if you move point, do not expect the window-start
  position to change in response until after the next redisplay.
- For a realistic example of using @code{window-start}, see the
- description of @code{count-lines}.  @xref{Definition of count-lines}.
  @end defun
  
  @cindex window end position
@@@ -2516,12 -2507,16 +2506,16 @@@ commands move the paper up and down.  T
  middle of a buffer and repeatedly call @code{scroll-down}, you will
  eventually see the beginning of the buffer.
  
-   Some people have urged that the opposite convention be used: they
+   Unfortunately, this sometimes causes confusion, because some people
+ tend to think in terms of the opposite convention: they
  imagine the window moving over text that remains in place, so that
  ``down'' commands take you to the end of the buffer.  This convention
  is consistent with fact that such a command is bound to a key named
- @key{PageDown} on modern keyboards.  We have not switched to this
- convention as that is likely to break existing Emacs Lisp code.
+ @key{PageDown} on modern keyboards.
+ @ignore
+ We have not switched to this convention as that is likely to break
+ existing Emacs Lisp code.
+ @end ignore
  
    Textual scrolling functions (aside from @code{scroll-other-window})
  have unpredictable results if the current buffer is not the one
@@@ -2551,13 -2546,8 +2545,8 @@@ signals an error.  Otherwise, it return
  This function scrolls backward by @var{count} lines in the selected
  window.
  
- If @var{count} is negative, it scrolls forward instead.  If
- @var{count} is omitted or @code{nil}, the distance scrolled is
- @code{next-screen-context-lines} lines less than the height of the
- window's text area.
- If the selected window cannot be scrolled any further, this function
- signals an error.  Otherwise, it returns @code{nil}.
+ If @var{count} is negative, it scrolls forward instead.  In other
+ respects, it behaves the same way as @code{scroll-up} does.
  @end deffn
  
  @deffn Command scroll-up-command &optional count
@@@ -2587,8 -2577,8 +2576,8 @@@ already displayed, @code{scroll-other-w
  window.
  
  When the selected window is the minibuffer, the next window is normally
- the one at the top left corner.  You can specify a different window to
- scroll, when the minibuffer is selected, by setting the variable
+ the leftmost one immediately above it.  You can specify a different
window to scroll, when the minibuffer is selected, by setting the variable
  @code{minibuffer-scroll-window}.  This variable has no effect when any
  other window is selected.  When it is non-@code{nil} and the
  minibuffer is selected, it takes precedence over
@@@ -2600,7 -2590,7 +2589,7 @@@ window is the one at the bottom right c
  @code{scroll-other-window} attempts to scroll the minibuffer.  If the
  minibuffer contains just one line, it has nowhere to scroll to, so the
  line reappears after the echo area momentarily displays the message
- @samp{Beginning of buffer}.
+ @samp{End of buffer}.
  @end deffn
  
  @defvar other-window-scroll-buffer
@@@ -2699,12 -2689,12 +2688,12 @@@ If @var{count} is a non-negative number
  point @var{count} lines down from the top of the window.  If
  @var{count} is a negative number, then it counts upward from the
  bottom of the window, so that @minus{}1 stands for the last usable
- line in the window.  If @var{count} is a non-@code{nil} list, then it
- stands for the line in the middle of the window.
+ line in the window.
  
- If @var{count} is @code{nil}, @code{recenter} puts the line containing
- point in the middle of the window, then clears and redisplays the entire
- selected frame.
+ If @var{count} is @code{nil} (or a non-@code{nil} list),
+ @code{recenter} puts the line containing point in the middle of the
+ window.  If @var{count} is @code{nil}, this function may redraw the
+ frame, according to the value of @code{recenter-redisplay}.
  
  When @code{recenter} is called interactively, @var{count} is the raw
  prefix argument.  Thus, typing @kbd{C-u} as the prefix sets the
  top.
  
  With an argument of zero, @code{recenter} positions the current line at
- the top of the window.  This action is so handy that some people make a
- separate key binding to do this.  For example,
+ the top of the window.  The command @code{recenter-top-bottom} offers
+ a more convenient way to achieve this.
+ @end deffn
  
- @example
- @group
- (defun line-to-top-of-window ()
-   "Scroll current line to top of window.
- Replaces three keystroke sequence C-u 0 C-l."
-   (interactive)
-   (recenter 0))
+ @defopt recenter-redisplay
+ If this variable is non-@code{nil}, calling @code{recenter} with a
+ @code{nil} argument redraws the frame.  The default value is
+ @code{tty}, which means only redraw the frame if it is a tty frame.
+ @end defopt
  
- (global-set-key [kp-multiply] 'line-to-top-of-window)
- @end group
- @end example
+ @deffn Command recenter-top-bottom &optional count
+ This command, which is the default binding for @kbd{C-l}, acts like
+ @code{recenter}, except if called with no argument.  In that case,
+ successive calls place point according to the cycling order defined
+ by the variable @code{recenter-positions}.
  @end deffn
  
+ @defopt recenter-positions
+ This variable controls how @code{recenter-top-bottom} behaves when
+ called with no argument.  The default value is @code{(middle top
+ bottom)}, which means that successive calls of
+ @code{recenter-top-bottom} with no argument cycle between placing
+ point at the middle, top, and bottom of the window.
+ @end defopt
  @node Vertical Scrolling
  @section Vertical Fractional Scrolling
  @cindex vertical fractional scrolling
@@@ -2817,8 -2817,8 +2816,8 @@@ times the normal character width.  How 
  disappear off to the left depends on their width, and could vary from
  line to line.
  
-   Because we read from side to side in the ``inner loop,'' and from top
- to bottom in the ``outer loop,'' the effect of horizontal scrolling is
+   Because we read from side to side in the ``inner loop'', and from top
+ to bottom in the ``outer loop'', the effect of horizontal scrolling is
  not like that of textual or vertical scrolling.  Textual scrolling
  involves selection of a portion of text to display, and vertical
  scrolling moves the window contents contiguously; but horizontal
@@@ -3014,7 -3014,7 +3013,7 @@@ frame
  
  @defun coordinates-in-window-p coordinates window
  This function checks whether a window @var{window} occupies the
- frame-relative coordinates @var{coordinates}, and if so which part of
+ frame-relative coordinates @var{coordinates}, and if so, which part of
  the window that is.  @var{window} should be a live window.
  @var{coordinates} should be a cons cell of the form @code{(@var{x}
  . @var{y})}, where @var{x} and @var{y} are frame-relative coordinates.
@@@ -3112,14 -3112,14 +3111,14 @@@ for the current buffer
    You can bring back an entire frame layout by restoring a previously
  saved window configuration.  If you want to record the layout of all
  frames instead of just one, use a frame configuration instead of a
- window configuration; see @ref{Frame Configurations}.
+ window configuration.  @xref{Frame Configurations}.
  
  @defun current-window-configuration &optional frame
  This function returns a new object representing @var{frame}'s current
  window configuration.  The default for @var{frame} is the selected
  frame.  The variable @code{window-persistent-parameters} specifies
- whether and which window parameters are saved by this function, see
- @ref{Window Parameters} for details.
+ which window parameters (if any) are saved by this function.
+ @xref{Window Parameters}.
  @end defun
  
  @defun set-window-configuration configuration
@@@ -3136,9 -3136,9 +3135,9 @@@ change and triggers execution of the @c
  know how to tell whether the new configuration actually differs from the
  old one.
  
- If the frame which @var{configuration} was saved from is dead, all this
+ If the frame from which @var{configuration} was saved is dead, all this
  function does is restore the three variables @code{window-min-height},
- @code{window-min-width} and @code{minibuffer-scroll-window}. In this
+ @code{window-min-width} and @code{minibuffer-scroll-window}.  In this
  case, the function returns @code{nil}.  Otherwise, it returns @code{t}.
  
  Here is a way of using this function to get the same effect
@@@ -3221,8 -3221,8 +3220,8 @@@ configurations
  
    The objects returned by @code{current-window-configuration} die
  together with the Emacs process.  In order to store a window
- configuration on disk and read it back in another Emacs session, the
functions described next can be used.  These functions are also useful
+ configuration on disk and read it back in another Emacs session, you
can use the functions described next.  These functions are also useful
  to clone the state of a frame into an arbitrary live window
  (@code{set-window-configuration} effectively clones the windows of a
  frame into the root window of that very frame only).
@@@ -3235,17 -3235,17 +3234,17 @@@ of the selected frame
  If the optional argument @var{writable} is non-@code{nil}, this means to
  not use markers for sampling positions like @code{window-point} or
  @code{window-start}.  This argument should be non-@code{nil} when the
- state shall be written to disk and read back in another session.
+ state will be written to disk and read back in another session.
  
  Together, the argument @var{writable} and the variable
  @code{window-persistent-parameters} specify which window parameters are
- saved by this function, see @ref{Window Parameters} for details.
+ saved by this function.  @xref{Window Parameters}.
  @end defun
  
  The value returned by @code{window-state-get} can be used in the same
  session to make a clone of a window in another window.  It can be also
  written to disk and read back in another session.  In either case, use
- the function described next to restore the state of the window.
+ the following function to restore the state of the window.
  
  @defun window-state-put state &optional window ignore
  This function puts the window state @var{state} into @var{window}.  The
@@@ -3254,9 -3254,9 +3253,9 @@@ earlier invocation of @code{window-stat
  argument @var{window} must specify a live window and defaults to the
  selected one.
  
The optional argument @var{ignore} non-@code{nil} means to ignore
- minimum window sizes and fixed size restrictions.  If @var{ignore}
equals @code{safe}, this means windows can get as small as one line
If the optional argument @var{ignore} is non-@code{nil}, it means to ignore
+ minimum window sizes and fixed-size restrictions.  If @var{ignore}
is @code{safe}, this means windows can get as small as one line
  and/or two columns.
  @end defun
  
@@@ -3276,8 -3276,8 +3275,8 @@@ setting for @var{parameter}, this funct
  
  @defun window-parameters &optional window
  This function returns all parameters of @var{window} and their values.
- The default for @var{window} is the selected window.  The return value,
- if non-@code{nil} is an association list whose elements have the form
+ The default for @var{window} is the selected window.  The return value
+ is either @code{nil}, or an association list whose elements have the form
  @code{(@var{parameter} . @var{value})}.
  @end defun
  
@@@ -3287,34 -3287,34 +3286,34 @@@ This function sets @var{window}'s valu
  is the selected window.
  @end defun
  
- By default, functions saving and restoring window configurations or the
+ By default, the functions that save and restore window configurations or the
  states of windows (@pxref{Window Configurations}) do not care about
- window parameters.  This means, that when you change the value of a
+ window parameters.  This means that when you change the value of a
  parameter within the body of a @code{save-window-excursion}, the
- previous value is not restored upon exit of that macro.  It also means
+ previous value is not restored when that macro exits.  It also means
  that when you restore via @code{window-state-put} a window state saved
  earlier by @code{window-state-get}, all cloned windows have their
- parameters reset to @code{nil}.  The following variable allows to
- override the standard behavior.
+ parameters reset to @code{nil}.  The following variable allows you to
+ override the standard behavior:
  
  @defvar window-persistent-parameters
  This variable is an alist specifying which parameters get saved by
- @code{current-window-configuration} and @code{window-state-get} and
+ @code{current-window-configuration} and @code{window-state-get}, and
  subsequently restored by @code{set-window-configuration} and
- @code{window-state-put}, see @ref{Window Configurations}.
+ @code{window-state-put}.  @xref{Window Configurations}.
  
- The @sc{car} of each entry of this alist is the symbol specifying the
+ The @sc{car} of each entry of this alist is a symbol specifying the
  parameter.  The @sc{cdr} should be one of the following:
  
  @table @asis
  @item @code{nil}
- This value means the parameter is neither saved by
+ This value means the parameter is saved neither by
  @code{window-state-get} nor by @code{current-window-configuration}.
  
  @item @code{t}
  This value specifies that the parameter is saved by
- @code{current-window-configuration} andprovided its @var{writable}
- argument is @code{nil}, by @code{window-state-get}.
+ @code{current-window-configuration} and (provided its @var{writable}
+ argument is @code{nil}) by @code{window-state-get}.
  
  @item @code{writable}
  This means that the parameter is saved unconditionally by both
@@@ -3325,8 -3325,8 +3324,8 @@@ may fail with an @code{invalid-read-syn
  @end table
  @end defvar
  
- Some functionsnotably @code{delete-window},
- @code{delete-other-windows} and @code{split-window} may behave specially
+ Some functions (notably @code{delete-window},
+ @code{delete-other-windows} and @code{split-window}), may behave specially
  when their @var{window} argument has a parameter set.  You can override
  such special behavior by binding the following variable to a
  non-@code{nil} value:
  @defvar ignore-window-parameters
  If this variable is non-@code{nil}, some standard functions do not
  process window parameters.  The functions currently affected by this are
- @code{split-window}, @code{delete-window}, @code{delete-other-windows}
+ @code{split-window}, @code{delete-window}, @code{delete-other-windows},
  and @code{other-window}.
  
  An application can bind this variable to a non-@code{nil} value around
@@@ -3368,18 -3368,19 +3367,19 @@@ This parameter marks the window as not 
  (@pxref{Cyclic Window Ordering}).
  
  @item @code{clone-of}
- This parameter specifies the window this one has been cloned from and is
- installed by @code{window-state-get}, see @ref{Window Configurations}.
+ This parameter specifies the window that this one has been cloned
+ from.  It is installed by @code{window-state-get} (@pxref{Window
+ Configurations}).
  
  @item @code{quit-restore}
- This parameter tells how to proceed with a window when the buffer it
- shows is no more needed.  It is installed by the buffer display
- functions (@pxref{Choosing Window}) and consulted by the function
+ This parameter specifies what to do with a window when the buffer it
+ shows is not needed any more.  It is installed by the buffer display
+ functions (@pxref{Choosing Window}), and consulted by the function
  @code{quit-window} (@pxref{Quitting Windows}).
  @end table
  
- In addition, the parameters @code{window-atom} and @code{window-side}
- are reserved and should not be used by applications.
+ There are additional parameters @code{window-atom} and @code{window-side};
these are reserved and should not be used by applications.
  
  
  @node Window Hooks
@@@ -3401,7 -3402,7 +3401,7 @@@ the window also runs these functions
  This variable is not a normal hook, because each function is called with
  two arguments: the window, and its new display-start position.
  
- These functions must be careful in using @code{window-end}
+ These functions must take care when using @code{window-end}
  (@pxref{Window Start and End}); if you need an up-to-date value, you
  must use the @var{update} argument to ensure you get it.
  
@@@ -3439,7 -3440,7 +3439,7 @@@ of an existing frame.  This includes sp
  changing the sizes of windows, or displaying a different buffer in a
  window.
  
- The buffer-local part of this hook is run once per each window on the
+ The buffer-local part of this hook is run once for each window on the
  affected frame, with the relevant window selected and its buffer
  current.  The global part is run once for the modified frame, with that
  frame selected.
diff --combined doc/misc/ChangeLog
index 834a8f2c47f349cf45d9b425409e81f9f75a3905,b2e34bac56d56eaf3d2d876ed721de7694022e64..3d0900db9e4f7fc1d628c779116b76130a5f40f3
@@@ -1,57 -1,54 +1,67 @@@
 -2012-04-26  Ippei Furuhashi  <top.tuna+orgmode@gmail.com>  (tiny change)
++2012-04-27  Ippei Furuhashi  <top.tuna+orgmode@gmail.com>  (tiny change)
+       * org.texi (Agenda commands): Fix two typos: give corresponding
+       function names, according to `org-agenda-view-mode-dispatch'.
 -2012-04-21  Glenn Morris  <rgm@gnu.org>
++2012-04-27  Glenn Morris  <rgm@gnu.org>
+       * faq.texi (Major packages and programs): Remove section.
+       There is no point listing 6 packages (cf etc/MORE.STUFF).
+       (Finding Emacs and related packages): Move "Spell-checkers" here.
 +2012-04-22  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * dbus.texi (Version): New node.
 +      (Properties and Annotations): Mention the object manager
 +      interface.  Describe dbus-get-all-managed-objects.
 +      (Type Conversion): Floating point numbers are allowed, if an
 +      anteger does not fit Emacs's integer range.
 +      (Synchronous Methods): Remove obsolete dbus-call-method-non-blocking.
 +      (Asynchronous Methods): Fix description of
 +      dbus-call-method-asynchronously.
 +      (Receiving Method Calls): Fix some minor errors.  Add
 +      dbus-interface-emacs.
 +      (Signals): Describe unicast signals and the new match rules.
 +      (Alternative Buses): Add the PRIVATE optional argument to
 +      dbus-init-bus.  Describe its new return value.  Add dbus-setenv.
  
  2012-04-20  Glenn Morris  <rgm@gnu.org>
  
        * faq.texi (New in Emacs 24): New section.
        (Packages that do not come with Emacs): Mention M-x list-packages.
  
 -2012-04-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in: Replace non-portable use of $< in emacs-gnutls rules.
 -
 -2012-04-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean): Add emacs-gnutls.
 -      ($(infodir)/emacs-gnutls, emacs-gnutls.dvi): New targets.
 -
 -2012-04-12  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * emacs-gnutls.texi: Add documentation for the GnuTLS integration.
 -      * Makefile.in: Add emacs-gnutls.texi to build.
 -
 -2012-04-11  Alan Mackenzie  <acm@muc.de>
 +2012-04-14  Alan Mackenzie  <acm@muc.de>
  
        * cc-mode.texi (c-offsets-alist): Correct a typo.
  
 -2012-04-11  Jérémie Courrèges-Anglas  <jca@wxcvbn.org>  (tiny change)
 +2012-04-14  Jérémie Courrèges-Anglas  <jca@wxcvbn.org>  (tiny change)
  
        * org.texi (Deadlines and scheduling): Fix the example: the
        DEADLINE item should come right after the headline.  We enforce
        this convention, so it is a bug not to illustrate it correctly in
        the manual.
  
 -2012-04-11  Ippei FURUHASHI  <top.tuna+orgmode@gmail.com>  (tiny change)
 +2012-04-14  Ippei FURUHASHI  <top.tuna+orgmode@gmail.com>  (tiny change)
  
        * org.texi (Agenda commands): Fix documentation bug by swapping
        the equivalent keybindings to `org-agenda-next-line' with the ones
        to `org-agenda-previous-line'.
  
 -2012-04-07  Glenn Morris  <rgm@gnu.org>
 +2012-04-14  Glenn Morris  <rgm@gnu.org>
  
        * Makefile.in: Replace non-portable use of $< in ordinary rules.
  
 +2012-04-09  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean): Add
 +      emacs-gnutls.
 +      ($(infodir)/emacs-gnutls, emacs-gnutls.dvi): New targets.
 +
 +2012-04-09  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * Makefile.in: Add emacs-gnutls.texi to build.
 +
 +      * emacs-gnutls.texi: Add documentation for the GnuTLS integration.
 +
  2012-04-05  Teodor Zlatanov  <tzz@lifelogs.com>
  
        * auth.texi (Secret Service API): Edit further and give examples.
diff --combined etc/ChangeLog
index f2cdfb83c44f934b5169829bb2a34b3846521895,6eadd33b6a7a1e82257c45303235c7ce24f70e3a..1200b991597f1235d77ffc1baac7ea9751a567b4
@@@ -1,12 -1,15 +1,18 @@@
+ 2012-04-26  Jambunathan K  <kjambunathan@gmail.com>
+       * org/OrgOdtStyles.xml (OrgDescriptionList): Modify style.  With
+       this change, in a description list, if the description paragraph
+       spawns multiple lines then it will correctly indented.
  2012-04-20  Glenn Morris  <rgm@gnu.org>
  
        * CONTRIBUTE: Expand a bit on copyright assignments.
  
        * MORE.STUFF: General update.  Mention list-packages.
        Remove many old/outdated URLs.
 +2012-04-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * publicsuffix.txt: New file (bug#1401).
  
  2012-04-02  Alan Mackenzie  <acm@muc.de>
  
diff --combined etc/NEWS
index 156933410ba07913f5a8707f5ba07d6e52f0d400,d4c702626bb7ff4bffdd64de97bdc58b4a6459d8..ce3cfe7accfda23bcd30f45ad72a0afc52b69672
+++ b/etc/NEWS
@@@ -1,6 -1,6 +1,6 @@@
  GNU Emacs NEWS -- history of user-visible changes.
  
 -Copyright (C) 2010-2012  Free Software Foundation, Inc.
 +Copyright (C) 2010-2012 Free Software Foundation, Inc.
  See the end of the file for license conditions.
  
  Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
@@@ -14,182 -14,6 +14,182 @@@ and NEWS.1-17 for changes in older Emac
  You can narrow news to a specific version by calling `view-emacs-news'
  with a prefix argument or by typing C-u C-h C-n.
  
 +Temporary note:
 ++++ indicates that the appropriate manual has already been updated.
 +--- means no change in the manuals is called for.
 +When you add a new item, please add it without either +++ or ---
 +so we will look at it and add it to the manual.
 +
 +\f
 +* Installation Changes in Emacs 24.2
 +
 +** New configure option '--enable-gcc-warnings', intended for developers.
 +If building with GCC, this enables compile-time checks that warn about
 +possibly-questionable C code.  On a recent GNU system there should be
 +no warnings; on older and on non-GNU systems the generated warnings
 +may be useful.
 +
 +\f
 +* Startup Changes in Emacs 24.2
 +
 +** Emacs no longer searches for `leim-list.el' files beneath the standard
 +lisp/ directory.  There should not be any there anyway.  If you have
 +been adding them there, put them somewhere else, eg site-lisp.
 +
 +\f
 +* Changes in Emacs 24.2
 +
 +** New functions `system-users', `system-groups' return lists of the user
 +name, group names known to the system (where possible).
 +
 +** If your Emacs was built from a bzr checkout, the new variable
 +`emacs-bzr-version' contains information about which bzr revision was used.
 +
 +** ImageMagick support, if available, is automatically enabled.
 +It is no longer necessary to call `imagemagick-register-types'
 +explicitly to install ImageMagick image types; that function is called
 +automatically when setting `imagemagick-types-inhibit'.
 +
 +*** Setting `imagemagick-types-inhibit' to t now disables the use of
 +ImageMagick to view images, set
 +
 +** String values for `initial-buffer-choice' also apply to emacsclient
 +frames, if emacsclient is only told to open a new frame without
 +specifying any file to visit or expression to evaluate.
 +
 +\f
 +* Editing Changes in Emacs 24.2
 +
 +** M-x move-to-column, if called interactively with no prefix arg, now
 +prompts for a column number.
 +
 +** `mouse-avoidance-banish-position' can now be used to customize
 +`mouse-avoidance-mode' further.
 +
 +** `C-M-f' and `C-M-b' will now move to the path name separator
 +character when doing minibuffer filename prompts.
 +
 +** `goto-char' is now bound to `M-g c'.
 +
 +\f
 +* Changes in Specialized Modes and Packages in Emacs 24.2
 +
 +** New `derived-mode' filter for Ibuffer, bound to `/ M'.
 +`/ m' is now bound to filter by used-mode, which used to be bound to `/ M'.
 +
 +** Apropos
 +
 +*** The faces used by Apropos are now directly customizable.
 +These faces are named `apropos-symbol', `apropos-keybinding', and so on;
 +see the `apropos' Custom group for details.
 +
 +**** The old options whose values specified faces to use were removed
 +(i.e. `apropos-symbol-face', `apropos-keybinding-face', etc.).
 +
 +** Customize
 +
 +*** `custom-reset-button-menu' now defaults to t.
 +
 +*** Non-option variables are never matched in `customize-apropos' and
 +`customize-apropos-options' (i.e. the prefix argument does nothing for
 +these commands now).
 +
 +** erc will look up server/channel names via auth-source and use the
 +channel keys found, if any.
 +
 +** The `server-auth-key' variable can be used to set a permanent
 +shared key for Emacs Server.
 +
 +** In Perl mode, new option `perl-indent-parens-as-block' causes non-block
 +closing brackets to be aligned with the line of the opening bracket.
 +
 +** FIXME something happened to ses.el, 2012-04-17.
 +
 +** which-function-mode now applies to all applicable major modes by default.
 +
 +** D-Bus
 +
 ++++
 +*** New variables `dbus-compiled-version' and `dbus-runtime-version'.
 +
 ++++
 +*** The D-Bus object manager interface is implemented.
 +
 ++++
 +*** Variables of type :(u)int32 and :(u)int64 accept floating points,
 +if their value does not fit into Emacs's integer range.
 +
 ++++
 +*** The function `dbus-call-method' works non-blocking now, it can be
 +interrupted by C-g.  `dbus-call-method-non-blocking' is obsolete.
 +
 ++++
 +*** Signals can be sent also as unicast message.
 +
 ++++
 +*** The argument list of `dbus-register-signal' has been extended,
 +according to the new match rule types of D-Bus.  See the manual for
 +details.
 +
 ++++
 +*** `dbus-init-bus' supports private connections.
 +
 ++++
 +*** There is a new function `dbus-setenv'.
 +
 ++++
 +** notifications.el supports now version 1.2 of the Notifications API.
 +The function `notifications-get-capabilities' returns the supported
 +server properties.
 +
 +** Obsolete packages:
 +
 +*** assoc.el
 +In most cases, assoc+member+push+delq work just as well.
 +And in any case it's just a terrible package: ugly semantics, terrible
 +inefficiency, and not namespace-clean.
 +
 +*** mailpost.el
 +
 +*** mouse-sel.el
 +
 +\f
 +* New Modes and Packages in Emacs 24.2
 +\f
 +* Incompatible Lisp Changes in Emacs 24.2
 +
 ++++
 +** Docstrings starting with `*' no longer indicate user options.
 +Only variables defined using `defcustom' are considered user options.
 +The function `user-variable-p' is now an obsolete alias for
 +`custom-variable-p'.
 +
 +** `face-spec-set' no longer sets frame-specific attributes when the
 +third argument is a frame (that usage was obsolete since Emacs 22.2).
 +
 ++++
 +** The arguments of `dbus-register-signal' are no longer just strings,
 +but keywords or keyword-string pairs.  The old argument list will
 +still be supported for Emacs 24.x.
 +
 +\f
 +* Lisp changes in Emacs 24.2
 +
 +** Completion
 +
 +*** New function `completion-table-with-quoting' to handle completion
 +in the presence of quoting, such as file completion in shell buffers.
 +
 +*** New function `completion-table-subvert' to use an existing completion
 +table, but with a different prefix.
 +\f
 +* Changes in Emacs 24.2 on non-free operating systems
 +
 +** New configure.bat options on MS-Windows:
 +
 +*** --without-libxml2 omits support for libxml2, even if its presence
 +is detected.
 +
  \f
  * Installation Changes in Emacs 24.1
  
@@@ -833,7 -657,7 +833,7 @@@ by default
  (Its name is misleading, since it has nothing to do with MIME
  attachments.)  The old name is now an obsolete alias to the new name.
  
- ** MH-E has been upgraded to MH-E version 8.3.1.
+ ** MH-E has been updated to MH-E version 8.3.1.
  See MH-E-NEWS for details.
  
  ** Modula-2 mode provides auto-indentation.
@@@ -845,6 -669,9 +845,9 @@@ Completion is now performed via `comple
  or M-TAB.  If `nxml-bind-meta-tab-to-complete-flag' is non-nil (the
  default), this performs tag completion.
  
+ ** Org mode has been updated to version 7.8.09.
+ See ORG-NEWS for details.
  ** Prolog mode has been completely revamped, with lots of additional
  functionality such as more intelligent indentation, electricity,
  support for more variants, including Mercury, and a lot more.
@@@ -1228,6 -1055,8 +1231,8 @@@ So do `defcustom' and other forms that 
  *** New function `special-variable-p' to check whether a variable is
  declared as dynamically bound.
  
+ *** The form ((lambda ...) ...) is deprecated.
  ** An Emacs Lisp testing tool is now included.
  Emacs Lisp developers can use this tool to write automated tests for
  their code.  See the ERT info manual for details.
diff --combined lisp/ChangeLog
index 0b0065f520ecab4b01466edd69cd57a3927f9241,baa8045ccc33a0f031c261818091e997612ba040..f88a386178fbf720b5a82b3b9089de8eae7d9d4c
 -2012-04-26  Andreas Schwab  <schwab@linux-m68k.org>
+ 2012-04-27  Chong Yidong  <cyd@gnu.org>
+       * subr.el (read-key): Avoid running filter function when setting
+       up temporary tool bar entries (Bug#9922).
 -2012-04-24  Chong Yidong  <cyd@gnu.org>
++2012-04-27  Andreas Schwab  <schwab@linux-m68k.org>
+       * vc/vc-git.el (vc-git-state): Fix regexp matching diff output.
+       (Bug#11344)
 -2012-04-22  Chong Yidong  <cyd@gnu.org>
++2012-04-27  Chong Yidong  <cyd@gnu.org>
+       * select.el (xselect--encode-string): New function, split from
+       xselect-convert-to-string.
+       (xselect-convert-to-string): Use it.
+       (xselect-convert-to-filename, xselect-convert-to-os)
+       (xselect-convert-to-host, xselect-convert-to-user): Ensure that
+       returned strings are properly encoded (Bug#11315).
 -2012-04-21  Andreas Schwab  <schwab@linux-m68k.org>
++2012-04-27  Chong Yidong  <cyd@gnu.org>
+       * simple.el (delete-active-region): Move to killing custom group.
 -2012-04-20  Richard Stallman  <rms@gnu.org>
 -
 -      Fix logic for returning to and yanking from Rmail buffer.
 -
 -      * mail/rmail.el (rmail-start-mail):
 -      Pass (rmail-mail-return...) for the return-action.
 -      Pass (rmail-yank-current-message...) for the yank-action.
 -      (rmail-yank-current-message): New function.
 -      (rmail-mail): Pass the Rmail buffer, not view buffer, for replybuffer.
 -      (rmail-reply): Likewise.
 -      (rmail-forward): Pass the Rmail buffer, not nil, for replybuffer.
 -
 -      * mail/sendmail.el (mail-bury): Choose the first rmail-mode
 -      buffer, not the last.  Reject temp buffers.  Use the rmail-mode
 -      buffer, not newbuf.
 -
 -2012-04-20  Eli Zaretskii  <eliz@gnu.org>
++2012-04-27  Andreas Schwab  <schwab@linux-m68k.org>
+       * progmodes/which-func.el (which-func-current): Quote %
+       characters for mode-line processing.
+ 2012-04-21  Chong Yidong  <cyd@gnu.org>
+       * xml.el (xml-parse-region, xml-parse-tag): Avoid errors due to
+       reaching eob (Bug#11286).
 -2012-04-20  Martin Rudalics  <rudalics@gmx.at>
++2012-04-27  Eli Zaretskii  <eliz@gnu.org>
+       * progmodes/gdb-mi.el (gdb-control-level): New variable.
+       (gdb): Make it buffer-local and init to zero.
+       (gdb-control-commands-regexp): New variable.
+       (gdb-send): Don't wrap in "-interpreter-exec console" if
+       gdb-control-level is positive.  Increment gdb-control-level
+       whenever the command matches gdb-control-commands-regexp, and
+       decrement it each time the command is "end".  (Bug#11279)
-       fix "missig prefix" warning.  All callers changed.
++2012-04-27  Martin Rudalics  <rudalics@gmx.at>
+       * window.el (adjust-window-trailing-edge, enlarge-window)
+       (shrink-window, window-resize):
+       * mouse.el (mouse-drag-line): Fix resizing of minibuffer
+       windows (Bug#11276).
 +2012-04-27  Chong Yidong  <cyd@gnu.org>
 +
 +      * progmodes/pascal.el (pascal--extra-indent): Rename from ind, to
++      fix "missing prefix" warning.  All callers changed.
 +
 +2012-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/assoc.el: Move to obsolete/.
 +
 +2012-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/assoc.el (aget): Fix dynamic-scoping issue (bug#11352).
 +
 +      * term/ns-win.el (ns-define-service):
 +      * progmodes/pascal.el (pascal-goto-defun):
 +      * progmodes/js.el (js--read-tab):
 +      * progmodes/etags.el (tags-lazy-completion-table):
 +      * emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
 +      * emacs-lisp/ewoc.el (ewoc--wrap):
 +      * emacs-lisp/assoc.el (aput, adelete, amake):
 +      * doc-view.el (doc-view-convert-current-doc):
 +      * vc/diff.el (diff-no-select): Replace lexical-let by lexical-binding.
 +
 +2012-04-26  Chong Yidong  <cyd@gnu.org>
 +
 +      * image.el (image-type-from-buffer): Only return supported image
 +      type (Bug#9045).
 +
 +      * vc/diff-mode.el (diff-beginning-of-hunk): Return a meaningful
 +      value, for symmetry with diff-end-of-hunk.
 +      (diff-split-hunk, diff-find-source-location)
 +      (diff-ignore-whitespace-hunk, diff-refine-hunk): Use it.
 +      (diff-bounds-of-hunk, diff-bounds-of-file): New functions.
 +      (diff-restrict-view, diff-hunk-kill, diff-file-kill): Use them to
 +      compute the relevant hunk or file properly (Bug#6005).
 +      (diff-file-junk-re): Add bzr's "modified file" tag (Bug#6041).
 +
 +2012-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * vc/vc-mtn.el:
 +      * vc/vc-hg.el:
 +      * vc/vc-git.el:
 +      * vc/vc-dir.el:
 +      * vc/vc-cvs.el:
 +      * vc/vc-bzr.el:
 +      * vc/vc-arch.el:
 +      * vc/vc.el: Replace lexical-let by lexical-binding.
 +      * minibuffer.el (lazy-completion-table): Avoid ((λ ...) ...).
 +      * emacs-lisp/cl-macs.el (lexical-let): Fix use in lexical-binding.
 +      * emacs-lisp/cconv.el (cconv-analyse-form): Warn use of ((λ ...) ...).
 +
 +2012-04-26  Chong Yidong  <cyd@gnu.org>
 +
 +      * vc/diff-mode.el (diff-undo): New command (Bug#5302).
 +      (diff-mode-shared-map): Bind it to / and [remap undo].
 +
 +      * vc/ediff-wind.el (ediff-setup-windows-default): New function.
 +      (ediff-window-setup-function): Use it as the default, to set up
 +      windows based on whether the current frame is graphical (Bug#2138).
 +      (ediff-choose-window-setup-function-automatically): Make obsolete.
 +
 +      * vc/ediff-init.el: Always define ediff-pixel-width/height.
 +
 +2012-04-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * ffap.el: Remove old code for obsolete package.
 +      (ffap-complete-as-file-p): Remove.
 +
 +      Use completion-table-with-quoting for comint and pcomplete.
 +      * comint.el (comint--unquote&requote-argument)
 +      (comint--unquote-argument, comint--requote-argument): New functions.
 +      (comint--unquote&expand-filename, comint-unquote-filename): Obsolete.
 +      (comint-quote-filename): Use regexp-opt-charset.
 +      (comint--common-suffix, comint--common-quoted-suffix)
 +      (comint--table-subvert): Remove.
 +      (comint-unquote-function, comint-requote-function): New vars.
 +      (comint--complete-file-name-data): Use them with
 +      completion-table-with-quoting.
 +      * pcmpl-unix.el (pcomplete/scp): Use completion-table-subvert.
 +      * pcomplete.el (pcomplete-arg-quote-list)
 +      (pcomplete-quote-arg-hook, pcomplete-quote-argument): Obsolete.
 +      (pcomplete-unquote-argument-function): Default to non-nil.
 +      (pcomplete-unquote-argument): Simplify.
 +      (pcomplete--common-quoted-suffix): Remove.
 +      (pcomplete-requote-argument-function): New var.
 +      (pcomplete--common-suffix): New function.
 +      (pcomplete-completions-at-point): Use completion-table-with-quoting
 +      and completion-table-subvert.
 +
 +      * minibuffer.el: Use completion-table-with-quoting for read-file-name.
 +      (minibuffer--double-dollars): Preserve properties.
 +      (completion--sifn-requote): New function.
 +      (completion--file-name-table): Rewrite using it and c-t-with-quoting.
 +
 +      * minibuffer.el: Add support for completion of quoted/escaped data.
 +      (completion-table-with-quoting, completion-table-subvert): New funs.
 +      (completion--twq-try, completion--twq-all): New functions.
 +      (completion--nth-completion): New function.
 +      (completion-try-completion, completion-all-completions): Use it.
 +
 +2012-04-25  Leo Liu  <sdl.web@gmail.com>
 +
 +      * progmodes/python.el (python-pdbtrack-get-source-buffer):
 +      Use compilation-message if available to find real filename.
 +
 +2012-04-25  Chong Yidong  <cyd@gnu.org>
 +
 +      * vc/diff-mode.el (diff-setup-whitespace): New function.
 +      (diff-mode): Use it.
 +
 +      * vc/diff.el (diff-sentinel):
 +      * vc/vc.el (vc-diff-finish): Call diff-setup-whitespace to assign
 +      Whitespace mode variables based on diff style (Bug#8612).
 +
 +2012-04-25  Leo Liu  <sdl.web@gmail.com>
 +
 +      * progmodes/python.el (python-send-region): Add suffix .py to the
 +      temp file.
 +
 +      * files.el (auto-mode-alist): Use javascript-mode instead.
 +
 +2012-04-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
 +
 +      Sync with soap-client repository.  Support SOAP simpleType (Bug#10331).
 +
 +      * soap-client.el (soap-resolve-references-for-sequence-type)
 +      (soap-resolve-references-for-array-type): Hack to prevent self
 +      references, see Bug#9.
 +      (soap-parse-envelope): Report the contents of the 'detail' node
 +      when receiving a fault reply.
 +      (soap-parse-envelope): Report the contents of the entire 'detail' node.
 +
 +      * soap-inspect.el (soap-sample-value-for-simple-type)
 +      (soap-inspect-simple-type): New function.
 +
 +      * soap-client.el (soap-simple-type): New struct.
 +      (soap-default-xsd-types, soap-default-soapenc-types)
 +      (soap-decode-basic-type, soap-encode-basic-type):
 +      support unsignedInt and double basic types.
 +      (soap-resolve-references-for-simple-type)
 +      (soap-parse-simple-type, soap-encode-simple-type): New function.
 +      (soap-parse-schema): Parse xsd:simpleType declarations.
 +
 +      * soap-client.el (soap-default-xsd-types)
 +      (soap-default-soapenc-types): Add integer, byte and anyURI types.
 +      (soap-parse-complex-type-complex-content): Use `soap-wk2l' to find
 +      the local name of "soapenc:Array".
 +      (soap-decode-basic-type, soap-encode-basic-type): Support encoding
 +      decoding integer, byte and anyURI xsd types.
 +
 +2012-04-25  Chong Yidong  <cyd@gnu.org>
 +
 +      * cus-edit.el (custom-buffer-create-internal): Update header text.
 +
 +2012-04-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * progmodes/gdb-mi.el (gdb-init-1): Condition Windows-specific
 +      settings on 'system-type', not on 'window-system'.  On MS-Windows,
 +      set interactive-mode on in GDB.
 +
 +2012-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/ruby-mode.el: Simplify last change, and cleanup code.
 +      (ruby-syntax-propertize-regexp): Remove.
 +      (ruby-syntax-propertize-function): Split regexp into chunks.
 +      Match following code directly.
 +
 +2012-04-24  Dmitry Gutov  <dgutov@yandex.ru>
 +
 +      * progmodes/ruby-mode.el: Handle Cucumber defs (bug#6286).
 +      (ruby-syntax-propertize-regexp): New function.
 +      (ruby-syntax-propertize-function): Use it to handle regexp not preceded
 +      by a special keyword.
 +
 +      * progmodes/ruby-mode.el: Handle general delimited literals (bug#6286).
 +      (ruby-syntax-general-delimiters-goto-beg)
 +      (ruby-syntax-propertize-general-delimiters): New functions.
 +      (ruby-syntax-propertize-function): Use them to handle GDL.
 +      (ruby-font-lock-keywords): Move old handling of GDL...
 +      (ruby-font-lock-syntactic-keywords): .. to here.
 +      (ruby-calculate-indent): Adjust indentation for GDL.
 +
 +2012-04-24  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * notifications.el (top): Remove unneeded declarations.
 +      (notifications-specification-version): Change to "1.2".
 +      (notifications-interface, notifications-notify-method)
 +      (notifications-close-notification-method): Fix docstring.
 +      (notifications-get-capabilities-method): New defconst.
 +      (notifications-notify): Add :action-items, :resident and
 +      :transient hints.  Change "image_data" to "image-data" and
 +      "image_path" to "image-path".
 +      (notifications-get-capabilities): New defun.
 +
 +2012-04-24  Leo Liu  <sdl.web@gmail.com>
 +
 +      * progmodes/python.el: Move hideshow setup to the end.
 +
 +2012-04-24  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.el (handle-select-window): Clear echo area since this is
 +      no more done by read_char (Bug#11304).
 +
 +2012-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * ibuffer.el (ibuffer-mode-map): Bind `/ m' to filter-used-mode
 +      and `/ M' to filter-derived-mode.
 +      * ibuf-ext.el (ibuffer-list-buffer-modes): Simplify; avoid add-to-list.
 +      (ibuffer-filter-by-mode, ibuffer-filter-by-used-mode)
 +      (ibuffer-mark-by-mode): Use default rather than initial-input.
 +      (ibuffer-filter-by-derived-mode): Autoload and require-match.
 +
 +2012-04-24  Ivan Andrus  <darthandrus@gmail.com>  (tiny change)
 +
 +      * ibuf-ext.el (ibuffer-list-buffer-modes): Add `include-parents' arg.
 +      (ibuffer-filter-by-derived-mode): New filter.
 +      * ibuffer.el (ibuffer-mode-map): Bind to `/ w'.
 +
 +2012-04-23  Andreas Politz  <politza@fh-trier.de>
 +
 +      * subr.el (accept-change-group): Fix arg usage (Bug#6095).
 +
 +2012-04-23  Chong Yidong  <cyd@gnu.org>
 +
 +      * cus-edit.el (customize-apropos, customize-apropos-options):
 +      Disable matching of non-option variables (Bug#11176).
 +      (customize-option, customize-option-other-window)
 +      (customize-changed-options): Doc fix.
 +      (customize-apropos-options, customize-apropos-faces)
 +      (customize-apropos-groups): Use apropos-read-pattern (Bug#11124).
 +
 +      * apropos.el (apropos-read-pattern): Make prompt less cryptic.
 +      Fix word list splitting (Bug#11132).
 +      (apropos-symbol, apropos-keybinding, apropos-label)
 +      (apropos-property, apropos-function-button)
 +      (apropos-variable-button, apropos-misc-button): New faces.
 +      (apropos-symbol-face, apropos-keybinding-face)
 +      (apropos-label-face, apropos-property-face, apropos-match-face):
 +      Variables removed (Bug#8396).
 +      (apropos-library-button, apropos-format-plist, apropos-print)
 +      (apropos-print-doc, apropos-describe-plist): Callers changed.
 +
 +2012-04-23  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/xesam.el (xesam-mode-map): Use let-bound map in
 +      initialization.  (Bug#11292)
 +
 +2012-04-23  Agustín Martín Domingo  <agustin.martin@hispalinux.es>
 +
 +      Preserve ispell session localwords when switching back to
 +      original buffer.
 +
 +      * ispell.el (ispell-buffer-session-localwords): New buffer-local
 +      variable to hold buffer session localwords.
 +      (ispell-kill-ispell): add option 'clear to delete session
 +      localwords.
 +      (ispell-command-loop, ispell-change-dictionary)
 +      (ispell-buffer-local-words): Preserve session localwords when
 +      needed.
 +
 +      * flyspell.el (flyspell-process-localwords, flyspell-do-correct):
 +      Preserve session localwords when needed.
 +
 +2012-04-23  Agustín Martín Domingo  <agustin.martin@hispalinux.es>
 +
 +      * ispell.el (ispell-insert-word) Remove unneeded function using
 +      obsolete `translation-table-for-input'.
 +      (ispell-word, ispell-process-line, ispell-complete-word):
 +      Use plain `insert' instead of removed `ispell-insert-word'.
 +
 +2012-04-22  Chong Yidong  <cyd@gnu.org>
 +
 +      * cus-edit.el (custom-variable-menu)
 +      (custom-variable-reset-saved, custom-face-menu)
 +      (custom-face-reset-saved): If there is no saved value, make the
 +      "reset-saved" operation bring back the default (Bug#9509).
 +      (custom-face-state): Properly detect themed faces.
 +
 +      * faces.el (face-spec-set): Stop supporting deprecated form of
 +      third arg.
 +
 +2012-04-22  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      Move functions from C to Lisp.  Make non-blocking method calls
 +      the default.  Implement further D-Bus standard interfaces.
 +
 +      * net/dbus.el (dbus-message-internal): Declare function.
 +      Remove unneeded function declarations.
 +      (defvar dbus-message-type-invalid, dbus-message-type-method-call)
 +      (dbus-message-type-method-return, dbus-message-type-error)
 +      (dbus-message-type-signal): Declare variables.  Remove local
 +      definitions.
 +      (dbus-interface-dbus, dbus-interface-peer)
 +      (dbus-interface-introspectable, dbus-interface-properties)
 +      (dbus-path-emacs, dbus-interface-emacs, dbus-return-values-table):
 +      Adapt docstring.
 +      (dbus-interface-objectmanager): New defconst.
 +      (dbus-call-method, dbus-call-method-asynchronously)
 +      (dbus-send-signal, dbus-method-return-internal)
 +      (dbus-method-error-internal, dbus-register-service)
 +      (dbus-register-signal, dbus-register-method): New defuns, moved
 +      from dbusbind.c
 +      (dbus-call-method-handler, dbus-setenv)
 +      (dbus-get-all-managed-objects, dbus-managed-objects-handler):
 +      New defuns.
 +      (dbus-call-method-non-blocking): Make it an obsolete function.
 +      (dbus-unregister-object, dbus-unregister-service)
 +      (dbus-handle-event, dbus-register-property)
 +      (dbus-property-handler): Obey the new structure of
 +      `bus-registered-objects'.
 +      (dbus-introspect): Use `dbus-call-method'.  Use a timeout.
 +      (dbus-get-property, dbus-set-property, dbus-get-all-properties):
 +      Use `dbus-call-method'.
 +
 +2012-04-22  Chong Yidong  <cyd@gnu.org>
 +
 +      * cus-edit.el (custom-commands, custom-reset-menu)
 +      (Custom-reset-standard): Tweak labels.
 +      (custom-reset-button-menu): Change default to t.
 +      (custom-buffer-create-internal): For the custom-reset-button-menu
 +      case, put the revert button first.
 +      (custom-group-subtitle): New face.
 +      (custom-group-value-create): Align docstring to a specific column.
 +
 +      * wid-edit.el (widget-documentation-link-add): Don't handle
 +      indentation in this function.
 +      (widget-documentation-string-indent-to): New function.
 +      (widget-documentation-string-value-create): Use it.
 +
 +      * autorevert.el (auto-revert):
 +      * epg-config.el (epg):
 +      * ibuffer.el (ibuffer):
 +      * mpc.el (mpc):
 +      * ses.el (ses):
 +      * eshell/eshell.el (eshell):
 +      * net/ange-ftp.el (ange-ftp):
 +      * progmodes/ebnf2ps.el (postscript):
 +      * progmodes/flymake.el (flymake):
 +      * progmodes/prolog.el (prolog):
 +      * progmodes/verilog-mode.el (verilog-mode):
 +      * progmodes/which-func.el (which-func):
 +      * term/xterm.el (xterm):
 +      * textmodes/picture.el (picture):
 +      * textmodes/tildify.el (tildify):
 +      * vc/ediff.el (ediff): Tweak defgroups to improve presentation in
 +      customization buffers.
 +
 +2012-04-22  Alan Mackenzie  <acm@muc.de>
 +
 +      * progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache):
 +      Adding a ) can hide the resulting (..) from searches.  Fix it.
 +      Bound the backward search to the position of the existing (.
 +
 +2012-04-21  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * progmodes/verilog-mode.el (verilog-mode): Check whether
 +      which-func-modes is t before adding verilog-mode.
 +      Reported by Andy Moreton <andrewjmoreton@gmail.com>.
 +
 +2012-04-21  Leo Liu  <sdl.web@gmail.com>
 +
 +      * net/rcirc.el (rcirc): Avoid error when process-contact returns t.
 +
 +2012-04-21  Michael Vehrs  <Michael.Burschik@gmx.de>
 +
 +      * woman.el: Add support for "T{ T}" tbl syntax, and fix the
 +      filling of the last column of a table (Bug#5635).
 +      (woman-find-next-control-line): New arg, specifying an additional
 +      regexp component for the control line.
 +      (woman2-roff-buffer): Use it.
 +      (woman-break-table): New function.
 +      (woman2-TS): Use it.
 +
 +2012-04-21  Chong Yidong  <cyd@gnu.org>
 +
 +      * woman.el (woman-set-buffer-display-table, woman-decode-region)
 +      (woman-horizontal-escapes, woman-negative-vertical-space)
 +      (woman-tab-to-tab-stop, woman2-fc, woman2-TS)
 +      (WoMan-warn-ignored): Use ?\s instead of ?\ .
 +
 +2012-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * minibuffer.el (completion-file-name-table): Complete user names.
 +
 +2012-04-20  Leo Liu  <sdl.web@gmail.com>
 +
 +      * font-lock.el (lisp-font-lock-keywords-2): Add pcase, pcase-let
 +      and pcase-let*.
 +
 +2012-04-20  Chong Yidong  <cyd@gnu.org>
 +
 +      * server.el (server-execute): Respect initial-buffer-choice if it
 +      is a string and there are no files to open (Bug#2825).
 +      (server-create-window-system-frame, server-create-tty-frame):
 +      Don't switch buffers here.
 +      (server-process-filter): Only try to open a window system frame if
 +      compiled with graphical support (Bug#8314).
 +
  2012-04-20  Dan Nicolaescu  <dann@gnu.org>
  
        * battery.el (battery-echo-area-format): Display remaining time
  
  2012-04-20  Chong Yidong  <cyd@gnu.org>
  
 -      * progmodes/gdb-mi.el (gdb): Revert 2012-04-19 change.
 +      * progmodes/gdb-mi.el (gdb): Revert previous change.
        (gdb-inferior-io--init-proc): New function.
        (gdb-init-1): Use it.
        (gdb-inferior-io-sentinel): New sentinel for the gdb-inferior pty,
        (window--resize-this-window, adjust-window-trailing-edge)
        (enlarge-window, shrink-window): Doc fixes.
  
 -2012-04-19  Chong Yidong  <cyd@gnu.org>
 +2012-04-20  Chong Yidong  <cyd@gnu.org>
  
 -      * progmodes/gdb-mi.el (gdb-inferior-io--maybe-delete-pty): New
 -      function to call delete-process on the gdb-inferior buffer's pty.
 +      * progmodes/gdb-mi.el (gdb-inferior-io--maybe-delete-pty):
 +      New function to call delete-process on the gdb-inferior buffer's pty.
        (gdb-reset): Use it, instead of relying on kill-buffer to kill the
        pty process (Bug#11273).
        (gdb-update): New arg to suppress talking to the gdb process.
  
        * comint.el (make-comint-in-buffer, comint-exec): Doc fix.
  
 -2012-04-18  Chong Yidong  <cyd@gnu.org>
 -
        * progmodes/grep.el (grep, rgrep): Doc fix (Bug#11268).
  
 -2012-04-18  Glenn Morris  <rgm@gnu.org>
 +2012-04-20  Glenn Morris  <rgm@gnu.org>
  
        * net/network-stream.el (open-network-stream): Doc fix.
  
 -2012-04-17  Chong Yidong  <cyd@gnu.org>
 +2012-04-20  Chong Yidong  <cyd@gnu.org>
  
        * emacs-lisp/tabulated-list.el (tabulated-list-print): Fix typos.
  
 -2012-04-16  Alan Mackenzie  <acm@muc.de>
 +2012-04-20  Alan Mackenzie  <acm@muc.de>
  
        Ensure searching for keywords is case sensitive.
  
        (c-electric-paren, c-beginning-of-defun, c-end-of-defun)
        (c-defun-name, c-mark-function, c-cpp-define-name)
        (c-comment-indent, c-scan-conditionals, c-indent-defun)
 -      (c-context-line-break): bind case-fold-search to nil.
 +      (c-context-line-break): Bind case-fold-search to nil.
  
 -      * progmodes/cc-mode.el (c-font-lock-fontify-region): bind
 -      case-fold-search to nil.
 +      * progmodes/cc-mode.el (c-font-lock-fontify-region):
 +      Bind case-fold-search to nil.
  
 -2012-04-16  Chong Yidong  <cyd@gnu.org>
 +2012-04-20  Chong Yidong  <cyd@gnu.org>
  
        * mail/sendmail.el (mail-bury): Call return action with the right
        Rmail buffer (Bug#11242).
  
 -2012-04-15  Chong Yidong  <cyd@gnu.org>
 -
        * server.el (server-process-filter): Handle corner case where both
        tty and nowait options are present (Bug#11102).
  
 +2012-04-20  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * version.el (emacs-bzr-version, emacs-bzr-get-version): Doc fixes.
 +      (top level): Put into the executable the ident-style '$Id:' tag on
 +      windows-nt as well.
 +
 +2012-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * electric.el (electric-indent-post-self-insert-function): Check that
 +      electric-indent-mode is enabled in current buffer.
 +
 +2012-04-19  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * imenu.el (imenu-progress-message): Restore; it is "used" in
 +      erc/erc-imenu.el and net/snmp-mode.el.
 +
 +2012-04-19  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * avoid.el (mouse-avoidance-mode): Mark unused arg.
 +      (mouse-avoidance-nudge-mouse): Remove unused binding.
 +
 +      * bs.el (bs-toggle-readonly): Call `toggle-read-only' interactively.
 +
 +      * descr-text.el (describe-char):
 +      * progmodes/python.el (python-describe-symbol):
 +      Don't call `toggle-read-only', set `buffer-read-only'.
 +
 +      * imenu.el (imenu-default-goto-function): Mark unused args.
 +      (imenu-progress-message): Remove obsolete macro; all callers changed.
 +
 +      * subr.el (keymap-canonicalize): Remove unused binding.
 +      (read-passwd): Mark unused arg.
 +
 +      * tutorial.el (tutorial--display-changes): Remove unused binding.
 +      (tutorial--save-tutorial-to): Remove unused variable.
 +
 +      * emacs-lisp/package.el (define-package, package-menu-mark-delete)
 +      (package-menu-mark-install, package-menu-mark-unmark): Mark unused args.
 +      (package-generate-autoloads, package-menu--generate)
 +      (package-menu--find-upgrades): Remove unused bindings.
 +
 +      * emulation/cua-rect.el (cua-restrict-regexp-rectangle)
 +      (cua-restrict-prefix-rectangle): Doc fixes.  Remove unused bindings.
 +      (cua--mouse-ignore, cua--delete-rectangle, cua--extract-rectangle)
 +      (cua--indent-rectangle, cua-open-rectangle, cua-close-rectangle)
 +      (cua-blank-rectangle, cua-string-rectangle, cua-replace-in-rectangle)
 +      (cua-incr-rectangle, cua-sequence-rectangle, cua--convert-rectangle-as)
 +      (cua--rectangle-aux-replace, cua--left-fill-rectangle)
 +      (cua-scroll-rectangle-up, cua-scroll-rectangle-down)
 +      (cua-delete-char-rectangle): Mark unused args.
 +      (cua-align-rectangle): Remove unused binding.
 +
 +      * mail/rmail.el (compilation--message->loc)
 +      (epa--find-coding-system-for-mime-charset): Declare.
 +
 +      * net/dbus.el (dbus-register-service): Declare.
 +      (dbus-name-owner-changed-handler): Remove unused binding.
 +
 +      * nxml/nxml-mode.el (nxml-electric-slash, nxml-in-mixed-content-p)
 +      (nxml-compute-indent-from-matching-start-tag): Remove unused variables.
 +      (nxml-scan-backward-within): Mark unused arg.
 +      (nxml-dynamic-markup-word): Remove unused binding.
 +
 +      * mouse.el (mouse-menu-major-mode-map):
 +      * emacs-lisp/authors.el (authors-scan-change-log)
 +      (authors-add-to-author-list):
 +      * emacs-lisp/avl-tree.el (avl-tree--enter-balance):
 +      * emacs-lisp/smie.el (smie-auto-fill):
 +      * mail/sendmail.el (mail-bury):
 +      * mail/unrmail.el (unrmail):
 +      * net/tls.el (open-tls-stream):
 +      * textmodes/picture.el (picture-mouse-set-point):
 +      Remove unused bindings.
 +
 +2012-04-19  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp.el (tramp-action-password): Let-bind
 +      `enable-recursive-minibuffers' to t.
 +
 +2012-04-18  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/gud.el (gud-key-prefix): Use :type 'key-sequence
 +      instead of 'string to accommodate values like [f11].
 +      Always use `vconcat' instead of `concat' on it, like in `gud-def'.
 +      * progmodes/gdb-mi.el: Likewise.
 +
 +2012-04-18  Leo Liu  <sdl.web@gmail.com>
 +
 +      * abbrev.el (edit-abbrevs): Move point to the abbrev table of
 +      current buffer.
 +      (prepare-abbrev-list-buffer): Enter edit-abbrevs-mode only if
 +      LOCAL is nil.
 +
 +2012-04-18  Chong Yidong  <cyd@gnu.org>
 +
 +      * simple.el (line-move): Use forward-line if in batch mode
 +      (Bug#11053).
 +
 +2012-04-18  Christopher Schmidt  <christopher@ch.ristopher.com>
 +
 +      * files.el (after-find-file): Do not try to add a final newline if
 +      the buffer is read-only (Bug#11156).
 +
 +2012-04-17  Richard Stallman  <rms@gnu.org>
 +
 +      * mail/rmail.el (rmail-start-mail):
 +      Pass (rmail-mail-return...) for the return-action.
 +      Pass (rmail-yank-current-message...) for the yank-action.
 +      (rmail-yank-current-message): New function.
 +      (rmail-mail): Pass the Rmail buffer, not view buffer, for replybuffer.
 +      (rmail-reply): Likewise.
 +      (rmail-forward): Pass the Rmail buffer, not nil, for replybuffer.
 +
 +      * mail/sendmail.el (mail-bury): Choose the first rmail-mode
 +      buffer, not the last.  Reject temp buffers.  Use the rmail-mode
 +      buffer, not newbuf.
 +
 +2012-04-17  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * server.el (server-ensure-safe-dir): Simplify.
 +
 +2012-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/smie.el: Provide smarter auto-filling.
 +      (smie-auto-fill): New function.
 +      (smie-setup): Use it.
 +
 +      * newcomment.el (comment-choose-indent): Obey comment-inline-offset.
 +
 +2012-04-17  Philipp Haselwarter  <philipp.haselwarter@gmx.de>  (tiny change)
 +
 +      * newcomment.el (comment-inline-offset): New custom var (bug#11090).
 +      (comment-indent): Use it.
 +
 +2012-04-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
 +
 +      * ses.el: The overall change is to add cell renaming, that is
 +      setting fancy names for cell symbols other than name matching
 +      "\\`[A-Z]+[0-9]+\\'" regexp .
 +      (ses-localvars): Add ses--renamed-cell-symb-list.
 +      (ses-create-cell-variable): New defun.
 +      (ses-destroy-cell-variable-range): Respect ses--numrows, ses--numcols.
 +      (ses-relocate-formula): Relocate formulas only for cells the
 +      symbols of which are not renamed, i.e. symbols whose names do not
 +      match regexp "\\`[A-Z]+[0-9]+\\'".
 +      (ses-relocate-all): Relocate values only for cells the symbols of
 +      which are not renamed.
 +      (ses-load): Create cells variables as the (ses-cell ...) are read,
 +      in order to check row col consistency with cell symbol name only
 +      for cells that are not renamed.
 +      (ses-replace-name-in-formula): New defun.
 +      (ses-rename-cell): New defun.
 +
 +2012-04-17  Peter Oliver  <bzr@mavit.org.uk>  (tiny change)
 +
 +      * progmodes/perl-mode.el (perl-indent-parens-as-block):
 +      New option (bug#11118).
 +      (perl-calculate-indent): Respect it.
 +
 +2012-04-17  Glenn Morris  <rgm@gnu.org>
 +
 +      * dired-aux.el (dired-mark-read-string): Doc fix.
 +
 +2012-04-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * dired-aux.el (dired-mark-read-string): Offer optional completion.
 +      (dired-do-chxxx): Complete chown, chgrp over users, groups.  (Bug#7900)
 +
 +2012-04-17  Glenn Morris  <rgm@gnu.org>
 +
 +      * mouse.el (mouse-drag-track):
 +      * speedbar.el (speedbar-frame-mode):
 +      Use auto-hscroll-mode rather than the alias automatic-hscrolling.
 +
 +2012-04-16  Leo Liu  <sdl.web@gmail.com>
 +
 +      * progmodes/python.el: Trivial cleanup.
 +
 +2012-04-16  Glenn Morris  <rgm@gnu.org>
 +
 +      * vc/vc.el (vc-string-prefix-p):
 +      * vc/pcvs-util.el (cvs-string-prefix-p):
 +      * textmodes/tex-mode.el (latex-string-prefix-p, tex-string-prefix-p):
 +      * mpc.el (mpc-string-prefix-p):
 +      Make all of these into obsolete aliases for string-prefix-p.
 +      Update callers.
 +      * vc/pcvs.el, vc/vc-dispatcher.el, vc/vc-dir.el: Update callers.
 +
 +      * textmodes/two-column.el: Move custom options to the start.
 +      (frame-width): Remove compat definition.
 +      (2C-associate-buffer, 2C-dissociate):
 +      Use with-current-buffer rather than save-excursion.
 +      (2C-dissociate): Force a mode-line update.
 +      (2C-autoscroll): Use ignore-errors.
 +
 +      * emacs-lisp/eieio-opt.el (describe-class, describe-generic):
 +      Autoload trivia.
 +
 +      * emacs-lisp/cl-extra.el (*random-state*):
 +      Remove unnecessary declaration.
 +
 +      * calendar/cal-tex.el (cal-tex-end-document): Trivial clarification.
 +
 +      * play/cookie1.el (cookie-snarf):
 +      Give an explicit error if input file cannot be read.
 +
 +      * play/yow.el (yow-file): Use expand-file-name rather than concat.
 +
 +      * progmodes/perl-mode.el (c-macro-expand):
 +      Remove unnecessary autoload (it is in loaddefs.el).
 +
 +      * textmodes/picture.el (picture-desired-column)
 +      (picture-update-desired-column): Convert comments to doc-strings.
 +      (picture-substitute): Remove function.
 +      (picture-mode-map): Initialize in the defvar.
 +
 +      * woman.el: Remove eval-after-load for tar-mode.
 +      * tar-mode.el (tar-mode-map): Add woman binding and menu entry.
 +      (woman-tar-extract-file): Autoload it.
 +
 +      * frame.el (automatic-hscrolling): Make this alias obsolete.
 +
 +2012-04-12  Agustín Martín Domingo  <agustin.martin@hispalinux.es>
 +
 +      * ispell.el (ispell-set-spellchecker-params): Post-process
 +      `ispell-dictionary-alist' to use [:alpha:] and utf-8 if possible.
 +      (ispell-dictionary-base-alist): Revert to original XEmacs
 +      friendly version for default.  [:alpha:] will be added in
 +      `ispell-set-spellchecker-params' if needed
 +
 +2012-04-16  Chong Yidong  <cyd@gnu.org>
 +
 +      * image.el (imagemagick--extension-regexp): New variable.
 +      (imagemagick-register-types): Use it.
 +      (imagemagick-types-inhibit): Add :set function.  Allow new value
 +      of t to inhibit all types.
 +
 +      * emacs-lisp/regexp-opt.el (regexp-opt-charset): Avoid cl macros,
 +      so we can preload it.
 +
 +      * loadup.el (fboundp): Preload regexp-opt, needed by
 +      imagemagick-register-types.
 +
 +2012-04-15  Chong Yidong  <cyd@gnu.org>
 +
 +      * frame.el (scrolling): Remove nearly unused customization group.
 +
 +      * scroll-all.el (scroll-all-mode): Move to windows group.
 +
 +2012-04-15  Chong Yidong  <cyd@gnu.org>
 +
 +      * bindings.el (goto-map): Bind goto-char to M-g c (Bug#11240).
 +
 +2012-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      Avoid the use of ((lambda ...) ...) in lexical-binding code.
 +      * emacs-lisp/easy-mmode.el (define-minor-mode): Use funcall (bug#11241).
 +
  2012-04-15  Glenn Morris  <rgm@gnu.org>
  
        * simple.el (process-file-side-effects): Doc fix.
  
 -2012-04-14  Glenn Morris  <rgm@gnu.org>
 +2012-04-15  Glenn Morris  <rgm@gnu.org>
  
        * international/mule-cmds.el (set-language-environment): Doc fix.
  
 +2012-04-14  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * server.el (server-auth-key, server-generate-key): Doc fixes.
 +      (server-get-auth-key): Doc fix.  Use `string-match-p'.
 +      (server-start): Reflow docstring.
 +
 +2012-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * server.el (server-generate-key): `called-interactively-p'
 +      requires a parameter.
 +
 +2012-04-14  Michal Nazarewicz  <mina86@mina86.com>
 +
 +      * server.el (server-auth-key): New variable.
 +      (server-generate-key, server-get-auth-key): New function.
 +      (server-start): Use the new variable and functions to allow
 +      setting a permanent server key (bug#9423).
 +
 +2012-04-14  Leo Liu  <sdl.web@gmail.com>
 +
 +      * vc/diff-mode.el (diff-file-prev/next): Fix typo.
 +
 +2012-04-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Spelling fixes.
 +      * hexl.el (hexl-rulerize): Rename from hexl-rulerise, since
 +      Emacs uses American spelling.
 +
 +2012-04-14  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * emacs-lock.el (emacs-lock-locked-buffer-functions): New hook.
 +      (emacs-lock--exit-locked-buffer): Return the locked buffer.  Doc fix.
 +      (emacs-lock--kill-emacs-hook, emacs-lock--kill-emacs-query-functions)
 +      (emacs-lock--kill-buffer-query-functions): Run new hook.  (Bug#11017)
 +
  2012-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      Avoid the use of ((lambda ...) ...) in lexical-binding code.
 -      * emacs-lisp/easy-mmode.el (define-minor-mode):Use funcall (bug#11241).
 +      * progmodes/which-func.el (which-func-modes): Change default.
  
 -2012-04-13  Kim F. Storm  <storm@cua.dk>
 +2012-04-14  Kim F. Storm  <storm@cua.dk>
  
        * emulation/cua-base.el (cua-exchange-point-and-mark): Just call
        exchange-point-and-mark if cua-enable-cua-keys is nil (Bug#11191).
  
 -2012-04-12  Chong Yidong  <cyd@gnu.org>
 +2012-04-14  Chong Yidong  <cyd@gnu.org>
  
        * custom.el (custom-theme-set-variables): Doc fix.
  
 -2012-04-12  Glenn Morris  <rgm@gnu.org>
 +2012-04-14  Glenn Morris  <rgm@gnu.org>
  
        * international/mule.el (set-auto-coding-for-load): Doc fix.
  
 -2012-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * imenu.el (imenu-add-to-menubar): `current-local-map' can be nil.
 -      Reported by Noah Friedman.  Backport from trunk.
 -
 -2012-04-11  Alan Mackenzie  <acm@muc.de>
 +2012-04-14  Alan Mackenzie  <acm@muc.de>
  
 -      * progmodes/cc-menus.el (cc-imenu-objc-generic-expression):
 -      Make imenu work again for Objective C Mode.  Correct the *-index
 -      values, these having been disturbed by a previous change in 2011-08.
 +      * progmodes/cc-menus.el (cc-imenu-objc-generic-expression): Make
 +      imenu work again for Objective C Mode.  Correct the *-index values,
 +      these having been disturbed by a previous change in 2011-08.
  
        * progmodes/cc-engine.el (c-before-change-check-<>-operators):
        Correct two search limits.
  
 -2012-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2012-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * startup.el (command-line-1): Inhibit splash from daemon (bug#10996).
  
 -2012-04-10  Andreas Schwab  <schwab@linux-m68k.org>
 +2012-04-14  Andreas Schwab  <schwab@linux-m68k.org>
  
        * international/characters.el: Fix sorting.
  
 -2012-04-10  Eli Zaretskii  <eliz@gnu.org>
 +2012-04-14  Eli Zaretskii  <eliz@gnu.org>
  
        * international/characters.el: Add more missing Latin case pairs.
  
 -2012-04-10  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * international/characters.el: Recover lost case pairs.
 -
 -2012-04-10  Glenn Morris  <rgm@gnu.org>
 +2012-04-14  Glenn Morris  <rgm@gnu.org>
  
        * files.el (dir-locals-set-class-variables): Doc fix.
  
 -2012-04-09  Eli Zaretskii  <eliz@gnu.org>
 +2012-04-14  Eli Zaretskii  <eliz@gnu.org>
  
        * international/characters.el: Add set-case-syntax-pair call for
        LATIN CAPITAL LETTER Y WITH DIAERESIS RET and its lower-case
  
        * simple.el (shell-command-on-region): Doc fix.  (Bug#11208)
  
 -2012-04-09  Glenn Morris  <rgm@gnu.org>
 +2012-04-14  Glenn Morris  <rgm@gnu.org>
  
        * calendar/holidays.el (calendar-check-holidays): Doc fix.
  
 -2012-04-08  Eli Zaretskii  <eliz@gnu.org>
 +2012-04-14  Eli Zaretskii  <eliz@gnu.org>
  
 -      * textmodes/ispell.el (ispell-dictionary-base-alist): Add data for
 -      Hebrew.
 +      * textmodes/ispell.el (ispell-dictionary-base-alist):
 +      Add data for Hebrew.
  
 -2012-04-08  Chong Yidong  <cyd@gnu.org>
 +2012-04-14  Chong Yidong  <cyd@gnu.org>
  
 -      * net/rcirc.el (rcirc-cmd-quit): Revert 2012-03-18 change
 -      (Bug#11192).
 +      * net/rcirc.el (rcirc-cmd-quit):
 +      Revert 2012-03-18 change (Bug#11192).
  
 -2012-04-07  Glenn Morris  <rgm@gnu.org>
 +2012-04-14  Glenn Morris  <rgm@gnu.org>
  
        * pcmpl-rpm.el (pcomplete/rpm): Handle -qf.
  
 -2012-04-07  Eli Zaretskii  <eliz@gnu.org>
 +2012-04-14  Eli Zaretskii  <eliz@gnu.org>
  
        * minibuffer.el (completion-in-region-mode-map):
        Bind completion-help-at-point to M-? rather than ?.  (Bug#11182)
  
 +2012-04-13  Vivek Dasmohapatra  <vivek@etla.org>
 +
 +      * hexl.el (hexl-insert-char): Make display sizes other than 16 work.
 +
 +2012-04-13  Masatake YAMATO  <yamato@redhat.com>
 +
 +      * minibuffer.el (minibuffer-local-filename-syntax): New variable
 +      to allow `C-M-f' and `C-M-b' to move to the nearest path
 +      separator (bug#9511).
 +
 +2012-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * avoid.el: Require cl when compiling.  And also move the
 +      `provide' to the end.
 +
 +2012-04-13  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
 +
 +      * avoid.el (mouse-avoidance-banish-position): New variable.
 +      (mouse-avoidance-banish-destination): Use it (bug#10165).
 +
 +2012-04-13  Leo Liu  <sdl.web@gmail.com>
 +
 +      * progmodes/which-func.el (which-func-modes): Add objc-mode.
 +
 +2012-04-13  Ken Brown  <kbrown@cornell.edu>
 +
 +      * net/browse-url.el (browse-url-file-url): Remove Cygwin hack;
 +      this is no longer needed now that cygstart understands file:// URLs.
 +      (browse-url-filename-alist): For the same reason, don't modify
 +      file:// URLs on Cygwin.
 +
 +2012-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emulation/cua-base.el (cua--pre-command-handler-1): Don't activate
 +      the region on shift if the binding is already shifted (bug#11221).
 +
 +2012-04-12  Glenn Morris  <rgm@gnu.org>
 +
 +      * mail/mailpost.el: Move to obsolete/.
 +
 +2012-04-12  Drew Adams  <drew.adams@oracle.com>
 +
 +      * imenu.el (imenu--generic-function): Ignore invisible definitions
 +      (bug#10123).
 +
 +2012-04-12  Vivek Dasmohapatra  <vivek@etla.org>
 +
 +      * hexl.el (hexl-bits): New variable.
 +      (hexl-options): Mention the variable in the doc string.
 +      (hexl-rulerise, hexl-line-displen): New functions.
 +      (hexl-mode): Mention the new variable.
 +      (hexl-mode, hexl-current-address, hexl-current-address):
 +      Use the displen.
 +      (hexl-ascii-start-column): New function.
 +      (hexl-address-to-marker, hexl-beginning-of-line, hexl-options)
 +      (hexl-insert-char, hexl-mode-ruler): Use the displen (bug#4941).
 +
 +2012-04-12  Agustín Martín Domingo  <agustin.martin@hispalinux.es>
 +
 +      * textmodes/flyspell.el (flyspell-large-region): For hunspell, use
 +      '("-i" ENCODING), in 2 separate command-line arguments, to specify
 +      the encoding, as expected by hunspell.
 +
 +2012-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * battery.el (battery--linux-sysfs-regexp): New const.
 +      (battery-status-function): Use it.  Remove yeeloong special case.
 +      (battery-yeeloong-sysfs): Remove.
 +      (battery-echo-area-format): Remove yeeloong special case.
 +
 +2012-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * imenu.el (imenu-add-to-menubar): `current-local-map' can be nil.
 +      Reported by Noah Friedman.
 +
 +      * subr.el (read-passwd): Use read-string.
 +
 +2012-04-11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * vcursor.el (vcursor-move): Increase the priority of the overlay
 +      (bug#9663).
 +
 +2012-04-11  Deniz Dogan  <deniz.a.m.dogan@gmail.com>
 +
 +      * net/rcirc.el (rcirc-kill-channel-buffers): New variable.
 +      (rcirc-kill-buffer-hook): Use it to kill channel buffers (bug#5128).
 +
 +2012-04-11  William Stevenson  <yhvh2000@gmail.com>
 +
 +      * textmodes/artist.el (artist-mode): Convert artist-mode to use
 +      define-minor-mode (bug#10760).
 +
 +2012-04-11  Wolfgang Jenkner  <wjenkner@inode.at>  (tiny change)
 +
 +      * progmodes/grep.el (rgrep): Tweak the find command line so
 +      that directories matching `grep-find-ignored-files' won't be
 +      pruned (bug#10351).
 +
 +2012-04-11  Chong Yidong  <cyd@gnu.org>
 +
 +      * startup.el (command-line): Remove support for long-obsolete
 +      variable font-lock-face-attributes.
 +
 +2012-04-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * vc/vc-bzr.el (vc-bzr-status): Avoid condition-case-unless-debug.
 +
 +2012-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * window.el (window--state-get-1): Obey window-point-insertion-type.
 +
 +2012-04-11  Lennart Borgman  <lennart.borgman@gmail.com>
 +
 +      * emacs-lisp/lisp.el (narrow-to-defun): `beginning-of-defun' goes
 +      to previous function when point is on the first character of a
 +      function.  Take care of that in `narrow-to-defun' (bug#6157).
 +
 +2012-04-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * vc/vc-bzr.el (vc-bzr-status): Handle all errors,
 +      not just file-errors.
 +
 +      * vc/vc-bzr.el (vc-bzr-sha1-program, sha1-program): Remove.
 +      (vc-bzr-sha1): Use internal sha1.
 +
 +2012-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/flymake.el (flymake-mode): Beware read-only dirs (bug#8954).
 +
 +2012-04-10  Sébastien Gross  <seb@chezwam.org>  (tiny change)
 +
 +      * progmodes/hideshow.el (hs-hide-all): Don't infloop on comments
 +      that start in the middle of the line (bug#10496).
 +
 +2012-04-10  Dan Nicolaescu  <dann@gnu.org>
 +
 +      * battery.el (battery-linux-proc-acpi): Only one battery is
 +      discharged at a time, but that seems to confuse battery.el when
 +      computing `rate-type' for the battery not being discharged
 +      (bug#10332).
 +
 +2012-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/autoload.el (autoload-make-program): Remove, unused.
 +
 +      * international/quail.el: Use dolist and simplify.
 +      (quail-define-package, quail-update-keyboard-layout)
 +      (quail-define-rules): Use dolist.
 +      (quail-insert-kbd-layout, quail-get-translation): CSE.
 +
 +      * tmm.el: Use dolist, remove left over hook.
 +      (tmm-prompt, tmm-define-keys, tmm-shortcut, tmm-get-keybind):
 +      Use dolist.
 +      (calendar-load-hook): Don't mess with it.
 +
 +      * vc/vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal):
 +      Use derived-mode-p.  Run the diff asynchronously.
 +
 +2012-04-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * obsolete/mouse-sel.el: Add an Obsolete-since header.
 +
 +2012-04-10  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * misc.el: Display absolute path of loaded DLLs (bug#10424).
 +      (list-dynamic-libraries--loaded): New function.
 +      (list-dynamic-libraries--refresh): Use it.
 +
 +2012-04-10  Nathan Weizenbaum  <nweiz@google.com>
 +
 +      * progmodes/python.el (python-fill-paragraph):
 +      Make python-fill-region in a multiline string work when font-lock is
 +      disabled (bug#7018).
 +
 +2012-04-10  Laimonas VÄ—bra  <laimonas.vebra@gmail.com>  (tiny change)
 +
 +      * language/european.el (cp775): Add oem/legacy (en)coding on
 +      DOS/MS Windows for the Baltic languages.  There are still plenty
 +      of texts written in this encoding/codepage (bug#6519).
 +
 +2012-04-10  Glenn Morris  <rgm@gnu.org>
 +
 +      * cus-start.el (eol-mnemonic-unix, eol-mnemonic-dos, eol-mnemonic-mac):
 +      Add :standard values, reducing "rogue" customs in emacs -Q a bit more.
 +
 +2012-04-10  Florian Adamsky  <florian@adamsky.it>  (tiny change)
 +
 +      * recentf.el (recentf-dialog-mode-map): Add two keybindings for
 +      next-line "n" and previous-line "p" in order to make recentf more
 +      consistent with ibuffer, dired or org-mode (bug#9387).
 +
 +2012-04-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * image.el (put-image): Return the overlay created instead of the
 +      optional input string (bug#7834).  Note that this may break code
 +      that is (for some reason or other) depending on `put-image'
 +      returning the string.
 +
 +      * mouse-sel.el (mouse-sel-mode): Mark as obsolete (bug#6174).
 +
 +      * simple.el (zap-to-char): Allow zapping using input methods
 +      (bug#1580).
 +
 +      * textmodes/fill.el (fill-region): Leave point and mark where they
 +      were before filling (bug#5399).
 +
 +2012-04-09  Glenn Morris  <rgm@gnu.org>
 +
 +      * version.el (emacs-bzr-get-version):
 +      Handle lightweight checkouts of local branches.
 +
 +2012-04-09  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * international/characters.el: Recover lost case pairs.  (Bug#11209)
 +
 +2012-04-09  Chong Yidong  <cyd@gnu.org>
 +
 +      * custom.el (custom-variable-p): Return nil for non-symbol
 +      arguments instead of signaling an error.
 +      (user-variable-p): Obsolete alias for custom-variable-p.
 +
 +      * apropos.el (apropos-variable):
 +      * files-x.el (read-file-local-variable):
 +      * simple.el (set-variable):
 +      * woman.el (woman-mini-help):
 +      * emacs-lisp/byte-opt.el (side-effect-free-fns): Callers changed.
 +
 +2012-04-09  Glenn Morris  <rgm@gnu.org>
 +
 +      * startup.el (normal-top-level): Don't look for leim-list.el
 +      in places where it will not be found.  (Bug#910)
 +
 +      * international/mule-cmds.el (set-default-coding-systems):
 +      * files.el (normal-mode):
 +      Remove guarded calls to ucs-set-table-for-input.  (Bug#9821)
 +      This function was removed with ucs-tables.el in 2008.
 +
 +2012-04-08  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * textmodes/ispell.el (ispell-check-version): For hunspell, set
 +      ispell-encoding8-command to "-i", without a trailing space.
 +      (ispell-start-process): For hunspell, use '("-i" ENCODING), in 2
 +      separate command-line arguments, to specify the encoding, since
 +      that's how hunspell expects it.
 +
 +2012-04-08  Glenn Morris  <rgm@gnu.org>
 +
 +      * loadup.el: Load bindings before cus-start.
 +      This reduces somewhat the number of "rogue" settings in emacs -Q.
 +
 +2012-04-07  Glenn Morris  <rgm@gnu.org>
 +
 +      * version.el (emacs-bzr-get-version): New function.
 +      (emacs-bzr-version): New variable.
 +      * loadup.el (emacs-bzr-version): Set it.  (Bug#8054)
 +      * mail/emacsbug.el (report-emacs-bug): Include bzr version.
 +
 +2012-04-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * international/uni-bidi.el, international/uni-category.el:
 +      * international/uni-combining.el, international/uni-decimal.el:
 +      * international/uni-decomposition.el, international/uni-digit.el:
 +      * international/uni-lowercase.el, international/uni-mirrored.el:
 +      * international/uni-name.el, international/uni-numeric.el:
 +      * international/uni-titlecase.el, international/uni-uppercase.el:
 +      Update for Unicode 6.1.
 +
 +2012-04-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * term/w32-win.el (dynamic-library-alist): Add libxml2 DLLs.
 +
  2012-04-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
        * window.el (shrink-window): Mention the `window-min-height'
  
  2012-03-30  Agustín Martín Domingo  <agustin.martin@hispalinux.es>
  
 -      * ispell.el (ispell-get-extended-character-mode): Disable
 -      extended-char-mode for hunspell. hunspell does not support it and
 -      treats ~word as ordinary words in pipe mode.
 +      * ispell.el (ispell-get-extended-character-mode):
 +      Disable extended-char-mode for hunspell.  hunspell does not support it
 +      and treats ~word as ordinary words in pipe mode.
  
  2012-03-30  Glenn Morris  <rgm@gnu.org>
  
        (hfy-face-to-css-default): Same as the earlier `hfy-face-to-css'.
        (hfy-face-to-css): Re-defined to be a variable.
        (hfy-compile-stylesheet): Modify.  Allow stylesheet to be built
 -      over multiple runs. This is made possible by having the caller let
 +      over multiple runs.  This is made possible by having the caller let
        bind a special variable `hfy-user-sheet-assoc'.
        (htmlfontify-string): New defun.
        (hfy-compile-face-map): Make sure that the last char in the
  
  2012-03-09  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * net/dbus.el: (dbus-property-handler): Return empty array if
 +      * net/dbus.el (dbus-property-handler): Return empty array if
        there are no properties.
  
  2012-03-09  Leo Liu  <sdl.web@gmail.com>
        * term/x-win.el (x-initialize-window-system): Reduce default for
        x-selection-timeout to 5 seconds (Bug#8869).
  
 -2012-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
 -
 -      * files.el (file-subdir-of-p): Fix typo.
 -
  2012-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
  
        * files.el (files-equal-p, file-subdir-of-p): New functions.
  2012-02-12  Alan Mackenzie  <acm@muc.de>
  
        Fix infinite loop with long macros.
 -      * cc-engine.el (c-state-safe-place): Handle macros properly.
 +      * progmodes/cc-engine.el (c-state-safe-place): Handle macros properly.
  
  2012-02-12  Chong Yidong  <cyd@gnu.org>
  
  
  2012-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
  
 -      * progmodes/cc-mode.el
 -      (c-standard-font-lock-fontify-region-function): Set the default at
 -      load time, too, so that `font-lock-fontify-buffer' can be called
 -      without setting up the entire mode first.  This fixes a bug in
 -      `mm-inline-text' with C MIME parts.
 +      * progmodes/cc-mode.el (c-standard-font-lock-fontify-region-function):
 +      Set the default at load time, too, so that `font-lock-fontify-buffer'
 +      can be called without setting up the entire mode first.  This fixes
 +      a bug in `mm-inline-text' with C MIME parts.
  
  2012-02-06  Chong Yidong  <cyd@gnu.org>
  
diff --combined lisp/gnus/ChangeLog
index e25ffd933e6c96bce4aae5e49f5f602654dd2eb3,9d9ffb2fcbd454ed0a166d0ac7bd58dafc41ad14..556094ca6147343ff36464b2d387762d0eb44b62
@@@ -1,28 -1,14 +1,32 @@@
 -2012-04-21  Andreas Schwab  <schwab@linux-m68k.org>
++2012-04-27  Andreas Schwab  <schwab@linux-m68k.org>
+       * gnus.el (debbugs-gnu): Don't override existing autoload definition.
 -2012-04-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +2012-04-26  Daiki Ueno  <ueno@unixuser.org>
 +
 +      * plstore.el (plstore-called-interactively-p): New compat macro copied
 +      from message.el.
 +      (plstore-mode): Use it.
 +
 +2012-04-26  Daiki Ueno  <ueno@unixuser.org>
 +
 +      * plstore.el: Revive the editing feature.
 +      (plstore-mode): New mode to edit plstore file.
 +      (plstore-mode-toggle-display, plstore-mode-original)
 +      (plstore-mode-decoded): New command.
 +      (plstore--encode, plstore--decode, plstore--write-contents-functions)
 +      (plstore--insert-buffer, plstore--make): New function.
 +      (plstore-open, plstore-save): Simplify by using them.
 +
 +2012-04-16  Glenn Morris  <rgm@gnu.org>
 +
 +      * nndraft.el (nndraft-request-list): Fix declaration.
 +
 +2012-04-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
        * gnus-msg.el (gnus-inews-insert-gcc): Don't do the alist stuff when we
        don't have a current group.
  
 -2012-04-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 -
        * gnus-msg.el (gnus-inews-insert-gcc): Protect against when we don't
        have a group name.
  
diff --combined lisp/mouse.el
index 8e08f89f22ccae697305f9df0005985ec9effda8,20a78e556517c1d990a6fee2a777bedab2dbd4ca..46e50ed95085d5ef24289fa8308a75d97eb9ab09
@@@ -1,6 -1,6 +1,6 @@@
  ;;; mouse.el --- window system-independent mouse support
  
 -;; Copyright (C) 1993-1995, 1999-2012  Free Software Foundation, Inc.
 +;; Copyright (C) 1993-1995, 1999-2012 Free Software Foundation, Inc.
  
  ;; Maintainer: FSF
  ;; Keywords: hardware, mouse
@@@ -194,7 -194,8 +194,7 @@@ items `Turn Off' and `Help'.
         (newmap (if ancestor
                     (make-sparse-keymap (concat (format-mode-line mode-name)
                                                   " Mode"))
 -                 menu-bar-edit-menu))
 -       uniq)
 +                 menu-bar-edit-menu)))
      (if ancestor
        (set-keymap-parent newmap ancestor))
      newmap))
@@@ -403,13 -404,16 +403,16 @@@ must be one of the symbols header, mode
                       (or mouse-1-click-in-non-selected-windows
                           (eq window (selected-window)))
                       (mouse-on-link-p start)))
-        (enlarge-minibuffer
+        (resize-minibuffer
+         ;; Resize the minibuffer window if it's on the same frame as
+         ;; and immediately below the position window and it's either
+         ;; active or `resize-mini-windows' is nil.
          (and (eq line 'mode)
-              (not resize-mini-windows)
               (eq (window-frame minibuffer-window) frame)
-              (not (one-window-p t frame))
               (= (nth 1 (window-edges minibuffer-window))
-                 (nth 3 (window-edges window)))))
+                 (nth 3 (window-edges window)))
+              (or (not resize-mini-windows)
+                  (eq minibuffer-window (active-minibuffer-window)))))
         (which-side
          (and (eq line 'vertical)
               (or (cdr (assq 'vertical-scroll-bars (frame-parameters frame)))
       ((eq line 'mode)
        ;; Check whether mode-line can be dragged at all.
        (when (and (window-at-side-p window 'bottom)
-                (not enlarge-minibuffer))
+                (not resize-minibuffer))
        (setq done t)))
       ((eq line 'vertical)
        ;; Get the window to adjust for the vertical case.
            ;; Remember that we dragged.
            (setq dragged t))
  
-         (cond
-          (enlarge-minibuffer
-           (adjust-window-trailing-edge window growth))
-          ((eq line 'mode)
-           (adjust-window-trailing-edge window growth))
-          (t
-           (adjust-window-trailing-edge window (- growth)))))))
+         (if (eq line 'mode)
+             (adjust-window-trailing-edge window growth)
+           (adjust-window-trailing-edge window (- growth))))))
  
        ;; Presumably, if this was just a click, the last event should be
        ;; `mouse-1', whereas if this did move the mouse, it should be a
@@@ -804,8 -804,8 +803,8 @@@ DO-MOUSE-DRAG-REGION-POST-PROCESS shoul
                                  (= click-count 1)))
         ;; Suppress automatic hscrolling, because that is a nuisance
         ;; when setting point near the right fringe (but see below).
 -       (automatic-hscrolling-saved automatic-hscrolling)
 -       (automatic-hscrolling nil)
 +       (auto-hscroll-mode-saved auto-hscroll-mode)
 +       (auto-hscroll-mode nil)
         event end end-point)
  
      (setq mouse-selection-click-count click-count)
          ;; Automatic hscrolling did not occur during the call to
          ;; `read-event'; but if the user subsequently drags the
          ;; mouse, go ahead and hscroll.
 -        (let ((automatic-hscrolling automatic-hscrolling-saved))
 +        (let ((auto-hscroll-mode auto-hscroll-mode-saved))
            (redisplay))
          (setq end (event-end event)
                end-point (posn-point end))
diff --combined lisp/org/ChangeLog
index 86f493a0a5b60efe58784f4d085bcad9c2a2c3ff,1f4c1f90997e32dc4fca2c062afbe1fe50126b5a..c340fd45df3aa0935a88f21cdb188cece548b000
@@@ -1,7 -1,71 +1,71 @@@
 -2012-04-26  Nicolas Goaziou  <n.goaziou@gmail.com>
++2012-04-27  Nicolas Goaziou  <n.goaziou@gmail.com>
+       * org-table.el (org-table-number-fraction): Fix typo.
 -2012-04-26  Eric Schulte  <eric.schulte@gmx.com>
++2012-04-27  Eric Schulte  <eric.schulte@gmx.com>
+       * ob-python.el (org-babel-execute:python): Ensure newline precedes
+       automatically-added returns.
 -2012-04-26  Nicolas Goaziou  <n.goaziou@gmail.com>
++2012-04-27  Nicolas Goaziou  <n.goaziou@gmail.com>
+       * org-mouse.el (org-mode-hook): Do not move point when clicking on
+       a footnote reference.
 -2012-04-26  Bastien Guerry  <bzg@gnu.org>
++2012-04-27  Bastien Guerry  <bzg@gnu.org>
+       * org-faces.el (org-date-selected): Fix docstring.
 -2012-04-26  Nicolas Goaziou  <n.goaziou@gmail.com>
++2012-04-27  Nicolas Goaziou  <n.goaziou@gmail.com>
+       * org-list.el (org-list-struct-indent): Follow
+       `org-list-demote-modify-bullet' specifications for ordered
+       bullets.
+       (org-list-indent-item-generic, org-indent-item-tree)
+       (org-outdent-item-tree): Fix bug when operating on a region.
+       (org-outdent-item, org-indent-item): Allow to operate on a region.
+       * org.el (org-shiftmetaleft, org-shiftmetaright): Allow to operate
+       on a region.
 -2012-04-26  Nicolas Goaziou  <n.goaziou@gmail.com>
++2012-04-27  Nicolas Goaziou  <n.goaziou@gmail.com>
+       * org-footnote.el (org-footnote-normalize): Fix positioning in
+       HTML export without a footnote section.
 -2012-04-26  Madan Ramakrishnan  <madanr79@gmail.com>  (tiny change)
++2012-04-27  Madan Ramakrishnan  <madanr79@gmail.com>  (tiny change)
+       * org-agenda.el (org-agenda-bulk-mark): Truly make arg optional as
+       advertised by the function.
 -2012-04-26  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
++2012-04-27  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
+       * org.el (org-read-date-display): Fix bug when displaying the
+       overlay.
 -2012-04-26  Bastien Guerry  <bzg@gnu.org>
++2012-04-27  Bastien Guerry  <bzg@gnu.org>
+       * org.el (org-mode): Don't use `buffer-face-mode' by default.
 -2012-04-26  Bastien Guerry  <bzg@gnu.org>
++2012-04-27  Bastien Guerry  <bzg@gnu.org>
+       * org-faces.el (org-date-selected): New face.
 -2012-04-26  Jambunathan K  <kjambunathan@gmail.com>
++2012-04-27  Jambunathan K  <kjambunathan@gmail.com>
+       * org-odt.el (org-odt-format-org-link): Pay no heed to whether the
+       internal links destined for headlines provide a description or
+       not.  In fact, the `org-store-link' and `org-insert-link' create
+       internal links which do have a description.
 -2012-04-26  Bastien Guerry  <bzg@gnu.org>
++2012-04-27  Bastien Guerry  <bzg@gnu.org>
+       * org-clock.el (org-program-exists): Fix docstring.
 -2012-04-11  Bastien Guerry  <bzg@gnu.org>
 +2012-04-14  Bastien Guerry  <bzg@gnu.org>
  
        * org.el (org-point-at-end-of-empty-headline): Only try to match
 -      Ì€org-todo-line-regexp' when the value is non-nil, e.g. in non-org
 +      `org-todo-line-regexp' when the value is non-nil, e.g. in non-org
        modes.
        (org-fontify-meta-lines-and-blocks-1): Prevent errors when trying
        to fontify beyond (point-max).
        (org-table-get-range): Fix bug: make sure references to $0 are
        correctly handled.
  
 -      * org-pcomplete.el (pcomplete/org-mode/file-option): Fix bug in
 -      `pcomplete/org-mode/file-option'.
 +      * org-pcomplete.el (pcomplete/org-mode/file-option):
 +      Fix bug in `pcomplete/org-mode/file-option'.
        (org-thing-at-point): Also match line options like LATEX_CLASS
        when pcompleting from LATEX_.
  
        * org-agenda.el (org-agenda-filter-make-matcher)
        (org-agenda-filter-apply): Allow filtering entries out by
        category.  Using `C-u <' from the agenda view will redisplay
 -      the agenda without entries from categories of the current
 -      line.
 +      the agenda without entries from categories of the current line.
  
 -2012-04-11  Eric Schulte  <eric.schulte@gmx.com>
 +2012-04-14  Eric Schulte  <eric.schulte@gmx.com>
  
 -      * ob-C.el (org-babel-C-ensure-main-wrap): Add an explicit return
 -      to automatically generated main methods.
 +      * ob-C.el (org-babel-C-ensure-main-wrap):
 +      Add an explicit return to automatically generated main methods.
  
 -2012-04-11  Matt Lundin  <mdl@imapmail.org>
 +2012-04-14  Matt Lundin  <mdl@imapmail.org>
  
 -      * org.el (org-after-todo-state-change-hook): Fix docstring to
 -      reflect name change of state to `org-state'.
 +      * org.el (org-after-todo-state-change-hook):
 +      Fix docstring to reflect name change of state to `org-state'.
  
 -2012-04-11  Mike Sperber  <sperber@deinprogramm.de>  (tiny change)
 +2012-04-14  Mike Sperber  <sperber@deinprogramm.de>  (tiny change)
  
 -      * org-footnote.el (org-footnote-normalize): Correctly pass keyword
 -      arguments to `org-export-preprocess-string'.
 +      * org-footnote.el (org-footnote-normalize):
 +      Correctly pass keyword arguments to `org-export-preprocess-string'.
  
  2012-04-03  Bastien Guerry  <bzg@gnu.org>
  
        * org-attach.el (org-attach-store-link-p): Remove spurious quote
        in customization form choice.
  
- 2012-04-01  Tassilo Horn  <tassilo@member.fsf.org>
-       * org-contacts.el (org-contacts-check-mail-address): Add missing
-       word to `y-or-n-p' question.
  2012-04-01  Eric Schulte  <eric.schulte@gmx.com>
  
        * ob-sh.el (org-babel-execute:sh): Pass all params to subroutine.
        * org-footnote.el (org-footnote-normalize): Make sure that
        footnotes are moved to a single place during export.
  
- 2012-04-01  Bastien Guerry  <bzg@gnu.org>
-       * org.el (org-cycle-internal-global): Prevent the display of
-       messages when cycling from with a Gnus article buffer.
  2012-04-01  Nicolas Goaziou  <n.goaziou@gmail.com>
  
        * org-footnote.el (org-footnote-normalize): Ensure footnote
        define the way a timestamp in #+DATE will be exported.
        (org-infile-export-plist): Use the new option.
  
- 2012-01-03  Bastien Guerry  <bzg@gnu.org>
-       * org-drill.el (org-drill-leech-method, org-drill-scope)
-       (org-drill-spaced-repetition-algorithm): Fix wrong :type spec.
  2012-01-03  Bastien Guerry  <bzg@gnu.org>
  
        * org.el (org-property-re): Also match cumulating properties
        * ob-exp.el (org-babel-exp-in-export-file): Bind
        `org-link-search-inhibit-query' to t to inhibit prompts.
  
- 2011-07-28  Julien Danjou  <julien@danjou.info>
-       * org-contacts.el: Merge org-contacts-wl.el.
  2011-07-28  Carsten Dominik  <carsten.dominik@gmail.com>
  
        * org-exp.el (org-export-add-options-to-plist): Use the right
        * org-agenda.el (org-agenda-open-link): Pass entire text of agenda
        line to `org-offer-links-in-entry'.
  
- 2011-07-28  Michael Markert  <markert.michael@googlemail.com>
-       * org-contacts-wl.el: New file.
  2011-07-28  Matt Lundin  <mdl@imapmail.org>
  
        * org-bibtex.el (org-bibtex-search): New function.
        (org-agenda-open-link): Stop using prefix-length.
        (org-agenda-change-all-lines): Stop using prefix-length.
  
-       * org-colview-xemacs.el (org-columns-display-here): Stop using
-       prefix-length. Always return claned items.
        * org-colview.el (org-columns-display-here): Stop using
        prefix-length. Always return claned items.
  
  
        * org-capture.el (org-capture-templates): Fix customize type.
  
- 2010-11-11  Carsten Dominik  <carsten.dominik@gmail.com>
-       * org-colview-xemacs.el (org-columns-compile-map):
-       (org-columns-number-to-string):
-       (org-columns-string-to-number): Handle estimate ranges.
-       (org-estimate-mean-and-var): New function.
-       (org-estimate-combine): New function.
-       (org-estimate-print): New function.
-       (org-string-to-estimate): New function.
  2010-09-25  Juanma Barranquero  <lekktu@gmail.com>
  
        * org.el (org-refile-targets):
        * org-src.el (org-edit-src-find-region-and-lang): Test for
        table.el as late as possible.
  
-       * org-colview-xemacs.el: Make sure this file is never loaded into
-       Emacs.  Remove all tests for XEmacs.
        * org-colview.el: Make sure this file is never loaded into XEmacs.
  
        * org-agenda.el (org-highlight, org-unhighlight): Use direct
        * org-exp.el (org-export): Use "1" as a sign to export only the
        subtree.
  
-       * org-colview-xemacs.el (org-columns-edit-value):
-       Use org-unrestricted property.
        * org-colview.el (org-columns-edit-value):
        Use org-unrestricted property.
  
        (org-agenda-colview-summarize): Handle extended summary types
        properly.
  
-       * org-colview-xemacs.el (org-columns-display-here): Don't try to
-       calculate values if the underlying property is not set.
-       (org-columns-string-to-number): Convert age strings back into
-       fractional days.
-       (org-agenda-colview-summarize): Handle extended summary types
-       properly.
  2009-11-13  Carsten Dominik  <carsten.dominik@gmail.com>
  
        * org-exp.el (org-export-format-drawer-function): New variable.
        org-return-follows-link' is set and there is nothing else to do in
        this line.
  
- 2009-11-13  James TD Smith  <ahktenzero@mohorovi.cc>
-       * org-colview-xemacs.el: Add in changes from org-colview.el.
  2009-11-13  Dan Davison  <davison@stats.ox.ac.uk>
  
        * org-exp-blocks.el: Modify split separator regexp to avoid empty
        * org-colview.el (org-columns, org-columns-redo)
        (org-agenda-columns): Don't use `goto-line'.
  
-       * org-colview-xemacs.el (org-columns, org-agenda-columns):
-       Don't use `goto-line'.
        * org-agenda.el (org-agenda-mode): Force visual line motion off.
        (org-agenda-add-entry-text-maxlines): Improve docstring.
        (org-agenda-start-with-entry-text-mode): New option.
        * org-colview.el (org-columns-edit-value, org-columns-new)
        (org-insert-columns-dblock): Use org-icompleting-read.
  
-       * org-colview-xemacs.el (org-columns-edit-value)
-       (org-columns-new, org-insert-columns-dblock):
-       Use org-icompleting-read.
        * org-attach.el (org-attach-delete-one, org-attach-open):
        Use org-icompleting-read.
  
        in column values.
        (org-columns-capture-view): Exclude comment and archived trees.
  
-       * org-colview-xemacs.el (org-columns-capture-view):
-       Protect vertical bars in column values.
-       (org-columns-capture-view): Exclude comment and archived trees.
        * org.el (org-quote-vert): New function.
  
        * org-latex.el (org-export-latex-verbatim-wrap): New option.
        * org-colview.el (org-dblock-write:columnview): Allow indented
        #+TBLFM line.
  
-       * org-colview-xemacs.el (org-dblock-write:columnview):
-       Allow indented #+TBLFM line.
        * org-clock.el (org-dblock-write:clocktable): Allow indented
        #+TBLFM line.
  
  
        * org.el (org-enable-priority-commands): New option.
  
-       * org-colview-xemacs.el (org-columns-compute)
-       (org-columns-number-to-string): Fix problems with empty fields.
        * org-colview.el (org-columns-compute)
        (org-columns-number-to-string): Fix problems with empty fields.
  
        (org-export-region-as-latex): Use the property list.
        (org-export-as-latex): ????
  
-       * org-colview-xemacs.el (org-columns-remove-overlays)
-       (org-columns): Fix call to `local-variable-p'.
  2009-08-06  Carsten Dominik  <carsten.dominik@gmail.com>
  
        * org-latex.el (org-export-latex-after-blockquotes-hook): New hook.
        (org-columns-remove-overlays): Restore the value of `truncate-lines'.
        (org-columns): Remember the value of `truncate-lines'.
  
-       * org-colview-xemacs.el (org-colview-initial-truncate-line-value):
-       New variable.
-       (org-columns-remove-overlays): Restore the value of
-       `truncate-lines'.
-       (org-columns): Remember the value of `truncate-lines'.
        * org.el (org-columns-skip-arrchived-trees): New option.
  
        * org-agenda.el (org-agenda-export-html-style): Define color for
        Better error catching when a date/time property does not have allowed
        values defined.
  
-       * org-colview-xemacs.el (org-colview-construct-allowed-dates):
-       Better error catching when a date/time property does not have
-       allowed values defined.
  2009-01-25  Carsten Dominik  <carsten.dominik@gmail.com>
  
        * org.el (org-map-entries): Restore point and restriction after
        * org-colview.el (org-columns-edit-value, org-columns-new)
        (org-insert-columns-dblock): Use `org-ido-completing-read'.
  
-       * org-colview-xemacs.el (org-columns-edit-value)
-       (org-columns-new, org-insert-columns-dblock):
-       Use `org-ido-completing-read'.
        * org-attach.el (org-attach-delete-one, org-attach-open):
        Use `org-ido-completing-read'.
  
        * org-colview.el (org-columns-get-format-and-top-level):
        Remove resetting the marker.
  
-       * org-colview-xemacs.el (org-columns-get-format-and-top-level):
-       Remove resetting the marker.
        * org.el (org-entry-property-inherited-from): Improve docstring.
        (org-entry-get-with-inheritance): Reset marker before starting the
        search.
        (org-columns-next-allowed-value):
        Use `org-colview-construct-allowed-dates'.
  
-       * org-colview-xemacs.el (org-colview-construct-allowed-dates):
-       New function.
-       (org-columns-next-allowed-value):
-       Use `org-colview-construct-allowed-dates'.
        * org.el (org-protect-slash): New function.
        (org-get-refile-targets): Use `org-protect-slash'.
  
        * org-colview.el (org-columns-display-here):
        Use `org-columns-modify-value-for-display-function'.
  
-       * org-colview-xemacs.el (org-columns-display-here):
-       Use `org-columns-modify-value-for-display-function'.
        * org.el (org-columns-modify-value-for-display-function): New option.
  
        * org-publish.el (org-publish-file): Make sure the directory match
  
        * org-colview.el (org-columns-next-allowed-value): Bug fix.
  
-       * org-colview-xemacs.el (org-columns-next-allowed-value): Bug fix.
        * org-agenda.el (org-agenda-get-closed): Get the end time into the
        agenda prefix as well.
  
        * org-colview.el (org-columns-next-allowed-value): Handle next
        argument NTH to directly select a value.
  
-       * org-colview-xemacs.el (org-columns-next-allowed-value): Handle next
-       argument NTH to directly select a value.
  2008-06-17  Carsten Dominik  <dominik@science.uva.nl>
  
        * org-agenda.el (org-agenda-scheduled-leaders): Fix docstring.
        * org-clock.el (org-clock-display, org-clock-out)
        (org-update-mode-line): Use `org-time-clocksum-format'.
  
-       * org-colview-xemacs.el (org-columns-number-to-string):
-       Use `org-time-clocksum-format'.
        * org-colview.el (org-columns-number-to-string):
        Use `org-time-clocksum-format'.
  
diff --combined lisp/progmodes/gdb-mi.el
index 9f9551cc5d81ff6a7af8dc1d9b66d00efef37256,b19c828d1710226d4da6cd258e52c1898995c865..0cc5de90573e1cf17af70e338c095eddcd100a8b
@@@ -603,6 -603,8 +603,8 @@@ NOARG must be t when this macro is use
          (set (make-local-variable 'gud-marker-filter) #'gud-gdb-marker-filter))
        (funcall filter proc string))))
  
+ (defvar gdb-control-level 0)
  ;;;###autoload
  (defun gdb (command-line)
    "Run gdb on program FILE in buffer *gud-FILE*.
@@@ -677,6 -679,7 +679,7 @@@ detailed description of this mode
      (set-process-filter proc #'gdb--check-interpreter))
  
    (set (make-local-variable 'gud-minor-mode) 'gdbmi)
+   (set (make-local-variable 'gdb-control-level) 0)
    (setq comint-input-sender 'gdb-send)
    (when (ring-empty-p comint-input-ring) ; cf shell-mode
      (let ((hfile (expand-file-name (or (getenv "GDBHISTFILE")
    (gdb-clear-inferior-io)
    (gdb-inferior-io--init-proc (get-process "gdb-inferior"))
  
 -  (if (eq window-system 'w32)
 -      (gdb-input "-gdb-set new-console off" 'ignore))
 +  (when (eq system-type 'windows-nt)
 +    ;; Don't create a separate console window for the debuggee.
 +    (gdb-input "-gdb-set new-console off" 'ignore)
 +    ;; Force GDB to behave as if its input and output stream were
 +    ;; connected to a TTY device (since on Windows we use pipes for
 +    ;; communicating with GDB).
 +    (gdb-input "-gdb-set interactive-mode on" 'ignore))
    (gdb-input "-gdb-set height 0" 'ignore)
  
    (when gdb-non-stop
@@@ -1073,7 -1071,7 +1076,7 @@@ positive, otherwise don't automaticall
                   (if gdb-speedbar-auto-raise "en" "dis"))))
  
  (define-key gud-minor-mode-map "\C-c\C-w" 'gud-watch)
 -(define-key global-map (concat gud-key-prefix "\C-w") 'gud-watch)
 +(define-key global-map (vconcat gud-key-prefix "\C-w") 'gud-watch)
  
  (declare-function tooltip-identifier-from-point "tooltip" (point))
  
@@@ -1705,6 -1703,16 +1708,16 @@@ static char *magick[] = 
    :group 'gdb)
  
  \f
+ (defvar gdb-control-commands-regexp
+   (concat
+    "^\\("
+    "commands\\|if\\|while\\|define\\|document\\|python\\|"
+    "while-stepping\\|stepping\\|ws\\|actions"
+    "\\)\\([[:blank:]]+.*\\)?$")
+   "Regexp matching GDB commands that enter a recursive reading loop.
+ As long as GDB is in the recursive reading loop, it does not expect
+ commands to be prefixed by \"-interpreter-exec console\".")
  (defun gdb-send (proc string)
    "A comint send filter for gdb."
    (with-current-buffer gud-comint-buffer
    (if (not (string= "" string))
        (setq gdb-last-command string)
      (if gdb-last-command (setq string gdb-last-command)))
-   (if (string-match "^-" string)
-       ;; MI command
+   (if (or (string-match "^-" string)
+         (> gdb-control-level 0))
+       ;; Either MI command or we are feeding GDB's recursive reading loop.
        (progn
        (setq gdb-first-done-or-error t)
-       (process-send-string proc (concat string "\n")))
+       (process-send-string proc (concat string "\n"))
+       (if (and (string-match "^end$" string)
+                (> gdb-control-level 0))
+           (setq gdb-control-level (1- gdb-control-level))))
      ;; CLI command
      (if (string-match "\\\\$" string)
        (setq gdb-continuation (concat gdb-continuation string "\n"))
          (if gdb-enable-debug
              (push (cons 'mi-send to-send) gdb-debug-log))
          (process-send-string proc to-send))
-       (setq gdb-continuation nil))))
+       (if (and (string-match "^end$" string)
+              (> gdb-control-level 0))
+         (setq gdb-control-level (1- gdb-control-level)))
+       (setq gdb-continuation nil)))
+   (if (string-match gdb-control-commands-regexp string)
+       (setq gdb-control-level (1+ gdb-control-level))))
  
  (defun gdb-mi-quote (string)
    "Return STRING quoted properly as an MI argument.
index cdaeadde906fafae5052362d37dd04be43654130,01b4c6829f70ac12f0c1e48cb860858f31f392b8..d57a3128a1621f81df1dc4f75a3ee77664b584df
@@@ -1,6 -1,6 +1,6 @@@
  ;;; which-func.el --- print current function in mode line
  
 -;; Copyright (C) 1994, 1997-1998, 2001-2012  Free Software Foundation, Inc.
 +;; Copyright (C) 1994, 1997-1998, 2001-2012 Free Software Foundation, Inc.
  
  ;; Author:   Alex Rezinsky <alexr@msil.sps.mot.com>
  ;;           (doesn't seem to be responsive any more)
    "String to display in the mode line when current function is unknown.")
  
  (defgroup which-func nil
 -  "Mode to display the current function name in the modeline."
 +  "Display the current function name in the modeline."
    :group 'tools
    :version "20.3")
  
 -(defcustom which-func-modes
 -  '(emacs-lisp-mode c-mode c++-mode perl-mode cperl-mode python-mode
 -                  makefile-mode sh-mode fortran-mode f90-mode ada-mode
 -                  diff-mode)
 +(defcustom which-func-modes t
 +  ;; '(emacs-lisp-mode c-mode c++-mode objc-mode perl-mode cperl-mode python-mode
 +  ;;              makefile-mode sh-mode fortran-mode f90-mode ada-mode
 +  ;;              diff-mode)
    "List of major modes for which Which Function mode should be used.
  For other modes it is disabled.  If this is equal to t,
  then Which Function mode is enabled in any major mode that supports it."
    :group 'which-func
 +  :version "24.2"                       ; explicit list -> t
    :type '(choice (const :tag "All modes" t)
                 (repeat (symbol :tag "Major mode"))))
  
@@@ -179,7 -178,9 +179,9 @@@ and you want to simplify them for the m
  (defvar which-func-table (make-hash-table :test 'eq :weakness 'key))
  
  (defconst which-func-current
-   '(:eval (gethash (selected-window) which-func-table which-func-unknown)))
+   '(:eval (replace-regexp-in-string
+          "%" "%%"
+          (gethash (selected-window) which-func-table which-func-unknown))))
  ;;;###autoload (put 'which-func-current 'risky-local-variable t)
  
  (defvar which-func-mode nil
diff --combined lisp/simple.el
index 67f6e4eedf7ee6b0e07e583d66ff4af8a64eeacb,4187e296439e130c9c6801cff35635e8b6f38bbb..55f7d1261ee15299cd8ee96649e3d14ac2d70630
@@@ -817,7 -817,7 +817,7 @@@ instead of deleted.
    :type '(choice (const :tag "Delete active region" t)
                   (const :tag "Kill active region" kill)
                   (const :tag "Do ordinary deletion" nil))
-   :group 'editing
+   :group 'killing
    :version "24.1")
  
  (defun delete-backward-char (n &optional killflag)
@@@ -2150,7 -2150,7 +2150,7 @@@ of `history-length', which see."
    "Switch used to have the shell execute its command line argument.")
  
  (defvar shell-command-default-error-buffer nil
 -  "*Buffer name for `shell-command' and `shell-command-on-region' error output.
 +  "Buffer name for `shell-command' and `shell-command-on-region' error output.
  This buffer is used when `shell-command' or `shell-command-on-region'
  is run interactively.  A value of nil means that output to stderr and
  stdout will be intermixed in the output stream.")
@@@ -3487,14 -3487,14 +3487,14 @@@ and KILLP is t if a prefix arg was spec
    "Kill up to and including ARGth occurrence of CHAR.
  Case is ignored if `case-fold-search' is non-nil in the current buffer.
  Goes backward if ARG is negative; error if CHAR not found."
 -  (interactive "p\ncZap to char: ")
 +  (interactive (list (prefix-numeric-value current-prefix-arg)
 +                   (read-char "Zap to char: " t)))
    ;; Avoid "obsolete" warnings for translation-table-for-input.
    (with-no-warnings
      (if (char-table-p translation-table-for-input)
        (setq char (or (aref translation-table-for-input char) char))))
    (kill-region (point) (progn
                         (search-forward (char-to-string char) nil nil arg)
 -;                      (goto-char (if (> arg 0) (1- (point)) (1+ (point))))
                         (point))))
  
  ;; kill-line and its subroutines.
@@@ -4405,25 -4405,23 +4405,25 @@@ lines.
  ;; a cleaner solution to the problem of making C-n do something
  ;; useful given a tall image.
  (defun line-move (arg &optional noerror to-end try-vscroll)
 -  (unless (and auto-window-vscroll try-vscroll
 -             ;; Only vscroll for single line moves
 -             (= (abs arg) 1)
 -             ;; But don't vscroll in a keyboard macro.
 -             (not defining-kbd-macro)
 -             (not executing-kbd-macro)
 -             (line-move-partial arg noerror to-end))
 -    (set-window-vscroll nil 0 t)
 -    (if (and line-move-visual
 -           ;; Display-based column are incompatible with goal-column.
 -           (not goal-column)
 -           ;; When the text in the window is scrolled to the left,
 -           ;; display-based motion doesn't make sense (because each
 -           ;; logical line occupies exactly one screen line).
 -           (not (> (window-hscroll) 0)))
 -      (line-move-visual arg noerror)
 -      (line-move-1 arg noerror to-end))))
 +  (if noninteractive
 +      (forward-line arg)
 +    (unless (and auto-window-vscroll try-vscroll
 +               ;; Only vscroll for single line moves
 +               (= (abs arg) 1)
 +               ;; But don't vscroll in a keyboard macro.
 +               (not defining-kbd-macro)
 +               (not executing-kbd-macro)
 +               (line-move-partial arg noerror to-end))
 +      (set-window-vscroll nil 0 t)
 +      (if (and line-move-visual
 +             ;; Display-based column are incompatible with goal-column.
 +             (not goal-column)
 +             ;; When the text in the window is scrolled to the left,
 +             ;; display-based motion doesn't make sense (because each
 +             ;; logical line occupies exactly one screen line).
 +             (not (> (window-hscroll) 0)))
 +        (line-move-visual arg noerror)
 +      (line-move-1 arg noerror to-end)))))
  
  ;; Display-based alternative to line-move-1.
  ;; Arg says how many lines to move.  The value is t if we can move the
@@@ -5323,7 -5321,7 +5323,7 @@@ Returns t if it really did any work.
        t)))
  
  (defvar comment-line-break-function 'comment-indent-new-line
 -  "*Mode-specific function which line breaks and continues a comment.
 +  "Mode-specific function which line breaks and continues a comment.
  This function is called during auto-filling when a comment syntax
  is defined.
  The function should take a single optional argument, which is a flag
@@@ -5985,7 -5983,7 +5985,7 @@@ in the definition is used to check tha
  With a prefix argument, set VARIABLE to VALUE buffer-locally."
    (interactive
     (let* ((default-var (variable-at-point))
 -          (var (if (user-variable-p default-var)
 +          (var (if (custom-variable-p default-var)
                   (read-variable (format "Set variable (default %s): " default-var)
                                  default-var)
                 (read-variable "Set variable: ")))
diff --combined lisp/startup.el
index 4a8af55af2f693ceea4520f7a66fce9e49aef266,5c905954c862bfaaad98a6fd2fbae68df55f558e..d6e730236996eacb649384ea9785c1cb1ea8a10b
@@@ -41,7 -41,7 +41,7 @@@
  (defcustom initial-buffer-choice nil
    "Buffer to show after starting Emacs.
  If the value is nil and `inhibit-startup-screen' is nil, show the
- startup screen.  If the value is string, visit the specified file
+ startup screen.  If the value is string, visit the specified file
  or directory using `find-file'.  If t, open the `*scratch*'
  buffer."
    :type '(choice
@@@ -490,20 -490,13 +490,20 @@@ It is the default value of the variabl
      ;; of that dir into load-path,
      ;; Look for a leim-list.el file too.  Loading it will register
      ;; available input methods.
 -    (let ((tail load-path) dir)
 +    (let ((tail load-path)
 +          (lispdir (expand-file-name "../lisp" data-directory))
 +        ;; For out-of-tree builds, leim-list is generated in the build dir.
 +;;;          (leimdir (expand-file-name "../leim" doc-directory))
 +          dir)
        (while tail
          (setq dir (car tail))
          (let ((default-directory dir))
            (load (expand-file-name "subdirs.el") t t t))
 -        (let ((default-directory dir))
 -          (load (expand-file-name "leim-list.el") t t t))
 +      ;; Do not scan standard directories that won't contain a leim-list.el.
 +      ;; http://lists.gnu.org/archive/html/emacs-devel/2009-10/msg00502.html
 +      (or (string-match (concat "\\`" lispdir) dir)
 +          (let ((default-directory dir))
 +            (load (expand-file-name "leim-list.el") t t t)))
          ;; We don't use a dolist loop and we put this "setq-cdr" command at
          ;; the end, because the subdirs.el files may add elements to the end
          ;; of load-path and we want to take it into account.
@@@ -1169,6 -1162,38 +1169,6 @@@ the `--debug-init' option to view a com
                                            (or mail-host-address
                                                (system-name))))))
  
 -    ;; Originally face attributes were specified via
 -    ;; `font-lock-face-attributes'.  Users then changed the default
 -    ;; face attributes by setting that variable.  However, we try and
 -    ;; be back-compatible and respect its value if set except for
 -    ;; faces where M-x customize has been used to save changes for the
 -    ;; face.
 -    (when (boundp 'font-lock-face-attributes)
 -      (let ((face-attributes font-lock-face-attributes))
 -      (while face-attributes
 -        (let* ((face-attribute (pop face-attributes))
 -               (face (car face-attribute)))
 -          ;; Rustle up a `defface' SPEC from a
 -          ;; `font-lock-face-attributes' entry.
 -          (unless (get face 'saved-face)
 -            (let ((foreground (nth 1 face-attribute))
 -                  (background (nth 2 face-attribute))
 -                  (bold-p (nth 3 face-attribute))
 -                  (italic-p (nth 4 face-attribute))
 -                  (underline-p (nth 5 face-attribute))
 -                  face-spec)
 -              (when foreground
 -                (setq face-spec (cons ':foreground (cons foreground face-spec))))
 -              (when background
 -                (setq face-spec (cons ':background (cons background face-spec))))
 -              (when bold-p
 -                (setq face-spec (append '(:weight bold) face-spec)))
 -              (when italic-p
 -                (setq face-spec (append '(:slant italic) face-spec)))
 -              (when underline-p
 -                (setq face-spec (append '(:underline t) face-spec)))
 -              (face-spec-set face (list (list t face-spec)) nil)))))))
 -
      ;; If parameter have been changed in the init file which influence
      ;; face realization, clear the face cache so that new faces will
      ;; be realized.
diff --combined lisp/subr.el
index 2404f6a56d2f4cbdf291091acef464655a9d5296,9b293bb21ac6da3e0cb876c584e25fc6111a2bce..b548f82ca5adf7d6e2f3f3d4735cc49422572f92
@@@ -678,6 -678,7 +678,6 @@@ Subkeymaps may be modified but are not 
      ;; Process the bindings starting from the end.
      (dolist (binding (prog1 bindings (setq bindings ())))
        (let* ((key (car binding))
 -             (item (cdr binding))
               (oldbind (assq key bindings)))
          (push (if (not oldbind)
                    ;; The normal case: no duplicate bindings.
@@@ -870,7 -871,6 +870,7 @@@ The normal global definition of the cha
  (defsubst eventp (obj)
    "True if the argument is an event object."
    (or (and (integerp obj)
 +           ;; FIXME: Why bother?
           ;; Filter out integers too large to be events.
           ;; M is the biggest modifier.
           (zerop (logand obj (lognot (1- (lsh ?\M-\^@ 1)))))
@@@ -1967,7 -1967,7 +1967,7 @@@ It can be retrieved with `(process-get 
  ;;;; Input and display facilities.
  
  (defvar read-quoted-char-radix 8
 -  "*Radix for \\[quoted-insert] and other uses of `read-quoted-char'.
 +  "Radix for \\[quoted-insert] and other uses of `read-quoted-char'.
  Legitimate radix values are 8, 10 and 16.")
  
  (custom-declare-variable-early
@@@ -1988,10 -1988,6 +1988,10 @@@ obey the input decoding and translation
  So escape sequences and keyboard encoding are taken into account.
  When there's an ambiguity because the key looks like the prefix of
  some sort of escape sequence, the ambiguity is resolved via `read-key-delay'."
 +  ;; This overriding-terminal-local-map binding also happens to
 +  ;; disable quail's input methods, so although read-key-sequence
 +  ;; always inherits the input method, in practice read-key does not
 +  ;; inherit the input method (at least not if it's based on quail).
    (let ((overriding-terminal-local-map read-key-empty-map)
        (overriding-local-map nil)
          (echo-keystrokes 0)
             (let ((map (make-sparse-keymap)))
               ;; Don't hide the menu-bar and tool-bar entries.
               (define-key map [menu-bar] (lookup-key global-map [menu-bar]))
-              (define-key map [tool-bar] (lookup-key global-map [tool-bar]))
+              (define-key map [tool-bar]
+              ;; This hack avoids evaluating the :filter (Bug#9922).
+              (or (cdr (assq 'tool-bar global-map))
+                  (lookup-key global-map [tool-bar])))
               map))
          (aref (catch 'read-key (read-key-sequence-vector prompt nil t)) 0))
        (cancel-timer timer)
@@@ -2096,45 -2095,77 +2099,45 @@@ Optional DEFAULT is a default password 
  
  This function echoes `.' for each character that the user types.
  
 -The user ends with RET, LFD, or ESC.  DEL or C-h rubs out.
 -C-y yanks the current kill.  C-u kills line.
 -C-g quits; if `inhibit-quit' was non-nil around this function,
 -then it returns nil if the user types C-g, but `quit-flag' remains set.
 -
  Once the caller uses the password, it can erase the password
  by doing (clear-string STRING)."
 -  (with-local-quit
 -    (if confirm
 -      (let (success)
 -        (while (not success)
 -          (let ((first (read-passwd prompt nil default))
 -                (second (read-passwd "Confirm password: " nil default)))
 -            (if (equal first second)
 -                (progn
 -                  (and (arrayp second) (clear-string second))
 -                  (setq success first))
 -              (and (arrayp first) (clear-string first))
 -              (and (arrayp second) (clear-string second))
 -              (message "Password not repeated accurately; please start over")
 -              (sit-for 1))))
 -        success)
 -      (let ((pass nil)
 -          ;; Copy it so that add-text-properties won't modify
 -          ;; the object that was passed in by the caller.
 -          (prompt (copy-sequence prompt))
 -          (c 0)
 -          (echo-keystrokes 0)
 -          (cursor-in-echo-area t)
 -          (message-log-max nil)
 -          (stop-keys (list 'return ?\r ?\n ?\e))
 -          (rubout-keys (list 'backspace ?\b ?\177)))
 -      (add-text-properties 0 (length prompt)
 -                           minibuffer-prompt-properties prompt)
 -      (while (progn (message "%s%s"
 -                             prompt
 -                             (make-string (length pass) ?.))
 -                    (setq c (read-key))
 -                    (not (memq c stop-keys)))
 -        (clear-this-command-keys)
 -        (cond ((memq c rubout-keys) ; rubout
 -               (when (> (length pass) 0)
 -                 (let ((new-pass (substring pass 0 -1)))
 -                   (and (arrayp pass) (clear-string pass))
 -                   (setq pass new-pass))))
 -                ((eq c ?\C-g) (keyboard-quit))
 -              ((not (numberp c)))
 -              ((= c ?\C-u) ; kill line
 -               (and (arrayp pass) (clear-string pass))
 -               (setq pass ""))
 -              ((= c ?\C-y) ; yank
 -               (let* ((str (condition-case nil
 -                               (current-kill 0)
 -                             (error nil)))
 -                      new-pass)
 -                 (when str
 -                   (setq new-pass
 -                         (concat pass
 -                                 (substring-no-properties str)))
 -                   (and (arrayp pass) (clear-string pass))
 -                   (setq c ?\0)
 -                   (setq pass new-pass))))
 -              ((characterp c) ; insert char
 -               (let* ((new-char (char-to-string c))
 -                      (new-pass (concat pass new-char)))
 -                 (and (arrayp pass) (clear-string pass))
 -                 (clear-string new-char)
 -                 (setq c ?\0)
 -                 (setq pass new-pass)))))
 -      (message nil)
 -      (or pass default "")))))
 +  (if confirm
 +      (let (success)
 +        (while (not success)
 +          (let ((first (read-passwd prompt nil default))
 +                (second (read-passwd "Confirm password: " nil default)))
 +            (if (equal first second)
 +                (progn
 +                  (and (arrayp second) (clear-string second))
 +                  (setq success first))
 +              (and (arrayp first) (clear-string first))
 +              (and (arrayp second) (clear-string second))
 +              (message "Password not repeated accurately; please start over")
 +              (sit-for 1))))
 +        success)
 +    (let (minibuf)
 +      (minibuffer-with-setup-hook
 +          (lambda ()
 +            (setq minibuf (current-buffer))
 +            ;; Turn off electricity.
 +            (set (make-local-variable 'post-self-insert-hook) nil)
 +            (add-hook 'after-change-functions
 +                      (lambda (beg end _len)
 +                        (clear-this-command-keys)
 +                        (setq beg (min end (max (minibuffer-prompt-end)
 +                                                beg)))
 +                        (dotimes (i (- end beg))
 +                          (put-text-property (+ i beg) (+ 1 i beg)
 +                                             'display (string ?.))))
 +                      nil t))
 +        (unwind-protect
 +            (read-string prompt nil
 +                         (let ((sym (make-symbol "forget-history")))
 +                           (set sym nil)
 +                           sym)
 +                         default)
 +          (when (buffer-live-p minibuf)
 +            (with-current-buffer minibuf (erase-buffer))))))))
  
  ;; This should be used by `call-interactively' for `n' specs.
  (defun read-number (prompt &optional default)
@@@ -2391,7 -2422,7 +2394,7 @@@ to `accept-change-group' or `cancel-cha
  This finishes the change group by accepting its changes as final."
    (dolist (elt handle)
      (with-current-buffer (car elt)
 -      (if (eq elt t)
 +      (if (eq (cdr elt) t)
          (setq buffer-undo-list t)))))
  
  (defun cancel-change-group (handle)
@@@ -3530,7 -3561,8 +3533,7 @@@ of STRING
  To replace only the first match (if any), make REGEXP match up to \\'
  and replace a sub-expression, e.g.
    (replace-regexp-in-string \"\\\\(foo\\\\).*\\\\'\" \"bar\" \" foo foo\" nil nil 1)
 -    => \" bar foo\"
 -"
 +    => \" bar foo\""
  
    ;; To avoid excessive consing from multiple matches in long strings,
    ;; don't just call `replace-match' continually.  Walk down the
diff --combined lisp/vc/vc-git.el
index c185c4e8fabaa11ba044d457a39688e677d7ba6d,9aa2ee72b558fc01f9052063fad3f786a058c6f4..ebaec2494acd4352ec458441b4e2f83ab398ff0d
@@@ -1,4 -1,4 +1,4 @@@
 -;;; vc-git.el --- VC backend for the git version control system
 +;;; vc-git.el --- VC backend for the git version control system -*- lexical-binding: t -*-
  
  ;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
  
@@@ -160,7 -160,7 +160,7 @@@ matching the resulting Git log output, 
  ;;; BACKEND PROPERTIES
  
  (defun vc-git-revision-granularity () 'repository)
 -(defun vc-git-checkout-model (files) 'implicit)
 +(defun vc-git-checkout-model (_files) 'implicit)
  
  ;;; STATE-QUERYING FUNCTIONS
  
      (let ((diff (vc-git--run-command-string
                   file "diff-index" "-p" "--raw" "-z" "HEAD" "--")))
        (if (and diff
-              (string-match ":[0-7]\\{6\\} [0-7]\\{6\\} [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\([ADMUT]\\)\0[^\0]+\0\\(.\\)?"
+              (string-match ":[0-7]\\{6\\} [0-7]\\{6\\} [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\([ADMUT]\\)\0[^\0]+\0\\(.*\n.\\)?"
                             diff))
            (let ((diff-letter (match-string 1 diff)))
              (if (not (match-beginning 2))
                (vc-git--state-code diff-letter)))
        (if (vc-git--empty-db-p) 'added 'up-to-date)))))
  
 -(defun vc-git-working-revision (file)
 +(defun vc-git-working-revision (_file)
    "Git-specific version of `vc-working-revision'."
    (let* (process-file-side-effects
         (str (with-output-to-string
@@@ -471,14 -471,14 +471,14 @@@ or an empty string if none.
    (vc-exec-after
     `(vc-git-after-dir-status-stage ',stage  ',files ',update-function)))
  
 -(defun vc-git-dir-status (dir update-function)
 +(defun vc-git-dir-status (_dir update-function)
    "Return a list of (FILE STATE EXTRA) entries for DIR."
    ;; Further things that would have to be fixed later:
    ;; - how to handle unregistered directories
    ;; - how to support vc-dir on a subdir of the project tree
    (vc-git-dir-status-goto-stage 'update-index nil update-function))
  
 -(defun vc-git-dir-status-files (dir files default-state update-function)
 +(defun vc-git-dir-status-files (_dir files _default-state update-function)
    "Return a list of (FILE STATE EXTRA) entries for FILES in DIR."
    (vc-git-dir-status-goto-stage 'update-index files update-function))
  
                  :help "Show the contents of the current stash"))
      map))
  
 -(defun vc-git-dir-extra-headers (dir)
 +(defun vc-git-dir-extra-headers (_dir)
    (let ((str (with-output-to-string
                 (with-current-buffer standard-output
                   (vc-git--out-ok "symbolic-ref" "HEAD"))))
@@@ -590,7 -590,7 +590,7 @@@ The car of the list is the current bran
    "Create a new Git repository."
    (vc-git-command nil 0 nil "init"))
  
 -(defun vc-git-register (files &optional rev comment)
 +(defun vc-git-register (files &optional _rev _comment)
    "Register FILES into the git version-control system."
    (let (flist dlist)
      (dolist (crt files)
  
  (declare-function log-edit-extract-headers "log-edit" (headers string))
  
 -(defun vc-git-checkin (files rev comment)
 +(defun vc-git-checkin (files _rev comment)
    (let ((coding-system-for-write vc-git-commits-coding-system))
      (apply 'vc-git-command nil 0 files
           (nconc (list "commit" "-m")
       nil
       "cat-file" "blob" (concat (if rev rev "HEAD") ":" fullname))))
  
 -(defun vc-git-checkout (file &optional editable rev)
 +(defun vc-git-checkout (file &optional _editable rev)
    (vc-git-command nil 0 file "checkout" (or rev "HEAD")))
  
  (defun vc-git-revert (file &optional contents-done)
@@@ -821,7 -821,7 +821,7 @@@ or BRANCH^ (where \"^\" can be repeated
           (append (vc-switches 'git 'diff)
                   (list "-p" (or rev1 "HEAD") rev2 "--")))))
  
 -(defun vc-git-revision-table (files)
 +(defun vc-git-revision-table (_files)
    ;; What about `files'?!?  --Stef
    (let (process-file-side-effects
        (table (list "HEAD")))
      table))
  
  (defun vc-git-revision-completion-table (files)
 -  (lexical-let ((files files)
 -                table)
 -    (setq table (lazy-completion-table
 -                 table (lambda () (vc-git-revision-table files))))
 +  (letrec ((table (lazy-completion-table
 +                   table (lambda () (vc-git-revision-table files)))))
      table))
  
  (defun vc-git-annotate-command (file buf &optional rev)
               (vc-git-command nil 0 nil "checkout" "-b" name)
             (vc-git-command nil 0 nil "tag" name)))))
  
 -(defun vc-git-retrieve-tag (dir name update)
 +(defun vc-git-retrieve-tag (dir name _update)
    (let ((default-directory dir))
      (vc-git-command nil 0 nil "checkout" name)
      ;; FIXME: update buffers if `update' is true
diff --combined lisp/window.el
index b8f1bf3456d3492ceacdcd05dd5dc981d9da2cec,7abe3fbfe7fc2e68724a710ecf4827a467e3e4c6..d57bd4e2300ac1cc681967e279d60c0d20fa0968
@@@ -1482,12 -1482,24 +1482,24 @@@ edge of WINDOW consider using `adjust-w
  instead."
    (setq window (window-normalize-window window))
    (let* ((frame (window-frame window))
+        (minibuffer-window (minibuffer-window frame))
         sibling)
      (cond
       ((eq window (frame-root-window frame))
        (error "Cannot resize the root window of a frame"))
 -     ((window-minibuffer-p window) 
 +     ((window-minibuffer-p window)
-       (window--resize-mini-window window delta))
+       (if horizontal
+         (error "Cannot resize minibuffer window horizontally")
+       (window--resize-mini-window window delta)))
+      ((and (not horizontal)
+          (window-full-height-p window)
+          (eq (window-frame minibuffer-window) frame)
+          (or (not resize-mini-windows)
+              (eq minibuffer-window (active-minibuffer-window))))
+       ;; If WINDOW is full height and either `resize-mini-windows' is
+       ;; nil or the minibuffer window is active, resize the minibuffer
+       ;; window.
+       (window--resize-mini-window minibuffer-window (- delta)))
       ((window--resizable-p window delta horizontal ignore)
        (window--resize-reset frame horizontal)
        (window--resize-this-window window delta horizontal ignore t)
@@@ -2002,17 -2014,25 +2014,25 @@@ right.  If DELTA is less than zero, mov
  the left.  If the edge can't be moved by DELTA lines or columns,
  move it as far as possible in the desired direction."
    (setq window (window-normalize-window window))
-   (let ((frame (window-frame window))
-       (right window)
-       left this-delta min-delta max-delta)
+   (let* ((frame (window-frame window))
+        (minibuffer-window (minibuffer-window frame))
+        (right window)
+        left this-delta min-delta max-delta)
      ;; Find the edge we want to move.
      (while (and (or (not (window-combined-p right horizontal))
                    (not (window-right right)))
                (setq right (window-parent right))))
      (cond
-      ((and (not right) (not horizontal) (not resize-mini-windows)
-          (eq (window-frame (minibuffer-window frame)) frame))
-       (window--resize-mini-window (minibuffer-window frame) (- delta)))
+      ((and (not right) (not horizontal)
+          ;; Resize the minibuffer window if it's on the same frame as
+          ;; and immediately below WINDOW and it's either active or
+          ;; `resize-mini-windows' is nil.
+          (eq (window-frame minibuffer-window) frame)
+          (= (nth 1 (window-edges minibuffer-window))
+             (nth 3 (window-edges window)))
+          (or (not resize-mini-windows)
+              (eq minibuffer-window (active-minibuffer-window))))
+       (window--resize-mini-window minibuffer-window (- delta)))
       ((or (not (setq left right)) (not (setq right (window-right right))))
        (if horizontal
          (error "No window on the right of this one")
@@@ -2109,18 -2129,30 +2129,30 @@@ make selected window wider by DELTA col
  negative, shrink selected window by -DELTA lines or columns.
  Return nil."
    (interactive "p")
-   (cond
-    ((zerop delta))
-    ((window-size-fixed-p nil horizontal)
-     (error "Selected window has fixed size"))
-    ((window--resizable-p nil delta horizontal)
-     (window-resize nil delta horizontal))
-    (t
-     (window-resize
-      nil (if (> delta 0)
-            (window-max-delta nil horizontal)
-          (- (window-min-delta nil horizontal)))
-      horizontal))))
+   (let ((minibuffer-window (minibuffer-window)))
+     (cond
+      ((zerop delta))
+      ((window-size-fixed-p nil horizontal)
+       (error "Selected window has fixed size"))
+      ((window-minibuffer-p)
+       (if horizontal
+         (error "Cannot resize minibuffer window horizontally")
+       (window--resize-mini-window (selected-window) delta)))
+      ((and (not horizontal)
+          (window-full-height-p)
+          (eq (window-frame minibuffer-window) (selected-frame))
+          (not resize-mini-windows))
+       ;; If the selected window is full height and `resize-mini-windows'
+       ;; is nil, resize the minibuffer window.
+       (window--resize-mini-window minibuffer-window (- delta)))
+      ((window--resizable-p nil delta horizontal)
+       (window-resize nil delta horizontal))
+      (t
+       (window-resize
+        nil (if (> delta 0)
+              (window-max-delta nil horizontal)
+            (- (window-min-delta nil horizontal)))
+        horizontal)))))
  
  (defun shrink-window (delta &optional horizontal)
    "Make the selected window DELTA lines smaller.
@@@ -2131,18 -2163,30 +2163,30 @@@ negative, enlarge selected window by -D
  Also see the `window-min-height' variable.
  Return nil."
    (interactive "p")
-   (cond
-    ((zerop delta))
-    ((window-size-fixed-p nil horizontal)
-     (error "Selected window has fixed size"))
-    ((window--resizable-p nil (- delta) horizontal)
-     (window-resize nil (- delta) horizontal))
-    (t
-     (window-resize
-      nil (if (> delta 0)
-            (- (window-min-delta nil horizontal))
-          (window-max-delta nil horizontal))
-      horizontal))))
+   (let ((minibuffer-window (minibuffer-window)))
+     (cond
+      ((zerop delta))
+      ((window-size-fixed-p nil horizontal)
+       (error "Selected window has fixed size"))
+      ((window-minibuffer-p)
+       (if horizontal
+         (error "Cannot resize minibuffer window horizontally")
+       (window--resize-mini-window (selected-window) (- delta))))
+      ((and (not horizontal)
+          (window-full-height-p)
+          (eq (window-frame minibuffer-window) (selected-frame))
+          (not resize-mini-windows))
+       ;; If the selected window is full height and `resize-mini-windows'
+       ;; is nil, resize the minibuffer window.
+       (window--resize-mini-window minibuffer-window delta))
+      ((window--resizable-p nil (- delta) horizontal)
+       (window-resize nil (- delta) horizontal))
+      (t
+       (window-resize
+        nil (if (> delta 0)
+              (- (window-min-delta nil horizontal))
+            (window-max-delta nil horizontal))
+        horizontal)))))
  
  (defun maximize-window (&optional window)
    "Maximize WINDOW.
@@@ -3654,11 -3698,7 +3698,11 @@@ specific buffers.
                     (scroll-bars . ,(window-scroll-bars window))
                     (vscroll . ,(window-vscroll window))
                     (dedicated . ,(window-dedicated-p window))
 -                   (point . ,(if writable point (copy-marker point)))
 +                   (point . ,(if writable point
 +                                 (copy-marker point
 +                                              (buffer-local-value
 +                                               'window-point-insertion-type
 +                                               buffer))))
                     (start . ,(if writable start (copy-marker start)))))))))
         (tail
          (when (memq type '(vc hc))
@@@ -5454,7 -5494,7 +5498,7 @@@ A value of t means point moves to the b
  \(depending on scrolling direction) when no more scrolling possible.
  When point is already on that position, then signal an error."
    :type 'boolean
 -  :group 'scrolling
 +  :group 'windows
    :version "24.1")
  
  (defun scroll-up-command (&optional arg)
@@@ -5727,8 -5767,6 +5771,8 @@@ is active.  This function is run by `mo
        (setq mouse-autoselect-window-state nil)
        ;; Run `mouse-leave-buffer-hook' when autoselecting window.
        (run-hooks 'mouse-leave-buffer-hook))
 +      ;; Clear echo area.
 +      (message nil)
        (select-window window))))
  
  (defun truncated-partial-width-window-p (&optional window)
diff --combined src/ChangeLog
index df0e6135498c652c5f35800a855b084cca1e7618,8c80a24b5806d5f66e8811eecc05e15b338f8e8f..55caf3c607c6158e18a3d186be158c90e5f9f9b6
 -2012-04-24  Chong Yidong  <cyd@gnu.org>
++2012-04-27  Chong Yidong  <cyd@gnu.org>
+       * xselect.c (x_convert_selection): Initialize a pointer (Bug#11315).
 -2012-04-23  Eli Zaretskii  <eliz@gnu.org>
++2012-04-27  Eli Zaretskii  <eliz@gnu.org>
+       * xdisp.c (pos_visible_p): If the window start position is beyond
+       ZV, start the display from buffer beginning.  Prevents assertion
+       violation in init_iterator when the minibuffer window is scrolled
+       via the scroll bar.
+       * window.c (window_scroll_pixel_based): Likewise.
 -2012-04-23  Chong Yidong  <cyd@gnu.org>
++2012-04-27  Chong Yidong  <cyd@gnu.org>
+       * keymap.c (where_is_internal): Doc fix (Bug#10872).
 -2012-04-20  Glenn Morris  <rgm@gnu.org>
++2012-04-27  Glenn Morris  <rgm@gnu.org>
+       * fileio.c (Fcopy_file, Fset_file_selinux_context):
+       Ignore ENOTSUP failures from setfilecon functions.  (Bug#11245)
 -2012-04-20  Eli Zaretskii  <eliz@gnu.org>
++2012-04-27  Eli Zaretskii  <eliz@gnu.org>
+       * dispnew.c (swap_glyph_pointers, copy_row_except_pointers): Don't
+       overrun array limits of glyph row's used[] array.  (Bug#11288)
 +2012-04-26  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (IT_DISPLAYING_WHITESPACE): In addition to the loaded
 +      display element, check also the underlying string or buffer
 +      character.  (Bug#11341)
 +
 +      * w32menu.c: Include w32heap.h.
 +      (add_menu_item): If the call to AppendMenuW (via
 +      unicode_append_menu) fails, disable Unicode menus only if we are
 +      running on Windows 9X/Me.
 +
 +2012-04-24  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * .gdbinit (xpr): Handle USE_2_TAGS_FOR_INTS.
 +      (xgetint): Add missing shift for LSB tags.
 +
 +2012-04-24  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * keyboard.c (read_char): Don't wipe echo area for select window
 +      events: These might get delayed via `mouse-autoselect-window'
 +      (Bug#11304).
 +
 +2012-04-24  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * gnutls.c (init_gnutls_functions): Protect against (unlikely)
 +      manipulation of :loaded-from data.
 +
 +2012-04-23  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * gnutls.c (init_gnutls_functions): The value of :loaded-from is
 +      now a cons (bug#11311).
 +
 +2012-04-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Do not create empty overlays with the evaporate property (Bug#9642).
 +      * buffer.c (Fmove_overlay): Delete an evaporating overlay
 +      if it becomes empty after its bounds are adjusted to fit within
 +      its buffer.  Without this fix, in a nonempty buffer (let ((o
 +      (make-overlay 1 2))) (overlay-put o 'evaporate t) (move-overlay o 0 1))
 +      yields an empty overlay that has the evaporate property, which is
 +      not supposed to happen.
 +
 +      Fix minor GTK3 problems found by static checking.
 +      * emacsgtkfixed.c (EMACS_TYPE_FIXED, EMACS_FIXED, EmacsFixed)
 +      (EmacsFixedPrivate, EmacsFixedClass, struct _EmacsFixed)
 +      (struct _EmacsFixedClass, emacs_fixed_get_type):
 +      Move decls here from emacsgtkfixed.h, since they needn't be public.
 +      (emacs_fixed_get_type): Now static.
 +      (emacs_fixed_class_init): Omit unused local.
 +      (emacs_fixed_child_type): Remove; unused.
 +      * emacsgtkfixed.h (EMACS_TYPE_FIXED, EMACS_FIXED, EmacsFixed)
 +      (EmacsFixedPrivate, EmacsFixedClass, struct _EmacsFixed)
 +      (struct _EmacsFixedClass): Move to emacsgtkfixed.c.
 +      (EMACS_FIXED_CLASS, EMACS_IS_FIXED, EMACS_IS_FIXED_CLASS)
 +      (EMACS_FIXED_GET_CLASS): Remove; unused.
 +      * gtkutil.c (xg_create_frame_widgets) [!HAVE_GTK3]: Omit unused local.
 +
 +      * keyboard.c (handle_async_input): Define only if SYNC_INPUT || SIGIO.
 +      Problem reported by Juanma Barranquero for Windows -Wunused-function.
 +
 +2012-04-22  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Modernize and clean up gmalloc.c to assume C89 (Bug#9119).
 +      * gmalloc.c: (_MALLOC_INTERNAL, _MALLOC_H, _PP, __ptr_t)
 +      (__malloc_size_t, __malloc_ptrdiff_t):
 +      Remove.  All uses removed, replaced by the definiens if needed,
 +      since we can assume C89 or better now.
 +      Include <stdint.h>, for PTRDIFF_MAX, uintptr_t.
 +      (protect_malloc_state, align, get_contiguous_space)
 +      (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
 +      (malloc_atfork_handler_child, malloc_enable_thread)
 +      (malloc_initialize_1, __malloc_initialize, morecore_nolock)
 +      (_malloc_internal_nolock, _malloc_internal, malloc, _malloc)
 +      (_free, _realloc, _free_internal_nolock, _free_internal, free, cfree)
 +      (special_realloc, _realloc_internal_nolock, _realloc_internal)
 +      (realloc, calloc, __default_morecore, memalign, valloc, checkhdr)
 +      (freehook, mallochook, reallochook, mabort, mcheck, mprobe):
 +      Define using prototypes, not old style.
 +      (align, _malloc_internal_nolock, _free_internal_nolock, memalign):
 +      Don't assume ptrdiff_t and uintptr_t are no wider than unsigned long.
 +      (align): Don't assume that signed integer overflow wraps around.
 +      Omit unused local var.
 +      (malloc_initialize_1, morecore_nolock, _malloc_internal_nolock)
 +      (_free_internal_nolock, memalign, mallochook, reallochook):
 +      Omit no-longer-needed casts.
 +      (valloc): Use getpagesize, not __getpagesize.
 +      (MAGICWORD, MAGICFREE): Now randomish size_t values, not 32-bit.
 +      (struct hdr): The 'magic' member is now size_t, not unsigned long.
 +
 +      * dbusbind.c (XD_DBUS_VALIDATE_OBJECT): Define only if needed.
 +
 +2012-04-22  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      Move functions from C to Lisp.  Make non-blocking method calls
 +      the default.  Implement further D-Bus standard interfaces.
 +
 +      * dbusbind.c (DBUS_NUM_MESSAGE_TYPES): Declare.
 +      (QCdbus_request_name_allow_replacement)
 +      (QCdbus_request_name_replace_existing)
 +      (QCdbus_request_name_do_not_queue)
 +      (QCdbus_request_name_reply_primary_owner)
 +      (QCdbus_request_name_reply_in_queue)
 +      (QCdbus_request_name_reply_exists)
 +      (QCdbus_request_name_reply_already_owner): Move to dbus.el.
 +      (QCdbus_registered_serial, QCdbus_registered_method)
 +      (QCdbus_registered_signal): New Lisp objects.
 +      (XD_DEBUG_MESSAGE): Use sizeof.
 +      (XD_MESSAGE_TYPE_TO_STRING, XD_OBJECT_TO_STRING)
 +      (XD_DBUS_VALIDATE_BUS_ADDRESS, XD_DBUS_VALIDATE_OBJECT)
 +      (XD_DBUS_VALIDATE_BUS_NAME, XD_DBUS_VALIDATE_PATH)
 +      (XD_DBUS_VALIDATE_INTERFACE, XD_DBUS_VALIDATE_MEMBER): New macros.
 +      (XD_CHECK_DBUS_SERIAL): Rename from CHECK_DBUS_SERIAL_GET_SERIAL.
 +      (xd_signature, xd_append_arg): Allow float for integer types.
 +      (xd_get_connection_references): New function.
 +      (xd_get_connection_address): Rename from xd_initialize.  Return
 +      cached address.
 +      (xd_remove_watch): Do not unset $DBUS_SESSION_BUS_ADDRESS.
 +      (xd_close_bus): Rename from Fdbus_close_bus.  Not needed on Lisp
 +      level.
 +      (Fdbus_init_bus): New optional arg PRIVATE.  Cache address.
 +      Return number of recounts.
 +      (Fdbus_get_unique_name): Make stronger parameter check.
 +      (Fdbus_message_internal): New defun.
 +      (Fdbus_call_method, Fdbus_call_method_asynchronously)
 +      (Fdbus_method_return_internal, Fdbus_method_error_internal)
 +      (Fdbus_send_signal, Fdbus_register_service)
 +      (Fdbus_register_signal, Fdbus_register_method): Move to dbus.el.
 +      (xd_read_message_1): Obey new structure of Vdbus_registered_objects.
 +      (xd_read_queued_messages): Obey new structure of Vdbus_registered_buses.
 +      (Vdbus_compiled_version, Vdbus_runtime_version)
 +      (Vdbus_message_type_invalid, Vdbus_message_type_method_call)
 +      (Vdbus_message_type_method_return, Vdbus_message_type_error)
 +      (Vdbus_message_type_signal): New defvars.
 +      (Vdbus_registered_buses, Vdbus_registered_objects_table): Adapt
 +      docstring.
 +
 +2012-04-22  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix GC_MALLOC_CHECK debugging output on 64-bit hosts.
 +      * alloc.c (emacs_blocked_malloc) [GC_MALLOC_CHECK]:
 +      Do not assume ptrdiff_t is the same width as 'int'.
 +
 +      * alloc.c: Handle unusual debugging option combinations.
 +      (GC_CHECK_MARKED_OBJECTS): Undef if ! GC_MARK_STACK,
 +      since the two debugging options are incompatible.
 +      (GC_MALLOC_CHECK): Similarly, undef if GC_CHECK_MARKED_OBJECTS
 +      is defined.
 +      (mem_init, mem_insert, mem_insert_fixup):
 +      Define if GC_MARK_STACK || GC_MALLOC_CHECK.
 +      (NEED_MEM_INSERT): Remove; no longer needed.
 +
 +2012-04-22  Leo Liu  <sdl.web@gmail.com>
 +
 +      * sysdep.c (list_system_processes): Support Darwin (Bug#5725).
 +
 +2012-04-22  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * sysdep.c [__FreeBSD__]: Minor cleanups.
 +      (list_system_processes, system_process_attributes) [__FreeBSD__]:
 +      Use Emacs indenting style more consistently.  Avoid some casts.
 +      Use 'double' consistently rather than mixing 'float' and 'double'.
 +
 +2012-04-21  Eduard Wiebe  <usenet@pusto.de>
 +
 +      * sysdep.c (list_system_processes, system_process_attributes): Add
 +      implementation for FreeBSD (Bug#5243).
 +
 +2012-04-21  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * lisp.mk (lisp): Update.
 +
 +2012-04-20  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * keyboard.c (process_pending_signals): Define only if SYNC_INPUT.
 +      It is never used otherwise.
 +
 +2012-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * print.c (print_preprocess): Only check print_depth if print-circle
 +      is nil.
 +      (print_object): Check for cycles even when print-circle is nil and
 +      print-gensym is t, but only check print_depth if print-circle is nil.
 +
  2012-04-20  Chong Yidong  <cyd@gnu.org>
  
        * process.c (wait_reading_process_output): If EIO occurs on a pty,
        set the status to "failed" and ensure that sentinel is run.
  
 -2012-04-18  Glenn Morris  <rgm@gnu.org>
 +2012-04-20  Glenn Morris  <rgm@gnu.org>
  
        * process.c (Fset_process_inherit_coding_system_flag)
        (Fset_process_query_on_exit_flag): Doc fix (mention return value).
        (Fmake_network_process, Fmake_serial_process): Doc fix.
  
 -2012-04-17  Eli Zaretskii  <eliz@gnu.org>
 +2012-04-20  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (string_buffer_position_lim): Limit starting position to
        BEGV.
        (set_cursor_from_row): If called for a mode-line or header-line
        row, return zero immediately.
        (try_cursor_movement): If inside continuation line, don't back up
 -      farther than the first row after the header line, if any.  Don't
 -      consider the header-line row as "partially visible", even if
 +      farther than the first row after the header line, if any.
 +      Don't consider the header-line row as "partially visible", even if
        MATRIX_ROW_PARTIALLY_VISIBLE_P returns non-zero.  (Bug#11261)
  
 -2012-04-13  Atsuo Ohki  <ohki@gssm.otsuka.tsukuba.ac.jp>  (tiny change)
 +2012-04-20  Atsuo Ohki  <ohki@gssm.otsuka.tsukuba.ac.jp>  (tiny change)
 +
 +      * lread.c (lisp_file_lexically_bound_p): Fix hang at ";-*-\n"
 +      (bug#11238).
  
 -      * lread.c (lisp_file_lexically_bound_p): Fix hang at ";-*-\n" (bug#11238).
 +2012-04-20  Teodor Zlatanov  <tzz@lifelogs.com>
 +2012-04-18  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2012-04-10  Teodor Zlatanov  <tzz@lifelogs.com>
 +      configure: new option --enable-gcc-warnings (Bug#11207)
 +      * Makefile.in (C_WARNINGS_SWITCH): Remove.
 +      (WARN_CFLAGS, WERROR_CFLAGS): New macros.
 +      (ALL_CFLAGS): Use new macros rather than old.
 +      * process.c: Ignore -Wstrict-overflow to work around GCC bug 52904.
 +      * regex.c: Ignore -Wstrict-overflow.  If !emacs, also ignore
 +      -Wunused-but-set-variable, -Wunused-function, -Wunused-macros,
 +      -Wunused-result, -Wunused-variable.  This should go away once
 +      the Emacs and Gnulib regex code is merged.
 +      (xmalloc, xrealloc): Now static.
 +
 +2012-04-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * dired.c (Fsystem_groups): Remove unused local.
 +
 +2012-04-17  Glenn Morris  <rgm@gnu.org>
 +
 +      * dired.c (Fsystem_users): Doc fix.
 +
 +2012-04-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * dired.c (Fsystem_users, Fsystem_groups): New functions.  (Bug#7900)
 +      (syms_of_dired): Add them.
 +
 +2012-04-16  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix minor alloc.c problems found by static checking.
 +      * alloc.c (_malloc_internal, _free_internal) [!DOUG_LEA_MALLOC]:
 +      New extern decls, to avoid calling undeclared functions.
 +      (dont_register_blocks): Define if ((!SYSTEM_MALLOC && !SYNC_INPUT)
 +      && GC_MALLOC_CHECK), not if ((GC_MARK_STACK || defined
 +      GC_MALLOC_CHECK) && GC_MALLOC_CHECK), to match when it's used.
 +      (NEED_MEM_INSERT): New macro.
 +      (mem_insert, mem_insert_fixup) [!NEED_MEM_INSERT]: Remove; unused.
 +      Remove one incorrect comment and fix another.
 +
 +      Fix minor ralloc.c problems found by static checking.
 +      See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html
 +      * ralloc.c (ALIGNED, ROUND_TO_PAGE, HEAP_PTR_SIZE)
 +      (r_alloc_size_in_use, r_alloc_freeze, r_alloc_thaw): Remove; unused.
 +      (r_alloc_sbrk): Now static.
 +
 +      Improve ralloc.c interface checking.
 +      See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html
 +      * buffer.c (ralloc_reset_variable, r_alloc, r_re_alloc)
 +      (r_alloc_free) [REL_ALLOC]: Move decls from here ...
 +      * lisp.h (r_alloc, r_alloc_free, r_re_alloc, r_alloc_reset_variable)
 +      [REL_ALLOC]: ... to here, to check interface.
 +      * m/ia64.h (r_alloc, r_alloc_free) [REL_ALLOC && !_MALLOC_INTERNAL]:
 +      Remove decls.  This fixes an "It stinks!".
 +
 +      * alloc.c (which_symbols): Fix alignment issue / type clash.
 +
 +2012-04-15  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * lisp.h (struct Lisp_Symbol): Remove explicit padding.
 +      (struct Lisp_Misc_Any): Likewise.
 +      (struct Lisp_Free): Likewise.
 +      * alloc.c (union aligned_Lisp_Symbol): Define.
 +      (SYMBOL_BLOCK_SIZE, struct symbol_block): Use union
 +      aligned_Lisp_Symbol instead of struct Lisp_Symbol.
 +      (union aligned_Lisp_Misc): Define.
 +      (MARKER_BLOCK_SIZE, struct marker_block): Use union
 +      aligned_Lisp_Misc instead of union Lisp_Misc.
 +      (Fmake_symbol, allocate_misc, gc_sweep): Adjust.
 +
 +2012-04-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Make GC_MAKE_GCPROS_NOOPS the default (Bug#9926).
 +      * lisp.h (GC_MARK_STACK): Default to GC_MAKE_GCPROS_NOOPS.
 +      * s/cygwin.h, s/darwin.h, s/freebsd.h, s/gnu.h, s/irix6-5.h, s/msdos.h:
 +      * s/netbsd.h, s/sol2-6.h:
 +      Remove definition of GC_MARK_STACK, since the default now works.
 +      * s/aix4-2.h, s/hpux10-20.h, s/unixware.h:
 +      Define GC_MARK_STACK to GC_USE_GCPROS_AS_BEFORE, since that's
 +      no longer the default.
 +      * s/gnu-linux.h (GC_MARK_STACK): Adjust to change in default.
 +
 +2012-04-14  Atsuo Ohki  <ohki@gssm.otsuka.tsukuba.ac.jp>  (tiny change)
 +
 +      * lread.c (lisp_file_lexically_bound_p):
 +      Fix hang at ";-*-\n" (bug#11238).
 +
 +2012-04-14  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (find_last_unchanged_at_beg_row): Don't consider a row
 +      "unchanged" if its end.pos is beyond ZV.  (Bug#11199)
 +
 +2012-04-14  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (constrainFrameRect): Always constrain when there is only
 +      one screen (Bug#10962).
 +
 +2012-04-13  Ken Brown  <kbrown@cornell.edu>
 +
 +      * s/cygwin.h (PTY_OPEN): Don't try to close a bogus file descriptor.
 +
 +2012-04-13  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * indent.c (Fmove_to_column): Change interactive spec (Bug#739).
 +
 +2012-04-11  Daniel Colascione  <dancol@dancol.org>
 +
 +      * s/cygwin.h: The vfork the #define in cygwin.h was protecting
 +      against is gone.  It's better to use vfork now so that when Cygwin
 +      gains a new, working vfork, we use it automatically (bug#10398).
 +
 +2012-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * window.c (save_window_save): Obey window-point-insertion-type.
 +
 +2012-04-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM.
 +
 +2012-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * alloc.c (lisp_align_malloc): Remove unneeded prototype.
 +
 +2012-04-10  Jason S. Cornez  <jcornez@ravenpack.com>  (tiny change)
 +
 +      * keyboard.c: Override inhibit-quit after the third C-g (bug#6585).
 +      (force_quit_count): New var.
 +      (handle_interrupt): Use it.
 +
 +2012-04-10  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * w32.c (w32_delayed_load): Record the full path of the library
 +      being loaded (bug#10424).
 +
 +2012-04-09  Glenn Morris  <rgm@gnu.org>
 +
 +      * doc.c (Fsnarf_documentation): Check variables, functions are bound,
 +      not just in the obarray, before snarfing them.  (Bug#11036)
 +
 +      * Makefile.in ($(leimdir)/leim-list.el):
 +      Pass EMACS rather than BUILT_EMACS.
 +
 +2012-04-09  Teodor Zlatanov  <tzz@lifelogs.com>
  
        * process.c (make_process):
        * process.h: Add integer `gnutls_handshakes_tried' member to
        `GNUTLS_EMACS_HANDSHAKES_LIMIT' to limit the number of handshake
        attempts per process (connection).
  
 +2012-04-09  Chong Yidong  <cyd@gnu.org>
 +
 +      * eval.c (Fuser_variable_p, user_variable_p_eh)
 +      (lisp_indirect_variable): Functions deleted.
 +      (Fdefvar): Caller changed.
 +
 +      * callint.c (Finteractive, Fcall_interactively):
 +      * minibuf.c (Fread_variable): Callers changed.
 +
  2012-04-09  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xdisp.c (find_last_unchanged_at_beg_row): Don't consider a row
 -      "unchanged" if its end.pos is beyond ZV.  (Bug#11199)
 +      * xdisp.c (set_cursor_from_row): If the display string appears in
 +      the buffer at position that is closer to point than the position
 +      after the display string, display the cursor on the first glyph of
 +      the display string.  Fixes cursor display when a 'display' text
 +      property immediately follows invisible text.  (Bug#11094)
  
 -2012-04-09  Jan Djärv  <jan.h.d@swipnet.se>
 +2012-04-09  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * nsterm.m (constrainFrameRect): Always constrain when there is only
 -      one screen (Bug#10962).
 +      composite.c: use 'double' consistently
 +      * composite.c (get_composition_id): Use 'double' consistently
 +      instead of converting 'float' to 'double' and vice versa; this is
 +      easier to understand and avoids a GCC warning.
 +
 +2012-04-09  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in: Generate leim-list with bootstrap-emacs, in
 +      preparation for dumping it with emacs.  (Bug#4789)
 +      (leimdir): New variable.
 +      ($(leimdir)/leim-list.el): New rule.
 +      (emacs$(EXEEXT)): Depend on leim-list.el.
 +
 +      * buffer.c (Qucs_set_table_for_input): Remove.  (Bug#9821)
 +      (Fget_buffer_create): Don't call Qucs_set_table_for_input.
 +      (init_buffer_once, syms_of_buffer): Remove Qucs_set_table_for_input.
 +
 +2012-04-08  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * lisp.h (struct Lisp_Symbol): Add explicit padding to ensure
 +      proper alignment.
 +
 +2012-04-07  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * xml.c (init_libxml2_functions) [WINDOWSNT]:
 +      Remove unused local variable.
 +
 +2012-04-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Avoid unnecessary pointer scanning in garbage collection (Bug#10780).
 +      * alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): New macro.
 +      (mark_memory): Mark Lisp_Objects only if pointers might hide in
 +      objects, as mark_maybe_pointer will catch them otherwise.
 +      (GC_LISP_OBJECT_ALIGNMENT): Remove; no longer needed.
 +      * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT) [__mc68000__]: Likewise.
 +
 +2012-04-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix typo that broke non-Windows builds.
 +      * xml.c (libxml2_loaded_p) [!!WINDOWSNT]: 'inine' -> 'inline'.
 +
 +2012-04-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Support building on MS-Windows with libxml2.
 +
 +      * makefile.w32-in (OBJ2): Add xml.$(O).
 +      (GLOBAL_SOURCES): Add xml.c.
 +      ($(BLD)/xml.$(O)): New dependency list.
 +
 +      * xml.c (DEF_XML2_FN, LOAD_XML2_FN) [WINDOWSNT]: New macros.
 +      (fn_htmlReadMemory, fn_xmlReadMemory, fn_xmlDocGetRootElement)
 +      (fn_xmlFreeDoc, fn_xmlCleanupParser, fn_xmlCheckVersion)
 +      [!WINDOWSNT]: New macros.
 +      (init_libxml2_functions, libxml2_loaded_p): New functions.
 +      (parse_region): Call fn_xmlCheckVersion instead of using the macro
 +      LIBXML_TEST_VERSION.  Call libxml2 functions via the fn_* macros.
 +      (xml_cleanup_parser): New function, export for fn_xmlCleanupParser.
 +      Calls xmlCleanupParser only if libxml2 was loaded (or statically
 +      linked in).
 +      (Flibxml_parse_html_region, Flibxml_parse_xml_region):
 +      Call init_libxml2_functions before calling libxml2 functions.
 +      (syms_of_xml) <Qlibxml2_dll>: DEFSYM it.
 +
 +      * emacs.c: Don't include libxml/parser.h.
 +      (shut_down_emacs): Call xml_cleanup_parser, instead of calling
 +      xmlCleanupParser directly.
 +
 +      * lisp.h [HAVE_LIBXML2]: Add prototype for xml_cleanup_parser.
 +
 +2012-04-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * indent.c (Fvertical_motion): If there is a display string at
 +      point, use it.vpos to compute how many lines to backtrack after
 +      move_it_to point.  (Bug#11133)
  
  2012-04-06  Eli Zaretskii  <eliz@gnu.org>
  
        * xfns.c (unwind_create_frame): Fix comment.
        (Fx_create_frame, x_create_tip_frame):
        Move terminal->reference_count++ just before making the frame
 -      official. Move initialization of image_cache_refcount and
 +      official.  Move initialization of image_cache_refcount and
        dpyinfo_refcount before calling init_frame_faces (Bug#9943).
  
  2011-11-05  Eli Zaretskii  <eliz@gnu.org>
        * xfaces.c <Qunspecified>: Make extern again.
  
        * syntax.c: Include sys/types.h before including regex.h, as
 -      required by Posix.
 +      required by POSIX.
  
        * doc.c (get_doc_string): Improve the format passed to `error'.
  
@@@ -10066,7 -9684,7 +10093,7 @@@ See ChangeLog.11 for earlier changes
  ;; coding: utf-8
  ;; End:
  
 -  Copyright (C) 2011-2012  Free Software Foundation, Inc.
 +  Copyright (C) 2011-2012 Free Software Foundation, Inc.
  
    This file is part of GNU Emacs.
  
diff --combined src/fileio.c
index 3a74672b9a64251796ca6b6ce022f076eace6ebd,0d1a87b65b7ddf4def723d18241809435be0ca29..69b2c9cb0f21e69d9e8ef598663062fff63c63c0
@@@ -1,6 -1,6 +1,6 @@@
  /* File IO for GNU Emacs.
  
- Copyright (C) 1985-1988, 1993-2012  Free Software Foundation, Inc.
+ Copyright (C) 1985-1988, 1993-2012 Free Software Foundation, Inc.
  
  This file is part of GNU Emacs.
  
@@@ -2044,9 -2044,10 +2044,10 @@@ on the system, we copy the SELinux cont
  #if HAVE_LIBSELINUX
    if (conlength > 0)
      {
-       /* Set the modified context back to the file. */
+       /* Set the modified context back to the file.  */
        fail = fsetfilecon (ofd, con);
-       if (fail)
+       /* See http://debbugs.gnu.org/11245 for ENOTSUP.  */
+       if (fail && errno != ENOTSUP)
        report_file_error ("Doing fsetfilecon", Fcons (newname, Qnil));
  
        freecon (con);
@@@ -2917,10 -2918,11 +2918,11 @@@ compiled with SELinux support.  */
                error ("Doing context_range_set");
            }
  
-         /* Set the modified context back to the file. */
+         /* Set the modified context back to the file.  */
          fail = lsetfilecon (SSDATA (encoded_absname),
                              context_str (parsed_con));
-         if (fail)
+           /* See http://debbugs.gnu.org/11245 for ENOTSUP.  */
+         if (fail && errno != ENOTSUP)
            report_file_error ("Doing lsetfilecon", Fcons (absname, Qnil));
  
          context_free (parsed_con);
@@@ -5611,7 -5613,7 +5613,7 @@@ syms_of_fileio (void
    DEFSYM (Qexcl, "excl");
  
    DEFVAR_LISP ("file-name-coding-system", Vfile_name_coding_system,
 -             doc: /* *Coding system for encoding file names.
 +             doc: /* Coding system for encoding file names.
  If it is nil, `default-file-name-coding-system' (which see) is used.  */);
    Vfile_name_coding_system = Qnil;
  
@@@ -5765,7 -5767,7 +5767,7 @@@ file is usually more useful if it conta
  
  #ifdef HAVE_FSYNC
    DEFVAR_BOOL ("write-region-inhibit-fsync", write_region_inhibit_fsync,
 -             doc: /* *Non-nil means don't call fsync in `write-region'.
 +             doc: /* Non-nil means don't call fsync in `write-region'.
  This variable affects calls to `write-region' as well as save commands.
  A non-nil value may result in data loss!  */);
    write_region_inhibit_fsync = 0;
diff --combined src/window.c
index 1f27cba444b0fad2e64f27aa85d943fd3e37a332,f93f58f9b72dd99fe6415ed667a217a491de0c41..048779d683087a112fc595419108c3388b54f7e6
@@@ -4221,6 -4221,11 +4221,11 @@@ window_scroll_pixel_based (Lisp_Object 
    void *itdata = NULL;
  
    SET_TEXT_POS_FROM_MARKER (start, w->start);
+   /* Scrolling a minibuffer window via scroll bar when the echo area
+      shows long text sometimes resets the minibuffer contents behind
+      our backs.  */
+   if (CHARPOS (start) > ZV)
+     SET_TEXT_POS (start, BEGV, BEGV_BYTE);
  
    /* If PT is not visible in WINDOW, move back one half of
       the screen.  Allow PT to be partially visible, otherwise
@@@ -5945,8 -5950,6 +5950,8 @@@ save_window_save (Lisp_Object window, s
            }
          else
            p->pointm = Fcopy_marker (w->pointm, Qnil);
 +        XMARKER (p->pointm)->insertion_type
 +          = !NILP (Vwindow_point_insertion_type);
  
          p->start = Fcopy_marker (w->start, Qnil);
          p->start_at_line_beg = w->start_at_line_beg;
diff --combined src/xdisp.c
index f2700bd6d2592adcc2a06b5a420883ec71c9a9d2,e53d3a57cd6cd2af6bc5b6b522c8dc068c7a8fbb..307331627f579d54ea1bad924b1248535ed3784c
@@@ -383,21 -383,11 +383,21 @@@ static Lisp_Object Qline_height
  #define IT_OVERFLOW_NEWLINE_INTO_FRINGE(it) 0
  #endif /* HAVE_WINDOW_SYSTEM */
  
 -/* Test if the display element loaded in IT is a space or tab
 -   character.  This is used to determine word wrapping.  */
 -
 -#define IT_DISPLAYING_WHITESPACE(it)                          \
 -  (it->what == IT_CHARACTER && (it->c == ' ' || it->c == '\t'))
 +/* Test if the display element loaded in IT, or the underlying buffer
 +   or string character, is a space or a TAB character.  This is used
 +   to determine where word wrapping can occur.  */
 +
 +#define IT_DISPLAYING_WHITESPACE(it)                                  \
 +  ((it->what == IT_CHARACTER && (it->c == ' ' || it->c == '\t'))      \
 +   || ((STRINGP (it->string)                                          \
 +      && (SREF (it->string, IT_STRING_BYTEPOS (*it)) == ' '           \
 +          || SREF (it->string, IT_STRING_BYTEPOS (*it)) == '\t'))     \
 +       || (it->s                                                      \
 +         && (it->s[IT_BYTEPOS (*it)] == ' '                           \
 +             || it->s[IT_BYTEPOS (*it)] == '\t'))                     \
 +       || (IT_BYTEPOS (*it) < ZV_BYTE                                 \
 +         && (*BYTE_POS_ADDR (IT_BYTEPOS (*it)) == ' '                 \
 +             || *BYTE_POS_ADDR (IT_BYTEPOS (*it)) == '\t'))))         \
  
  /* Name of the face used to highlight trailing whitespace.  */
  
@@@ -1275,6 -1265,11 +1275,11 @@@ pos_visible_p (struct window *w, EMACS_
      }
  
    SET_TEXT_POS_FROM_MARKER (top, w->start);
+   /* Scrolling a minibuffer window via scroll bar when the echo area
+      shows long text sometimes resets the minibuffer contents behind
+      our backs.  */
+   if (CHARPOS (top) > ZV)
+     SET_TEXT_POS (top, BEGV, BEGV_BYTE);
  
    /* Compute exact mode line heights.  */
    if (WINDOW_WANTS_MODELINE_P (w))
@@@ -14059,18 -14054,15 +14064,18 @@@ set_cursor_from_row (struct window *w, 
                      || pos <= tem)
                    {
                      /* If the string from which this glyph came is
 -                       found in the buffer at point, then we've
 -                       found the glyph we've been looking for.  If
 -                       it comes from an overlay (tem == 0), and it
 -                       has the `cursor' property on one of its
 +                       found in the buffer at point, or at position
 +                       that is closer to point than pos_after, then
 +                       we've found the glyph we've been looking for.
 +                       If it comes from an overlay (tem == 0), and
 +                       it has the `cursor' property on one of its
                         glyphs, record that glyph as a candidate for
                         displaying the cursor.  (As in the
                         unidirectional version, we will display the
                         cursor on the last candidate we find.)  */
 -                    if (tem == 0 || tem == pt_old)
 +                    if (tem == 0
 +                        || tem == pt_old
 +                        || (tem - pt_old > 0 && tem < pos_after))
                        {
                          /* The glyphs from this string could have
                             been reordered.  Find the one with the
                                }
                            }
  
 -                        if (tem == pt_old)
 +                        if (tem == pt_old
 +                            || (tem - pt_old > 0 && tem < pos_after))
                            goto compute_x;
                        }
                      if (tem)
@@@ -28315,14 -28306,14 +28320,14 @@@ syms_of_xdisp (void
  
  #ifdef HAVE_WINDOW_SYSTEM
    DEFVAR_BOOL ("x-stretch-cursor", x_stretch_cursor_p,
 -    doc: /* *Non-nil means draw block cursor as wide as the glyph under it.
 +    doc: /* Non-nil means draw block cursor as wide as the glyph under it.
  For example, if a block cursor is over a tab, it will be drawn as
  wide as that tab on the display.  */);
    x_stretch_cursor_p = 0;
  #endif
  
    DEFVAR_LISP ("show-trailing-whitespace", Vshow_trailing_whitespace,
 -    doc: /* *Non-nil means highlight trailing whitespace.
 +    doc: /* Non-nil means highlight trailing whitespace.
  The face used for trailing whitespace is `trailing-whitespace'.  */);
    Vshow_trailing_whitespace = Qnil;
  
@@@ -28342,7 -28333,7 +28347,7 @@@ A value of nil means no special handlin
    Vnobreak_char_display = Qt;
  
    DEFVAR_LISP ("void-text-area-pointer", Vvoid_text_area_pointer,
 -    doc: /* *The pointer shape to show in void text areas.
 +    doc: /* The pointer shape to show in void text areas.
  A value of nil means to show the text pointer.  Other options are `arrow',
  `text', `hand', `vdrag', `hdrag', `modeline', and `hourglass'.  */);
    Vvoid_text_area_pointer = Qarrow;
@@@ -28375,14 -28366,14 +28380,14 @@@ where to display overlay arrows.  */)
      = Fcons (intern_c_string ("overlay-arrow-position"), Qnil);
  
    DEFVAR_INT ("scroll-step", emacs_scroll_step,
 -    doc: /* *The number of lines to try scrolling a window by when point moves out.
 +    doc: /* The number of lines to try scrolling a window by when point moves out.
  If that fails to bring point back on frame, point is centered instead.
  If this is zero, point is always centered after it moves off frame.
  If you want scrolling to always be a line at a time, you should set
  `scroll-conservatively' to a large value rather than set this to 1.  */);
  
    DEFVAR_INT ("scroll-conservatively", scroll_conservatively,
 -    doc: /* *Scroll up to this many lines, to bring point back on screen.
 +    doc: /* Scroll up to this many lines, to bring point back on screen.
  If point moves off-screen, redisplay will scroll by up to
  `scroll-conservatively' lines in order to bring point just barely
  onto the screen again.  If that cannot be done, then redisplay
@@@ -28396,7 -28387,7 +28401,7 @@@ A value of zero means always recenter p
    scroll_conservatively = 0;
  
    DEFVAR_INT ("scroll-margin", scroll_margin,
 -    doc: /* *Number of lines of margin at the top and bottom of a window.
 +    doc: /* Number of lines of margin at the top and bottom of a window.
  Recenter the window whenever point gets within this many lines
  of the top or bottom of the window.  */);
    scroll_margin = 0;
@@@ -28432,20 -28423,20 +28437,20 @@@ Any other value means to use the approp
    mode_line_inverse_video = 1;
  
    DEFVAR_LISP ("line-number-display-limit", Vline_number_display_limit,
 -    doc: /* *Maximum buffer size for which line number should be displayed.
 +    doc: /* Maximum buffer size for which line number should be displayed.
  If the buffer is bigger than this, the line number does not appear
  in the mode line.  A value of nil means no limit.  */);
    Vline_number_display_limit = Qnil;
  
    DEFVAR_INT ("line-number-display-limit-width",
              line_number_display_limit_width,
 -    doc: /* *Maximum line width (in characters) for line number display.
 +    doc: /* Maximum line width (in characters) for line number display.
  If the average length of the lines near point is bigger than this, then the
  line number may be omitted from the mode line.  */);
    line_number_display_limit_width = 200;
  
    DEFVAR_BOOL ("highlight-nonselected-windows", highlight_nonselected_windows,
 -    doc: /* *Non-nil means highlight region even in nonselected windows.  */);
 +    doc: /* Non-nil means highlight region even in nonselected windows.  */);
    highlight_nonselected_windows = 0;
  
    DEFVAR_BOOL ("multiple-frames", multiple_frames,
@@@ -28517,7 -28508,7 +28522,7 @@@ See `set-window-redisplay-end-trigger'
    Vredisplay_end_trigger_functions = Qnil;
  
    DEFVAR_LISP ("mouse-autoselect-window", Vmouse_autoselect_window,
 -     doc: /* *Non-nil means autoselect window with mouse pointer.
 +     doc: /* Non-nil means autoselect window with mouse pointer.
  If nil, do not autoselect windows.
  A positive number means delay autoselection by that many seconds: a
  window is autoselected only after the mouse has remained in that
@@@ -28537,7 -28528,7 +28542,7 @@@ When customizing this variable make sur
    Vmouse_autoselect_window = Qnil;
  
    DEFVAR_LISP ("auto-resize-tool-bars", Vauto_resize_tool_bars,
 -    doc: /* *Non-nil means automatically resize tool-bars.
 +    doc: /* Non-nil means automatically resize tool-bars.
  This dynamically changes the tool-bar's height to the minimum height
  that is needed to make all tool-bar items visible.
  If value is `grow-only', the tool-bar's height is only increased
@@@ -28545,15 -28536,15 +28550,15 @@@ automatically; to decrease the tool-ba
    Vauto_resize_tool_bars = Qt;
  
    DEFVAR_BOOL ("auto-raise-tool-bar-buttons", auto_raise_tool_bar_buttons_p,
 -    doc: /* *Non-nil means raise tool-bar buttons when the mouse moves over them.  */);
 +    doc: /* Non-nil means raise tool-bar buttons when the mouse moves over them.  */);
    auto_raise_tool_bar_buttons_p = 1;
  
    DEFVAR_BOOL ("make-cursor-line-fully-visible", make_cursor_line_fully_visible_p,
 -    doc: /* *Non-nil means to scroll (recenter) cursor line if it is not fully visible.  */);
 +    doc: /* Non-nil means to scroll (recenter) cursor line if it is not fully visible.  */);
    make_cursor_line_fully_visible_p = 1;
  
    DEFVAR_LISP ("tool-bar-border", Vtool_bar_border,
 -    doc: /* *Border below tool-bar in pixels.
 +    doc: /* Border below tool-bar in pixels.
  If an integer, use it as the height of the border.
  If it is one of `internal-border-width' or `border-width', use the
  value of the corresponding frame parameter.
@@@ -28561,7 -28552,7 +28566,7 @@@ Otherwise, no border is added below th
    Vtool_bar_border = Qinternal_border_width;
  
    DEFVAR_LISP ("tool-bar-button-margin", Vtool_bar_button_margin,
 -    doc: /* *Margin around tool-bar buttons in pixels.
 +    doc: /* Margin around tool-bar buttons in pixels.
  If an integer, use that for both horizontal and vertical margins.
  Otherwise, value should be a pair of integers `(HORZ . VERT)' with
  HORZ specifying the horizontal margin, and VERT specifying the
@@@ -28569,7 -28560,7 +28574,7 @@@ vertical margin.  */)
    Vtool_bar_button_margin = make_number (DEFAULT_TOOL_BAR_BUTTON_MARGIN);
  
    DEFVAR_INT ("tool-bar-button-relief", tool_bar_button_relief,
 -    doc: /* *Relief thickness of tool-bar buttons.  */);
 +    doc: /* Relief thickness of tool-bar buttons.  */);
    tool_bar_button_relief = DEFAULT_TOOL_BAR_BUTTON_RELIEF;
  
    DEFVAR_LISP ("tool-bar-style", Vtool_bar_style,
@@@ -28584,7 -28575,7 +28589,7 @@@ It can be one o
    Vtool_bar_style = Qnil;
  
    DEFVAR_INT ("tool-bar-max-label-size", tool_bar_max_label_size,
 -    doc: /* *Maximum number of characters a label can have to be shown.
 +    doc: /* Maximum number of characters a label can have to be shown.
  The tool bar style must also show labels for this to have any effect, see
  `tool-bar-style'.  */);
    tool_bar_max_label_size = DEFAULT_TOOL_BAR_LABEL_SIZE;
@@@ -28599,7 -28590,7 +28604,7 @@@ fontified regions the property `fontifi
  
    DEFVAR_BOOL ("unibyte-display-via-language-environment",
                 unibyte_display_via_language_environment,
 -    doc: /* *Non-nil means display unibyte text according to language environment.
 +    doc: /* Non-nil means display unibyte text according to language environment.
  Specifically, this means that raw bytes in the range 160-255 decimal
  are displayed by converting them to the equivalent multibyte characters
  according to the current language environment.  As a result, they are
@@@ -28610,7 -28601,7 +28615,7 @@@ but does not change the fact they are i
    unibyte_display_via_language_environment = 0;
  
    DEFVAR_LISP ("max-mini-window-height", Vmax_mini_window_height,
 -    doc: /* *Maximum height for resizing mini-windows (the minibuffer and the echo area).
 +    doc: /* Maximum height for resizing mini-windows (the minibuffer and the echo area).
  If a float, it specifies a fraction of the mini-window frame's height.
  If an integer, it specifies a number of lines.  */);
    Vmax_mini_window_height = make_float (0.25);
@@@ -28644,12 -28635,12 +28649,12 @@@ point visible.  */)
    DEFSYM (Qauto_hscroll_mode, "auto-hscroll-mode");
  
    DEFVAR_INT ("hscroll-margin", hscroll_margin,
 -    doc: /* *How many columns away from the window edge point is allowed to get
 +    doc: /* How many columns away from the window edge point is allowed to get
  before automatic hscrolling will horizontally scroll the window.  */);
    hscroll_margin = 5;
  
    DEFVAR_LISP ("hscroll-step", Vhscroll_step,
 -    doc: /* *How many columns to scroll the window when point gets too close to the edge.
 +    doc: /* How many columns to scroll the window when point gets too close to the edge.
  When point is less than `hscroll-margin' columns from the window
  edge, automatic hscrolling will scroll the window by the amount of columns
  determined by this variable.  If its value is a positive integer, scroll that
@@@ -28736,7 -28727,7 +28741,7 @@@ To add a prefix to continuation lines, 
  #endif /* GLYPH_DEBUG */
  
    DEFVAR_INT ("overline-margin", overline_margin,
 -             doc: /* *Space between overline and text, in pixels.
 +             doc: /* Space between overline and text, in pixels.
  The default value is 2: the height of the overline (1 pixel) plus 1 pixel
  margin to the character height.  */);
    overline_margin = 2;
@@@ -28757,7 -28748,7 +28762,7 @@@ cursor shapes.  */)
    display_hourglass_p = 1;
  
    DEFVAR_LISP ("hourglass-delay", Vhourglass_delay,
 -             doc: /* *Seconds to wait before displaying an hourglass pointer when Emacs is busy.  */);
 +             doc: /* Seconds to wait before displaying an hourglass pointer when Emacs is busy.  */);
    Vhourglass_delay = make_number (DEFAULT_HOURGLASS_DELAY);
  
    hourglass_atimer = NULL;