Merge from emacs-24, up to 2012-04-10T02:06:19Z!larsi@gnus.org
authorGlenn Morris <rgm@gnu.org>
Sat, 14 Apr 2012 01:46:06 +0000 (18:46 -0700)
committerGlenn Morris <rgm@gnu.org>
Sat, 14 Apr 2012 01:46:06 +0000 (18:46 -0700)
25 files changed:
1  2 
doc/emacs/ChangeLog
doc/lispintro/ChangeLog
doc/lispref/ChangeLog
doc/lispref/customize.texi
doc/lispref/help.texi
doc/lispref/minibuf.texi
doc/lispref/processes.texi
doc/misc/ChangeLog
lib-src/ChangeLog
lisp/ChangeLog
lisp/custom.el
lisp/emulation/cua-base.el
lisp/files.el
lisp/gnus/ChangeLog
lisp/minibuffer.el
lisp/net/rcirc.el
lisp/org/ChangeLog
lisp/simple.el
lisp/startup.el
lisp/textmodes/ispell.el
nt/ChangeLog
nt/makefile.w32-in
src/ChangeLog
src/lread.c
src/xdisp.c

diff --combined doc/emacs/ChangeLog
@@@ -1,10 -1,52 +1,54 @@@
 -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.
+       (Coding Systems): Mac OS X apparently uses newlines for EOL.
+       (Recognize Coding): Remove old auto-coding-regexp-alist example.
+       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.
+       (Disabling Multibyte): Rename from "Enabling Multibyte".
+       Clarify what "unibyte: t" does, and mode-line description.
+       (Unibyte Mode): Update for "Disabling Multibyte" node name change.
+       Use Texinfo recommended convention for quotes+punctuation.
+       (Language Environments): Copyedits.
+       (Input Methods): Copyedits.  Use "^" for the postfix example,
+       because it is less confusing inside Info's `quotes'.
+       * custom.texi (Specifying File Variables):  Fix "unibyte" description.
+       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:
+       * misc.texi, package.texi, programs.texi, screen.texi, search.texi:
+       * sending.texi, text.texi, trouble.texi:
+       Use @file for buffers, per the Texinfo manual.
+       * 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/lispintro/ChangeLog
@@@ -1,3 -1,7 +1,7 @@@
 -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-02-28  Glenn Morris  <rgm@gnu.org>
  
        * emacs-lisp-intro.texi: Standardize possessive apostrophe usage.
diff --combined doc/lispref/ChangeLog
@@@ -1,16 -1,48 +1,53 @@@
 -2012-04-13  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.
+       * display.texi (Defining Faces): Reference custom-set-faces.
+       * 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".
+       * buffers.texi, compile.texi, customize.texi, debugging.texi:
+       * display.texi, edebug.texi, eval.texi, help.texi, intro.texi:
+       * keymaps.texi, minibuf.texi, modes.texi, os.texi, processes.texi:
+       * text.texi: Use @file for buffers, per the Texinfo manual.
+       * 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.
@@@ -4,20 -4,25 +4,25 @@@
  @c See the file elisp.texi for copying conditions.
  @setfilename ../../info/customize
  @node Customization, Loading, Macros, Top
- @chapter Writing Customization Definitions
+ @chapter Customization Settings
  
- @cindex customization definitions
-   This chapter describes how to declare user options for customization,
- and also customization groups for classifying them.  We use the term
- @dfn{customization item} to include both kinds of customization
- definitions---as well as face definitions (@pxref{Defining Faces}).
+ @cindex customization item
+   This chapter describes how to declare customizable variables and
+ customization groups for classifying them.  We use the term
+ @dfn{customization item} to include customizable variables,
+ customization groups, as well as faces.
+   @xref{Defining Faces}, for the @code{defface} macro, which is used
+ for declaring customizable faces.
  
  @menu
- * Common Keywords::      Common keyword arguments for all kinds of
-                            customization declarations.
- * Group Definitions::    Writing customization group definitions.
- * Variable Definitions:: Declaring user options.
- * Customization Types::  Specifying the type of a user option.
+ * Common Keywords::         Common keyword arguments for all kinds of
+                              customization declarations.
+ * Group Definitions::       Writing customization group definitions.
+ * Variable Definitions::    Declaring user options.
+ * Customization Types::     Specifying the type of a user option.
+ * Applying Customizations:: Functions to apply customization settings.
+ * Custom Themes::           Writing Custom themes.
  @end menu
  
  @node Common Keywords
@@@ -306,7 -311,7 +311,7 @@@ individual types for a description of h
  @item :set @var{setfunction}
  @kindex set@r{, @code{defcustom} keyword}
  Specify @var{setfunction} as the way to change the value of this
- option when using the Customize user interface.  The function
+ option when using the Customize interface.  The function
  @var{setfunction} should take two arguments, a symbol (the option
  name) and the new value, and should do whatever is necessary to update
  the value properly for this option (which may not mean simply setting
@@@ -462,6 -467,14 +467,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
  
@@@ -588,7 -601,7 +593,7 @@@ The value must be a coding-system name
  @item color
  The value must be a valid color name.  The widget provides completion
  for color names, as well as a sample and a button for selecting a
- color name from a list of color names shown in a @samp{*Colors*}
+ color name from a list of color names shown in a @file{*Colors*}
  buffer.
  @end table
  
@@@ -1242,3 -1255,168 +1247,168 @@@ the inferior widgets will convert @emph
  the data structure is itself recursive, this conversion is an infinite
  recursion.  The @code{lazy} widget prevents the recursion: it convert
  its @code{:type} argument only when needed.
+ @node Applying Customizations
+ @section Applying Customizations
+ The following functions are responsible for installing the user's
+ customization settings for variables and faces, respectively.  When
+ the user invokes @samp{Save for future sessions} in the Customize
+ interface, that takes effect by writing a @code{custom-set-variables}
+ and/or a @code{custom-set-faces} form into the custom file, to be
+ evaluated the next time Emacs starts up.
+ @defun custom-set-variables &rest args
+ This function installs the variable customizations specified by
+ @var{args}.  Each argument in @var{args} should have the form
+ @example
+ (@var{var} @var{expression} [@var{now} [@var{request} [@var{comment}]]])
+ @end example
+ @noindent
+ @var{var} is a variable name (a symbol), and @var{expression} is an
+ expression which evaluates to the desired customized value.
+ If the @code{defcustom} form for @var{var} has been evaluated prior to
+ this @code{custom-set-variables} call, @var{expression} is immediately
+ evaluated, and the variable's value is set to the result.  Otherwise,
+ @var{expression} is stored into the variable's @code{saved-value}
+ property, to be evaluated when the relevant @code{defcustom} is called
+ (usually when the library defining that variable is loaded into
+ Emacs).
+ The @var{now}, @var{request}, and @var{comment} entries are for
+ internal use only, and may be omitted.  @var{now}, if non-@code{nil},
+ means to set the variable's value now, even if the variable's
+ @code{defcustom} form has not been evaluated.  @var{request} is a list
+ of features to be loaded immediately (@pxref{Named Features}).
+ @var{comment} is a string describing the customization.
+ @end defun
+ @defun custom-set-faces &rest args
+ This function installs the face customizations specified by
+ @var{args}.  Each argument in @var{args} should have the form
+ @example
+ (@var{face} @var{spec} [@var{now} [@var{comment}]])
+ @end example
+ @noindent
+ @var{face} is a face name (a symbol), and @var{spec} is the customized
+ face specification for that face (@pxref{Defining Faces}).
+ The @var{now} and @var{comment} entries are for internal use only, and
+ may be omitted.  @var{now}, if non-@code{nil}, means to install the
+ face specification now, even if the @code{defface} form has not been
+ evaluated.  @var{comment} is a string describing the customization.
+ @end defun
+ @node Custom Themes
+ @section Custom Themes
+   @dfn{Custom themes} are collections of settings that can be enabled
+ or disabled as a unit.  @xref{Custom Themes,,, emacs, The GNU Emacs
+ Manual}.  Each Custom theme is defined by an Emacs Lisp source file,
+ which should follow the conventions described in this section.
+ (Instead of writing a Custom theme by hand, you can also create one
+ using a Customize-like interface; @pxref{Creating Custom Themes,,,
+ emacs, The GNU Emacs Manual}.)
+   A Custom theme file should be named @file{@var{foo}-theme.el}, where
+ @var{foo} is the theme name.  The first Lisp form in the file should
+ be a call to @code{deftheme}, and the last form should be a call to
+ @code{provide-theme}.
+ @defmac deftheme theme &optional doc
+ This macro declares @var{theme} (a symbol) as the name of a Custom
+ theme.  The optional argument @var{doc} should be a string describing
+ the theme; this is the description shown when the user invokes the
+ @code{describe-theme} command or types @kbd{?} in the @samp{*Custom
+ Themes*} buffer.
+ Two special theme names are disallowed: @code{user} is a ``dummy''
+ theme which stores the user's direct customization settings, and
+ @code{changed} is a ``dummy'' theme which stores changes made outside
+ of the Customize system.  If you specify either of these as the
+ @var{theme} argument, @code{deftheme} signals an error.
+ @end defmac
+ @defmac provide-theme theme
+ This macro declares that the theme named @var{theme} has been fully
+ specified.
+ @end defmac
+   In between @code{deftheme} and @code{provide-theme} are Lisp forms
+ specifying the theme settings: usually a call to
+ @code{custom-theme-set-variables} and/or a call to
+ @code{custom-theme-set-faces}.
+ @defun custom-theme-set-variables theme &rest args
+ This function specifies the Custom theme @var{theme}'s variable
+ settings.  @var{theme} should be a symbol.  Each argument in
+ @var{args} should be a list of the form
+ @example
+ (@var{var} @var{expression} [@var{now} [@var{request} [@var{comment}]]])
+ @end example
+ @noindent
+ where the list entries have the same meanings as in
+ @code{custom-set-variables}.  @xref{Applying Customizations}.
+ @end defun
+ @defun custom-theme-set-faces theme &rest args
+ This function specifies the Custom theme @var{theme}'s face settings.
+ @var{theme} should be a symbol.  Each argument in @var{args} should be
+ a list of the form
+ @example
+ (@var{face} @var{spec} [@var{now} [@var{comment}]])
+ @end example
+ @noindent
+ where the list entries have the same meanings as in
+ @code{custom-set-faces}.  @xref{Applying Customizations}.
+ @end defun
+   In theory, a theme file can also contain other Lisp forms, which
+ would be evaluated when loading the theme, but that is ``bad form''.
+ To protect against loading themes containing malicious code, Emacs
+ displays the source file and asks for confirmation from the user
+ before loading any non-built-in theme for the first time.
+   The following functions are useful for programmatically enabling and
+ disabling Custom themes:
+ @defun custom-theme-p theme
+ This function return a non-@code{nil} value if @var{theme} (a symbol)
+ is the name of a Custom theme (i.e.@: a Custom theme which has been
+ loaded into Emacs, whether or not the theme is enabled).  Otherwise,
+ it returns @code{nil}.
+ @end defun
+ @deffn Command load-theme theme &optional no-confirm no-enable
+ This function loads the Custom theme named @var{theme} from its source
+ file, looking for the source file in the directories specified by the
+ variable @code{custom-theme-load-path}.  @xref{Custom Themes,,, emacs,
+ The GNU Emacs Manual}.  It also @dfn{enables} the theme, causing its
+ variable and face settings to take effect.
+ If the optional argument @var{no-confirm} is non-@code{nil}, this
+ skips prompting the user for confirmation before loading the theme.
+ If the optional argument @var{no-enable} is non-@code{nil}, the theme
+ is loaded but not enabled.
+ @end deffn
+ @deffn Command enable-theme theme
+ This function enables the Custom theme named @var{theme}.  It signals
+ an error if no such theme has been loaded.
+ @end deffn
+ @deffn Command disable-theme theme
+ This function disables the Custom theme named @var{theme}.  The theme
+ remains loaded, so that a subsequent call to @code{enable-theme} will
+ re-enable it.
+ @end deffn
diff --combined doc/lispref/help.texi
@@@ -180,7 -180,7 +180,7 @@@ face
  @c Wordy to prevent overfull hboxes.  --rjc 15mar92
  Here is an example of using the two functions, @code{documentation} and
  @code{documentation-property}, to display the documentation strings for
- several symbols in a @samp{*Help*} buffer.
+ several symbols in a @file{*Help*} buffer.
  
  @anchor{describe-symbols example}
  @smallexample
@@@ -218,7 -218,7 +218,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
@@@ -535,7 -535,7 +535,7 @@@ seems to be as a match.  Each of the re
  documentation string, or @code{nil}, for @var{symbol} as a function,
  variable, etc.
  
- It also displays the symbols in a buffer named @samp{*Apropos*}, each
+ It also displays the symbols in a buffer named @file{*Apropos*}, each
  with a one-line description taken from the beginning of its
  documentation string.
  
@@@ -648,7 -648,7 +648,7 @@@ certain documentation and text files th
  
  @defun help-buffer
  This function returns the name of the help buffer, which is normally
- @samp{*Help*}; if such a buffer does not exist, it is first created.
+ @file{*Help*}; if such a buffer does not exist, it is first created.
  @end defun
  
  @defmac with-help-window buffer-name body@dots{}
@@@ -662,16 -662,16 +662,16 @@@ scroll the help window
  @end defmac
  
  @defun help-setup-xref item interactive-p
- This function updates the cross reference data in the @samp{*Help*}
+ This function updates the cross reference data in the @file{*Help*}
  buffer, which is used to regenerate the help information when the user
  clicks on the @samp{Back} or @samp{Forward} buttons.  Most commands
- that use the @samp{*Help*} buffer should invoke this function before
+ that use the @file{*Help*} buffer should invoke this function before
  clearing the buffer.  The @var{item} argument should have the form
  @code{(@var{function} . @var{args})}, where @var{function} is a function
  to call, with argument list @var{args}, to regenerate the help buffer.
  The @var{interactive-p} argument is non-@code{nil} if the calling
  command was invoked interactively; in that case, the stack of items
- for the @samp{*Help*} buffer's @samp{Back} buttons is cleared.
+ for the @file{*Help*} buffer's @samp{Back} buttons is cleared.
  @end defun
  
  @xref{describe-symbols example}, for an example of using
diff --combined doc/lispref/minibuf.texi
@@@ -1062,7 -1062,7 +1062,7 @@@ using the value of the variable @code{m
  the @var{collection} argument, and the value of
  @code{minibuffer-completion-predicate} as the @var{predicate} argument.
  The list of completions is displayed as text in a buffer named
- @samp{*Completions*}.
+ @file{*Completions*}.
  @end deffn
  
  @defun display-completion-list completions &optional common-substring
@@@ -1313,17 -1313,17 +1313,17 @@@ If the user then types @kbd{fill-p @key
  returns @code{fill-prefix}.
  
  In general, @code{read-variable} is similar to @code{read-command},
 -but uses the predicate @code{user-variable-p} instead of
 +but uses the predicate @code{custom-variable-p} instead of
  @code{commandp}:
  
 -@cindex @code{user-variable-p} example
 +@cindex @code{custom-variable-p} example
  @example
  @group
  (read-variable @var{prompt})
  @equiv{}
  (intern
   (completing-read @var{prompt} obarray
 -                  'user-variable-p t nil))
 +                  'custom-variable-p t nil))
  @end group
  @end example
  @end defun
@@@ -1756,7 -1756,7 +1756,7 @@@ completion behavior is overridden.  @xr
  The value should be a function for @dfn{annotating} completions.  The
  function should take one argument, @var{string}, which is a possible
  completion.  It should return a string, which is displayed after the
- completion @var{string} in the @samp{*Completions*} buffer.
+ completion @var{string} in the @file{*Completions*} buffer.
  
  @item display-sort-function
  The value should be a function for sorting completions.  The function
@@@ -77,14 -77,14 +77,14 @@@ sections.  Since the three functions ar
  fashion, their common arguments are described here.
  
  @cindex execute program
- @cindex @code{PATH} environment variable
- @cindex @code{HOME} environment variable
+ @cindex @env{PATH} environment variable
+ @cindex @env{HOME} environment variable
    In all cases, the function's @var{program} argument specifies the
  program to be run.  An error is signaled if the file is not found or
  cannot be executed.  If the file name is relative, the variable
  @code{exec-path} contains a list of directories to search.  Emacs
  initializes @code{exec-path} when it starts up, based on the value of
- the environment variable @code{PATH}.  The standard file name
+ the environment variable @env{PATH}.  The standard file name
  constructs, @samp{~}, @samp{.}, and @samp{..}, are interpreted as
  usual in @code{exec-path}, but environment variable substitutions
  (@samp{$HOME}, etc.) are not recognized; use
@@@ -268,9 -268,6 +268,9 @@@ system, much like text written into a f
  @defun call-process program &optional infile destination display &rest args
  This function calls @var{program} and waits for it to finish.
  
 +The current working directory of the subprocess is
 +@code{default-directory}.
 +
  The standard input for the new process comes from file @var{infile} if
  @var{infile} is not @code{nil}, and from the null device otherwise.
  The argument @var{destination} says where to put the process output.
@@@ -717,7 -714,7 +717,7 @@@ This command displays a listing of all 
  it finally deletes any process whose status was @samp{Exited} or
  @samp{Signaled}.  It returns @code{nil}.
  
- The processes are shown in a buffer named @samp{*Process List*}, whose
+ The processes are shown in a buffer named @file{*Process List*}, whose
  major mode is named Process Menu mode.
  
  If @var{query-only} is non-@code{nil} then it lists only processes
@@@ -1632,35 -1629,17 +1632,17 @@@ This returns the query flag of @var{pro
  This function sets the query flag of @var{process} to @var{flag}.  It
  returns @var{flag}.
  
+ Here is an example of using @code{set-process-query-on-exit-flag} on a
+ shell process to avoid querying:
  @smallexample
  @group
- ;; @r{Don't query about the shell process}
  (set-process-query-on-exit-flag (get-process "shell") nil)
       @result{} t
  @end group
  @end smallexample
  @end defun
  
- @defun process-kill-without-query process &optional do-query
- This function clears the query flag of @var{process}, so that
- Emacs will not query the user on account of that process.
- Actually, the function does more than that: it returns the old value of
- the process's query flag, and sets the query flag to @var{do-query}.
- Please don't use this function to do those things any more---please
- use the newer, cleaner functions @code{process-query-on-exit-flag} and
- @code{set-process-query-on-exit-flag} in all but the simplest cases.
- The only way you should use @code{process-kill-without-query} nowadays
- is like this:
- @smallexample
- @group
- ;; @r{Don't query about the shell process}
- (process-kill-without-query (get-process "shell"))
- @end group
- @end smallexample
- @end defun
  @node System Processes
  @section Accessing Other Processes
  @cindex system processes
diff --combined doc/misc/ChangeLog
@@@ -1,15 -1,38 +1,36 @@@
 -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 lib-src/ChangeLog
@@@ -1,20 -1,8 +1,25 @@@
 -2012-04-12  Juanma Barranquero  <lekktu@gmail.com>
++2012-04-14  Juanma Barranquero  <lekktu@gmail.com>
+       * emacsclient.c (decode_options) [WINDOWSNT]:
+       Call ttyname instead of passing its address (typo in 2011-12-04T17:13:01Z!lekktu@gmail.com).
 +2012-04-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * makefile.w32-in (obj): Add xml.o.
 +
 +2012-04-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * makefile.w32-in (ALL): Now the list of executables, not of phony
 +      targets.
 +      (.PHONY): Only make-docfile is its prerequisite now.
 +      (make-docfile): Don't depend on stamp_BLD.  Add a comment about
 +      the need in this target.
 +      (ctags, etags, ebrowse, hexl, movemail, emacsclient)
 +      (test-distrib): Phony targets removed.
 +      ($(BLD)/test-distrib.exe): Run test-distrib as part of the recipe.
 +      (all): Don't depend on stamp_BLD.
 +      (ALL): Include $(BLD)/test-distrib.exe.
 +
  2012-03-11  Andreas Schwab  <schwab@linux-m68k.org>
  
        * emacsclient.c (main): Handle -print-nonl command.
diff --combined lisp/ChangeLog
 -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
+       counterpart.  (Bug#11209)
+       * 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): New function.
 +      (hexl-line-displen): New function
 +      (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)
 +
 +      * lisp/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'
diff --combined lisp/custom.el
@@@ -599,17 -599,15 +599,17 @@@ If NOSET is non-nil, don't bother autol
    (put symbol 'custom-autoload (if noset 'noset t))
    (custom-add-load symbol load))
  
 -;; This test is also in the C code of `user-variable-p'.
  (defun custom-variable-p (variable)
    "Return non-nil if VARIABLE is a customizable variable.
  A customizable variable is either (i) a variable whose property
  list contains a non-nil `standard-value' or `custom-autoload'
  property, or (ii) an alias for another customizable variable."
 -  (setq variable (indirect-variable variable))
 -  (or (get variable 'standard-value)
 -      (get variable 'custom-autoload)))
 +  (when (symbolp variable)
 +    (setq variable (indirect-variable variable))
 +    (or (get variable 'standard-value)
 +      (get variable 'custom-autoload))))
 +
 +(define-obsolete-function-alias 'user-variable-p 'custom-variable-p "24.2")
  
  (defun custom-note-var-changed (variable)
    "Inform Custom that VARIABLE has been set (changed).
@@@ -936,16 -934,21 +936,21 @@@ Each of the arguments in ARGS should b
  
    (SYMBOL EXP [NOW [REQUEST [COMMENT]]])
  
- This stores EXP (without evaluating it) as the saved value for SYMBOL.
- If NOW is present and non-nil, then also evaluate EXP and set
- the default value for the SYMBOL to the value of EXP.
+ SYMBOL is the variable name, and EXP is an expression which
+ evaluates to the customized value.  EXP will also be stored,
+ without evaluating it, in SYMBOL's `saved-value' property, so
+ that it can be restored via the Customize interface.  It is also
+ added to the alist in SYMBOL's `theme-value' property \(by
+ calling `custom-push-theme').
  
- REQUEST is a list of features we must require in order to
- handle SYMBOL properly.
- COMMENT is a comment string about SYMBOL.
+ NOW, if present and non-nil, means to install the variable's
+ value directly now, even if its `defcustom' declaration has not
+ been executed.  This is for internal use only.
+ REQUEST is a list of features to `require' (which are loaded
+ prior to evaluating EXP).
  
- EXP itself is saved unevaluated as SYMBOL property `saved-value' and
- in SYMBOL's list property `theme-value' \(using `custom-push-theme')."
+ COMMENT is a comment string about SYMBOL."
    (custom-check-theme theme)
  
    ;; Process all the needed autoloads before anything else, so that the
@@@ -1002,15 -1002,21 +1002,21 @@@ behavior, see `cua-paste-pop-rotate-tem
      (setq this-command 'cua-paste-pop))))
  
  (defun cua-exchange-point-and-mark (arg)
-   "Exchanges point and mark, but don't activate the mark.
- Activates the mark if a prefix argument is given."
+   "Exchange point and mark.
+ Don't activate the mark if `cua-enable-cua-keys' is non-nil.
+ Otherwise, just activate the mark if a prefix ARG is given.
+ See also `exchange-point-and-mark'."
    (interactive "P")
-   (if arg
-       (setq mark-active t)
-     (let (mark-active)
-       (exchange-point-and-mark)
-       (if cua--rectangle
-         (cua--rectangle-corner 0)))))
+   (cond ((null cua-enable-cua-keys)
+        (exchange-point-and-mark arg))
+       (arg
+        (setq mark-active t))
+       (t
+        (let (mark-active)
+          (exchange-point-and-mark)
+          (if cua--rectangle
+              (cua--rectangle-corner 0))))))
  
  ;; Typed text that replaced the highlighted region.
  (defvar cua--repeat-replace-text nil)
@@@ -1246,7 -1252,22 +1252,7 @@@ If ARG is the atom `-', scroll upward b
     ;;   (and region not started with C-SPC).
     ;; If rectangle is active, expand rectangle in specified direction and
     ;;   ignore the movement.
 -   ((if window-system
 -        ;; Shortcut for window-system, assuming that input-decode-map is empty.
 -      (memq 'shift (event-modifiers
 -                    (aref (this-single-command-raw-keys) 0)))
 -      (or
 -       ;; Check if the final key-sequence was shifted.
 -       (memq 'shift (event-modifiers
 -                   (aref (this-single-command-keys) 0)))
 -       ;; If not, maybe the raw key-sequence was mapped by input-decode-map
 -       ;; to a shifted key (and then mapped down to its unshifted form).
 -       (let* ((keys (this-single-command-raw-keys))
 -              (ev (lookup-key input-decode-map keys)))
 -         (or (and (vector ev) (memq 'shift (event-modifiers (aref ev 0))))
 -             ;; Or maybe, the raw key-sequence was not an escape sequence
 -             ;; and was shifted (and then mapped down to its unshifted form).
 -             (memq 'shift (event-modifiers (aref keys 0)))))))
 +   (this-command-keys-shift-translated
      (unless mark-active
        (push-mark-command nil t))
      (setq cua--last-region-shifted t)
diff --combined lisp/files.el
@@@ -2205,7 -2205,10 +2205,7 @@@ in that case, this function acts as if 
               (boundp 'font-lock-keywords)
               (eq (car font-lock-keywords) t))
      (setq font-lock-keywords (cadr font-lock-keywords))
 -    (font-lock-mode 1))
 -
 -  (if (fboundp 'ucs-set-table-for-input) ; don't lose when building
 -      (ucs-set-table-for-input)))
 +    (font-lock-mode 1)))
  
  (defcustom auto-mode-case-fold t
    "Non-nil means to try second pass through `auto-mode-alist'.
@@@ -3523,7 -3526,7 +3523,7 @@@ LIST is a list of the form accepted by 
  When a file is visited, the file's class is found.  A directory
  may be assigned a class using `dir-locals-set-directory-class'.
  Then variables are set in the file's buffer according to the
class' LIST.  The list is processed in order.
VARIABLES list of the class.  The list is processed in order.
  
  * If the element is of the form (MAJOR-MODE . ALIST), and the
    buffer's major mode is derived from MAJOR-MODE (as determined
diff --combined lisp/gnus/ChangeLog
@@@ -1,3 -1,21 +1,19 @@@
 -2012-04-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
++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.
+       * gnus-art.el (article-wash-html): Ensure that we insert the HTML into
+       a multibyte buffer (bug#7410).
+       (article-wash-html): Parse the original article buffer to get the
+       unencoded data (bug#7410).
+       * gnus-start.el (gnus-read-newsrc-el-file): Protect against broken
+       .newsrc.el files.
  2012-03-22  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
        * auth-source.el (auth-source-netrc-create): Quote tokens that contain
diff --combined lisp/minibuffer.el
@@@ -1506,7 -1506,7 +1506,7 @@@ exit.
    (let ((map (make-sparse-keymap)))
      ;; FIXME: Only works if completion-in-region-mode was activated via
      ;; completion-at-point called directly.
-     (define-key map "?" 'completion-help-at-point)
+     (define-key map "\M-?" 'completion-help-at-point)
      (define-key map "\t" 'completion-at-point)
      map)
    "Keymap activated during `completion-in-region'.")
@@@ -2045,21 -2045,6 +2045,21 @@@ and `read-file-name-function'.
    (funcall (or read-file-name-function #'read-file-name-default)
             prompt dir default-filename mustmatch initial predicate))
  
 +(defvar minibuffer-local-filename-syntax
 +  (let ((table (make-syntax-table))
 +      (punctuation (car (string-to-syntax "."))))
 +    ;; Convert all punctuation entries to symbol.
 +    (map-char-table (lambda (c syntax)
 +                    (when (eq (car syntax) punctuation)
 +                      (modify-syntax-entry c "_" table)))
 +                  table)
 +    (mapc
 +     (lambda (c)
 +       (modify-syntax-entry c "." table))
 +     '(?/ ?: ?\\))
 +    table)
 +  "Syntax table to be used in minibuffer for reading file name.")
 +
  ;; minibuffer-completing-file-name is a variable used internally in minibuf.c
  ;; to determine whether to use minibuffer-local-filename-completion-map or
  ;; minibuffer-local-completion-map.  It shouldn't be exported to Elisp.
@@@ -2128,8 -2113,7 +2128,8 @@@ See `read-file-name' for the meaning o
                                 (lambda ()
                                   (with-current-buffer
                                       (window-buffer (minibuffer-selected-window))
 -                                 (read-file-name--defaults dir initial)))))
 +                                 (read-file-name--defaults dir initial))))
 +                        (set-syntax-table minibuffer-local-filename-syntax))
                        (completing-read prompt 'read-file-name-internal
                                         pred mustmatch insdef
                                         'file-name-history default-filename)))
diff --combined lisp/net/rcirc.el
@@@ -139,12 -139,12 +139,12 @@@ for connections using SSL/TLS.
    :group 'rcirc)
  
  (defcustom rcirc-fill-flag t
 -  "*Non-nil means line-wrap messages printed in channel buffers."
 +  "Non-nil means line-wrap messages printed in channel buffers."
    :type 'boolean
    :group 'rcirc)
  
  (defcustom rcirc-fill-column nil
 -  "*Column beyond which automatic line-wrapping should happen.
 +  "Column beyond which automatic line-wrapping should happen.
  If nil, use value of `fill-column'.  If 'frame-width, use the
  maximum frame width."
    :type '(choice (const :tag "Value of `fill-column'")
    :group 'rcirc)
  
  (defcustom rcirc-fill-prefix nil
 -  "*Text to insert before filled lines.
 +  "Text to insert before filled lines.
  If nil, calculate the prefix dynamically to line up text
  underneath each nick."
    :type '(choice (const :tag "Dynamic" nil)
@@@ -174,23 -174,23 +174,23 @@@ Use the command `rcirc-omit-mode' to ch
  (make-variable-buffer-local 'rcirc-omit-mode)
  
  (defcustom rcirc-time-format "%H:%M "
 -  "*Describes how timestamps are printed.
 +  "Describes how timestamps are printed.
  Used as the first arg to `format-time-string'."
    :type 'string
    :group 'rcirc)
  
  (defcustom rcirc-input-ring-size 1024
 -  "*Size of input history ring."
 +  "Size of input history ring."
    :type 'integer
    :group 'rcirc)
  
  (defcustom rcirc-read-only-flag t
 -  "*Non-nil means make text in IRC buffers read-only."
 +  "Non-nil means make text in IRC buffers read-only."
    :type 'boolean
    :group 'rcirc)
  
  (defcustom rcirc-buffer-maximum-lines nil
 -  "*The maximum size in lines for rcirc buffers.
 +  "The maximum size in lines for rcirc buffers.
  Channel buffers are truncated from the top to be no greater than this
  number.  If zero or nil, no truncating is done."
    :type '(choice (const :tag "No truncation" nil)
    :group 'rcirc)
  
  (defcustom rcirc-scroll-show-maximum-output t
 -  "*If non-nil, scroll buffer to keep the point at the bottom of
 +  "If non-nil, scroll buffer to keep the point at the bottom of
  the window."
    :type 'boolean
    :group 'rcirc)
@@@ -244,13 -244,13 +244,13 @@@ Examples
    :group 'rcirc)
  
  (defcustom rcirc-auto-authenticate-flag t
 -  "*Non-nil means automatically send authentication string to server.
 +  "Non-nil means automatically send authentication string to server.
  See also `rcirc-authinfo'."
    :type 'boolean
    :group 'rcirc)
  
  (defcustom rcirc-authenticate-before-join t
 -  "*Non-nil means authenticate to services before joining channels.
 +  "Non-nil means authenticate to services before joining channels.
  Currently only works with NickServ on some networks."
    :version "24.1"
    :type 'boolean
@@@ -361,14 -361,6 +361,14 @@@ of a line.  The string is passed as th
    :type 'string
    :group 'rcirc)
  
 +(defcustom rcirc-kill-channel-buffers nil
 +  "When non-nil, kill channel buffers when the server buffer is killed.
 +Only the channel buffers associated with the server in question
 +will be killed."
 +  :version "24.2"
 +  :type 'boolean
 +  :group 'rcirc)
 +
  (defvar rcirc-nick nil)
  
  (defvar rcirc-prompt-start-marker nil)
@@@ -1096,20 -1088,12 +1096,20 @@@ Logfiles are kept in `rcirc-log-directo
    :group 'rcirc)
  
  (defun rcirc-kill-buffer-hook ()
 -  "Part the channel when killing an rcirc buffer."
 +  "Part the channel when killing an rcirc buffer.
 +
 +If `rcirc-kill-channel-buffers' is non-nil and the killed buffer
 +is a server buffer, kills all of the channel buffers associated
 +with it."
    (when (eq major-mode 'rcirc-mode)
      (when (and rcirc-log-flag
                 rcirc-log-directory)
        (rcirc-log-write))
 -    (rcirc-clean-up-buffer "Killed buffer")))
 +    (rcirc-clean-up-buffer "Killed buffer")
 +    (when (and rcirc-buffer-alist ;; it's a server buffer
 +               rcirc-kill-channel-buffers)
 +      (dolist (channel rcirc-buffer-alist)
 +      (kill-buffer (cdr channel))))))
  
  (defun rcirc-change-major-mode-hook ()
    "Part the channel when changing the major-mode."
@@@ -2181,17 -2165,13 +2181,13 @@@ CHANNELS is a comma- or space-separate
    (let ((channel (if (> (length channel) 0) channel target)))
      (rcirc-send-string process (concat "PART " channel " :" rcirc-id-string))))
  
- (defun-rcirc-command quit (reason all)
-   "Send a quit message to server with REASON.
- When called with prefix, quit all servers."
-   (interactive "sQuit reason: \nP")
-   (dolist (p (if all
-                (rcirc-process-list)
-              (list process)))
-     (rcirc-send-string p (concat "QUIT :"
-                                (if (not (zerop (length reason)))
-                                    reason
-                                  rcirc-id-string)))))
+ (defun-rcirc-command quit (reason)
+   "Send a quit message to server with REASON."
+   (interactive "sQuit reason: ")
+   (rcirc-send-string process (concat "QUIT :"
+                                    (if (not (zerop (length reason)))
+                                        reason
+                                      rcirc-id-string))))
  
  (defun-rcirc-command nick (nick)
    "Change nick to NICK."
diff --combined lisp/org/ChangeLog
@@@ -1,3 -1,50 +1,49 @@@
 -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-clock.el (org-clock-task-overrun-text)
+       (org-task-overrun, org-clock-get-clock-string)
+       (org-clock-update-mode-line)
+       (org-clock-notify-once-if-expired): Rename `org-task-overrun'
+       and `org-task-overrun-text' to `org-clock-task-overrun' and
+       `org-clock-task-overrun-text' respectively.
+       (org-task-overrun-text): New alias.
+       * org-table.el (org-table-eval-formula): Fix bug about handling
+       remote references as durations.
+       (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.el (org-todo): Fix regression: rename `state' to
diff --combined lisp/simple.el
@@@ -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.")
@@@ -2464,9 -2464,9 +2464,9 @@@ COMMAND
  To specify a coding system for converting non-ASCII characters
  in the input and output to the shell command, use \\[universal-coding-system-argument]
  before this command.  By default, the input (from the current buffer)
- is encoded in the same coding system that will be used to save the file,
- `buffer-file-coding-system'.  If the output is going to replace the region,
then it is decoded from that same coding system.
+ is encoded using coding-system specified by `process-coding-system-alist',
+ falling back to `default-process-coding-system' if no match for COMMAND
is found in `process-coding-system-alist'.
  
  The noninteractive arguments are START, END, COMMAND,
  OUTPUT-BUFFER, REPLACE, ERROR-BUFFER, and DISPLAY-ERROR-BUFFER.
@@@ -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.
@@@ -5321,7 -5321,7 +5321,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
@@@ -5983,7 -5983,7 +5983,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
@@@ -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.
@@@ -2316,6 -2341,7 +2316,7 @@@ A fancy display is used on graphic disp
      (if (or inhibit-startup-screen
            initial-buffer-choice
            noninteractive
+             (daemonp)
            inhibit-x-resources)
  
        ;; Not displaying a startup screen.  If 3 or more files
        ;; (with-no-warnings
        ;;      (setq menubar-bindings-done t))
  
-       (if (> file-count 0)
-         (display-startup-screen t)
-       (display-startup-screen nil)))))
+       (display-startup-screen (> file-count 0)))))
  
  (defun command-line-normalize-file-name (file)
    "Collapse multiple slashes to one, to handle non-Emacs file names."
diff --combined lisp/textmodes/ispell.el
@@@ -277,13 -277,13 +277,13 @@@ full featured `looking-back' function i
  ;;;  ******* THIS FILE IS WRITTEN FOR ISPELL VERSION 3.1+
  
  (defcustom ispell-highlight-p 'block
 -  "*Highlight spelling errors when non-nil.
 +  "Highlight spelling errors when non-nil.
  When set to `block', assumes a block cursor with TTY displays."
    :type '(choice (const block) (const :tag "off" nil) (const :tag "on" t))
    :group 'ispell)
  
  (defcustom ispell-lazy-highlight (boundp 'lazy-highlight-cleanup)
 -  "*Controls the lazy-highlighting of spelling errors.
 +  "Controls the lazy-highlighting of spelling errors.
  When non-nil, all text in the buffer matching the current spelling
  error is highlighted lazily using isearch lazy highlighting (see
  `lazy-highlight-initial-delay' and `lazy-highlight-interval')."
    :version "22.1")
  
  (defcustom ispell-highlight-face (if ispell-lazy-highlight 'isearch 'highlight)
 -  "*The face used for Ispell highlighting.  For Emacsen with overlays.
 +  "The face used for Ispell highlighting.  For Emacsen with overlays.
  Possible values are `highlight', `modeline', `secondary-selection',
  `region', and `underline'.
  This variable can be set by the user to whatever face they desire.
@@@ -303,7 -303,7 +303,7 @@@ slightly different.
    :group 'ispell)
  
  (defcustom ispell-check-comments t
 -  "*Spelling of comments checked when non-nil.
 +  "Spelling of comments checked when non-nil.
  When set to `exclusive', ONLY comments are checked.  (For code comments).
  Warning!  Not checking comments, when a comment start is embedded in strings,
  may produce undesired results."
       (lambda (a) (memq a '(nil t exclusive))))
  
  (defcustom ispell-query-replace-choices nil
 -  "*Corrections made throughout region when non-nil.
 +  "Corrections made throughout region when non-nil.
  Uses `query-replace' (\\[query-replace]) for corrections."
    :type 'boolean
    :group 'ispell)
  
  (defcustom ispell-skip-tib nil
 -  "*Does not spell check `tib' bibliography references when non-nil.
 +  "Does not spell check `tib' bibliography references when non-nil.
  Skips any text between strings matching regular expressions
  `ispell-tib-ref-beginning' and `ispell-tib-ref-end'.
  
@@@ -337,13 -337,13 +337,13 @@@ That includes the [.5mm] type of number
    "Regexp matching the end of a Tib reference.")
  
  (defcustom ispell-keep-choices-win t
 -  "*If non-nil, keep the `*Choices*' window for the entire spelling session.
 +  "If non-nil, keep the `*Choices*' window for the entire spelling session.
  This minimizes redisplay thrashing."
    :type 'boolean
    :group 'ispell)
  
  (defcustom ispell-choices-win-default-height 2
 -  "*The default size of the `*Choices*' window, including the mode line.
 +  "The default size of the `*Choices*' window, including the mode line.
  Must be greater than 1."
    :type 'integer
    :group 'ispell)
        ((file-readable-p "/usr/share/lib/dict/words")
         "/usr/share/lib/dict/words")
        ((file-readable-p "/sys/dict") "/sys/dict"))
 -  "*Alternate plain word-list dictionary for spelling help."
 +  "Alternate plain word-list dictionary for spelling help."
    :type '(choice file (const :tag "None" nil))
    :group 'ispell)
  
  (defcustom ispell-complete-word-dict nil
 -  "*Plain word-list dictionary used for word completion if
 +  "Plain word-list dictionary used for word completion if
  different from `ispell-alternate-dictionary'."
    :type '(choice file (const :tag "None" nil))
    :group 'ispell)
  
  (defcustom ispell-message-dictionary-alist nil
 -  "*List used by `ispell-message' to select a new dictionary.
 +  "List used by `ispell-message' to select a new dictionary.
  It consists of pairs (REGEXP . DICTIONARY).  If REGEXP is found
  in the message headers, `ispell-local-dictionary' will be set to
  DICTIONARY if `ispell-local-dictionary' is not buffer-local.
@@@ -389,7 -389,7 +389,7 @@@ E.g. you may use the following value
  
  
  (defcustom ispell-message-fcc-skip 50000
 -  "*Query before saving Fcc message copy if attachment larger than this value.
 +  "Query before saving Fcc message copy if attachment larger than this value.
  Always stores Fcc copy of message when nil."
    :type '(choice integer (const :tag "off" nil))
    :group 'ispell)
@@@ -423,13 -423,13 +423,13 @@@ This must be an absolute file name.
    :group 'ispell)
  
  (defcustom ispell-look-p (file-exists-p ispell-look-command)
 -  "*Non-nil means use `look' rather than `grep'.
 +  "Non-nil means use `look' rather than `grep'.
  Default is based on whether `look' seems to be available."
    :type 'boolean
    :group 'ispell)
  
  (defcustom ispell-have-new-look nil
 -  "*Non-nil means use the `-r' option (regexp) when running `look'."
 +  "Non-nil means use the `-r' option (regexp) when running `look'."
    :type 'boolean
    :group 'ispell)
  
@@@ -445,13 -445,13 +445,13 @@@ When nil, Emacs uses pipes.
    :group 'ispell)
  
  (defcustom ispell-following-word nil
 -  "*Non-nil means `ispell-word' checks the word around or after point.
 +  "Non-nil means `ispell-word' checks the word around or after point.
  Otherwise `ispell-word' checks the preceding word."
    :type 'boolean
    :group 'ispell)
  
  (defcustom ispell-help-in-bufferp nil
 -  "*Non-nil means display interactive keymap help in a buffer.
 +  "Non-nil means display interactive keymap help in a buffer.
  The following values are supported:
    nil        Expand the minibuffer and display a short help message
               there for a couple of seconds.
    :group 'ispell)
  
  (defcustom ispell-quietly nil
 -  "*Non-nil means suppress messages in `ispell-word'."
 +  "Non-nil means suppress messages in `ispell-word'."
    :type 'boolean
    :group 'ispell)
  
  (defcustom ispell-format-word-function (function upcase)
 -  "*Formatting function for displaying word being spell checked.
 +  "Formatting function for displaying word being spell checked.
  The function must take one string argument and return a string."
    :type 'function
    :group 'ispell)
@@@ -484,7 -484,7 +484,7 @@@ window system by evaluating the followi
  
  ;;;###autoload
  (defcustom ispell-personal-dictionary nil
 -  "*File name of your personal spelling dictionary, or nil.
 +  "File name of your personal spelling dictionary, or nil.
  If nil, the default personal dictionary, (\"~/.ispell_DICTNAME\" for ispell or
  \"~/.aspell.LANG.pws\" for aspell) is used, where DICTNAME is the name of your
  default dictionary and LANG the two letter language code."
    :group 'ispell)
  
  (defcustom ispell-silently-savep nil
 -  "*When non-nil, save personal dictionary without asking for confirmation."
 +  "When non-nil, save personal dictionary without asking for confirmation."
    :type 'boolean
    :group 'ispell)
  
@@@ -527,7 -527,7 +527,7 @@@ is automatically set when defined in th
    :group 'ispell)
  
  (defcustom ispell-extra-args nil
 -  "*If non-nil, a list of extra switches to pass to the Ispell program.
 +  "If non-nil, a list of extra switches to pass to the Ispell program.
  For example, (\"-W\" \"3\") to cause it to accept all 1-3 character
  words as correct.  See also `ispell-dictionary-alist', which may be used
  for language-specific arguments."
  
  
  (defcustom ispell-skip-html 'use-mode-name
 -  "*Indicates whether ispell should skip spell checking of SGML markup.
 +  "Indicates whether ispell should skip spell checking of SGML markup.
  If t, always skip SGML markup; if nil, never skip; if non-t and non-nil,
  guess whether SGML markup should be skipped according to the name of the
  buffer's major mode."
  
  
  (defcustom ispell-local-dictionary-alist nil
 -  "*List of local or customized dictionary definitions.
 +  "List of local or customized dictionary definitions.
  These can override the values in `ispell-dictionary-alist'.
  
  To make permanent changes to your dictionary definitions, you
@@@ -684,7 -684,8 +684,8 @@@ re-start Emacs.
      ("svenska"                                ; Swedish mode
       "[A-Za-z\345\344\366\351\340\374\350\346\370\347\305\304\326\311\300\334\310\306\330\307]"
       "[^A-Za-z\345\344\366\351\340\374\350\346\370\347\305\304\326\311\300\334\310\306\330\307]"
-      "[']" nil ("-C") "~list" iso-8859-1))
+      "[']" nil ("-C") "~list" iso-8859-1)
+     ("hebrew" "[\340\341\342\343\344\345\346\347\350\351\353\352\354\356\355\360\357\361\362\364\363\367\366\365\370\371\372]" "[^\340\341\342\343\344\345\346\347\350\351\353\352\354\356\355\360\357\361\362\364\363\367\366\365\370\371\372]" "" nil ("-B") nil cp1255))
    "Base value for `ispell-dictionary-alist'.")
  
  (defvar ispell-dictionary-alist nil
@@@ -874,7 -875,7 +875,7 @@@ Otherwise returns the library director
            (setq ispell-really-aspell nil)))
         (ispell-really-hunspell
          (if (ispell-check-minver hunspell8-minver ispell-really-hunspell)
 -            (setq ispell-encoding8-command "-i ")
 +            (setq ispell-encoding8-command "-i")
            (setq ispell-really-hunspell nil))))))
      result))
  
@@@ -1470,7 -1471,7 +1471,7 @@@ Valid forms include
       ("list"                           ispell-tex-arg-end 2)
       ("program"               . "\\\\end[ \t\n]*{[ \t\n]*program[ \t\n]*}")
       ("verbatim\\*?"  . "\\\\end[ \t\n]*{[ \t\n]*verbatim\\*?[ \t\n]*}"))))
 -  "*Lists of regions to be skipped in TeX mode.
 +  "Lists of regions to be skipped in TeX mode.
  First list is used raw.
  Second list has key placed inside \\begin{}.
  
@@@ -1489,7 -1490,7 +1490,7 @@@ for skipping in latex mode."
      ("<[tT][tT]/"                       "/")
      ("<[^ \t\n>]"                       ">")
      ("&[^ \t\n;]"                       "[; \t\n]"))
 -  "*Lists of start and end keys to skip in HTML buffers.
 +  "Lists of start and end keys to skip in HTML buffers.
  Same format as `ispell-skip-region-alist'.
  Note - substrings of other matches must come last
   (e.g. \"<[tT][tT]/\" and \"<[^ \\t\\n>]\").")
@@@ -1513,7 -1514,7 +1514,7 @@@ local variable syntax."
  Ispell is then restarted because the local words could conflict.")
  
  (defvar ispell-parser 'use-mode-name
 -   "*Indicates whether ispell should parse the current buffer as TeX Code.
 +  "Indicates whether ispell should parse the current buffer as TeX Code.
  Special value `use-mode-name' tries to guess using the name of `major-mode'.
  Default parser is `nroff'.
  Currently the only other valid parser is `tex'.
@@@ -2618,12 -2619,9 +2619,12 @@@ Keeps argument list for future ispell i
             ;; right encoding for communication. ispell or older aspell/hunspell
             ;; does not support this.
             (if ispell-encoding8-command
 -               (list
 -                (concat ispell-encoding8-command
 -                        (symbol-name (ispell-get-coding-system)))))
 +             (if ispell-really-hunspell
 +                 (list ispell-encoding8-command
 +                       (upcase (symbol-name (ispell-get-coding-system))))
 +               (list
 +                (concat ispell-encoding8-command
 +                        (symbol-name (ispell-get-coding-system))))))
             ispell-extra-args)))
  
      ;; Initially we don't know any buffer's local words.
@@@ -3530,7 -3528,7 +3531,7 @@@ Don't read buffer-local settings or wor
               ;; Matches commonly used "cut" boundaries
               "^\\(- \\)?[-=_]+\\s ?\\(cut here\\|Environment Follows\\)")
             "\\|")
 -  "*Text beyond which `ispell-message' will not spell-check.
 +  "Text beyond which `ispell-message' will not spell-check.
  If it is a string, limit is the first occurrence of that regular expression.
  Otherwise, it must be a function which is called to get the limit.")
  (put 'ispell-message-text-end 'risky-local-variable t)
diff --combined nt/ChangeLog
@@@ -1,29 -1,7 +1,33 @@@
 -2012-04-11  Dani Moncayo  <dmoncayo@gmail.com>  (tiny change)
++2012-04-14  Dani Moncayo  <dmoncayo@gmail.com>  (tiny change)
+       * makefile.w32-in: Fix typo (Bug#10261).
 +2012-04-10  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * makefile.w32-in (emacs, misc, lispref, lispintro): New targets,
 +      each runs makeinfo in its own subdirectory of 'doc'.
 +      (info-gmake): Depend on these new targets.
 +
 +2012-04-07  Glenn Morris  <rgm@gnu.org>
 +
 +      * config.nt, makefile.w32-in, emacs.rc, emacsclient.rc:
 +      Bump version to 24.1.50.
 +
 +2012-04-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * configure.bat: Support building with libxml2.
 +
 +      * INSTALL:
 +      * README.W32: Add information about libxml2.
 +
 +2012-04-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * makefile.w32-in: Convert to Unix EOL format.
 +      (all): Don't depend on stamp_BLD and on maybe-bootstrap.
 +      (all-other-dirs-$(MAKETYPE)): Depend on maybe-bootstrap.
 +      (bootstrap-gmake): Invoke the "clean" and build targets in 2
 +      separate commands, so they run in that order even under "make -j".
 +
  2012-03-29  Eli Zaretskii  <eliz@gnu.org>
  
        * config.nt: Discourage from defining HAVE_GETCWD.
diff --combined nt/makefile.w32-in
 -# -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.\r
 -# Copyright (C) 2000-2012 Free Software Foundation, Inc.\r
 -#\r
 -# Top level makefile for building GNU Emacs on Windows NT\r
 -#\r
 -# This file is part of GNU Emacs.\r
 -\r
 -# GNU Emacs is free software: you can redistribute it and/or modify\r
 -# it under the terms of the GNU General Public License as published by\r
 -# the Free Software Foundation, either version 3 of the License, or\r
 -# (at your option) any later version.\r
 -\r
 -# GNU Emacs is distributed in the hope that it will be useful,\r
 -# but WITHOUT ANY WARRANTY; without even the implied warranty of\r
 -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
 -# GNU General Public License for more details.\r
 -\r
 -# You should have received a copy of the GNU General Public License\r
 -# along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.\r
 -\r
 -\r
 -# FIXME: This file uses DOS EOLs.  Convert to Unix after 22.1 is out\r
 -#        (and remove or replace this comment).\r
 -\r
 -VERSION               = 24.0.95\r
 -\r
 -TMP_DIST_DIR  = emacs-$(VERSION)\r
 -\r
 -TRES          = $(BLD)/emacs.res\r
 -CLIENTRES     = $(BLD)/emacsclient.res\r
 -\r
 -XMFLAGS               =\r
 -\r
 -ALL           = addpm ddeclient runemacs cmdproxy addsection preprep\r
 -\r
 -.PHONY: $(ALL)\r
 -\r
 -\r
 -addpm:                  stamp_BLD $(BLD)/addpm.exe\r
 -$(BLD)/addpm.exe: $(BLD)/addpm.$(O)\r
 -                $(LINK) $(LINK_OUT)$@ \\r
 -                $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) \\r
 -                $(USER32) $(OLE32) $(UUID) $(SHELL32)\r
 -\r
 -ddeclient:      stamp_BLD $(BLD)/ddeclient.exe\r
 -$(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O)\r
 -                $(LINK) $(LINK_OUT)$@ \\r
 -                $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)\r
 -\r
 -cmdproxy:       stamp_BLD $(BLD)/cmdproxy.exe\r
 -$(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O)\r
 -                $(LINK) $(LINK_OUT)$@ \\r
 -                $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)\r
 -\r
 -addsection:     stamp_BLD $(BLD)/addsection.exe\r
 -$(BLD)/addsection.exe: $(BLD)/addsection.$(O)\r
 -                $(LINK) $(LINK_OUT)$@ \\r
 -                $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)\r
 -\r
 -preprep:        stamp_BLD $(BLD)/preprep.exe\r
 -$(BLD)/preprep.exe: $(BLD)/preprep.$(O)\r
 -                $(LINK) $(LINK_OUT)$@ \\r
 -                $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS)\r
 -\r
 -#\r
 -# The resource file.  NT 3.10 requires the use of cvtres; even though\r
 -# it is not necessary on later versions, it is still ok to use it.\r
 -#\r
 -$(TRES):      emacs.rc icons/emacs.ico emacs.manifest stamp_BLD\r
 -              $(RC) $(RC_OUT)$(TRES) emacs.rc\r
 -\r
 -$(CLIENTRES): emacsclient.rc stamp_BLD\r
 -              $(RC) $(RC_OUT)$(CLIENTRES) emacsclient.rc\r
 -\r
 -runemacs:       stamp_BLD $(BLD)/runemacs.exe\r
 -$(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES)\r
 -                $(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \\r
 -                $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)\r
 -\r
 -which-sh:\r
 -      @echo Using $(THE_SHELL) as shell.\r
 -\r
 -# These depend on stamp_BLD to make sure the $(BLD) directory is created\r
 -# before the compilation begins, even if Make runs several commands\r
 -# in parallel under "make -j".\r
 -#\r
 -$(BLD)/addpm.$(O) $(BLD)/ddeclient.$(O) $(BLD)/runemacs.$(O) $(BLD)/cmdproxy.$(O) $(BLD)/addsection.$(O) $(BLD)/preprep.$(O): stamp_BLD\r
 -\r
 -#\r
 -# Build emacs\r
 -#\r
 -all:  which-sh stamp_BLD $(ALL) $(CLIENTRES) maybe-bootstrap all-other-dirs-$(MAKETYPE)\r
 -\r
 -all-other-dirs-nmake: addsection\r
 -      cd ..\lib\r
 -      $(MAKE) $(MFLAGS) all\r
 -      cd ..\lib-src\r
 -      $(MAKE) $(MFLAGS) all\r
 -      cd ..\src\r
 -      $(MAKE) $(MFLAGS) all\r
 -      cd ..\lisp\r
 -      $(MAKE) $(MFLAGS) all\r
 -      cd ..\leim\r
 -      $(MAKE) $(MFLAGS) all\r
 -      cd ..\nt\r
 -\r
 -all-other-dirs-gmake: addsection\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib all\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src all\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src all\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp all\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim all\r
 -\r
 -recompile:    recompile-$(MAKETYPE)\r
 -\r
 -recompile-nmake:\r
 -      cd ..\lisp\r
 -      $(MAKE) $(MFLAGS) recompile\r
 -      cd ..\nt\r
 -\r
 -recompile-gmake:\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp recompile\r
 -\r
 -#### Bootstrapping.\r
 -\r
 -### This is meant for Emacs maintainers only.  It first cleans the\r
 -### lisp subdirectory, removing all compiled Lisp files.  Then a\r
 -### special emacs executable is built from Lisp sources, which is then\r
 -### used to compile Lisp files.  The last step is a "normal" make.\r
 -\r
 -maybe-bootstrap: maybe-bootstrap-$(SHELLTYPE)\r
 -\r
 -# dummy target to force other targets to be evaluated.\r
 -doit:\r
 -\r
 -maybe-bootstrap-CMD:  doit\r
 -      @echo .\r
 -      @if not EXIST ..\lisp\abbrev.elc echo Essential Lisp files seem to be missing.  You should either\r
 -      @if not EXIST ..\lisp\abbrev.elc echo do 'make bootstrap' or create 'lisp/abbrev.elc' somehow\r
 -      @echo .\r
 -      @if not EXIST ..\lisp\abbrev.elc exit -1\r
 -\r
 -maybe-bootstrap-SH: doit\r
 -      @if [ ! -f ../lisp/abbrev.elc ] ; then \\r
 -        echo; \\r
 -        echo "Essential Lisp files seem to be missing.  You should either"; \\r
 -        echo "do \`make bootstrap' or create \`lisp/abbrev.elc' somehow.";  \\r
 -        echo; \\r
 -        exit -1; \\r
 -      fi\r
 -\r
 -# Bootstrap depends on cmdproxy because some Lisp functions\r
 -# loaded during bootstrap may need to run shell commands.\r
 -bootstrap:    addsection cmdproxy bootstrap-$(MAKETYPE)\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) all\r
 -\r
 -bootstrap-nmake: addsection cmdproxy\r
 -      cd ..\lisp\r
 -      $(MAKE) $(MFLAGS) bootstrap-clean\r
 -      cd ..\src\r
 -      $(MAKE) $(MFLAGS) clean\r
 -      cd ..\lib-src\r
 -      $(MAKE) $(MFLAGS) clean make-docfile\r
 -      cd ..\lib\r
 -      $(MAKE) $(MFLAGS) clean all\r
 -      cd ..\src\r
 -      $(MAKE) $(MFLAGS) bootstrap\r
 -      $(MAKE) $(MFLAGS) bootstrap-clean\r
 -      cd ..\nt\r
 -      $(CP) $(BLD)/cmdproxy.exe ../bin\r
 -      cd ..\lisp\r
 -      $(MAKE) $(MFLAGS) SHELL=$(SHELLTYPE) bootstrap\r
 -      cd ..\lib-src\r
 -      $(MAKE) $(MFLAGS) DOC\r
 -      cd ..\nt\r
 -\r
 -bootstrap-gmake: addsection cmdproxy\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean make-docfile\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean all\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean\r
 -      $(CP) $(BLD)/cmdproxy.exe ../bin\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src DOC\r
 -\r
 -bootstrap-clean: bootstrap-clean-$(MAKETYPE)\r
 -\r
 -bootstrap-clean-nmake:\r
 -      cd ..\src\r
 -      $(MAKE) $(MFLAGS) bootstrap-clean\r
 -      cd ..\lib\r
 -      $(MAKE) $(MFLAGS) clean\r
 -      cd ..\lisp\r
 -      $(MAKE) $(MFLAGS) bootstrap-clean\r
 -\r
 -bootstrap-clean-gmake:\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean\r
 -\r
 -$(INSTALL_DIR):\r
 -      - mkdir "$(INSTALL_DIR)"\r
 -\r
 -$(INSTALL_DIR)/bin: $(INSTALL_DIR)\r
 -      - mkdir "$(INSTALL_DIR)/bin"\r
 -\r
 -#\r
 -# Build and install emacs in INSTALL_DIR\r
 -#\r
 -.PHONY: install-bin install-shortcuts\r
 -\r
 -install: install-bin install-shortcuts\r
 -\r
 -install-bin: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)\r
 -      - $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin\r
 -      - $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin\r
 -      - $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin\r
 -      - $(CP) README.W32 $(INSTALL_DIR)\r
 -      - $(DEL) ../$(DIRNAME)_same-dir.tst\r
 -      - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst\r
 -      echo SameDirTest > "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst"\r
 -      - mkdir "$(INSTALL_DIR)/etc"\r
 -      - mkdir "$(INSTALL_DIR)/info"\r
 -      - mkdir "$(INSTALL_DIR)/lock"\r
 -      - mkdir "$(INSTALL_DIR)/data"\r
 -      - mkdir "$(INSTALL_DIR)/site-lisp"\r
 -      - mkdir "$(INSTALL_DIR)/etc/icons"\r
 -      $(IFNOTSAMEDIR) $(CP) ../site-lisp/subdirs.el $(INSTALL_DIR)/site-lisp $(ENDIF)\r
 -      $(IFNOTSAMEDIR) $(CP_DIR) ../etc $(INSTALL_DIR) $(ENDIF)\r
 -      - $(CP_DIR) icons $(INSTALL_DIR)/etc\r
 -      $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR) $(ENDIF)\r
 -      $(IFNOTSAMEDIR) $(CP) ../COPYING $(INSTALL_DIR) $(ENDIF)\r
 -      - $(CP) ../COPYING $(INSTALL_DIR)/bin\r
 -      - $(DEL) ../$(DIRNAME)_same-dir.tst\r
 -      - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst\r
 -\r
 -install-other-dirs-nmake: all\r
 -      cd ..\lib-src\r
 -      $(MAKE) $(MFLAGS) install\r
 -      cd ..\src\r
 -      $(MAKE) $(MFLAGS) install\r
 -      cd ..\lisp\r
 -      $(MAKE) $(MFLAGS) install\r
 -      cd ..\leim\r
 -      $(MAKE) $(MFLAGS) install\r
 -      cd ..\nt\r
 -\r
 -install-other-dirs-gmake: all\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src install\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src install\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install\r
 -\r
 -install-shortcuts: $(INSTALL_DIR)/bin\r
 -      - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin\r
 -      "$(INSTALL_DIR)/bin/addpm" -q\r
 -\r
 -maybe-copy-distfiles: maybe-copy-distfiles-$(SHELLTYPE)\r
 -\r
 -maybe-copy-distfiles-CMD: create-tmp-dist-dir doit\r
 -      @if not $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE) == "" $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin\r
 -\r
 -maybe-copy-distfiles-SH: create-tmp-dist-dir doit\r
 -      @if [ ! $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE) == "" ] ; then \\r
 -        $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin ; \\r
 -      fi\r
 -\r
 -create-tmp-dist-dir:\r
 -      mkdir "$(TMP_DIST_DIR)"\r
 -# Also create bin directory for dist files.\r
 -      mkdir "$(TMP_DIST_DIR)/bin"\r
 -\r
 -dist: install-bin maybe-copy-distfiles\r
 -      $(CP) "$(INSTALL_DIR)/BUGS" $(TMP_DIST_DIR)\r
 -      $(CP) "$(INSTALL_DIR)/COPYING" $(TMP_DIST_DIR)\r
 -      $(CP) "$(INSTALL_DIR)/README" $(TMP_DIST_DIR)\r
 -      $(CP) "$(INSTALL_DIR)/README.W32" $(TMP_DIST_DIR)\r
 -      $(CP_DIR) "$(INSTALL_DIR)/bin" $(TMP_DIST_DIR)\r
 -      $(CP_DIR) "$(INSTALL_DIR)/etc" $(TMP_DIST_DIR)\r
 -      $(CP_DIR) "$(INSTALL_DIR)/info" $(TMP_DIST_DIR)\r
 -      $(CP_DIR) "$(INSTALL_DIR)/lisp" $(TMP_DIST_DIR)\r
 -      $(CP_DIR) "$(INSTALL_DIR)/leim" $(TMP_DIST_DIR)\r
 -      $(CP_DIR) "$(INSTALL_DIR)/site-lisp" $(TMP_DIST_DIR)\r
 -      $(COMSPEC)$(ComSpec) /c $(ARGQUOTE)zipdist.bat $(VERSION)$(ARGQUOTE)\r
 -      $(DEL_TREE) $(TMP_DIST_DIR)\r
 -\r
 -force-info:\r
 -# Note that doc/emacs/makefile knows how to\r
 -# put the info files in $(infodir),\r
 -# so we can do ok running make in the build dir.\r
 -info: force-info info-$(MAKETYPE)\r
 -\r
 -info-nmake:\r
 -      cd ..\doc\emacs\r
 -      $(MAKE) $(MFLAGS) info\r
 -      cd ..\misc\r
 -      $(MAKE) $(MFLAGS) info\r
 -      cd ..\lispref\r
 -      $(MAKE) $(MFLAGS) info\r
 -      cd ..\lispintro\r
 -      $(MAKE) $(MFLAGS) info\r
 -      cd $(MAKEDIR)\r
 -\r
 -info-gmake:\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs info\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc info\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref info\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro info\r
 -#\r
 -# Maintenance\r
 -#\r
 -clean:        clean-other-dirs-$(MAKETYPE)\r
 -      - $(DEL) $(COMPILER_TEMP_FILES)\r
 -      - $(DEL_TREE) $(OBJDIR)\r
 -      - $(DEL) stamp_BLD\r
 -      - $(DEL) ../etc/DOC ../etc/DOC-X\r
 -\r
 -clean-other-dirs-nmake:\r
 -      cd ..\lib\r
 -      $(MAKE) $(MFLAGS) clean\r
 -      cd ..\lib-src\r
 -      $(MAKE) $(MFLAGS) clean\r
 -      cd ..\src\r
 -      $(MAKE) $(MFLAGS) clean\r
 -      cd ..\doc\lispintro\r
 -      $(MAKE) $(MFLAGS) clean\r
 -      cd ..\lispref\r
 -      $(MAKE) $(MFLAGS) clean\r
 -      cd ..\..\leim\r
 -      $(MAKE) $(MFLAGS) clean\r
 -      cd ..\doc\emacs\r
 -      $(MAKE) $(MFLAGS) clean\r
 -      cd ..\misc\r
 -      $(MAKE) $(MFLAGS) clean\r
 -      cd ..\..\nt\r
 -\r
 -clean-other-dirs-gmake:\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref clean\r
 -\r
 -cleanall-other-dirs-nmake:\r
 -      cd ..\lib\r
 -      $(MAKE) $(MFLAGS) cleanall\r
 -      cd ..\lib-src\r
 -      $(MAKE) $(MFLAGS) cleanall\r
 -      cd ..\src\r
 -      $(MAKE) $(MFLAGS) cleanall\r
 -      cd ..\nt\r
 -\r
 -cleanall-other-dirs-gmake:\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib cleanall\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src cleanall\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src cleanall\r
 -\r
 -# We used to delete *~ here, but that might inadvertently remove\r
 -# precious files if it happens to match their short 8+3 aliases.\r
 -cleanall: clean cleanall-other-dirs-$(MAKETYPE)\r
 -       - $(DEL_TREE) obj\r
 -       - $(DEL_TREE) obj-spd\r
 -       - $(DEL_TREE) oo\r
 -       - $(DEL_TREE) oo-spd\r
 -\r
 -top-distclean:\r
 -      - $(DEL) $(COMPILER_TEMP_FILES)\r
 -      - $(DEL_TREE) obj\r
 -      - $(DEL_TREE) obj-spd\r
 -      - $(DEL_TREE) oo\r
 -      - $(DEL_TREE) oo-spd\r
 -      - $(DEL) stamp_BLD\r
 -      - $(DEL) ../etc/DOC ../etc/DOC-X\r
 -      - $(DEL) config.log Makefile\r
 -      - $(DEL) ../README.W32\r
 -\r
 -distclean: distclean-other-dirs-$(MAKETYPE) top-distclean\r
 -\r
 -distclean-other-dirs-nmake:\r
 -      cd ..\lib\r
 -      $(MAKE) $(MFLAGS) distclean\r
 -      cd ..\lib-src\r
 -      $(MAKE) $(MFLAGS) distclean\r
 -      cd ..\src\r
 -      $(MAKE) $(MFLAGS) distclean\r
 -      cd ..\lisp\r
 -      $(MAKE) $(MFLAGS) distclean\r
 -      cd ..\leim\r
 -      $(MAKE) $(MFLAGS) distclean\r
 -      cd ..\doc\emacs\r
 -      $(MAKE) $(MFLAGS) distclean\r
 -      cd ..\misc\r
 -      $(MAKE) $(MFLAGS) distclean\r
 -      cd ..\lispintro\r
 -      $(MAKE) $(MFLAGS) distclean\r
 -      cd ..\lispref\r
 -      $(MAKE) $(MFLAGS) distclean\r
 -      cd ..\..\nt\r
 -\r
 -distclean-other-dirs-gmake:\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib distclean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src distclean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src distclean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp distclean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim distclean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs distclean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc distclean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro distclean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref distclean\r
 -\r
 -maintainer-clean: maintainer-clean-other-dirs-$(MAKETYPE) top-distclean\r
 -\r
 -maintainer-clean-other-dirs-nmake:\r
 -      cd ..\lib\r
 -      $(MAKE) $(MFLAGS) maintainer-clean\r
 -      cd ..\lib-src\r
 -      $(MAKE) $(MFLAGS) maintainer-clean\r
 -      cd ..\src\r
 -      $(MAKE) $(MFLAGS) maintainer-clean\r
 -      cd ..\lisp\r
 -      $(MAKE) $(MFLAGS) maintainer-clean\r
 -      cd ..\leim\r
 -      $(MAKE) $(MFLAGS) maintainer-clean\r
 -      cd ..\doc\emacs\r
 -      $(MAKE) $(MFLAGS) maintainer-clean\r
 -      cd ..\misc\r
 -      $(MAKE) $(MFLAGS) maintainer-clean\r
 -      cd ..\lispintro\r
 -      $(MAKE) $(MFLAGS) maintainer-clean\r
 -      cd ..\lispref\r
 -      $(MAKE) $(MFLAGS) maintainer-clean\r
 -      cd ..\..\nt\r
 -\r
 -maintainer-clean-other-dirs-gmake:\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib maintainer-clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src maintainer-clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src maintainer-clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp maintainer-clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim maintainer-clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs maintainer-clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc maintainer-clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro maintainer-clean\r
 -      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref maintainer-clean\r
 -\r
 -realclean: cleanall\r
 -      - $(DEL_TREE) ../bin\r
 -\r
 -TAGS: TAGS-$(MAKETYPE)\r
 -\r
 -frc:\r
 -TAGS-gmake: frc\r
 -      ../lib-src/$(BLD)/etags $(CURDIR)/*.c\r
 -      $(MAKE) $(MFLAGS) -C ../src TAGS TAGS-LISP\r
 -      $(MAKE) $(MFLAGS) -C ../lib-src TAGS\r
 -      $(MAKE) $(MFLAGS) -C ../lib TAGS\r
 -\r
 -TAGS-nmake:\r
 -      echo This target is not supported with NMake\r
 -\r
 -.PHONY: frc\r
 +# -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.
 +# Copyright (C) 2000-2012 Free Software Foundation, Inc.
 +#
 +# Top level makefile for building GNU Emacs on Windows NT
 +#
 +# This file is part of GNU Emacs.
 +
 +# GNU Emacs is free software: you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
 +# the Free Software Foundation, either version 3 of the License, or
 +# (at your option) any later version.
 +
 +# GNU Emacs is distributed in the hope that it will be useful,
 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +# GNU General Public License for more details.
 +
 +# You should have received a copy of the GNU General Public License
 +# along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 +
 +
 +# FIXME: This file uses DOS EOLs.  Convert to Unix after 22.1 is out
 +#        (and remove or replace this comment).
 +
 +VERSION               = 24.1.50
 +
 +TMP_DIST_DIR  = emacs-$(VERSION)
 +
 +TRES          = $(BLD)/emacs.res
 +CLIENTRES     = $(BLD)/emacsclient.res
 +
 +XMFLAGS               =
 +
 +ALL           = addpm ddeclient runemacs cmdproxy addsection preprep
 +
 +.PHONY: $(ALL)
 +
 +
 +addpm:                  stamp_BLD $(BLD)/addpm.exe
 +$(BLD)/addpm.exe: $(BLD)/addpm.$(O)
 +                $(LINK) $(LINK_OUT)$@ \
 +                $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) \
 +                $(USER32) $(OLE32) $(UUID) $(SHELL32)
 +
 +ddeclient:      stamp_BLD $(BLD)/ddeclient.exe
 +$(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O)
 +                $(LINK) $(LINK_OUT)$@ \
 +                $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
 +
 +cmdproxy:       stamp_BLD $(BLD)/cmdproxy.exe
 +$(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O)
 +                $(LINK) $(LINK_OUT)$@ \
 +                $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
 +
 +addsection:     stamp_BLD $(BLD)/addsection.exe
 +$(BLD)/addsection.exe: $(BLD)/addsection.$(O)
 +                $(LINK) $(LINK_OUT)$@ \
 +                $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
 +
 +preprep:        stamp_BLD $(BLD)/preprep.exe
 +$(BLD)/preprep.exe: $(BLD)/preprep.$(O)
 +                $(LINK) $(LINK_OUT)$@ \
 +                $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS)
 +
 +#
 +# The resource file.  NT 3.10 requires the use of cvtres; even though
 +# it is not necessary on later versions, it is still ok to use it.
 +#
 +$(TRES):      emacs.rc icons/emacs.ico emacs.manifest stamp_BLD
 +              $(RC) $(RC_OUT)$(TRES) emacs.rc
 +
 +$(CLIENTRES): emacsclient.rc stamp_BLD
 +              $(RC) $(RC_OUT)$(CLIENTRES) emacsclient.rc
 +
 +runemacs:       stamp_BLD $(BLD)/runemacs.exe
 +$(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES)
 +                $(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \
 +                $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
 +
 +which-sh:
 +      @echo Using $(THE_SHELL) as shell.
 +
 +# These depend on stamp_BLD to make sure the $(BLD) directory is created
 +# before the compilation begins, even if Make runs several commands
 +# in parallel under "make -j".
 +#
 +$(BLD)/addpm.$(O) $(BLD)/ddeclient.$(O) $(BLD)/runemacs.$(O) $(BLD)/cmdproxy.$(O) $(BLD)/addsection.$(O) $(BLD)/preprep.$(O): stamp_BLD
 +
 +#
 +# Build emacs
 +#
 +all:  which-sh $(ALL) $(CLIENTRES) all-other-dirs-$(MAKETYPE)
 +
 +all-other-dirs-$(MAKETYPE): maybe-bootstrap
 +
 +all-other-dirs-nmake: addsection
 +      cd ..\lib
 +      $(MAKE) $(MFLAGS) all
 +      cd ..\lib-src
 +      $(MAKE) $(MFLAGS) all
 +      cd ..\src
 +      $(MAKE) $(MFLAGS) all
 +      cd ..\lisp
 +      $(MAKE) $(MFLAGS) all
 +      cd ..\leim
 +      $(MAKE) $(MFLAGS) all
 +      cd ..\nt
 +
 +all-other-dirs-gmake: addsection
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib all
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src all
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src all
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp all
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim all
 +
 +recompile:    recompile-$(MAKETYPE)
 +
 +recompile-nmake:
 +      cd ..\lisp
 +      $(MAKE) $(MFLAGS) recompile
 +      cd ..\nt
 +
 +recompile-gmake:
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp recompile
 +
 +#### Bootstrapping.
 +
 +### This is meant for Emacs maintainers only.  It first cleans the
 +### lisp subdirectory, removing all compiled Lisp files.  Then a
 +### special emacs executable is built from Lisp sources, which is then
 +### used to compile Lisp files.  The last step is a "normal" make.
 +
 +maybe-bootstrap: maybe-bootstrap-$(SHELLTYPE)
 +
 +# dummy target to force other targets to be evaluated.
 +doit:
 +
 +maybe-bootstrap-CMD:  doit
 +      @echo .
 +      @if not EXIST ..\lisp\abbrev.elc echo Essential Lisp files seem to be missing.  You should either
 +      @if not EXIST ..\lisp\abbrev.elc echo do 'make bootstrap' or create 'lisp/abbrev.elc' somehow
 +      @echo .
 +      @if not EXIST ..\lisp\abbrev.elc exit -1
 +
 +maybe-bootstrap-SH: doit
 +      @if [ ! -f ../lisp/abbrev.elc ] ; then \
 +        echo; \
 +        echo "Essential Lisp files seem to be missing.  You should either"; \
 +        echo "do \`make bootstrap' or create \`lisp/abbrev.elc' somehow.";  \
 +        echo; \
 +        exit -1; \
 +      fi
 +
 +# Bootstrap depends on cmdproxy because some Lisp functions
 +# loaded during bootstrap may need to run shell commands.
 +bootstrap:    addsection cmdproxy bootstrap-$(MAKETYPE)
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) all
 +
 +bootstrap-nmake: addsection cmdproxy
 +      cd ..\lisp
 +      $(MAKE) $(MFLAGS) bootstrap-clean
 +      cd ..\src
 +      $(MAKE) $(MFLAGS) clean
 +      cd ..\lib-src
 +      $(MAKE) $(MFLAGS) clean make-docfile
 +      cd ..\lib
 +      $(MAKE) $(MFLAGS) clean all
 +      cd ..\src
 +      $(MAKE) $(MFLAGS) bootstrap
 +      $(MAKE) $(MFLAGS) bootstrap-clean
 +      cd ..\nt
 +      $(CP) $(BLD)/cmdproxy.exe ../bin
 +      cd ..\lisp
 +      $(MAKE) $(MFLAGS) SHELL=$(SHELLTYPE) bootstrap
 +      cd ..\lib-src
 +      $(MAKE) $(MFLAGS) DOC
 +      cd ..\nt
 +
 +bootstrap-gmake: addsection cmdproxy
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src make-docfile
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib all
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean
 +      $(CP) $(BLD)/cmdproxy.exe ../bin
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src DOC
 +
 +bootstrap-clean: bootstrap-clean-$(MAKETYPE)
 +
 +bootstrap-clean-nmake:
 +      cd ..\src
 +      $(MAKE) $(MFLAGS) bootstrap-clean
 +      cd ..\lib
 +      $(MAKE) $(MFLAGS) clean
 +      cd ..\lisp
 +      $(MAKE) $(MFLAGS) bootstrap-clean
 +
 +bootstrap-clean-gmake:
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean
 +
 +$(INSTALL_DIR):
 +      - mkdir "$(INSTALL_DIR)"
 +
 +$(INSTALL_DIR)/bin: $(INSTALL_DIR)
 +      - mkdir "$(INSTALL_DIR)/bin"
 +
 +#
 +# Build and install emacs in INSTALL_DIR
 +#
 +.PHONY: install-bin install-shortcuts
 +
 +install: install-bin install-shortcuts
 +
 +install-bin: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)
 +      - $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin
 +      - $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin
 +      - $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin
 +      - $(CP) README.W32 $(INSTALL_DIR)
 +      - $(DEL) ../$(DIRNAME)_same-dir.tst
 +      - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst
 +      echo SameDirTest > "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst"
 +      - mkdir "$(INSTALL_DIR)/etc"
 +      - mkdir "$(INSTALL_DIR)/info"
 +      - mkdir "$(INSTALL_DIR)/lock"
 +      - mkdir "$(INSTALL_DIR)/data"
 +      - mkdir "$(INSTALL_DIR)/site-lisp"
 +      - mkdir "$(INSTALL_DIR)/etc/icons"
 +      $(IFNOTSAMEDIR) $(CP) ../site-lisp/subdirs.el $(INSTALL_DIR)/site-lisp $(ENDIF)
 +      $(IFNOTSAMEDIR) $(CP_DIR) ../etc $(INSTALL_DIR) $(ENDIF)
 +      - $(CP_DIR) icons $(INSTALL_DIR)/etc
 +      $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR) $(ENDIF)
 +      $(IFNOTSAMEDIR) $(CP) ../COPYING $(INSTALL_DIR) $(ENDIF)
 +      - $(CP) ../COPYING $(INSTALL_DIR)/bin
 +      - $(DEL) ../$(DIRNAME)_same-dir.tst
 +      - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst
 +
 +install-other-dirs-nmake: all
 +      cd ..\lib-src
 +      $(MAKE) $(MFLAGS) install
 +      cd ..\src
 +      $(MAKE) $(MFLAGS) install
 +      cd ..\lisp
 +      $(MAKE) $(MFLAGS) install
 +      cd ..\leim
 +      $(MAKE) $(MFLAGS) install
 +      cd ..\nt
 +
 +install-other-dirs-gmake: all
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src install
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src install
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install
 +
 +install-shortcuts: $(INSTALL_DIR)/bin
 +      - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin
 +      "$(INSTALL_DIR)/bin/addpm" -q
 +
 +maybe-copy-distfiles: maybe-copy-distfiles-$(SHELLTYPE)
 +
 +maybe-copy-distfiles-CMD: create-tmp-dist-dir doit
-       @if not $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE)=="" $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin
++      @if not $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE) == "" $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin
 +
 +maybe-copy-distfiles-SH: create-tmp-dist-dir doit
-       @if [ ! $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE)=="" ] ; then \
++      @if [ ! $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE) == "" ] ; then \
 +        $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin ; \
 +      fi
 +
 +create-tmp-dist-dir:
 +      mkdir "$(TMP_DIST_DIR)"
 +# Also create bin directory for dist files.
 +      mkdir "$(TMP_DIST_DIR)/bin"
 +
 +dist: install-bin maybe-copy-distfiles
 +      $(CP) "$(INSTALL_DIR)/BUGS" $(TMP_DIST_DIR)
 +      $(CP) "$(INSTALL_DIR)/COPYING" $(TMP_DIST_DIR)
 +      $(CP) "$(INSTALL_DIR)/README" $(TMP_DIST_DIR)
 +      $(CP) "$(INSTALL_DIR)/README.W32" $(TMP_DIST_DIR)
 +      $(CP_DIR) "$(INSTALL_DIR)/bin" $(TMP_DIST_DIR)
 +      $(CP_DIR) "$(INSTALL_DIR)/etc" $(TMP_DIST_DIR)
 +      $(CP_DIR) "$(INSTALL_DIR)/info" $(TMP_DIST_DIR)
 +      $(CP_DIR) "$(INSTALL_DIR)/lisp" $(TMP_DIST_DIR)
 +      $(CP_DIR) "$(INSTALL_DIR)/leim" $(TMP_DIST_DIR)
 +      $(CP_DIR) "$(INSTALL_DIR)/site-lisp" $(TMP_DIST_DIR)
 +      $(COMSPEC)$(ComSpec) /c $(ARGQUOTE)zipdist.bat $(VERSION)$(ARGQUOTE)
 +      $(DEL_TREE) $(TMP_DIST_DIR)
 +
 +force-info:
 +# Note that doc/emacs/makefile knows how to
 +# put the info files in $(infodir),
 +# so we can do ok running make in the build dir.
 +info: force-info info-$(MAKETYPE)
 +
 +info-nmake:
 +      cd ..\doc\emacs
 +      $(MAKE) $(MFLAGS) info
 +      cd ..\misc
 +      $(MAKE) $(MFLAGS) info
 +      cd ..\lispref
 +      $(MAKE) $(MFLAGS) info
 +      cd ..\lispintro
 +      $(MAKE) $(MFLAGS) info
 +      cd $(MAKEDIR)
 +
 +info-gmake: emacs misc lispref lispintro
 +
 +emacs misc lispref lispintro:
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/$@ info
 +
 +#
 +# Maintenance
 +#
 +clean:        clean-other-dirs-$(MAKETYPE)
 +      - $(DEL) $(COMPILER_TEMP_FILES)
 +      - $(DEL_TREE) $(OBJDIR)
 +      - $(DEL) stamp_BLD
 +      - $(DEL) ../etc/DOC ../etc/DOC-X
 +
 +clean-other-dirs-nmake:
 +      cd ..\lib
 +      $(MAKE) $(MFLAGS) clean
 +      cd ..\lib-src
 +      $(MAKE) $(MFLAGS) clean
 +      cd ..\src
 +      $(MAKE) $(MFLAGS) clean
 +      cd ..\doc\lispintro
 +      $(MAKE) $(MFLAGS) clean
 +      cd ..\lispref
 +      $(MAKE) $(MFLAGS) clean
 +      cd ..\..\leim
 +      $(MAKE) $(MFLAGS) clean
 +      cd ..\doc\emacs
 +      $(MAKE) $(MFLAGS) clean
 +      cd ..\misc
 +      $(MAKE) $(MFLAGS) clean
 +      cd ..\..\nt
 +
 +clean-other-dirs-gmake:
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref clean
 +
 +cleanall-other-dirs-nmake:
 +      cd ..\lib
 +      $(MAKE) $(MFLAGS) cleanall
 +      cd ..\lib-src
 +      $(MAKE) $(MFLAGS) cleanall
 +      cd ..\src
 +      $(MAKE) $(MFLAGS) cleanall
 +      cd ..\nt
 +
 +cleanall-other-dirs-gmake:
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib cleanall
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src cleanall
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src cleanall
 +
 +# We used to delete *~ here, but that might inadvertently remove
 +# precious files if it happens to match their short 8+3 aliases.
 +cleanall: clean cleanall-other-dirs-$(MAKETYPE)
 +       - $(DEL_TREE) obj
 +       - $(DEL_TREE) obj-spd
 +       - $(DEL_TREE) oo
 +       - $(DEL_TREE) oo-spd
 +
 +top-distclean:
 +      - $(DEL) $(COMPILER_TEMP_FILES)
 +      - $(DEL_TREE) obj
 +      - $(DEL_TREE) obj-spd
 +      - $(DEL_TREE) oo
 +      - $(DEL_TREE) oo-spd
 +      - $(DEL) stamp_BLD
 +      - $(DEL) ../etc/DOC ../etc/DOC-X
 +      - $(DEL) config.log Makefile
 +      - $(DEL) ../README.W32
 +
 +distclean: distclean-other-dirs-$(MAKETYPE) top-distclean
 +
 +distclean-other-dirs-nmake:
 +      cd ..\lib
 +      $(MAKE) $(MFLAGS) distclean
 +      cd ..\lib-src
 +      $(MAKE) $(MFLAGS) distclean
 +      cd ..\src
 +      $(MAKE) $(MFLAGS) distclean
 +      cd ..\lisp
 +      $(MAKE) $(MFLAGS) distclean
 +      cd ..\leim
 +      $(MAKE) $(MFLAGS) distclean
 +      cd ..\doc\emacs
 +      $(MAKE) $(MFLAGS) distclean
 +      cd ..\misc
 +      $(MAKE) $(MFLAGS) distclean
 +      cd ..\lispintro
 +      $(MAKE) $(MFLAGS) distclean
 +      cd ..\lispref
 +      $(MAKE) $(MFLAGS) distclean
 +      cd ..\..\nt
 +
 +distclean-other-dirs-gmake:
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib distclean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src distclean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src distclean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp distclean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim distclean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs distclean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc distclean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro distclean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref distclean
 +
 +maintainer-clean: maintainer-clean-other-dirs-$(MAKETYPE) top-distclean
 +
 +maintainer-clean-other-dirs-nmake:
 +      cd ..\lib
 +      $(MAKE) $(MFLAGS) maintainer-clean
 +      cd ..\lib-src
 +      $(MAKE) $(MFLAGS) maintainer-clean
 +      cd ..\src
 +      $(MAKE) $(MFLAGS) maintainer-clean
 +      cd ..\lisp
 +      $(MAKE) $(MFLAGS) maintainer-clean
 +      cd ..\leim
 +      $(MAKE) $(MFLAGS) maintainer-clean
 +      cd ..\doc\emacs
 +      $(MAKE) $(MFLAGS) maintainer-clean
 +      cd ..\misc
 +      $(MAKE) $(MFLAGS) maintainer-clean
 +      cd ..\lispintro
 +      $(MAKE) $(MFLAGS) maintainer-clean
 +      cd ..\lispref
 +      $(MAKE) $(MFLAGS) maintainer-clean
 +      cd ..\..\nt
 +
 +maintainer-clean-other-dirs-gmake:
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib maintainer-clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src maintainer-clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src maintainer-clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp maintainer-clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim maintainer-clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs maintainer-clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc maintainer-clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro maintainer-clean
 +      $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref maintainer-clean
 +
 +realclean: cleanall
 +      - $(DEL_TREE) ../bin
 +
 +TAGS: TAGS-$(MAKETYPE)
 +
 +frc:
 +TAGS-gmake: frc
 +      ../lib-src/$(BLD)/etags $(CURDIR)/*.c
 +      $(MAKE) $(MFLAGS) -C ../src TAGS TAGS-LISP
 +      $(MAKE) $(MFLAGS) -C ../lib-src TAGS
 +      $(MAKE) $(MFLAGS) -C ../lib TAGS
 +
 +TAGS-nmake:
 +      echo This target is not supported with NMake
 +
 +.PHONY: frc
diff --combined src/ChangeLog
@@@ -1,49 -1,8 +1,64 @@@
 -2012-04-13  Atsuo Ohki  <ohki@gssm.otsuka.tsukuba.ac.jp>  (tiny change)
++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).
++      * lread.c (lisp_file_lexically_bound_p):
++      Fix hang at ";-*-\n" (bug#11238).
 -2012-04-10  Teodor Zlatanov  <tzz@lifelogs.com>
++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>
  
@@@ -9760,7 -9635,7 +9775,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/lread.c
@@@ -839,7 -839,7 +839,7 @@@ lisp_file_lexically_bound_p (Lisp_Objec
            }
  
          /* Stop scanning if no colon was found before end marker.  */
-         if (!in_file_vars)
+         if (!in_file_vars || ch == '\n' || ch == EOF)
            break;
  
          while (i > 0 && (var[i - 1] == ' ' || var[i - 1] == '\t'))
                  ch = READCHAR;
                }
              if (! in_file_vars)
-               /* The value was terminated by an end-marker, which
-                  remove.  */
+               /* The value was terminated by an end-marker, which remove.  */
                i -= 3;
              while (i > 0 && (val[i - 1] == ' ' || val[i - 1] == '\t'))
                i--;
@@@ -4442,7 -4441,7 +4441,7 @@@ were read in. */)
    Vread_circle = Qt;
  
    DEFVAR_LISP ("load-path", Vload_path,
 -             doc: /* *List of directories to search for files to load.
 +             doc: /* List of directories to search for files to load.
  Each element is a string (directory name) or nil (try default directory).
  Initialized based on EMACSLOADPATH environment variable, if any,
  otherwise to default specified by file `epaths.h' when Emacs was built.  */);
diff --combined src/xdisp.c
@@@ -14042,18 -14042,15 +14042,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)
@@@ -16606,7 -16602,15 +16606,15 @@@ find_last_unchanged_at_beg_row (struct 
             continued.  */
          && !(MATRIX_ROW_END_CHARPOS (row) == first_changed_pos
               && (row->continued_p
-                  || row->exact_window_width_line_p)))
+                  || row->exact_window_width_line_p))
+         /* If ROW->end is beyond ZV, then ROW->end is outdated and
+            needs to be recomputed, so don't consider this row as
+            unchanged.  This happens when the last line was
+            bidi-reordered and was killed immediately before this
+            redisplay cycle.  In that case, ROW->end stores the
+            buffer position of the first visual-order character of
+            the killed text, which is now beyond ZV.  */
+         && CHARPOS (row->end.pos) <= ZV)
        row_found = row;
  
        /* Stop if last visible row.  */
@@@ -28284,14 -28288,14 +28292,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;
  
@@@ -28311,7 -28315,7 +28319,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;
@@@ -28344,14 -28348,14 +28352,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
@@@ -28365,7 -28369,7 +28373,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;
@@@ -28401,20 -28405,20 +28409,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,
@@@ -28486,7 -28490,7 +28494,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
@@@ -28506,7 -28510,7 +28514,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
@@@ -28514,15 -28518,15 +28522,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.
@@@ -28530,7 -28534,7 +28538,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
@@@ -28538,7 -28542,7 +28546,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,
@@@ -28553,7 -28557,7 +28561,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;
@@@ -28568,7 -28572,7 +28576,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
@@@ -28579,7 -28583,7 +28587,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);
@@@ -28613,12 -28617,12 +28621,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
@@@ -28705,7 -28709,7 +28713,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;
@@@ -28726,7 -28730,7 +28734,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;