changeset 107661:3e1f021606db

from trunk
author Kenichi Handa <handa@m17n.org>
date Tue, 23 Mar 2010 10:03:53 +0900
parents 21f4a7e7d29b (current diff) d0d82a838677 (diff)
children debd2dae3330
files
diffstat 38 files changed, 747 insertions(+), 517 deletions(-) [+]
line wrap: on
line diff
--- a/doc/emacs/ChangeLog	Tue Mar 16 16:04:46 2010 +0900
+++ b/doc/emacs/ChangeLog	Tue Mar 23 10:03:53 2010 +0900
@@ -1,3 +1,31 @@
+2010-03-20  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* xresources.texi (Table of Resources): Clarify toolBar number
+	for Gtk+.
+
+	* frames.texi (Menu Bars): menuBarLines => menuBar (bug#5736).
+
+2010-03-21  Chong Yidong  <cyd@stupidchicken.com>
+
+	* dired.texi (Dired Updating): Document dired-auto-revert-buffer.
+
+	* search.texi (Other Repeating Search): Document multi-isearch-buffers
+	and multi-isearch-buffers-regexp.
+
+	* indent.texi (Indentation): Clarify description of
+	indent-for-tab-command.  Document tab-always-indent.
+
+2010-03-20  Chong Yidong  <cyd@stupidchicken.com>
+
+	* cmdargs.texi (Font X): Move most content to Fonts.
+
+	* frames.texi (Fonts): New node.  Document font-use-system-font.
+
+	* emacs.texi (Top):
+	* xresources.texi (Table of Resources):
+	* mule.texi (Defining Fontsets, Charsets): Update xrefs.
+
+>>>>>>> MERGE-SOURCE
 2010-03-06  Chong Yidong  <cyd@stupidchicken.com>
 
 	* custom.texi (Init Examples): Add xref to Locals.
--- a/doc/emacs/cmdargs.texi	Tue Mar 16 16:04:46 2010 +0900
+++ b/doc/emacs/cmdargs.texi	Tue Mar 23 10:03:53 2010 +0900
@@ -755,10 +755,9 @@
 @appendixsec Font Specification Options
 @cindex font name (X Window System)
 
-  By default, Emacs displays text in X using a twelve point monospace
-font.  You can specify a different font using the command line option
-@samp{-fn @var{font}} (or @samp{--font}, which is an alias for
-@samp{-fn}).
+You can use the command line option @samp{-fn @var{font}} (or
+@samp{--font}, which is an alias for @samp{-fn}) to specify a default
+font:
 
 @table @samp
 @item -fn @var{font}
@@ -772,252 +771,14 @@
 When passing a font specification to Emacs on the command line, you
 may need to ``quote'' it, by enclosing it in quotation marks, if it
 contains characters that the shell treats specially (e.g. spaces).
-Here is an example:
+For example:
 
 @smallexample
 emacs -fn "DejaVu Sans Mono-12"
 @end smallexample
 
-@cindex X defaults file
-@cindex X resources file
-  You can also specify the font using your X resources file (usually a
-file named @file{.Xdefaults} or @file{.Xresources} in your home
-directory), by adding a line like this:
-
-@smallexample
-emacs.font: @var{font}
-@end smallexample
-
-@noindent
-You must restart X, or use the @command{xrdb} command, for the X
-resources file to take effect.  @xref{Resources}.  When specifying a
-font in your X resources file, you should not quote it.
-
-@cindex fontconfig
-  Emacs recognizes two types of fonts: @dfn{client-side} fonts, which
-are provided by the Xft and Fontconfig libraries, and
-@dfn{server-side} fonts, which are provided by the X server itself.
-Most client-side fonts support advanced font features such as
-antialiasing and subpixel hinting, while server-side fonts do not.
-
-  There are four different ways to express a ``font name''.  The first
-format consists of @dfn{Fontconfig patterns}.  Fontconfig patterns
-match only client-side fonts provided by Xft and Fontconfig, and have
-the following form:
-
-@smallexample
-@var{fontname}[-@var{fontsize}][:@var{name1}=@var{values1}][:@var{name2}=@var{values2}]...
-@end smallexample
-
-@noindent
-Within this format, any of the elements in braces may be omitted.
-Here, @var{fontname} is the ``family name'' of the font, such as
-@samp{Monospace} or @samp{DejaVu Serif}; @var{fontsize} is the ``point
-size'' of the font (one ``printer's point'' is about 1/72 of an inch);
-and the @samp{@var{name}=@var{values}} entries specify settings such
-as the slant and weight of the font.  Each @var{values} may be a
-single value, or a list of values separated by commas.  In addition,
-some property values are valid with only one kind of property name, in
-which case the @samp{@var{name}=} part may be omitted.
-
-Here is a list of common font properties:
-
-@table @samp
-@item slant
-One of @samp{italic}, @samp{oblique} or @samp{roman}.
-
-@item weight
-One of @samp{light}, @samp{medium}, @samp{demibold}, @samp{bold} or
-@samp{black}.
-
-@item style
-Some fonts define special styles which are a combination of slant and
-weight.  For instance, the font @samp{Dejavu Sans} defines the style
-@samp{book}.  This property, if specified, overrides the slant and
-weight properties.
-
-@item width
-One of @samp{condensed}, @samp{normal}, or @samp{expanded}.
-
-@item spacing
-One of @samp{monospace}, @samp{proportional}, @samp{dual-width}, or
-@samp{charcell}.
-@end table
-
-@noindent
-Here are some examples of Fontconfig patterns:
-
-@smallexample
-Monospace
-Monospace-12
-Monospace-12:bold
-DejaVu Sans Mono:bold:italic
-Monospace-12:weight=bold:slant=italic
-@end smallexample
-
-See the Fontconfig manual for a more detailed description of
-Fontconfig patterns.  This manual is located in the file
-@file{fontconfig-user.html}, which is distributed with Fontconfig.  It
-is also available online at
-@url{http://fontconfig.org/fontconfig-user.html}.  In particular, the
-manual describes additional font properties that influence how the
-font is hinted, antialiased, or scaled.
-
-  The second way to specify a font is to use a @dfn{GTK font
-description}.  Like Fontconfig patterns, GTK font descriptions match
-only client-side fonts provided by Xft and Fontconfig.  They have the
-syntax
-
-@smallexample
-@var{fontname} [@var{properties}] [@var{fontsize}]
-@end smallexample
-
-@noindent
-where @var{fontname} is the family name, @var{properties} is a list of
-property values separated by spaces, and @var{fontsize} is the point
-size.  The properties that you may specify are as follows:
-
-@table @samp
-@item style
-One of @samp{roman}, @samp{italic} or @samp{oblique}.  If omitted, the
-@samp{roman} style is used.
-@item weight
-One of @samp{medium}, @samp{ultra-light}, @samp{light},
-@samp{semi-bold}, or @samp{bold}.  If omitted, @samp{medium} weight is
-used.
-@end table
-
-@noindent
-Here are some examples of GTK font descriptions:
-
-@smallexample
-Monospace 12
-Monospace Bold Italic 12
-@end smallexample
-
-@cindex XLFD
-@cindex X Logical Font Description
-  The third way to specify a font is to use an @dfn{XLFD} (@dfn{X
-Logical Font Description}), which is the traditional method for
-specifying fonts under X.  Each XLFD consists of fourteen words or
-numbers, separated by dashes, like this:
-
-@smallexample
--misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1
-@end smallexample
-
-@noindent
-A wildcard character (@samp{*}) in an XLFD matches any sequence of
-characters (including none), and @samp{?} matches any single
-character.  However, matching is implementation-dependent, and can be
-inaccurate when wildcards match dashes in a long name.  For reliable
-results, supply all 14 dashes and use wildcards only within a field.
-Case is insignificant in an XLFD.  The syntax for an XLFD is as
-follows:
-
-@smallexample
--@var{maker}-@var{family}-@var{weight}-@var{slant}-@var{widthtype}-@var{style}@dots{}
-@dots{}-@var{pixels}-@var{height}-@var{horiz}-@var{vert}-@var{spacing}-@var{width}-@var{registry}-@var{encoding}
-@end smallexample
-
-@noindent
-The entries have the following meanings:
-
-@table @var
-@item maker
-The name of the font manufacturer.
-@item family
-The name of the font family (e.g. @samp{courier}).
-@item weight
-The font weight---normally either @samp{bold}, @samp{medium} or
-@samp{light}.  Some font names support other values.
-@item slant
-The font slant---normally @samp{r} (roman), @samp{i} (italic),
-@samp{o} (oblique), @samp{ri} (reverse italic), or @samp{ot} (other).
-Some font names support other values.
-@item widthtype
-The font width---normally @samp{condensed}, @samp{extended},
-@samp{semicondensed} or @samp{normal} (some font names support other
-values).
-@item style
-An optional additional style name.  Usually it is empty---most long
-font names have two hyphens in a row at this point.
-@item pixels
-The font height, in pixels.
-@item height
-The font height on the screen, measured in tenths of a printer's
-point.  This is the point size of the font, times ten.  For a given
-vertical resolution, @var{height} and @var{pixels} are proportional;
-therefore, it is common to specify just one of them and use @samp{*}
-for the other.
-@item horiz
-The horizontal resolution, in pixels per inch, of the screen for which
-the font is intended.
-@item vert
-The vertical resolution, in pixels per inch, of the screen for which
-the font is intended.  Normally the resolution of the fonts on your
-system is the right value for your screen; therefore, you normally
-specify @samp{*} for this and @var{horiz}.
-@item spacing
-This is @samp{m} (monospace), @samp{p} (proportional) or @samp{c}
-(character cell).
-@item width
-The average character width, in pixels, multiplied by ten.
-@item registry
-@itemx encoding
-The X font character set that the font depicts.  (X font character
-sets are not the same as Emacs character sets, but they are similar.)
-You can use the @command{xfontsel} program to check which choices you
-have.  Normally you should use @samp{iso8859} for @var{registry} and
-@samp{1} for @var{encoding}.
-@end table
-
-  Some fonts have shorter nicknames, which you can use instead of a
-normal font specification.  For instance,
-
-@smallexample
--misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1
-@end smallexample
-
-@noindent
-is equivalent to @samp{6x13}.  This is the fourth and final method of
-specifying a font.
-
-@cindex listing system fonts
-  You will probably want to use a fixed-width default font---that is,
-a font in which all characters have the same width.  Here's how to use
-the @command{fc-list} command to list all fixed-width Xft and
-Fontconfig fonts available on your system:
-
-@example
-fc-list :spacing=mono
-fc-list :spacing=charcell
-@end example
-
-  For server-side X fonts, any font with @samp{m} or @samp{c} in the
-@var{spacing} field of the XLFD is a fixed-width font.  Here's how to
-use the @command{xlsfonts} program to list all the fixed-width fonts
-available on your system:
-
-@example
-xlsfonts -fn '*x*' | egrep "^[0-9]+x[0-9]+"
-xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-m*'
-xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-c*'
-@end example
-
-@noindent
-To see what a particular font looks like, use the @command{xfd} command.
-For example:
-
-@example
-xfd -fn 6x13
-@end example
-
-@noindent
-displays the entire font @samp{6x13}.
-
-  While running Emacs, you can set the font of a specific kind of text
-(@pxref{Faces}), or of a particular frame (@pxref{Frame Parameters}).
+@xref{Fonts}, for other ways to specify the default font and font name
+formats.
 
 @node Colors
 @appendixsec Window Color Options
--- a/doc/emacs/dired.texi	Tue Mar 16 16:04:46 2010 +0900
+++ b/doc/emacs/dired.texi	Tue Mar 23 10:03:53 2010 +0900
@@ -1099,6 +1099,15 @@
   If you use @kbd{l} on a subdirectory header line, it updates the
 contents of the corresponding subdirectory.
 
+@vindex dired-auto-revert-buffer
+  If you use @kbd{C-x d} or some other Dired command to visit a
+directory that is already being shown in a Dired buffer, Dired
+switches to that buffer but does not update it.  If the buffer is not
+up-to-date, Dired displays a warning telling you to type @key{g} to
+update it.  You can also tell Emacs to revert each Dired buffer
+automatically when you revisit it, by setting the variable
+@code{dired-auto-revert-buffer} to a non-@code{nil} value.
+
 @kindex k @r{(Dired)}
 @findex dired-do-kill-lines
   To delete the specified @emph{file lines} from the buffer---not
--- a/doc/emacs/emacs.texi	Tue Mar 16 16:04:46 2010 +0900
+++ b/doc/emacs/emacs.texi	Tue Mar 23 10:03:53 2010 +0900
@@ -502,6 +502,7 @@
 * Mode Line Mouse::     Mouse clicks on the mode line.
 * Creating Frames::     Creating additional Emacs frames with various contents.
 * Frame Commands::      Iconifying, deleting, and switching frames.
+* Fonts::               Changing the frame font.
 * Speedbar::            How to make and use a speedbar frame.
 * Multiple Displays::   How one Emacs job can talk to several displays.
 * Special Buffer Frames::  You can make certain buffers have their own frames.
--- a/doc/emacs/frames.texi	Tue Mar 16 16:04:46 2010 +0900
+++ b/doc/emacs/frames.texi	Tue Mar 23 10:03:53 2010 +0900
@@ -39,6 +39,7 @@
 * Mode Line Mouse::     Mouse clicks on the mode line.
 * Creating Frames::     Creating additional Emacs frames with various contents.
 * Frame Commands::      Iconifying, deleting, and switching frames.
+* Fonts::               Changing the frame font.
 * Speedbar::            How to make and use a speedbar frame.
 * Multiple Displays::   How one Emacs job can talk to several displays.
 * Special Buffer Frames::  You can make certain buffers have their own frames.
@@ -571,25 +572,19 @@
 Lisp Reference Manual}, for more information.
 
 @cindex font (default)
-  For instance, one way to specify the principal font for all your
-Emacs frames is to modify @code{default-frame-alist} to specify the
-@code{font} parameter (@pxref{Font X}):
+  Here is an example of using @code{default-frame-alist} to specify
+the default foreground color and font:
 
 @example
 (add-to-list 'default-frame-alist '(font . "10x20"))
-@end example
-
-@noindent
-Here's a similar example for specifying a foreground color:
-
-@example
 (add-to-list 'default-frame-alist '(foreground-color . "blue"))
 @end example
 
 @noindent
 By putting such customizations in your init file, you can control the
-appearance of all the frames Emacs creates, including the initial one.
-@xref{Init File}.
+appearance of all the frames Emacs creates, including the initial one
+(@pxref{Init File}).  @xref{Fonts}, for other ways to set the default
+font.
 
 @node Frame Commands
 @section Frame Commands
@@ -645,6 +640,278 @@
 a frame that raises, so this variable has no effect in the native
 MS-Windows build of Emacs.
 
+@node Fonts
+@section Fonts
+@cindex fonts
+
+  By default, Emacs displays text in X using a 12-point monospace
+font.  There are several different ways to specify a different font:
+
+@itemize
+@item
+Click on @samp{Set Default Font} in the @samp{Options} menu.  To save
+this for future sessions, click on @samp{Save Options} in the
+@samp{Options} menu.
+
+@item
+Add a line to your init file (@pxref{Init File}), modifying the
+variable @code{default-frame-alist} to specify the @code{font}
+parameter (@pxref{Creating Frames}), like this:
+
+@smallexample
+(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12"))
+@end smallexample
+
+@cindex X defaults file
+@cindex X resources file
+@item
+Add an @samp{emacs.font} X resource setting to your X resource file,
+like this:
+
+@smallexample
+emacs.font: DejaVu Sans Mono-12
+@end smallexample
+
+@noindent
+You must restart X, or use the @command{xrdb} command, for the X
+resources file to take effect.  @xref{Resources}.  When specifying a
+font in your X resources file, you should not quote it.
+
+@item
+If you are running Emacs on the GNOME desktop, you can tell Emacs to
+use the default system font by setting the variable
+@code{font-use-system-font} to @code{t} (the default is @code{nil}).
+For this to work, Emacs must be compiled with Gconf support; this is
+done automatically if the libraries are present at compile time.
+
+@item
+Use the command line option @samp{-fn} (or @samp{--font}).  @xref{Font
+X}.
+@end itemize
+
+@cindex fontconfig
+  On X, there are four different ways to express a ``font name''.  The
+first is to use a @dfn{Fontconfig pattern}.  Fontconfig patterns have
+the following form:
+
+@smallexample
+@var{fontname}[-@var{fontsize}][:@var{name1}=@var{values1}][:@var{name2}=@var{values2}]...
+@end smallexample
+
+@noindent
+Within this format, any of the elements in braces may be omitted.
+Here, @var{fontname} is the @dfn{family name} of the font, such as
+@samp{Monospace} or @samp{DejaVu Serif}; @var{fontsize} is the
+@dfn{point size} of the font (one @dfn{printer's point} is about 1/72
+of an inch); and the @samp{@var{name}=@var{values}} entries specify
+settings such as the slant and weight of the font.  Each @var{values}
+may be a single value, or a list of values separated by commas.  In
+addition, some property values are valid with only one kind of
+property name, in which case the @samp{@var{name}=} part may be
+omitted.
+
+Here is a list of common font properties:
+
+@table @samp
+@item slant
+One of @samp{italic}, @samp{oblique} or @samp{roman}.
+
+@item weight
+One of @samp{light}, @samp{medium}, @samp{demibold}, @samp{bold} or
+@samp{black}.
+
+@item style
+Some fonts define special styles which are a combination of slant and
+weight.  For instance, @samp{Dejavu Sans} defines the @samp{book}
+style, which overrides the slant and weight properties.
+
+@item width
+One of @samp{condensed}, @samp{normal}, or @samp{expanded}.
+
+@item spacing
+One of @samp{monospace}, @samp{proportional}, @samp{dual-width}, or
+@samp{charcell}.
+@end table
+
+@noindent
+Here are some examples of Fontconfig patterns:
+
+@smallexample
+Monospace
+Monospace-12
+Monospace-12:bold
+DejaVu Sans Mono:bold:italic
+Monospace-12:weight=bold:slant=italic
+@end smallexample
+
+See the Fontconfig manual for a more detailed description of
+Fontconfig patterns.  This manual is located in the file
+@file{fontconfig-user.html}, distributed with Fontconfig.  It is also
+available online at @url{http://fontconfig.org/fontconfig-user.html}.
+In particular, that manual describes additional font properties that
+influence how the font is hinted, antialiased, or scaled.
+
+  The second way to specify a font is to use a @dfn{GTK font
+description}.  These have the syntax
+
+@smallexample
+@var{fontname} [@var{properties}] [@var{fontsize}]
+@end smallexample
+
+@noindent
+where @var{fontname} is the family name, @var{properties} is a list of
+property values separated by spaces, and @var{fontsize} is the point
+size.  The properties that you may specify are as follows:
+
+@table @samp
+@item style
+One of @samp{roman}, @samp{italic} or @samp{oblique}.  If omitted, the
+@samp{roman} style is used.
+@item weight
+One of @samp{medium}, @samp{ultra-light}, @samp{light},
+@samp{semi-bold}, or @samp{bold}.  If omitted, @samp{medium} weight is
+used.
+@end table
+
+@noindent
+Here are some examples of GTK font descriptions:
+
+@smallexample
+Monospace 12
+Monospace Bold Italic 12
+@end smallexample
+
+@cindex XLFD
+@cindex X Logical Font Description
+  The third way to specify a font is to use an @dfn{XLFD} (@dfn{X
+Logical Font Description}).  This is the traditional method for
+specifying fonts under X.  Each XLFD consists of fourteen words or
+numbers, separated by dashes, like this:
+
+@smallexample
+-misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1
+@end smallexample
+
+@noindent
+A wildcard character (@samp{*}) in an XLFD matches any sequence of
+characters (including none), and @samp{?} matches any single
+character.  However, matching is implementation-dependent, and can be
+inaccurate when wildcards match dashes in a long name.  For reliable
+results, supply all 14 dashes and use wildcards only within a field.
+Case is insignificant in an XLFD.  The syntax for an XLFD is as
+follows:
+
+@smallexample
+-@var{maker}-@var{family}-@var{weight}-@var{slant}-@var{widthtype}-@var{style}@dots{}
+@dots{}-@var{pixels}-@var{height}-@var{horiz}-@var{vert}-@var{spacing}-@var{width}-@var{registry}-@var{encoding}
+@end smallexample
+
+@noindent
+The entries have the following meanings:
+
+@table @var
+@item maker
+The name of the font manufacturer.
+@item family
+The name of the font family (e.g. @samp{courier}).
+@item weight
+The font weight---normally either @samp{bold}, @samp{medium} or
+@samp{light}.  Some font names support other values.
+@item slant
+The font slant---normally @samp{r} (roman), @samp{i} (italic),
+@samp{o} (oblique), @samp{ri} (reverse italic), or @samp{ot} (other).
+Some font names support other values.
+@item widthtype
+The font width---normally @samp{condensed}, @samp{extended},
+@samp{semicondensed} or @samp{normal} (some font names support other
+values).
+@item style
+An optional additional style name.  Usually it is empty---most long
+font names have two hyphens in a row at this point.
+@item pixels
+The font height, in pixels.
+@item height
+The font height on the screen, measured in tenths of a printer's
+point.  This is the point size of the font, times ten.  For a given
+vertical resolution, @var{height} and @var{pixels} are proportional;
+therefore, it is common to specify just one of them and use @samp{*}
+for the other.
+@item horiz
+The horizontal resolution, in pixels per inch, of the screen for which
+the font is intended.
+@item vert
+The vertical resolution, in pixels per inch, of the screen for which
+the font is intended.  Normally the resolution of the fonts on your
+system is the right value for your screen; therefore, you normally
+specify @samp{*} for this and @var{horiz}.
+@item spacing
+This is @samp{m} (monospace), @samp{p} (proportional) or @samp{c}
+(character cell).
+@item width
+The average character width, in pixels, multiplied by ten.
+@item registry
+@itemx encoding
+The X font character set that the font depicts.  (X font character
+sets are not the same as Emacs character sets, but they are similar.)
+You can use the @command{xfontsel} program to check which choices you
+have.  Normally you should use @samp{iso8859} for @var{registry} and
+@samp{1} for @var{encoding}.
+@end table
+
+  The fourth and final method of specifying a font is to use a ``font
+nickname''.  Certain fonts have shorter nicknames, which you can use
+instead of a normal font specification.  For instance, @samp{6x13} is
+equivalent to
+
+@smallexample
+-misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1
+@end smallexample
+
+@cindex client-side fonts
+@cindex server-side fonts
+  On X, Emacs recognizes two types of fonts: @dfn{client-side} fonts,
+which are provided by the Xft and Fontconfig libraries, and
+@dfn{server-side} fonts, which are provided by the X server itself.
+Most client-side fonts support advanced font features such as
+antialiasing and subpixel hinting, while server-side fonts do not.
+Fontconfig and GTK patterns match only client-side fonts.
+
+@cindex listing system fonts
+  You will probably want to use a fixed-width default font---that is,
+a font in which all characters have the same width.  For Xft and
+Fontconfig fonts, you can use the @command{fc-list} command to list
+the available fixed-width fonts, like this:
+
+@example
+fc-list :spacing=mono fc-list :spacing=charcell
+@end example
+
+@noindent
+For server-side X fonts, you can use the @command{xlsfonts} program to
+list the available fixed-width fonts, like this:
+
+@example
+xlsfonts -fn '*x*' | egrep "^[0-9]+x[0-9]+"
+xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-m*'
+xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-c*'
+@end example
+
+@noindent
+Any font with @samp{m} or @samp{c} in the @var{spacing} field of the
+XLFD is a fixed-width font.  To see what a particular font looks like,
+use the @command{xfd} command.  For example:
+
+@example
+xfd -fn 6x13
+@end example
+
+@noindent
+displays the entire font @samp{6x13}.
+
+  While running Emacs, you can also set the font of a specific kind of
+text (@pxref{Faces}), or a particular frame (@pxref{Frame
+Parameters}).
+
 @node Speedbar
 @section Speedbar Frames
 @cindex speedbar
@@ -957,7 +1224,7 @@
 With no argument, this command toggles Menu Bar mode, a
 minor mode.  With an argument, the command turns Menu Bar mode on if the
 argument is positive, off if the argument is not positive.  You can use
-the X resource @samp{menuBarLines} to control the initial setting of
+the X resource @samp{menuBar} to control the initial setting of
 Menu Bar mode.  @xref{Resources}.
 
 @kindex C-Mouse-3 @r{(when menu bar is disabled)}
--- a/doc/emacs/indent.texi	Tue Mar 16 16:04:46 2010 +0900
+++ b/doc/emacs/indent.texi	Tue Mar 23 10:03:53 2010 +0900
@@ -37,34 +37,38 @@
 Indent from point to under an indentation point in the previous line.
 @end table
 
-  In most major modes, the @key{TAB} key runs the command
-@code{indent-for-tab-command}, which either performs indentation or
-inserts whitespace at point, depending on the situation.
+@noindent
+The @key{TAB} key runs @code{indent-for-tab-command} in most major
+modes (in C and related modes, @key{TAB} runs a separate command,
+@code{c-indent-line-or-region}, which behaves similarly).  The major
+mode determines just what this entails.
 
-  In programming modes such as Lisp mode and C mode, @key{TAB} indents
-the current line if the region is inactive.  If the region is active,
-it indents every line in the region (@pxref{Mark}).  Indentation means
-adding or removing some combination of space and tab characters
-(@dfn{whitespace characters}) at the start of the line, in a way that
-makes sense given the text in the preceding lines.  Exactly how
-indentation is performed depends on the major mode.  @xref{Program
-Indent}.
+  In text modes, @key{TAB} inserts some combination of space and tab
+characters to advance point to the next tab stop (@pxref{Tab Stops}).
+If the region is active and spans multiple lines, it advances the
+first character of each of those lines to the next tab stop
+(@pxref{Using Region}).  For the purposes of this command, the
+position of the first non-whitespace character on the preceding line
+is treated as an additional tab stop.  Thus, you can use @key{TAB} to
+``align'' point with the preceding line.
 
-  In text modes, @key{TAB} inserts some whitespace characters to
-advance point to the next tab stop (@pxref{Tab Stops}).  For the
-purposes of this command, the position of the first non-whitespace
-character on the preceding line is treated as an additional tab stop.
-You can therefore use @key{TAB} to ``align'' point with the preceding
-line.  If the region is active, @key{TAB} performs this action on
-every line in the region.
+  In programming modes, @key{TAB} adds or removes some combination of
+space and tab characters at the start of the line, in a way that makes
+sense given the text in the preceding lines.  If the region is active
+and spans multiple lines, all those lines are indented this way.  If
+point was initially within the current line's indentation, it is
+positioned after that indentation; otherwise, it remains at same point
+in the newly-indented text.  @xref{Program Indent}.
 
 @vindex tab-width
-  Indentation is often performed with the help of @dfn{tab characters}
-(@acronym{ASCII} code 9), which are displayed as a stretch of empty space
-extending to the next @dfn{display tab stop}.  By default, there is
-one display tab stop every eight columns; the number of columns is
-determined by the variable @code{tab-width}.  You can insert a single
-tab character by typing @kbd{C-q @key{TAB}}.  @xref{Text Display}.
+  Normally, indentation commands insert (or remove) an optimal mix of
+@dfn{tab characters} and spaces to align to the desired column.  Tab
+characters (@acronym{ASCII} code 9) are displayed as a stretch of
+empty space extending to the next @dfn{display tab stop}.  By default,
+there is one display tab stop every eight columns; the number of
+columns is determined by the variable @code{tab-width}.  You can
+insert a single tab character by typing @kbd{C-q @key{TAB}}.
+@xref{Text Display}.
 
 @findex edit-tab-stops
 @findex tab-to-tab-stop
@@ -74,11 +78,20 @@
 to advance point up to the next tab stop.  By default, this involves
 deleting the existing whitespace and inserting a single tab character.
 
-  Normally, most of these indentation commands insert an optimal mix
-of tabs and spaces to align to the desired column.  @xref{Just
-Spaces}, for how to disable use of tabs.  However, @kbd{C-q @key{TAB}}
-always inserts a tab, even when tabs are disabled for the indentation
-commands.
+  @xref{Just Spaces}, for how to disable use of tabs.  However,
+@kbd{C-q @key{TAB}} always inserts a tab, even when tabs are disabled
+for the indentation commands.
+
+@vindex tab-always-indent
+  The variable @code{tab-always-indent} tweaks the behavior of the
+@key{TAB} (@code{indent-for-tab-command}) command.  The default value,
+@code{t}, gives the behavior described above.  If you change the value
+to the symbol @code{complete}, then @key{TAB} first tries to indent
+the current line, and if the line was already indented, it tries to
+complete the text at point (@pxref{Symbol Completion}).  If the value
+is @code{nil}, then @key{TAB} indents the current line only if point
+is at the left margin or in the line's indentation; otherwise, it
+inserts a real tab character.
 
 @menu
 * Indentation Commands::  Various commands and techniques for indentation.
--- a/doc/emacs/mule.texi	Tue Mar 16 16:04:46 2010 +0900
+++ b/doc/emacs/mule.texi	Tue Mar 23 10:03:53 2010 +0900
@@ -1442,7 +1442,7 @@
 fontset is called @code{create-fontset-from-fontset-spec}.  You can also
 call this function explicitly to create a fontset.
 
-  @xref{Font X}, for more information about font naming in X.
+  @xref{Fonts}, for more information about font naming.
 
 @node Modifying Fontsets
 @section Modifying Fontsets
@@ -1619,7 +1619,7 @@
 that you don't have to worry about them.  However, it is sometimes
 helpful to know some of the underlying details about charsets.
 
-  One example is font selection (@pxref{Font X}).  Each language
+  One example is font selection (@pxref{Fonts}).  Each language
 environment (@pxref{Language Environments}) defines a ``priority
 list'' for the various charsets.  When searching for a font, Emacs
 initially attempts to find one that can display the highest-priority
--- a/doc/emacs/search.texi	Tue Mar 16 16:04:46 2010 +0900
+++ b/doc/emacs/search.texi	Tue Mar 23 10:03:53 2010 +0900
@@ -1294,13 +1294,25 @@
 @findex keep-lines
 
 @table @kbd
-@item M-x occur @key{RET} @var{regexp} @key{RET}
-Display a list showing each line in the buffer that contains a match
-for @var{regexp}.  To limit the search to part of the buffer, narrow
-to that part (@pxref{Narrowing}).  A numeric argument @var{n}
-specifies that @var{n} lines of context are to be displayed before and
-after each matching line.  Currently, @code{occur} can not correctly
-handle multiline matches.
+@item M-x multi-isearch-buffers
+Prompt for one or more buffer names, ending with @key{RET}; then,
+begin a multi-buffer incremental search in those buffers.  (If the
+search fails in one buffer, the next @kbd{C-s} tries searching the
+next specified buffer, and so forth.)  With a prefix argument, prompt
+for a regexp and begin a multi-buffer incremental search in buffers
+matching that regexp.
+
+@item M-x multi-isearch-buffers-regexp
+This command is just like @code{multi-isearch-buffers}, except it
+performs an incremental regexp search.
+
+@item M-x occur
+Prompt for a regexp, and display a list showing each line in the
+buffer that contains a match for it.  To limit the search to part of
+the buffer, narrow to that part (@pxref{Narrowing}).  A numeric
+argument @var{n} specifies that @var{n} lines of context are to be
+displayed before and after each matching line.  Currently,
+@code{occur} can not correctly handle multiline matches.
 
 @kindex RET @r{(Occur mode)}
 @kindex o @r{(Occur mode)}
@@ -1325,41 +1337,42 @@
 @item M-x list-matching-lines
 Synonym for @kbd{M-x occur}.
 
-@item M-x multi-occur @key{RET} @var{buffers} @key{RET} @var{regexp} @key{RET}
-This function is just like @code{occur}, except it is able to search
-through multiple buffers.  It asks you to specify the buffer names one by one.
+@item M-x multi-occur
+This command is just like @code{occur}, except it is able to search
+through multiple buffers.  It asks you to specify the buffer names one
+by one.
 
-@item M-x multi-occur-in-matching-buffers @key{RET} @var{bufregexp} @key{RET} @var{regexp} @key{RET}
-This function is similar to @code{multi-occur}, except the buffers to
-search are specified by a regular expression that matches visited
-file names.  With a prefix argument, it uses the regular expression to match
-buffer names instead.
+@item M-x multi-occur-in-matching-buffers
+This command is similar to @code{multi-occur}, except the buffers to
+search are specified by a regular expression that matches visited file
+names.  With a prefix argument, it uses the regular expression to
+match buffer names instead.
 
-@item M-x how-many @key{RET} @var{regexp} @key{RET}
-Print the number of matches for @var{regexp} that exist in the buffer
-after point.  If the region is active, this operates on the region
-instead.
+@item M-x how-many
+Prompt for a regexp, and print the number of matches for it in the
+buffer after point.  If the region is active, this operates on the
+region instead.
 
-@item M-x flush-lines @key{RET} @var{regexp} @key{RET}
-This command deletes each line that contains a match for @var{regexp},
-operating on the text after point; it deletes the current line if it
-contains a match starting after point.  If the region is active, it
-operates on the region instead; if a line partially contained in the
-region contains a match entirely contained in the region, it is
-deleted.
+@item M-x flush-lines
+Prompt for a regexp, and delete each line that contains a match for
+it, operating on the text after point.  This command deletes the
+current line if it contains a match starting after point.  If the
+region is active, it operates on the region instead; if a line
+partially contained in the region contains a match entirely contained
+in the region, it is deleted.
 
 If a match is split across lines, @code{flush-lines} deletes all those
 lines.  It deletes the lines before starting to look for the next
 match; hence, it ignores a match starting on the same line at which
 another match ended.
 
-@item M-x keep-lines @key{RET} @var{regexp} @key{RET}
-This command deletes each line that @emph{does not} contain a match
-for @var{regexp}, operating on the text after point; if point is not
-at the beginning of a line, it always keeps the current line.  If the
-region is active, the command operates on the region instead; it never
-deletes lines that are only partially contained in the region (a
-newline that ends a line counts as part of that line).
+@item M-x keep-lines
+Prompt for a regexp, and delete each line that @emph{does not} contain
+a match for it, operating on the text after point.  If point is not at
+the beginning of a line, this command always keeps the current line.
+If the region is active, the command operates on the region instead;
+it never deletes lines that are only partially contained in the region
+(a newline that ends a line counts as part of that line).
 
 If a match is split across lines, this command keeps all those lines.
 @end table
--- a/doc/emacs/xresources.texi	Tue Mar 16 16:04:46 2010 +0900
+++ b/doc/emacs/xresources.texi	Tue Mar 23 10:03:53 2010 +0900
@@ -193,7 +193,7 @@
 @end ifnottex
 
 @item @code{font} (class @code{Font})
-Font name for the @code{default} font.  @xref{Font X}.  You can also
+Font name for the @code{default} font.  @xref{Fonts}.  You can also
 specify a fontset name (@pxref{Fontsets}).
 
 @item @code{fontBackend} (class @code{FontBackend})
@@ -307,12 +307,14 @@
 @item @code{toolBar} (class @code{ToolBar})
 @cindex tool bar
 Number of lines to reserve for the tool bar.  A zero value suppresses
-the tool bar.  If the value is non-zero and
-@code{auto-resize-tool-bars} is non-@code{nil}, the tool bar's size
-will be changed automatically so that all tool bar items are visible.
+the tool bar.  For the Emacs tool bar (i.e. not Gtk+), if the value is 
+non-zero and @code{auto-resize-tool-bars} is non-@code{nil}, the tool bar's
+size will be changed automatically so that all tool bar items are visible.
   If the value of @code{auto-resize-tool-bars} is @code{grow-only},
 the tool bar expands automatically, but does not contract automatically.
 To contract the tool bar, you must redraw the frame by entering @kbd{C-l}.
+For the Gtk+ tool bar, any non-zero value means on and
+@code{auto-resize-tool-bars} has no effect.
 
 @item @code{useXIM} (class @code{UseXIM})
 @cindex XIM
--- a/doc/lispref/ChangeLog	Tue Mar 16 16:04:46 2010 +0900
+++ b/doc/lispref/ChangeLog	Tue Mar 23 10:03:53 2010 +0900
@@ -1,3 +1,7 @@
+2010-03-21  Chong Yidong  <cyd@stupidchicken.com>
+
+	* processes.texi (Network Processes): Document seqpacket type.
+
 2010-03-06  Chong Yidong  <cyd@stupidchicken.com>
 
 	* objects.texi (Integer Type): Take note of the read syntax
--- a/doc/lispref/processes.texi	Tue Mar 16 16:04:46 2010 +0900
+++ b/doc/lispref/processes.texi	Tue Mar 23 10:03:53 2010 +0900
@@ -2059,7 +2059,8 @@
 @item :type @var{type}
 Specify the communication type.  A value of @code{nil} specifies a
 stream connection (the default); @code{datagram} specifies a datagram
-connection.  Both connections and servers can be of either type.
+connection; @code{seqpacket} specifies a ``sequenced packet stream''
+connection.  Both connections and servers can be of these types.
 
 @item :server @var{server-flag}
 If @var{server-flag} is non-@code{nil}, create a server.  Otherwise,
--- a/etc/NEWS	Tue Mar 16 16:04:46 2010 +0900
+++ b/etc/NEWS	Tue Mar 23 10:03:53 2010 +0900
@@ -71,14 +71,14 @@
 Customize `make-pointer-invisible' to disable this feature.
 
 ** Font changes
-
++++
 *** Emacs can use the system default monospaced font in Gnome.
 To enable this feature, set `font-use-system-font' to non-nil (it is
 nil by default).  If the system default changes, Emacs changes also.
 This feature requires Gconf support, which is automatically included
 at compile-time if configure detects the gconf libraries (you can
 disable this with the configure option --without-gconf).
-
+---
 *** On X11, Emacs reacts to Xft changes made by configuration tools,
 via the XSETTINGS mechanism.  This includes antialias, hinting,
 hintstyle, RGBA, DPI and lcdfilter changes.
@@ -143,7 +143,7 @@
 ** Completion changes
 
 *** The new command `completion-at-point' provides mode-sensitive completion.
-
++++
 *** tab-always-indent set to `complete' lets TAB do completion as well.
 +++
 *** The new completion-style `initials' is available.
@@ -185,6 +185,7 @@
 
 ** LaTeX mode now provides completion (via completion-at-point).
 
+---
 ** sym-comp.el is now declared obsolete, superceded by completion-at-point.
 
 ** lucid.el and levents.el are now declared obsolete.
@@ -197,20 +198,16 @@
 *** The Calc settings file is now a file named calc.el in
 user-emacs-directory; but the old location, ~/.calc.el, is used if
 that file exists.
-
 ---
 *** Graphing commands (`g f' etc.) now work on MS-Windows, if you have
 the native Windows port of Gnuplot version 3.8 or later installed.
 
 ** Calendar and diary
-
 +++
 *** Fancy diary display is now the default.
 If you prefer the simple display, customize `diary-display-function'.
-
 +++
 *** The diary's fancy display now enables view-mode.
-
 ---
 *** The command `calendar-current-date' accepts an optional argument
 giving an offset from today.
@@ -225,9 +222,9 @@
 `desktop-files-not-to-save' instead.
 
 ** Dired
-
-*** The new variable `dired-auto-revert-buffer' allows to revert
-dired buffers automatically on revisiting.
++++
+*** The new variable `dired-auto-revert-buffer', if non-nil, causes
+Dired buffers to be reverted automatically on revisiting them.
 
 ** DocView
 
@@ -338,22 +335,17 @@
 are stripped when copying text from the ChangeLog to the *VC-Log* buffer.
 
 ** Elint
-
 ---
 *** Elint now uses compilation-mode.
-
 ---
 *** Elint can now scan individual files and whole directories,
 and can be run in batch mode.
-
 ---
 *** Elint does a more thorough initialization, and recognizes more built-in
 functions and variables.  Customize `elint-scan-preloaded' if you want
 to sacrifice some accuracy for a faster startup.
-
 ---
 *** Elint attempts some basic understanding of featurep and (f)boundp tests.
-
 ---
 *** Customize `elint-ignored-warnings' to suppress some warnings.
 
@@ -368,7 +360,7 @@
 `comint-history-isearch' is non-nil.  New commands `comint-history-isearch-backward'
 and `comint-history-isearch-backward-regexp' (bound to M-r) start Isearch
 in the input history regardless of the value of `comint-history-isearch'.
-
++++
 *** Interactively `multi-isearch-buffers' and `multi-isearch-buffers-regexp'
 read buffer names to search, one by one, ended with RET.  With a prefix
 argument, they ask for a regexp, and search in buffers whose names match
@@ -376,19 +368,16 @@
 `multi-isearch-files-regexp' read file names to search, one by one,
 ended with RET.  With a prefix argument, they ask for a wildcard, and
 search in file buffers whose file names match the specified wildcard.
-
 +++
 *** Autorevert Tail mode now works also for remote files.
-
 +++
 *** The new built-in commands `su' and `sudo' support Tramp.
 That means, they change `default-directory' to the new users value,
 and let commands run under that user permissions.  It works even when
 `default-directory' is already remote.  Calling the external commands
 is possible by `*su' or `*sudo', repectively.
-
 ---
-*** When running in a new enough xterm (newer than version 242), emacs
+*** When running in a new enough xterm (newer than version 242), Emacs
 asks xterm what the background color is and it sets up faces
 accordingly for a dark background if needed (the current default is to
 consider the background light).
@@ -468,70 +457,94 @@
 
 * Lisp changes in Emacs 23.2
 
-** make-network-socket can now also create `seqpacket' Unix sockets.
-
-** New function `completion-in-region' to use the standard completion
-facilities on a particular region of text.
-
-+++
-** The 4th arg to all-completions (aka hide-spaces) is declared obsolete.
-
----
-** read-file-name-predicate is obsolete.  It was used to pass the predicate
-to read-file-name-internal because read-file-name-internal abused its `pred'
-argument to pass the current directory, but this hack is not needed
-any more.
+** All the default-FOO variables that hold the default value of the FOO
+variable, are now declared obsolete.
+
+** read-key is a function halfway between read-event and read-key-sequence.
+It reads a single key, but obeys input and escape sequence decoding.
 
 ** Frame parameter changes
-
 +++
 *** You can give the `fullscreen' frame parameter the value `maximized'.
 This maximizes the frame.
-
 +++
 *** The new frame parameter `sticky' makes Emacs frames sticky in
 virtual desktops.
 
----
-** completion-base-size is obsoleted by completion-base-position.
+** Completion changes
+
+*** completion-base-size is obsoleted by completion-base-position.
 This change causes a few backward incompatibilities, mostly with
 choose-completion-string-functions where the `mini-p' argument has
 been replaced by a `base-position' argument, and where the `base-size'
 argument is now always nil.
 
+*** New function `completion-in-region' to use the standard completion
+facilities on a particular region of text.
++++
+*** The 4th arg to all-completions (aka hide-spaces) is declared obsolete.
+
+*** completion-annotate-function specifies how to compute annotations
+for completions displayed in *Completions*.
+
+** Minibuffer changes
+---
+*** read-file-name-predicate is obsolete.  It was used to pass the predicate
+to read-file-name-internal because read-file-name-internal abused its `pred'
+argument to pass the current directory, but this hack is not needed
+any more.
+
+** Changes to file-manipulation functions
++++
+*** `delete-directory' has an optional parameter RECURSIVE.
++++
+*** New function `copy-directory', which copies a directory recursively.
+
 ** called-interactively-p now takes one argument and replaces interactive-p
 which is now marked obsolete.
+
 ** New function set-advertised-calling-convention makes it possible
 to obsolete arguments as well as make some arguments mandatory.
-** eval-next-after-load is obsolete.
-** New hook `after-load-functions' run after loading an Elisp file.
 
 ** You can control which binding is preferentially shown in menus and
 docstrings by adding a `:advertised-binding' property to the corresponding
 command's symbol.  That property can hold a single binding or a list
 of bindings.
 
+** Network and process changes
++++
+*** start-process-shell-command and start-file-process-shell-command
+now only take a single `command' argument.
++++
+*** The new variable `process-file-side-effects' should be set to nil
+if a `process-file' call does not change a remote file.  This allows
+file name handlers such as Tramp to optimizations.
++++
+*** make-network-process can now also create `seqpacket' Unix sockets.
+
+** Loading changes
+
+*** eval-next-after-load is obsolete.
+
+*** New hook `after-load-functions' run after loading an Elisp file.
+
+** Byte compilation changes
+---
+*** Changing the file-names generated by byte-compilation by redefining
+the function `byte-compile-dest-file' before loading bytecomp.el is obsolete.
+Instead, customize byte-compile-dest-file-function.
+---
+*** `byte-compile-warnings' has new members, `constants' and `suspicious'.
+
 ** New macro with-silent-modifications to tweak text properties without
 affecting the buffer's modification state.
-** All the default-FOO variables that hold the default value of the FOO
-variable, are now declared obsolete.
-
-** read-key is a function halfway between read-event and read-key-sequence.
-It reads a single key, but obeys input and escape sequence decoding.
-
-** start-process-shell-command and start-file-process-shell-command
-now only take a single `command' argument.
-
-** The variable `process-file-side-effects' shall be bound to nil, if
-a `process-file' call does not change a remote file.  By this, file
-name handlers like Tramp can apply optimizations.
 
 +++
 ** Hash tables have a new printed representation that is readable.
 The feature `hashtable-print-readable' identifies this new
 functionality.
 
-** New functions performing Unicode normalization are added:
+** New functions for performing Unicode normalization:
 ucs-normalize-NFD-region, ucs-normalize-NFD-string,
 ucs-normalize-NFC-region, ucs-normalize-NFC-string,
 ucs-normalize-NFKD-region, ucs-normalize-NFKD-string,
@@ -539,25 +552,10 @@
 ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFD-string,
 ucs-normalize-HFS-NFC-region, ucs-normalize-HFS-NFC-string.
 
-** completion-annotate-function specifies how to compute annotations
-for completions displayed in *Completions*.
-
 +++
 ** Face aliases can now be marked as obsolete, using the macro
 `define-obsolete-face-alias'.
 
----
-** Changing the file-names generated by byte-compilation by redefining
-the function `byte-compile-dest-file' before loading bytecomp.el is obsolete.
-Instead, customize byte-compile-dest-file-function.
-
----
-** `byte-compile-warnings' has new members, `constants' and `suspicious'.
-
-** `delete-directory' has an optional parameter RECURSIVE.
-
-** New function `copy-directory', which copies a directory recursively.
-
 +++
 ** New function `window-full-height-p', analogous to the full-width version.
 
--- a/etc/PROBLEMS	Tue Mar 16 16:04:46 2010 +0900
+++ b/etc/PROBLEMS	Tue Mar 23 10:03:53 2010 +0900
@@ -1418,6 +1418,21 @@
 
 * Runtime problems on character terminals
 
+** The meta key does not work on xterm.
+Typing M-x rings the terminal bell, and inserts a string like ";120~".
+For recent xterm versions (>= 216), Emacs uses xterm's modifyOtherKeys
+feature to generate strings for key combinations that are not
+otherwise usable.  One circumstance in which this can cause problems
+is if you have specified the X resource
+
+  xterm*VT100.Translations
+
+to contain translations that use the meta key.  Then xterm will not
+use meta in modified function-keys, which confuses Emacs.  To fix
+this, you can remove the X resource or put this in your init file:
+
+  (xterm-remove-modify-other-keys)
+
 ** Emacs spontaneously displays "I-search: " at the bottom of the screen.
 
 This means that Control-S/Control-Q (XON/XOFF) "flow control" is being
--- a/lib-src/ChangeLog	Tue Mar 16 16:04:46 2010 +0900
+++ b/lib-src/ChangeLog	Tue Mar 23 10:03:53 2010 +0900
@@ -1,3 +1,8 @@
+2010-03-19  Tetsurou Okazaki  <okazaki@be.to>  (tiny change)
+
+	* Makefile.in (uninstall): Handle the case where archlibdir does
+	not exist.  (Bug#5720)
+
 2010-02-20  Kevin Ryde  <user42@zip.com.au>
 
 	* etags.c (Scheme_functions): Don't loop past a null character
--- a/lib-src/Makefile.in	Tue Mar 16 16:04:46 2010 +0900
+++ b/lib-src/Makefile.in	Tue Mar 23 10:03:53 2010 +0900
@@ -338,7 +338,7 @@
 	for file in ${INSTALLABLES} ${INSTALLABLE_SCRIPTS}; do \
 	  rm -f $(DESTDIR)${bindir}/`echo $${file} | sed '$(TRANSFORM)'` ; \
 	done)
-	(cd $(DESTDIR)${archlibdir}; \
+	(cd $(DESTDIR)${archlibdir} && \
 	 rm -f ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS})
 
 mostlyclean:
--- a/lisp/ChangeLog	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/ChangeLog	Tue Mar 23 10:03:53 2010 +0900
@@ -1,3 +1,49 @@
+2010-03-21  Chong Yidong  <cyd@stupidchicken.com>
+
+	* indent.el (indent-for-tab-command): Doc fix.
+
+2010-03-22  Alan Mackenzie  <acm@muc.de>
+
+	* progmodes/cc-engine.el (c-remove-stale-state-cache): Fix
+	off-by-one error.  Fixes bug #5747.
+
+2010-03-22  Juanma Barranquero  <lekktu@gmail.com>
+
+	* image-dired.el (image-dired-display-thumbs): Fix typo in docstring.
+	(image-dired-read-comment): Doc fix.
+
+	* json.el (json-object-type, json-array-type, json-key-type, json-false)
+	(json-null, json-read-number):
+	* minibuffer.el (completion-in-region-functions):
+	* calendar/cal-tex.el (cal-tex-daily-end, cal-tex-number-weeks)
+	(cal-tex-cursor-week):
+	* emacs-lisp/trace.el (trace-function):
+	* eshell/em-basic.el (eshell/printnl):
+	* eshell/em-dirs.el (eshell-last-dir-ring, eshell-parse-drive-letter)
+	(eshell-read-last-dir-ring, eshell-write-last-dir-ring):
+	* obsolete/levents.el (allocate-event, event-key, event-object)
+	(event-point, event-process, event-timestamp, event-to-character)
+	(event-window, event-x, event-x-pixel, event-y, event-y-pixel):
+	* textmodes/reftex-vars.el (reftex-index-macros-builtin)
+	(reftex-section-levels, reftex-auto-recenter-toc, reftex-toc-mode-hook)
+	(reftex-cite-punctuation, reftex-search-unrecursed-path-first)
+	(reftex-highlight-selection): Fix typos in docstrings.
+
+2010-03-19  Juanma Barranquero  <lekktu@gmail.com>
+
+	* minibuffer.el (completion-in-region-functions): Fix docstring typos.
+
+2010-03-18  Glenn Morris  <rgm@gnu.org>
+
+	* mail/rmail.el (rmail-highlight-face): Restore option deleted
+	2008-02-13 without comment; mark it obsolete.
+	(rmail-highlight-headers): Use rmail-highlight-face once more.
+
+2010-03-16  Chong Yidong  <cyd@stupidchicken.com>
+
+	* woman.el (woman2-process-escapes): Only consume the newline if
+	the filler character is on a line by itself (Bug#5729).
+
 2010-03-16  Kenichi Handa  <handa@m17n.org>
 
 	* language/indian.el (devanagari-composable-pattern): Add more
--- a/lisp/calendar/cal-tex.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/calendar/cal-tex.el	Tue Mar 23 10:03:53 2010 +0900
@@ -134,7 +134,7 @@
 
 (defcustom cal-tex-daily-end 20
   "The last hour of the daily LaTeX calendar page.
-At present, this only affects `cal-tex-cursor-day'"
+At present, this only affects `cal-tex-cursor-day'."
   :type 'integer
   :group 'calendar-tex)
 
@@ -654,7 +654,7 @@
 
 (defun cal-tex-number-weeks (month year n)
   "Determine the number of weeks in a range of dates.
-Compute the number of  weeks in the calendar starting with MONTH and YEAR,
+Compute the number of weeks in the calendar starting with MONTH and YEAR,
 and lasting N months, including only the days in WHICH-DAYS.  As it stands,
 this is only an upper bound."
   (let ((d (list month 1 year)))
@@ -683,7 +683,7 @@
 (defun cal-tex-cursor-week (&optional n event)
   "Make a LaTeX calendar buffer for a two-page one-week calendar.
 It applies to the week that point is in.  The optional prefix
-argument N specifies the number of weeks (default 1).  The calendar
+argument N specifies number of weeks (default 1).  The calendar
 shows holidays if `cal-tex-holidays' is non-nil (note that diary
 entries are not shown).  The calendar shows the hours 8-12am, 1-5pm."
   (interactive (list (prefix-numeric-value current-prefix-arg)
@@ -1778,7 +1778,7 @@
   (cal-tex-comment "end framebox"))
 
 
-(defun cal-tex-b-makebox ( width position )
+(defun cal-tex-b-makebox (width position)
   "Insert makebox with parameters WIDTH and POSITION (clr)."
   (insert "\\makebox[" width "][" position "]{" )
   (cal-tex-comment))
--- a/lisp/emacs-lisp/trace.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/emacs-lisp/trace.el	Tue Mar 23 10:03:53 2010 +0900
@@ -253,7 +253,7 @@
 For every call of FUNCTION Lisp-style trace messages that display argument
 and return values will be inserted into BUFFER.  This function generates the
 trace advice for FUNCTION and activates it together with any other advice
-there might be!! The trace BUFFER will popup whenever FUNCTION is called.
+there might be!!  The trace BUFFER will popup whenever FUNCTION is called.
 Do not use this to trace functions that switch buffers or do any other
 display oriented stuff, use `trace-function-background' instead."
   (interactive
--- a/lisp/eshell/em-basic.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/eshell/em-basic.el	Tue Mar 23 10:03:53 2010 +0900
@@ -125,7 +125,7 @@
    (eshell-echo args output-newline)))
 
 (defun eshell/printnl (&rest args)
-  "Print out each of the argument, separated by newlines."
+  "Print out each of the arguments, separated by newlines."
   (let ((elems (eshell-flatten-list args)))
     (while elems
       (eshell-printn (eshell-echo (list (car elems))))
--- a/lisp/eshell/em-dirs.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/eshell/em-dirs.el	Tue Mar 23 10:03:53 2010 +0900
@@ -178,7 +178,7 @@
 Thus, this does not include the current directory.")
 
 (defvar eshell-last-dir-ring nil
-  "The last directory that eshell was in.")
+  "The last directory that Eshell was in.")
 
 ;;; Functions:
 
@@ -267,7 +267,7 @@
     (char-to-string (char-before))))
 
 (defun eshell-parse-drive-letter ()
-  "An argument beginning X:[^/] is a drive letter reference."
+  "An argument beginning with X:[^/] is a drive letter reference."
   (when (and (not eshell-current-argument)
 	     (looking-at "\\([A-Za-z]:\\)\\([^/\\\\]\\|\\'\\)"))
     (goto-char (match-end 1))
@@ -517,7 +517,7 @@
       msg)))
 
 (defun eshell-read-last-dir-ring ()
-  "Sets the buffer's `eshell-last-dir-ring' from a history file."
+  "Set the buffer's `eshell-last-dir-ring' from a history file."
   (let ((file eshell-last-dir-ring-file-name))
     (cond
      ((or (null file)
@@ -545,7 +545,7 @@
 	(setq eshell-last-dir-ring ring))))))
 
 (defun eshell-write-last-dir-ring ()
-  "Writes the buffer's `eshell-last-dir-ring' to a history file."
+  "Write the buffer's `eshell-last-dir-ring' to a history file."
   (let ((file eshell-last-dir-ring-file-name))
     (cond
      ((or (null file)
--- a/lisp/gnus/ChangeLog	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/gnus/ChangeLog	Tue Mar 23 10:03:53 2010 +0900
@@ -1,3 +1,11 @@
+2010-03-22  Juanma Barranquero  <lekktu@gmail.com>
+
+	* message.el (message-interactive): Doc fix.
+	(message-qmail-inject-args): Reflow.
+	(message-kill-to-signature): Fix typo in docstring.
+
+	* smiley.el (smiley-buffer): Fix typo in docstring.
+
 2010-02-26  Glenn Morris  <rgm@gnu.org>
 
 	* message.el (message-send-mail-function): Change the default, so that
--- a/lisp/gnus/message.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/gnus/message.el	Tue Mar 23 10:03:53 2010 +0900
@@ -440,7 +440,7 @@
 ;; Default to the value of `mail-interactive', available in all Emacsen
 ;; that Gnus supports.
   "Non-nil means when sending a message wait for and display errors.
-nil means let mailer mail back a message to report errors."
+A value of nil means let mailer mail back a message to report errors."
   :version "23.2"
   :group 'message-sending
   :group 'message-mail
@@ -864,8 +864,8 @@
 
 (defcustom message-qmail-inject-args nil
   "Arguments passed to qmail-inject programs.
-This should be a list of strings, one string for each argument.  It
-may also be a function.
+This should be a list of strings, one string for each argument.
+It may also be a function.
 
 For e.g., if you wish to set the envelope sender address so that bounces
 go to the right place or to deal with listserv's usage of that address, you
@@ -3253,7 +3253,7 @@
 
 (defun message-kill-to-signature (&optional arg)
   "Kill all text up to the signature.
-If a numberic argument or prefix arg is given, leave that number
+If a numeric argument or prefix arg is given, leave that number
 of lines before the signature intact."
   (interactive "P")
   (save-excursion
--- a/lisp/gnus/smiley.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/gnus/smiley.el	Tue Mar 23 10:03:53 2010 +0900
@@ -196,8 +196,8 @@
 
 ;;;###autoload
 (defun smiley-buffer (&optional buffer)
-  "Run `smiley-region' at the buffer, specified in the argument or
-interactively. If there's no argument, do it at the current buffer"
+  "Run `smiley-region' at the BUFFER, specified in the argument or
+interactively.  If there's no argument, do it at the current buffer."
   (interactive "bBuffer to run smiley-region: ")
   (save-excursion
     (if buffer
--- a/lisp/image-dired.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/image-dired.el	Tue Mar 23 10:03:53 2010 +0900
@@ -801,7 +801,7 @@
 With optional argument APPEND, append thumbnail to thumbnail buffer
 instead of erasing it first.
 
-Option argument DO-NOT-POP controls if `pop-to-buffer' should be
+Optional argument DO-NOT-POP controls if `pop-to-buffer' should be
 used or not.  If non-nil, use `display-buffer' instead of
 `pop-to-buffer'.  This is used from functions like
 `image-dired-next-line-and-display' and
@@ -2113,8 +2113,7 @@
 
 (defun image-dired-read-comment (&optional file)
   "Read comment for an image.
-Read comment for an image, optionally using old comment from FILE
-as initial value."
+Optionally use old comment from FILE as initial value."
   (let ((comment
          (read-string
           "Comment: "
--- a/lisp/indent.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/indent.el	Tue Mar 23 10:03:53 2010 +0900
@@ -85,8 +85,10 @@
 (defun indent-for-tab-command (&optional arg)
   "Indent line or region in proper way for current major mode or insert a tab.
 Depending on `tab-always-indent', either insert a tab or indent.
-If initial point was within line's indentation, position after
-the indentation.  Else stay at same point in text.
+
+In most major modes, if point was in the current line's indentation,
+it is moved to the first non-whitespace character after indenting;
+otherwise it stays at the same position in the text.
 
 If a prefix argument is given, also rigidly indent the entire
 balanced expression which starts at the beginning of the current
--- a/lisp/json.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/json.el	Tue Mar 23 10:03:53 2010 +0900
@@ -62,12 +62,12 @@
 
 (defvar json-object-type 'alist
   "Type to convert JSON objects to.
-Must be one of `alist', `plist', or `hash-table'. Consider let-binding
+Must be one of `alist', `plist', or `hash-table'.  Consider let-binding
 this around your call to `json-read' instead of `setq'ing it.")
 
 (defvar json-array-type 'vector
   "Type to convert JSON arrays to.
-Must be one of `vector' or `list'. Consider let-binding this around
+Must be one of `vector' or `list'.  Consider let-binding this around
 your call to `json-read' instead of `setq'ing it.")
 
 (defvar json-key-type nil
@@ -83,19 +83,19 @@
       `plist'                     `keyword'
 
 Note that values other than `string' might behave strangely for
-Sufficiently Weird keys. Consider let-binding this around your call to
+Sufficiently Weird keys.  Consider let-binding this around your call to
 `json-read' instead of `setq'ing it.")
 
 (defvar json-false :json-false
   "Value to use when reading JSON `false'.
 If this has the same value as `json-null', you might not be able to tell
-the difference between `false' and `null'. Consider let-binding this
+the difference between `false' and `null'.  Consider let-binding this
 around your call to `json-read' instead of `setq'ing it.")
 
 (defvar json-null nil
   "Value to use when reading JSON `null'.
 If this has the same value as `json-false', you might not be able to
-tell the difference between `false' and `null'. Consider let-binding
+tell the difference between `false' and `null'.  Consider let-binding
 this around your call to `json-read' instead of `setq'ing it.")
 
 
@@ -218,7 +218,7 @@
 
 (defun json-read-number (&optional sign)
  "Read the JSON number following point.
-The optional SIGN  argument is for internal use.
+The optional SIGN argument is for internal use.
 
 N.B.: Only numbers which can fit in Emacs Lisp's native number
 representation will be parsed correctly."
--- a/lisp/mail/rmail.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/mail/rmail.el	Tue Mar 23 10:03:53 2010 +0900
@@ -381,6 +381,20 @@
   :group 'rmail-headers
   :version "22.1")
 
+;; This was removed in Emacs 23.1 with no notification, an unnecessary
+;; incompatible change.
+(defcustom rmail-highlight-face 'rmail-highlight
+  "Face used by Rmail for highlighting headers."
+  ;; Note that nil doesn't actually mean use the default face, it
+  ;; means use either bold or highlight. It's not worth fixing this
+  ;; now that this is obsolete.
+  :type '(choice (const :tag "Default" nil)
+		 face)
+  :group 'rmail-headers)
+(make-obsolete-variable 'rmail-highlight-face
+			"customize the face `rmail-highlight' instead."
+			"23.2")
+
 (defface rmail-header-name
   '((t (:inherit font-lock-function-name-face)))
   "Face to use for highlighting the header names.
@@ -2883,7 +2897,7 @@
 
 (defun rmail-highlight-headers ()
   "Highlight the headers specified by `rmail-highlighted-headers'.
-Uses the face `rmail-highlight'."
+Uses the face specified by `rmail-highlight-face'."
   (if rmail-highlighted-headers
       (save-excursion
 	(search-forward "\n\n" nil 'move)
@@ -2891,6 +2905,11 @@
 	  (narrow-to-region (point-min) (point))
 	  (let ((case-fold-search t)
 		(inhibit-read-only t)
+		;; When rmail-highlight-face is removed, just
+		;; use 'rmail-highlight here.
+		(face (or rmail-highlight-face
+			  (if (face-differs-from-default-p 'bold)
+			      'bold 'highlight)))
 		;; List of overlays to reuse.
 		(overlays rmail-overlay-list))
 	    (goto-char (point-min))
@@ -2909,12 +2928,12 @@
 		    (progn
 		      (setq overlay (car overlays)
 			    overlays (cdr overlays))
-		      (overlay-put overlay 'face 'rmail-highlight)
+		      (overlay-put overlay 'face face)
 		      (move-overlay overlay beg (point)))
 		  ;; Make a new overlay and add it to
 		  ;; rmail-overlay-list.
 		  (setq overlay (make-overlay beg (point)))
-		  (overlay-put overlay 'face 'rmail-highlight)
+		  (overlay-put overlay 'face face)
 		  (setq rmail-overlay-list
 			(cons overlay rmail-overlay-list))))))))))
 
--- a/lisp/mh-e/ChangeLog	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/mh-e/ChangeLog	Tue Mar 23 10:03:53 2010 +0900
@@ -1,3 +1,15 @@
+2010-03-22  Juanma Barranquero  <lekktu@gmail.com>
+
+	* mh-scan.el (mh-scan-cmd-note-width): Doc fix.
+	(mh-scan-format-mh, mh-scan-body-regexp, mh-scan-cur-msg-number-regexp)
+	(mh-scan-cur-msg-number-regexp, mh-scan-date-regexp)
+	(mh-scan-deleted-msg-regexp, mh-scan-good-msg-regexp)
+	(mh-scan-msg-format-regexp, mh-scan-msg-format-string)
+	(mh-scan-msg-number-regexp, mh-scan-rcpt-regexp)
+	(mh-scan-refiled-msg-regexp, mh-scan-sent-to-me-sender-regexp)
+	(mh-scan-subject-regexp, mh-update-scan-format)
+	(mh-msg-num-width-to-column): Fix typos in docstrings.
+
 2009-12-01  Bill Wohler  <wohler@newt.com>
 
 	* mh-search.el (mh-mairix-execute-search): Use mh vfolder_format.
--- a/lisp/mh-e/mh-scan.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/mh-e/mh-scan.el	Tue Mar 23 10:03:53 2010 +0900
@@ -61,7 +61,7 @@
    "%{subject}%<{body}<<%{body}%>")
   "*Scan format string for MH.
 This string is passed to the scan program via the -format
-argument. This format is identical to the default except that
+argument.  This format is identical to the default except that
 additional hints for fontification have been added to the fifth
 column (remember that in Emacs, the first column is 0).
 
@@ -109,14 +109,14 @@
 Note that the default setting of `mh-folder-font-lock-keywords'
 expects this expression to contain at least one parenthesized
 expression which matches the body text as in the default of
-\"\\\\(<<\\\\([^\\n]+\\\\)?\\\\)\". If this regular expression is
+\"\\\\(<<\\\\([^\\n]+\\\\)?\\\\)\".  If this regular expression is
 not correct, the body fragment will not be highlighted with the
 face `mh-folder-body'.")
 
 (defvar mh-scan-cur-msg-number-regexp "^\\( *[0-9]+\\+\\).*"
   "This regular expression matches the current message.
 
-It must match from the beginning of the line. Note that the
+It must match from the beginning of the line.  Note that the
 default setting of `mh-folder-font-lock-keywords' expects this
 expression to contain at least one parenthesized expression which
 matches the message number as in the default of
@@ -125,9 +125,9 @@
 
 This expression includes the leading space and current message
 marker \"+\" within the parenthesis since it looks better to
-highlight these items as well. The highlighting is done with the
-face `mh-folder-cur-msg-number'. This regular expression should
-be correct as it is needed by non-fontification functions. See
+highlight these items as well.  The highlighting is done with the
+face `mh-folder-cur-msg-number'.  This regular expression should
+be correct as it is needed by non-fontification functions.  See
 also `mh-note-cur'.")
 
 (defvar mh-scan-date-regexp "\\([0-9][0-9]/[0-9][0-9]\\)"
@@ -137,14 +137,14 @@
 Note that the default setting of `mh-folder-font-lock-keywords'
 expects this expression to contain only one parenthesized
 expression which matches the date field as in the default of
-\"\\\\([0-9][0-9]/[0-9][0-9]\\\\)\"}. If this regular expression
+\"\\\\([0-9][0-9]/[0-9][0-9]\\\\)\"}.  If this regular expression
 is not correct, the date will not be highlighted with the face
 `mh-folder-date'.")
 
 (defvar mh-scan-deleted-msg-regexp "^\\( *[0-9]+\\)D"
   "This regular expression matches deleted messages.
 
-It must match from the beginning of the line. Note that the
+It must match from the beginning of the line.  Note that the
 default setting of `mh-folder-font-lock-keywords' expects this
 expression to contain at least one parenthesized expression which
 matches the message number as in the default of
@@ -152,15 +152,15 @@
   \"^\\\\( *[0-9]+\\\\)D\".
 
 This expression includes the leading space within the parenthesis
-since it looks better to highlight it as well. The highlighting
-is done with the face `mh-folder-deleted'. This regular
+since it looks better to highlight it as well.  The highlighting
+is done with the face `mh-folder-deleted'.  This regular
 expression should be correct as it is needed by non-fontification
-functions. See also `mh-note-deleted'.")
+functions.  See also `mh-note-deleted'.")
 
 (defvar mh-scan-good-msg-regexp  "^\\( *[0-9]+\\)[^D^0-9]"
   "This regular expression matches \"good\" messages.
 
-It must match from the beginning of the line. Note that the
+It must match from the beginning of the line.  Note that the
 default setting of `mh-folder-font-lock-keywords' expects this
 expression to contain at least one parenthesized expression which
 matches the message number as in the default of
@@ -168,8 +168,8 @@
   \"^\\\\( *[0-9]+\\\\)[^D^0-9]\".
 
 This expression includes the leading space within the parenthesis
-since it looks better to highlight it as well. The highlighting
-is done with the face `mh-folder-msg-number'. This regular
+since it looks better to highlight it as well.  The highlighting
+is done with the face `mh-folder-msg-number'.  This regular
 expression should be correct as it is needed by non-fontification
 functions.")
 
@@ -177,21 +177,21 @@
   "This regular expression finds the message number width in a scan format.
 
 Note that the message number must be placed in a parenthesized
-expression as in the default of \"%\\\\([0-9]*\\\\)(msg)\". This
+expression as in the default of \"%\\\\([0-9]*\\\\)(msg)\".  This
 variable is only consulted if `mh-scan-format-file' is set to
 \"Use MH-E scan Format\".")
 
 (defvar mh-scan-msg-format-string "%d"
   "This is a format string for width of the message number in a scan format.
 
-Use \"0%d\" for zero-filled message numbers. This variable is only
+Use \"0%d\" for zero-filled message numbers.  This variable is only
 consulted if `mh-scan-format-file' is set to \"Use MH-E scan
 Format\".")
 
 (defvar mh-scan-msg-number-regexp "^ *\\([0-9]+\\)"
   "This regular expression extracts the message number.
 
-It must match from the beginning of the line. Note that the
+It must match from the beginning of the line.  Note that the
 message number must be placed in a parenthesized expression as in
 the default of \"^ *\\\\([0-9]+\\\\)\".")
 
@@ -211,9 +211,9 @@
 Note that the default setting of `mh-folder-font-lock-keywords'
 expects this expression to contain two parenthesized expressions.
 The first is expected to match the \"To:\" that the default scan
-format file generates. The second is expected to match the
+format file generates.  The second is expected to match the
 recipient's name as in the default of
-\"\\\\(To:\\\\)\\\\(..............\\\\)\". If this regular
+\"\\\\(To:\\\\)\\\\(..............\\\\)\".  If this regular
 expression is not correct, the \"To:\" string will not be
 highlighted with the face `mh-folder-to' and the recipient will
 not be highlighted with the face `mh-folder-address'")
@@ -221,7 +221,7 @@
 (defvar mh-scan-refiled-msg-regexp  "^\\( *[0-9]+\\)\\^"
   "This regular expression matches refiled messages.
 
-It must match from the beginning of the line. Note that the
+It must match from the beginning of the line.  Note that the
 default setting of `mh-folder-font-lock-keywords' expects this
 expression to contain at least one parenthesized expression which
 matches the message number as in the default of
@@ -229,10 +229,10 @@
   \"^\\\\( *[0-9]+\\\\)\\\\^\".
 
 This expression includes the leading space within the parenthesis
-since it looks better to highlight it as well. The highlighting
-is done with the face `mh-folder-refiled'. This regular
+since it looks better to highlight it as well.  The highlighting
+is done with the face `mh-folder-refiled'.  This regular
 expression should be correct as it is needed by non-fontification
-functions. See also `mh-note-refiled'.")
+functions.  See also `mh-note-refiled'.")
 
 (defvar mh-scan-sent-to-me-sender-regexp
   "^ *[0-9]+.\\([bct]\\).....[ ]*\\(..................\\)"
@@ -240,7 +240,7 @@
 
 Note that the default setting of `mh-folder-font-lock-keywords'
 expects this expression to contain at least two parenthesized
-expressions. The first should match the fontification hint (see
+expressions.  The first should match the fontification hint (see
 `mh-scan-format-nmh') and the second should match the user name
 as in the default of
 
@@ -255,15 +255,15 @@
   "^ *[0-9]+........[ ]*...................\\([Rr][Ee]\\(\\[[0-9]+\\]\\)?:\\s-*\\)*\\([^<\n]*\\)"
   "This regular expression matches the subject.
 
-It must match from the beginning of the line. Note that the
+It must match from the beginning of the line.  Note that the
 default setting of `mh-folder-font-lock-keywords' expects this
 expression to contain at least three parenthesized expressions.
 The first is expected to match the \"Re:\" string, if any, and is
-highlighted with the face `mh-folder-followup'. The second
+highlighted with the face `mh-folder-followup'.  The second
 matches an optional bracketed number after \"Re:\", such as in
 \"Re[2]:\" (and is thus a sub-expression of the first expression)
 and the third is expected to match the subject line itself which
-is highlighted with the face `mh-folder-subject'. For example,
+is highlighted with the face `mh-folder-subject'.  For example,
 the default (broken on multiple lines for readability) is
 
   ^ *[0-9]+........[ ]*...................
@@ -296,9 +296,9 @@
 (defvar mh-scan-cmd-note-width 1
   "Number of columns consumed by the cmd-note field in `mh-scan-format'.
 
-This column will have one of the values: \" \", \"D\", \"^\", \"+\" and
-where \" \" is the default value,
+This column will have one of the values: \" \", \"D\", \"^\", \"+\", where
 
+  \" \" is the default value,
   \"D\" is the `mh-note-deleted' character,
   \"^\" is the `mh-note-refiled' character, and
   \"+\" is the `mh-note-cur' character.")
@@ -434,7 +434,7 @@
   "Return a scan format with the (msg) width in the FMT replaced with WIDTH.
 
 The message number width portion of the format is discovered
-using `mh-scan-msg-format-regexp'. Its replacement is controlled
+using `mh-scan-msg-format-regexp'.  Its replacement is controlled
 with `mh-scan-msg-format-string'."
   (or (and
        (string-match mh-scan-msg-format-regexp fmt)
@@ -469,7 +469,7 @@
 
 If `mh-scan-format-file' is set to \"Use MH-E scan Format\" this
 means that either `mh-scan-format-mh' or `mh-scan-format-nmh' are
-in use. This function therefore assumes that the first column is
+in use.  This function therefore assumes that the first column is
 empty (to provide room for the cursor), the following WIDTH
 columns contain the message number, and the column for notations
 comes after that."
--- a/lisp/minibuffer.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/minibuffer.el	Tue Mar 23 10:03:53 2010 +0900
@@ -1099,12 +1099,12 @@
   (exit-minibuffer))
 
 (defvar completion-in-region-functions nil
-  "Wrapper hook around `complete-in-region'.
+  "Wrapper hook around `completion-in-region'.
 The functions on this special hook are called with 5 arguments:
   NEXT-FUN START END COLLECTION PREDICATE.
 NEXT-FUN is a function of four arguments (START END COLLECTION PREDICATE)
-that performs the default operation.  The other four argument are like
-the ones passed to `complete-in-region'.  The functions on this hook
+that performs the default operation.  The other four arguments are like
+the ones passed to `completion-in-region'.  The functions on this hook
 are expected to perform completion on START..END using COLLECTION
 and PREDICATE, either by calling NEXT-FUN or by doing it themselves.")
 
--- a/lisp/obsolete/levents.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/obsolete/levents.el	Tue Mar 23 10:03:53 2010 +0900
@@ -61,7 +61,7 @@
 (put 'timeout 'event-symbol-elements '(eval))
 
 (defun allocate-event ()
-  "Returns an empty event structure.
+  "Return an empty event structure.
 In this emulation, it returns nil."
   nil)
 
@@ -142,7 +142,7 @@
   (nth 1 event))
 
 (defun event-key (event)
-  "Returns the KeySym of the given key-press event.
+  "Return the KeySym of the given key-press event.
 The value is an ASCII printing character (not upper case) or a symbol."
   (if (symbolp event)
       (car (get event 'event-symbol-elements))
@@ -150,11 +150,11 @@
       (downcase (if (< base 32) (logior base 64) base)))))
 
 (defun event-object (event)
-  "Returns the function argument of the given timeout, menu, or eval event."
+  "Return the function argument of the given timeout, menu, or eval event."
   (nth 2 event))
 
 (defun event-point (event)
-  "Returns the character position of the given mouse-related event.
+  "Return the character position of the given mouse-related event.
 If the event did not occur over a window, or did
 not occur over text, then this returns nil.  Otherwise, it returns an index
 into the buffer visible in the event's window."
@@ -201,18 +201,18 @@
 	(window-start start-window)))))
 
 (defun event-process (event)
-  "Returns the process of the given process-output event."
+  "Return the process of the given process-output event."
   (nth 1 event))
 
 (defun event-timestamp (event)
-  "Returns the timestamp of the given event object.
+  "Return the timestamp of the given event object.
 In Lucid Emacs, this works for any kind of event.
 In this emulation, it returns nil for non-mouse-related events."
   (and (listp event)
        (posn-timestamp (event-end event))))
 
 (defun event-to-character (event &optional lenient)
-  "Returns the closest ASCII approximation to the given event object.
+  "Return the closest ASCII approximation to the given event object.
 If the event isn't a keypress, this returns nil.
 If the second argument is non-nil, then this is lenient in its
 translation; it will ignore modifier keys other than control and meta,
@@ -229,25 +229,25 @@
 	event nil)))
 
 (defun event-window (event)
-  "Returns the window of the given mouse-related event object."
+  "Return the window of the given mouse-related event object."
   (posn-window (event-end event)))
 
 (defun event-x (event)
-  "Returns the X position in characters of the given mouse-related event."
+  "Return the X position in characters of the given mouse-related event."
   (/ (car (posn-col-row (event-end event)))
      (frame-char-width (window-frame (event-window event)))))
 
 (defun event-x-pixel (event)
-  "Returns the X position in pixels of the given mouse-related event."
+  "Return the X position in pixels of the given mouse-related event."
   (car (posn-col-row (event-end event))))
 
 (defun event-y (event)
-  "Returns the Y position in characters of the given mouse-related event."
+  "Return the Y position in characters of the given mouse-related event."
   (/ (cdr (posn-col-row (event-end event)))
      (frame-char-height (window-frame (event-window event)))))
 
 (defun event-y-pixel (event)
-  "Returns the Y position in pixels of the given mouse-related event."
+  "Return the Y position in pixels of the given mouse-related event."
   (cdr (posn-col-row (event-end event))))
 
 (defun key-press-event-p (obj)
--- a/lisp/progmodes/cc-engine.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/progmodes/cc-engine.el	Tue Mar 23 10:03:53 2010 +0900
@@ -2624,7 +2624,7 @@
 			   (< (point-max) c-state-old-cpp-end)))
 		  (point-max)
 		(min (point-max) c-state-old-cpp-beg)))
-	(while (and c-state-cache (> (c-state-cache-top-lparen) upper-lim))
+	(while (and c-state-cache (>= (c-state-cache-top-lparen) upper-lim))
 	  (setq c-state-cache (cdr c-state-cache)))
 	;; If `upper-lim' is inside the last recorded brace pair, remove its
 	;; RBrace and indicate we'll need to search backwards for a previous
--- a/lisp/textmodes/reftex-vars.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/textmodes/reftex-vars.el	Tue Mar 23 10:03:53 2010 +0900
@@ -100,22 +100,22 @@
 
       ("enumerate" ?i "item:" "~\\ref{%s}" item
        (regexp "items?" "Punkte?"))
-      
+
       ("equation"  ?e "eq:" "~(\\ref{%s})" t
        (regexp "equations?" "eqs?\\." "eqn\\." "Gleichung\\(en\\)?"  "Gl\\."))
       ("eqnarray"  ?e "eq:" nil eqnarray-like)
-      
+
       ("figure"    ?f "fig:" "~\\ref{%s}" caption
        (regexp "figure?[sn]?" "figs?\\." "Abbildung\\(en\\)?" "Abb\\."))
       ("figure*"   ?f nil nil caption)
-      
+
       ("table"     ?t "tab:" "~\\ref{%s}" caption
        (regexp "tables?" "tab\\." "Tabellen?"))
       ("table*"    ?t nil nil caption)
-      
+
       ("\\footnote[]{}" ?n "fn:" "~\\ref{%s}" 2
        (regexp "footnotes?" "Fussnoten?"))
-      
+
       ("any"       ?\  " "   "~\\ref{%s}" nil)
 
       ;; The label macro is hard coded, but it *could* be defined like this:
@@ -207,7 +207,7 @@
 `?t'    should point to a textual citation (citation as a noun).
 `?p'    should point to a parenthetical citation.")
 
-(defconst reftex-index-macros-builtin 
+(defconst reftex-index-macros-builtin
   '((default "Default \\index and \\glossary macros"
       (("\\index{*}" "idx" ?i "" nil t)
        ("\\glossary{*}" "glo" ?g "" nil t)))
@@ -219,9 +219,9 @@
     (Index-Shortcut "index.sty with \\shortindexingon"
        (("\\index[]{*}" 1 ?i "" nil t)
         ("\\index*[]{*}" 1 ?I "" nil nil)
-        ("^[]{*}" 1 ?^ "" texmathp t)   
+        ("^[]{*}" 1 ?^ "" texmathp t)
         ("_[]{*}" 1 ?_ "" texmathp nil))))
-  "Builtin stuff for reftex-index-macros.
+  "Builtin stuff for `reftex-index-macros'.
 Lower-case symbols correspond to a style file of the same name in the LaTeX
 distribution.  Mixed-case symbols are convenience aliases.")
 )
@@ -231,7 +231,7 @@
 (defgroup reftex nil
   "LaTeX label and citation support."
   :tag "RefTeX"
-  :link '(url-link :tag "Home Page" 
+  :link '(url-link :tag "Home Page"
                    "http://staff.science.uva.nl/~dominik/Tools/reftex/")
   :link '(emacs-commentary-link :tag "Commentary in reftex.el" "reftex.el")
   :link '(custom-manual "(reftex)Top")
@@ -280,7 +280,7 @@
 level means the same level as the positive value, but the section will
 never get a number.  The cdr may also be a function which will be called
 to after the section-re matched to determine the level.
-This list is also used for promotion and demption of sectioning commands.
+This list is also used for promotion and demotion of sectioning commands.
 If you are using a document class which has several sets of sectioning
 commands, promotion only works correctly if this list is sorted first
 by set, then within each set by level.  The promotion commands always
@@ -318,7 +318,7 @@
 more than `reftex-idle-time' seconds.
 
 Value t means, turn on immediately when RefTeX gets started.  Then,
-recentering will work for any toc window created during the session.
+recentering will work for any TOC window created during the session.
 
 Value 'frame (the default) means, turn automatic recentering on only while the
 dedicated TOC frame does exist, and do the recentering only in that frame.  So
@@ -326,14 +326,14 @@
 automatic recentering is turned on.  When the frame gets destroyed, automatic
 recentering is turned off again.
 
-This feature can be turned on and off from the menu 
+This feature can be turned on and off from the menu
 \(Ref->Options)."
   :group 'reftex-table-of-contents-browser
   :type '(choice
           (const :tag "never" nil)
           (const :tag "always" t)
           (const :tag "in dedicated frame only" frame)))
- 
+
 (defcustom reftex-toc-split-windows-horizontally nil
   "*Non-nil means, create TOC window by splitting window horizontally."
   :group 'reftex-table-of-contents-browser
@@ -407,7 +407,7 @@
   :type 'boolean)
 
 (defcustom reftex-toc-mode-hook nil
-  "Mode hook for reftex-toc-mode."
+  "Mode hook for `reftex-toc-mode'."
   :group 'reftex-table-of-contents-browser
   :type 'hook)
 
@@ -425,7 +425,7 @@
   '(amsmath endnotes fancybox floatfig longtable picinpar
             rotating sidecap subfigure supertab wrapfig LaTeX)
   "Default label alist specifications.  LaTeX should always be the last entry.
-The value of this variable is a list of symbols with associations in the 
+The value of this variable is a list of symbols with associations in the
 constant `reftex-label-alist-builtin'.  Check that constant for a full list
 of options."
   :group 'reftex-defining-label-environments
@@ -624,7 +624,7 @@
 (defcustom reftex-section-prefixes '((0 . "part:") (1 . "cha:") (t . "sec:"))
   "Prefixes for section labels.
 When the label prefix given in an entry in `reftex-label-alist' contains `%S',
-this list is used to determine the correct prefix string depending on the 
+this list is used to determine the correct prefix string depending on the
 current section level.
 The list is an alist, with each entry of the form (KEY . PREFIX)
 Possible keys are sectioning macro names like `chapter', section levels
@@ -686,7 +686,7 @@
           (regexp)
           (repeat :tag "List"
                   (string :tag "prefix (with colon)"))))
-  
+
 (defcustom reftex-special-environment-functions nil
   "List of functions to be called when trying to figure out current environment.
 These are special functions to detect \"environments\" which do not
@@ -732,7 +732,7 @@
      (let ((pos (point)) p1)
        (save-excursion
          ;; Search for any of the linguex item macros at the beginning of a line
-         (if (re-search-backward 
+         (if (re-search-backward
               \"^[ \\t]*\\\\(\\\\\\\\\\\\(ex\\\\|a\\\\|b\\\\|c\\\\|d\\\\|e\\\\|f\\\\)g?\\\\.\\\\)\" bound t)
              (progn
                (setq p1 (match-beginning 1))
@@ -742,7 +742,7 @@
                    nil
                  ;; OK, we got it
                  (cons \"linguex\" p1)))
-           ;; Return nil for not found 
+           ;; Return nil for not found
            nil))))
 
 3. Tell RefTeX to use this function
@@ -941,7 +941,7 @@
 
 (defcustom reftex-vref-is-default nil
   "*Non-nil means, the varioref macro \\vref is used as default.
-In the selection buffer, the `v' key toggles the reference macro between 
+In the selection buffer, the `v' key toggles the reference macro between
 `\\ref' and `\\vref'.  The value of this variable determines the default
 which is active when entering the selection process.
 Instead of nil or t, this may also be a string of type letters indicating
@@ -952,7 +952,7 @@
 
 (defcustom reftex-fref-is-default nil
   "*Non-nil means, the fancyref macro \\fref is used as default.
-In the selection buffer, the `V' key toggles the reference macro between 
+In the selection buffer, the `V' key toggles the reference macro between
 `\\ref', `\\fref' and `\\Fref'.  The value of this variable determines
 the default which is active when entering the selection process.
 Instead of nil or t, this may also be a string of type letters indicating
@@ -979,7 +979,7 @@
 
 (defcustom reftex-format-ref-function nil
   "Function which produces the string to insert as a reference.
-Normally should be nil, because the format to insert a reference can 
+Normally should be nil, because the format to insert a reference can
 already be specified in `reftex-label-alist'.
 This hook also is used by the special commands to insert `\\vref' and `\\fref'
 references, so even if you set this, your setting will be ignored by
@@ -1060,13 +1060,13 @@
 %i institution   %j journal        %k key        %m month
 %n number        %o organization   %p pages      %P first page
 %r address       %s school         %u publisher  %t title
-%v volume        %y year          
+%v volume        %y year
 %B booktitle, abbreviated          %T title, abbreviated
 
 Usually, only %l is needed.  The other stuff is mainly for the echo area
 display, and for (setq reftex-comment-citations t).
 
-%< as a special operator kills punctuation and space around it after the 
+%< as a special operator kills punctuation and space around it after the
 string has been formatted.
 
 A pair of square brackets indicates an optional argument, and RefTeX
@@ -1081,7 +1081,7 @@
 strings.
   In order to configure this variable, you can either set
 `reftex-cite-format' directly yourself or set it to the SYMBOL of one of
-the predefined styles.  The predefined symbols are those which have an 
+the predefined styles.  The predefined symbols are those which have an
 association in the constant `reftex-cite-format-builtin'.
 E.g.: (setq reftex-cite-format 'natbib)"
   :group 'reftex-citation-support
@@ -1164,8 +1164,8 @@
 (defcustom reftex-cite-punctuation '(", " " \\& " " {\\it et al.}")
   "Punctuation for formatting of name lists in citations.
 This is a list of 3 strings.
-1. normal names separator, like \", \"     in Jones, Brown and Miller
-2. final names separator,  like \" and \"  in Jones, Brown and Miller
+1. Normal names separator, like \", \"     in Jones, Brown and Miller
+2. Final names separator,  like \" and \"  in Jones, Brown and Miller
 3. The \"et al\" string,   like \" {\\it et al.}\" in Jones {\\it et al.}"
   :group 'reftex-citation-support
   :type '(list
@@ -1175,7 +1175,7 @@
 
 (defcustom reftex-format-cite-function nil
   "Function which produces the string to insert as a citation.
-Normally should be nil, because the format to insert a reference can 
+Normally should be nil, because the format to insert a reference can
 already be specified in `reftex-cite-format'.
 The function will be called with two arguments, the CITATION KEY and the
 DEFAULT FORMAT, which is taken from `reftex-cite-format'.  The function
@@ -1258,7 +1258,7 @@
   :group 'reftex-index-support
   :set 'reftex-set-dirty
   :type `(list
-          (repeat 
+          (repeat
            :inline t
            (list :value ("" "idx" ?a "" nil)
                  (string  :tag "Macro with args")
@@ -1285,7 +1285,7 @@
 This is a list with (MACRO-KEY DEFAULT-TAG).
 
 MACRO-KEY:   Character identifying an index macro - see `reftex-index-macros'.
-DEFAULT-TAG: This is the tag to be used if the macro requires a TAG argument.  
+DEFAULT-TAG: This is the tag to be used if the macro requires a TAG argument.
              When this is nil and a TAG is needed, RefTeX will ask for it.
              When this is the empty string and the TAG argument of the index
              macro is optional, the TAG argument will be omitted."
@@ -1426,7 +1426,7 @@
 
 (defcustom reftex-index-include-context nil
   "*Non-nil means, display the index definition context in the index buffer.
-This flag may also be toggled from the index buffer with the `c' key." 
+This flag may also be toggled from the index buffer with the `c' key."
   :group 'reftex-index-support
   :type 'boolean)
 
@@ -1449,7 +1449,7 @@
 argument of a macro.  Note that crossref viewing for citations,
 references (both ways) and index entries is hard-coded.  This variable
 is only to configure additional structures for which crossreference
-viewing can be useful.  Each entry has the structure 
+viewing can be useful.  Each entry has the structure
 
 \(MACRO-RE SEARCH-RE HIGHLIGHT).
 
@@ -1470,7 +1470,7 @@
 displayed, the echo area will display information about that cross
 reference.  You can also set the variable to the symbol `window'.  In
 this case a small temporary window is used for the display.
-This feature can be turned on and off from the menu 
+This feature can be turned on and off from the menu
 \(Ref->Options)."
   :group 'reftex-viewing-cross-references
   :type '(choice (const :tag "off" nil)
@@ -1516,7 +1516,7 @@
 - If an element is the name of an environment variable, its content is used.
 - If an element starts with an exclamation mark, it is used as a command
   to retrieve the path.  A typical command with the kpathsearch library would
-  be `!kpsewhich -show-path=.tex'. 
+  be `!kpsewhich -show-path=.tex'.
 - Otherwise the element itself is interpreted as a path.
 Multiple directories can be separated by the system dependent `path-separator'.
 Directories ending in `//' or `!!' will be expanded recursively.
@@ -1531,7 +1531,7 @@
 - If an element is the name of an environment variable, its content is used.
 - If an element starts with an exclamation mark, it is used as a command
   to retrieve the path.  A typical command with the kpathsearch library would
-  be `!kpsewhich -show-path=.bib'. 
+  be `!kpsewhich -show-path=.bib'.
 - Otherwise the element itself is interpreted as a path.
 Multiple directories can be separated by the system dependent `path-separator'.
 Directories ending in `//' or `!!' will be expanded recursively.
@@ -1575,7 +1575,7 @@
   "*Non-nil means, search all specified directories before trying recursion.
 Thus, in a path \".//:/tex/\", search first \"./\", then \"/tex/\" and then
 all subdirectories of \"./\".  If this option is nil, the subdirectories of
-\"./\" are searched before \"/tex/\". This is mainly for speed - most of the
+\"./\" are searched before \"/tex/\".  This is mainly for speed - most of the
 time the recursive path is for the system files and not for the user files.
 Set this to nil if the default makes RefTeX finding files with equal names
 in wrong sequence."
@@ -1588,7 +1588,7 @@
 TEXINPUTS and BIBINPUTS to find TeX files and BibTeX database files.
 With this option turned on, it calls an external program specified in the
 option `reftex-external-file-finders' instead.  As a side effect,
-the variables `reftex-texpath-environment-variables' and 
+the variables `reftex-texpath-environment-variables' and
 `reftex-bibpath-environment-variables' will be ignored."
   :group 'reftex-finding-files
   :type 'boolean)
@@ -1679,7 +1679,7 @@
 (defcustom reftex-save-parse-info nil
   "*Non-nil means, save information gathered with parsing in a file.
 The file MASTER.rel in the same directory as MASTER.tex is used to save the
-information.  When this variable is t, 
+information.  When this variable is t,
 - accessing the parsing information for the first time in an editing session
   will read that file (if available) instead of parsing the document.
 - exiting Emacs or killing a buffer in reftex-mode will cause a new version
@@ -1753,7 +1753,7 @@
 highlighted.  This is the entry most keys in the selction and *toc*
 buffers act on.  However, if you mainly use the mouse to select an
 item, you may find it nice to have mouse-triggered highlighting
-instead or as well. The variable may have one of these values:
+instead or as well.  The variable may have one of these values:
 
    nil      No highlighting.
    cursor   Highlighting is cursor driven.
@@ -1882,7 +1882,7 @@
 may require a restart of Emacs in order to become effective."
   :group 'reftex-miscellaneous-configurations
   :group 'LaTeX
-  :type '(choice 
+  :type '(choice
           (const :tag "No plug-ins" nil)
           (const :tag "All possible plug-ins" t)
           (list
--- a/lisp/woman.el	Tue Mar 16 16:04:46 2010 +0900
+++ b/lisp/woman.el	Tue Mar 23 10:03:53 2010 +0900
@@ -3876,10 +3876,14 @@
   ;; The first two cases below could be merged (maybe)!
   (let ((from (point)))
     ;; Discard zero width filler character used to hide leading dots
-    ;; and zero width characters.  If on a line by itself, consume the
-    ;; newline as well, as this may interfere with (Bug#3651).
-    (while (re-search-forward "\\\\[&|^]\n?" to t)
-      (woman-delete-match 0))
+    ;; and zero width characters.
+    (while (re-search-forward "\\\\[&|^]" to t)
+      (woman-delete-match 0)
+      ;; If on a line by itself, consume newline as well (Bug#3651).
+      (and (eq (char-before (match-beginning 0)) ?\n)
+	   (eq (char-after (match-beginning 0)) ?\n)
+	   (delete-char 1)))
+
     (goto-char from)
     ;; Interrupt text processing -- CONTINUE current text with the
     ;; next text line (after any control lines, unless processing to
--- a/src/ChangeLog	Tue Mar 16 16:04:46 2010 +0900
+++ b/src/ChangeLog	Tue Mar 23 10:03:53 2010 +0900
@@ -1,3 +1,16 @@
+2010-03-20  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* frame.c (x_get_arg): Handle RES_TYPE_BOOLEAN_NUMBER (bug #5736).
+
+	* xfns.c (Fx_create_frame): Make menuBar a RES_TYPE_BOOLEAN_NUMBER.
+
+	* dispextern.h (resource_types): RES_TYPE_BOOLEAN_NUMBER is new.
+
+2010-03-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	* xfns.c (Fx_create_frame) [USE_LUCID]: Add BLOCK_INPUT around
+	XLoadQueryFont.
+
 2010-03-16  Kenichi Handa  <handa@m17n.org>
 
 	* coding.c (decode_coding_ccl): Fix previous change for the
--- a/src/dispextern.h	Tue Mar 16 16:04:46 2010 +0900
+++ b/src/dispextern.h	Tue Mar 23 10:03:53 2010 +0900
@@ -3122,7 +3122,8 @@
   RES_TYPE_FLOAT,
   RES_TYPE_BOOLEAN,
   RES_TYPE_STRING,
-  RES_TYPE_SYMBOL
+  RES_TYPE_SYMBOL,
+  RES_TYPE_BOOLEAN_NUMBER
 };
 
 extern Lisp_Object x_get_arg P_ ((Display_Info *, Lisp_Object,
--- a/src/frame.c	Tue Mar 16 16:04:46 2010 +0900
+++ b/src/frame.c	Tue Mar 23 10:03:53 2010 +0900
@@ -4005,6 +4005,13 @@
 	    case RES_TYPE_NUMBER:
 	      return make_number (atoi (SDATA (tem)));
 
+	    case RES_TYPE_BOOLEAN_NUMBER:
+	      if (!strcmp (SDATA (tem), "on")
+		  || !strcmp (SDATA (tem), "true"))
+		return make_number (1);
+	      return make_number (atoi (SDATA (tem)));
+              break;
+
 	    case RES_TYPE_FLOAT:
 	      return make_float (atof (SDATA (tem)));
 
--- a/src/xfns.c	Tue Mar 16 16:04:46 2010 +0900
+++ b/src/xfns.c	Tue Mar 23 10:03:53 2010 +0900
@@ -3347,7 +3347,9 @@
 #ifdef USE_LUCID
   /* Prevent lwlib/xlwmenu.c from crashing because of a bug
      whereby it fails to get any font.  */
+  BLOCK_INPUT;
   xlwmenu_default_font = XLoadQueryFont (FRAME_X_DISPLAY (f), "fixed");
+  UNBLOCK_INPUT;
 #endif
 
   /* Frame contents get displaced if an embedded X window has a border.  */
@@ -3416,7 +3418,7 @@
   init_frame_faces (f);
 
   x_default_parameter (f, parms, Qmenu_bar_lines, make_number (1),
-		       "menuBar", "MenuBar", RES_TYPE_NUMBER);
+		       "menuBar", "MenuBar", RES_TYPE_BOOLEAN_NUMBER);
   x_default_parameter (f, parms, Qtool_bar_lines, make_number (1),
 		       "toolBar", "ToolBar", RES_TYPE_NUMBER);
   x_default_parameter (f, parms, Qbuffer_predicate, Qnil,