changeset 111569:0187fc875872

merge trunk
author Kenichi Handa <handa@m17n.org>
date Wed, 01 Sep 2010 11:03:05 +0900
parents 47e9b8a2298c (current diff) 6b8c20b6ec43 (diff)
children ffe2002d45c4
files
diffstat 325 files changed, 1177 insertions(+), 558 deletions(-) [+]
line wrap: on
line diff
--- a/doc/lispref/ChangeLog	Thu Aug 26 10:29:35 2010 +0900
+++ b/doc/lispref/ChangeLog	Wed Sep 01 11:03:05 2010 +0900
@@ -1,3 +1,13 @@
+2010-08-28  Eli Zaretskii  <eliz@gnu.org>
+
+	* display.texi (Fringe Size/Pos): Add a cross-reference to "Layout
+	Parameters", where the default fringe width is described.
+
+	* frames.texi (Window Frame Parameters, Basic Parameters)
+	(Position Parameters, Layout Parameters, Management Parameters)
+	(Cursor Parameters, Font and Color Parameters): Add indexing for
+	frame parameters.  (Bug#6929)
+
 2010-08-25  Tom Tromey  <tromey@redhat.com>
 
 	* vol2.texi (Top): Update.
--- a/doc/lispref/display.texi	Thu Aug 26 10:29:35 2010 +0900
+++ b/doc/lispref/display.texi	Wed Sep 01 11:03:05 2010 +0900
@@ -3214,7 +3214,9 @@
   The values of these variables take effect when you display the
 buffer in a window.  If you change them while the buffer is visible,
 you can call @code{set-window-buffer} to display it once again in the
-same window, to make the changes take effect.
+same window, to make the changes take effect.  A buffer that does not
+specify values for these variables will use the default values
+specified for the frame; see @ref{Layout Parameters}.
 
 @defun set-window-fringes window left &optional right outside-margins
 This function sets the fringe widths of window @var{window}.
--- a/doc/lispref/frames.texi	Thu Aug 26 10:29:35 2010 +0900
+++ b/doc/lispref/frames.texi	Wed Sep 01 11:03:05 2010 +0900
@@ -461,6 +461,7 @@
 
 @node Window Frame Parameters
 @subsection Window Frame Parameters
+@cindex frame parameters for windowed displays
 
   Just what parameters a frame has depends on what display mechanism
 it uses.  This section describes the parameters that have special
@@ -489,16 +490,19 @@
 frame.  @code{title} and @code{name} are meaningful on all terminals.
 
 @table @code
+@vindex display, a frame parameter
 @item display
 The display on which to open this frame.  It should be a string of the
 form @code{"@var{host}:@var{dpy}.@var{screen}"}, just like the
 @code{DISPLAY} environment variable.
 
+@vindex display-type, a frame parameter
 @item display-type
 This parameter describes the range of possible colors that can be used
 in this frame.  Its value is @code{color}, @code{grayscale} or
 @code{mono}.
 
+@vindex title, a frame parameter
 @item title
 If a frame has a non-@code{nil} title, it appears in the window
 system's title bar at the top of the frame, and also in the mode line
@@ -507,6 +511,7 @@
 Emacs is not using a window system, and can only display one frame at
 a time.  @xref{Frame Titles}.
 
+@vindex name, a frame parameter
 @item name
 The name of the frame.  The frame name serves as a default for the frame
 title, if the @code{title} parameter is unspecified or @code{nil}.  If
@@ -520,11 +525,13 @@
 
 @node Position Parameters
 @subsubsection Position Parameters
+@cindex window position on display
 
   Position parameters' values are normally measured in pixels, but on
 text-only terminals they count characters or lines instead.
 
 @table @code
+@vindex left, a frame parameter
 @item left
 The position, in pixels, of the left (or right) edge of the frame with
 respect to the left (or right) edge of the screen.  The value may be:
@@ -550,11 +557,13 @@
 be sure the position you specify is not ignored, specify a
 non-@code{nil} value for the @code{user-position} parameter as well.
 
+@vindex top, a frame parameter
 @item top
 The screen position of the top (or bottom) edge, in pixels, with respect
 to the top (or bottom) edge of the screen.  It works just like
 @code{left}, except vertically instead of horizontally.
 
+@vindex icon-left, a frame parameter
 @item icon-left
 The screen position of the left edge @emph{of the frame's icon}, in
 pixels, counting from the left edge of the screen.  This takes effect if
@@ -564,11 +573,13 @@
 a value for @code{icon-top} and vice versa.  The window manager may
 ignore these two parameters.
 
+@vindex icon-top, a frame parameter
 @item icon-top
 The screen position of the top edge @emph{of the frame's icon}, in
 pixels, counting from the top edge of the screen.  This takes effect if
 and when the frame is iconified.
 
+@vindex user-position, a frame parameter
 @item user-position
 When you create a frame and specify its screen position with the
 @code{left} and @code{top} parameters, use this parameter to say whether
@@ -576,6 +587,7 @@
 way by a human user) or merely program-specified (chosen by a program).
 A non-@code{nil} value says the position was user-specified.
 
+@cindex window positions and window managers
 Window managers generally heed user-specified positions, and some heed
 program-specified positions too.  But many ignore program-specified
 positions, placing the window in a default fashion or letting the user
@@ -591,24 +603,31 @@
 
 @node Size Parameters
 @subsubsection Size Parameters
+@cindex window size on display
 
   Size parameters' values are normally measured in pixels, but on
 text-only terminals they count characters or lines instead.
 
 @table @code
+@vindex height, a frame parameter
 @item height
 The height of the frame contents, in characters.  (To get the height in
 pixels, call @code{frame-pixel-height}; see @ref{Size and Position}.)
 
+@vindex width, a frame parameter
 @item width
 The width of the frame contents, in characters.  (To get the width in
 pixels, call @code{frame-pixel-width}; see @ref{Size and Position}.)
 
+@vindex user-size, a frame parameter
 @item user-size
 This does for the size parameters @code{height} and @code{width} what
-the @code{user-position} parameter (see above) does for the position
-parameters @code{top} and @code{left}.
-
+the @code{user-position} parameter (@pxref{Position Parameters,
+user-position}) does for the position parameters @code{top} and
+@code{left}.
+
+@cindex full-screen frames
+@vindex fullscreen, a frame parameter
 @item fullscreen
 Specify that width, height or both shall be maximized.  The value
 @code{fullwidth} specifies that width shall be as wide as possible.
@@ -623,33 +642,42 @@
 
 @node Layout Parameters
 @subsubsection Layout Parameters
+@cindex layout parameters of frames
+@cindex frame layout parameters
 
   These frame parameters enable or disable various parts of the
 frame, or control their sizes.
 
 @table @code
+@vindex border-width, a frame parameter
 @item border-width
 The width in pixels of the frame's border.
 
+@vindex internal-border-width, a frame parameter
 @item internal-border-width
 The distance in pixels between text (or fringe) and the frame's border.
 
+@vindex vertical-scroll-bars, a frame parameter
 @item vertical-scroll-bars
 Whether the frame has scroll bars for vertical scrolling, and which side
 of the frame they should be on.  The possible values are @code{left},
 @code{right}, and @code{nil} for no scroll bars.
 
 @ignore
+@vindex horizontal-scroll-bars, a frame parameter
 @item horizontal-scroll-bars
 Whether the frame has scroll bars for horizontal scrolling
 (non-@code{nil} means yes).  Horizontal scroll bars are not currently
 implemented.
 @end ignore
 
+@vindex scroll-bar-width, a frame parameter
 @item scroll-bar-width
 The width of vertical scroll bars, in pixels, or @code{nil} meaning to
 use the default width.
 
+@vindex left-fringe, a frame parameter
+@vindex right-fringe, a frame parameter
 @item left-fringe
 @itemx right-fringe
 The default width of the left and right fringes of windows in this
@@ -666,22 +694,26 @@
 width by specifying that width as a negative integer.  If both widths are
 negative, only the left fringe gets the specified width.
 
+@vindex menu-bar-lines, a frame parameter
 @item menu-bar-lines
 The number of lines to allocate at the top of the frame for a menu
 bar.  The default is 1.  A value of @code{nil} means don't display a
 menu bar.  @xref{Menu Bar}.  (The X toolkit and GTK allow at most one
 menu bar line; they treat larger values as 1.)
 
+@vindex tool-bar-lines, a frame parameter
 @item tool-bar-lines
 The number of lines to use for the tool bar.  A value of @code{nil}
 means don't display a tool bar.  (GTK and Nextstep allow at most one
 tool bar line; they treat larger values as 1.)
 
+@vindex tool-bar-position, a frame parameter
 @item tool-bar-position
 The position of the tool bar.  Currently only for the GTK tool bar.
 Value can be one of @code{top}, @code{bottom} @code{left}, @code{right}.
 The default is  @code{top}.
 
+@vindex line-spacing, a frame parameter
 @item line-spacing
 Additional space to leave below each text line, in pixels (a positive
 integer).  @xref{Line Height}, for more information.
@@ -694,6 +726,7 @@
 with which buffers have been, or should, be displayed in the frame.
 
 @table @code
+@vindex minibuffer, a frame parameter
 @item minibuffer
 Whether this frame has its own minibuffer.  The value @code{t} means
 yes, @code{nil} means no, @code{only} means this frame is just a
@@ -703,6 +736,7 @@
 This frame parameter takes effect when the frame is created, and can
 not be changed afterwards.
 
+@vindex buffer-predicate, a frame parameter
 @item buffer-predicate
 The buffer-predicate function for this frame.  The function
 @code{other-buffer} uses this predicate (from the selected frame) to
@@ -711,61 +745,73 @@
 each buffer; if the predicate returns a non-@code{nil} value, it
 considers that buffer.
 
+@vindex buffer-list, a frame parameter
 @item buffer-list
-A list of buffers that have been selected in this frame,
-ordered most-recently-selected first.
-
+A list of buffers that have been selected in this frame, ordered
+most-recently-selected first.
+
+@vindex unsplittable, a frame parameter
 @item unsplittable
 If non-@code{nil}, this frame's window is never split automatically.
 @end table
 
 @node Management Parameters
 @subsubsection Window Management Parameters
-@cindex window manager, and frame parameters
+@cindex window manager interaction, and frame parameters
 
   These frame parameters, meaningful only on window system displays,
 interact with the window manager.
 
 @table @code
+@vindex visibility, a frame parameter
 @item visibility
 The state of visibility of the frame.  There are three possibilities:
 @code{nil} for invisible, @code{t} for visible, and @code{icon} for
 iconified.  @xref{Visibility of Frames}.
 
+@vindex auto-raise, a frame parameter
 @item auto-raise
 Whether selecting the frame raises it (non-@code{nil} means yes).
 
+@vindex auto-lower, a frame parameter
 @item auto-lower
 Whether deselecting the frame lowers it (non-@code{nil} means yes).
 
+@vindex icon-type, a frame parameter
 @item icon-type
 The type of icon to use for this frame when it is iconified.  If the
 value is a string, that specifies a file containing a bitmap to use.
 Any other non-@code{nil} value specifies the default bitmap icon (a
 picture of a gnu); @code{nil} specifies a text icon.
 
+@vindex icon-name, a frame parameter
 @item icon-name
 The name to use in the icon for this frame, when and if the icon
 appears.  If this is @code{nil}, the frame's title is used.
 
+@vindex window-id, a frame parameter
 @item window-id
 The number of the window-system window used by the frame
 to contain the actual Emacs windows.
 
+@vindex outer-window-id, a frame parameter
 @item outer-window-id
 The number of the outermost window-system window used for the whole frame.
 
+@vindex wait-for-wm, a frame parameter
 @item wait-for-wm
 If non-@code{nil}, tell Xt to wait for the window manager to confirm
 geometry changes.  Some window managers, including versions of Fvwm2
 and KDE, fail to confirm, so Xt hangs.  Set this to @code{nil} to
 prevent hanging with those window managers.
 
+@vindex sticky, a frame parameter
 @item sticky
 If non-@code{nil}, the frame is visible on all virtual desktops on systems
 with virtual desktops.
 
 @ignore
+@vindex parent-id, a frame parameter
 @item parent-id
 @c ??? Not yet working.
 The X window number of the window that should be the parent of this one.
@@ -777,10 +823,12 @@
 
 @node Cursor Parameters
 @subsubsection Cursor Parameters
+@cindex cursor, and frame parameters
 
   This frame parameter controls the way the cursor looks.
 
 @table @code
+@vindex cursor-type, a frame parameter
 @item cursor-type
 How to display the cursor.  Legitimate values are:
 
@@ -832,10 +880,12 @@
 
 @node Font and Color Parameters
 @subsubsection Font and Color Parameters
+@cindex font and color, frame parameters
 
   These frame parameters control the use of fonts and colors.
 
 @table @code
+@vindex font-backend, a frame parameter
 @item font-backend
 A list of symbols, specifying the @dfn{font backends} to use for
 drawing fonts in the frame, in order of priority.  On X, there are
@@ -844,10 +894,12 @@
 is only one available font backend, so it does not make sense to
 modify this frame parameter.
 
+@vindex background-mode, a frame parameter
 @item background-mode
 This parameter is either @code{dark} or @code{light}, according
 to whether the background color is a light one or a dark one.
 
+@vindex tty-color-mode, a frame parameter
 @item tty-color-mode
 @cindex standard colors for character terminals
 This parameter overrides the terminal's color support as given by the
@@ -863,6 +915,7 @@
 the value of @code{tty-color-mode-alist}, and the associated number is
 used instead.
 
+@vindex screen-gamma, a frame parameter
 @item screen-gamma
 @cindex gamma correction
 If this is a number, Emacs performs ``gamma correction'' which adjusts
@@ -882,6 +935,7 @@
 that makes colors darker.  A screen gamma value of 1.5 may give good
 results for LCD color displays.
 
+@vindex alpha, a frame parameter
 @item alpha
 @cindex opacity, frame
 @cindex transparency, frame
@@ -909,37 +963,45 @@
 faces (@pxref{Standard Faces,,, emacs, The Emacs Manual}):
 
 @table @code
+@vindex font, a frame parameter
 @item font
 The name of the font for displaying text in the frame.  This is a
 string, either a valid font name for your system or the name of an Emacs
 fontset (@pxref{Fontsets}).  It is equivalent to the @code{font}
 attribute of the @code{default} face.
 
+@vindex foreground-color, a frame parameter
 @item foreground-color
 The color to use for the image of a character.  It is equivalent to
 the @code{:foreground} attribute of the @code{default} face.
 
+@vindex background-color, a frame parameter
 @item background-color
 The color to use for the background of characters.  It is equivalent to
 the @code{:background} attribute of the @code{default} face.
 
+@vindex mouse-color, a frame parameter
 @item mouse-color
 The color for the mouse pointer.  It is equivalent to the @code{:background}
 attribute of the @code{mouse} face.
 
+@vindex cursor-color, a frame parameter
 @item cursor-color
 The color for the cursor that shows point.  It is equivalent to the
 @code{:background} attribute of the @code{cursor} face.
 
+@vindex border-color, a frame parameter
 @item border-color
 The color for the border of the frame.  It is equivalent to the
 @code{:background} attribute of the @code{border} face.
 
+@vindex scroll-bar-foreground, a frame parameter
 @item scroll-bar-foreground
 If non-@code{nil}, the color for the foreground of scroll bars.  It is
 equivalent to the @code{:foreground} attribute of the
 @code{scroll-bar} face.
 
+@vindex scroll-bar-background, a frame parameter
 @item scroll-bar-background
 If non-@code{nil}, the color for the background of scroll bars.  It is
 equivalent to the @code{:background} attribute of the
--- a/doc/misc/ChangeLog	Thu Aug 26 10:29:35 2010 +0900
+++ b/doc/misc/ChangeLog	Wed Sep 01 11:03:05 2010 +0900
@@ -1,3 +1,9 @@
+2010-08-26  Michael Albinus  <michael.albinus@gmx.de>
+
+	Sync with Tramp 2.1.19.
+
+	* trampver.texi: Update release number.
+
 2010-08-23  Michael Albinus  <michael.albinus@gmx.de>
 
 	* dbus.texi (Alternative Buses): New chapter.
--- a/doc/misc/trampver.texi	Thu Aug 26 10:29:35 2010 +0900
+++ b/doc/misc/trampver.texi	Wed Sep 01 11:03:05 2010 +0900
@@ -9,7 +9,7 @@
 @c In the Tramp CVS, the version number is auto-frobbed from
 @c configure.ac, so you should edit that file and run
 @c "autoconf && ./configure" to change the version number.
-@set trampver 2.1.19-pre
+@set trampver 2.1.19
 
 @c Other flags from configuration
 @set instprefix /usr/local
--- a/etc/NEWS	Thu Aug 26 10:29:35 2010 +0900
+++ b/etc/NEWS	Wed Sep 01 11:03:05 2010 +0900
@@ -176,8 +176,12 @@
 
 ** An Emacs Lisp package manager is now included.
 This is a convenient way to download and install additional packages,
-from elpa.gnu.org.  `M-x package-list-packages' shows a list of
-packages, which can be selected for installation.
+from elpa.gnu.org.
+
+*** `M-x list-packages' shows a list of packages, which can be
+selected for installation.
+
+*** New command `describe-package', bound to `C-h P'.
 
 *** By default, all installed packages are loaded and activated
 automatically when Emacs starts up.  To disable this, set
--- a/lisp/ChangeLog	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/ChangeLog	Wed Sep 01 11:03:05 2010 +0900
@@ -1,3 +1,95 @@
+2010-08-29  Chong Yidong  <cyd@stupidchicken.com>
+
+	* finder.el: Require `package'.
+	(finder-known-keywords): Tweak descriptions.  Retire `oop' keyword.
+	(finder-package-info): Var deleted.
+	(finder-keywords-hash, finder--builtins-alist): New vars.
+	(finder-compile-keywords): Compute package--builtins and
+	finder-keywords-hash instead of finder-keywords-hash, respecting
+	the "Package" header.
+	(finder-unknown-keywords, finder-list-matches): Use
+	finder-keywords-hash and package--list-packages.
+	(finder-mode): Don't set font-lock-defaults.
+	(finder-exit): We don't use "*Finder-package*" and "*Finder
+	Category*" buffers anymore.
+
+	* emacs-lisp/package.el (package--builtins-base): Var deleted.
+	(package--builtins): Set default value to nil.
+	(package-initialize): Load precomputed value of package--builtins
+	from finder-inf.el.
+	(package-alist, package-compute-transaction)
+	(package-download-transaction): Improve docstring.
+	(package-read-all-archive-contents): Do not change
+	package--builtins here.
+	(list-packages): Make package-list-packages an alias for this.
+	Sort by status by default.
+	(package--list-packages): Add optional PACKAGES arg.
+	(describe-package-1): Use font-lock-face property.  For built-in
+	packages, insert file commentary.
+	(package--generate-package-list): Rename from
+	package-list-packages-internal; all callers changed.  Add optional
+	PACKAGES arg.  Add alphabetical sort fallbacks.
+	(package-menu--version-predicate, package-menu--status-predicate)
+	(package-menu--description-predicate)
+	(package-menu--name-predicate): New functions.
+
+	* info.el (Info-finder-find-node): Search package-alist instead of
+	finder-package-info.
+
+2010-08-29  Chong Yidong  <cyd@stupidchicken.com>
+
+	* subr.el (version-regexp-alist): Don't use "a" and "b" for
+	"alpha" and "beta".
+	(version-to-list): Handle versions like "10.3d".
+
+2010-08-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* emacs-lisp/macroexp.el (macroexpand-all-1): Use pcase.
+	(macroexp-accumulate): Use `declare'.
+
+2010-08-27  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
+
+	* whitespace.el (whitespace-style): Adjust type declaration.
+
+2010-08-26  Nathan Weizenbaum  <nweiz@cressida.sea.corp.google.com>  (tiny change)
+
+	* progmodes/js.el: Make indentation more customizable (Bug#6914).
+	(js-paren-indent-offset, js-square-indent-offset)
+	(js-curly-indent-offset): New options.
+	(js--proper-indentation): Use them.
+
+2010-08-26  Daniel Colascione  <dan.colascione@gmail.com>
+
+	* progmodes/sh-script.el (sh-get-indent-info): Use syntax-ppss
+	instead of inspecting font-lock properties (Bug#6916).
+
+2010-08-26  David Reitter  <david.reitter@gmail.com>
+
+	* server.el (server-visit-files): Run pre-command-hook and
+	post-command-hook for each buffer while it is current
+	(Bug#6910).
+	(server-execute): Do not run hooks here.
+
+2010-08-26  Michael Albinus  <michael.albinus@gmx.de>
+
+	Sync with Tramp 2.1.19.
+
+	* net/trampver.el: Update release number.
+
+2010-08-26  Chong Yidong  <cyd@stupidchicken.com>
+
+	* help.el (help-map): Bind `C-h P' to describe-package.
+
+	* menu-bar.el (menu-bar-describe-menu): Add describe-package.
+
+	* emacs-lisp/package.el (package-refresh-contents): Catch errors
+	when downloading archives.
+	(describe-package-1): Add package commentary.
+	(package-install-button-action): New function.
+	(package-menu-mode-map): Bind ? to package-menu-describe-package.
+	(package-menu-view-commentary): Function removed.
+	(package-list-packages-internal): Hide the `package' package too.
+
 2010-08-25  Kenichi Handa  <handa@m17n.org>
 
 	* language/misc-lang.el ("Arabic"): New language environment.
--- a/lisp/abbrev.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/abbrev.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: abbrev convenience
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/abbrevlist.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/abbrevlist.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: abbrev
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/apropos.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/apropos.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Joe Wells <jbw@bigbird.bu.edu>
 ;;	Daniel Pfeiffer <occitan@esperanto.org> (rewrite)
 ;; Keywords: help
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/bindings.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/bindings.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/buff-menu.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/buff-menu.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: convenience
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/button.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/button.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;;
 ;; Author: Miles Bader <miles@gnu.org>
 ;; Keywords: extensions
+;; Package: emacs
 ;;
 ;; This file is part of GNU Emacs.
 ;;
--- a/lisp/calendar/appt.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/appt.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Neil Mager <neilm@juliet.ll.mit.edu>
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-bahai.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-bahai.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: John Wiegley <johnw@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: Bahá'í calendar, Bahá'í, Baha'i, Bahai, calendar, diary
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-china.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-china.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: Chinese calendar, calendar, holidays, diary
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-coptic.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-coptic.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: Coptic calendar, Ethiopic calendar, calendar, diary
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-dst.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-dst.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: daylight saving time, calendar, diary, holidays
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-french.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-french.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: French Revolutionary calendar, calendar, diary
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-hebrew.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-hebrew.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: Hebrew calendar, calendar, diary
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-html.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-html.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Keywords: calendar
 ;; Human-Keywords: calendar, diary, HTML
 ;; Created: 23 Aug 2002
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-islam.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-islam.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: Islamic calendar, calendar, diary
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-iso.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-iso.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: ISO calendar, calendar, diary
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-julian.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-julian.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: Julian calendar, Julian day number, calendar, diary
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-mayan.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-mayan.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: Mayan calendar, Maya, calendar, diary
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-menu.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-menu.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: calendar, popup menus, menu bar
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-move.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-move.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: calendar
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-persia.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-persia.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: Persian calendar, calendar, diary
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-tex.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-tex.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: Calendar, LaTeX
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/cal-x.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/cal-x.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: calendar, dedicated frames
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/holidays.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/holidays.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: holidays, calendar
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/icalendar.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/icalendar.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Created:        August 2002
 ;; Keywords:       calendar
 ;; Human-Keywords: calendar, diary, iCalendar, vCalendar
+;; Version:        0.19
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/lunar.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/lunar.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: moon, lunar phases, calendar, diary
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/calendar/solar.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/calendar/solar.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
 ;; Keywords: calendar
 ;; Human-Keywords: sunrise, sunset, equinox, solstice, calendar, diary, holidays
+;; Package: calendar
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/case-table.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/case-table.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Howard Gayle
 ;; Maintainer: FSF
 ;; Keywords: i18n
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/cedet/cedet-cscope.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/cedet/cedet-cscope.el	Wed Sep 01 11:03:05 2010 +0900
@@ -3,6 +3,7 @@
 ;;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
+;; Package: cedet
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/cedet/cedet-files.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/cedet/cedet-files.el	Wed Sep 01 11:03:05 2010 +0900
@@ -3,6 +3,7 @@
 ;; Copyright (C) 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
+;; Package: cedet
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/cedet/cedet-global.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/cedet/cedet-global.el	Wed Sep 01 11:03:05 2010 +0900
@@ -3,6 +3,7 @@
 ;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
+;; Package: cedet
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/cedet/cedet-idutils.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/cedet/cedet-idutils.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 ;; Version: 0.2
 ;; Keywords: OO, lisp
+;; Package: cedet
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/cedet/cedet.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/cedet/cedet.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,7 +5,7 @@
 
 ;; Author: David Ponce <david@dponce.com>
 ;; Maintainer: Eric M. Ludlam  <zappo@gnu.org>
-;; Version: 0.2
+;; Version: 1.0pre7
 ;; Keywords: OO, lisp
 
 ;; This file is part of GNU Emacs.
--- a/lisp/cedet/data-debug.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/cedet/data-debug.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;; Author: Eric M. Ludlam  <zappo@gnu.org>
 ;; Version: 0.2
 ;; Keywords: OO, lisp
+;; Package: cedet
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/cedet/ede.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/cedet/ede.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make
+;; Version: 1.0pre7
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/cedet/semantic.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/cedet/semantic.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,7 +4,8 @@
 ;;   2008, 2009, 2010  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
-;; Keywords: syntax
+;; Keywords: syntax tools
+;; Version: 2.0pre7
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/cedet/srecode.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/cedet/srecode.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: codegeneration
+;; Version: 1.0pre7
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/comint.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/comint.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;;	Simon Marshall <simon@gnu.org>
 ;; Maintainer: FSF
 ;; Keywords: processes
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/composite.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/composite.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;; Author: Kenichi HANDA <handa@etl.go.jp>
 ;; (according to ack.texi)
 ;; Keywords: mule, multilingual, character composition
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/cus-dep.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/cus-dep.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/cus-edit.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/cus-edit.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Maintainer: FSF
 ;; Keywords: help, faces
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/cus-face.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/cus-face.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: help, faces
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/cus-start.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/cus-start.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/cus-theme.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/cus-theme.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Alex Schroeder <alex@gnu.org>
 ;; Maintainer: FSF
 ;; Keywords: help, faces
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/custom.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/custom.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Maintainer: FSF
 ;; Keywords: help, faces
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/dired-aux.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/dired-aux.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Sebastian Kremer <sk@thp.uni-koeln.de>.
 ;; Maintainer: FSF
 ;; Keywords: files
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/dired-x.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/dired-x.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;;	Lawrence R. Dodd <dodd@roebling.poly.edu>
 ;; Maintainer: Romain Francoise <rfrancoise@gnu.org>
 ;; Keywords: dired extensions files
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/dired.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/dired.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Author: Sebastian Kremer <sk@thp.uni-koeln.de>
 ;; Maintainer: FSF
 ;; Keywords: files
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
@@ -3534,7 +3535,7 @@
 ;;;;;;  dired-run-shell-command dired-do-shell-command dired-do-async-shell-command
 ;;;;;;  dired-clean-directory dired-do-print dired-do-touch dired-do-chown
 ;;;;;;  dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff
-;;;;;;  dired-diff) "dired-aux" "dired-aux.el" "07676ea25af17f5d50cc5db4f53bddc0")
+;;;;;;  dired-diff) "dired-aux" "dired-aux.el" "416d272299fd4774c47c2f677ee640a4")
 ;;; Generated autoloads from dired-aux.el
 
 (autoload 'dired-diff "dired-aux" "\
@@ -3987,7 +3988,7 @@
 ;;;***
 
 ;;;### (autoloads (dired-do-relsymlink dired-jump) "dired-x" "dired-x.el"
-;;;;;;  "6c492aba3ca0d36a4cd7b02fb9c1cc10")
+;;;;;;  "27c312d6d5d40d8cb4ef8d62e30d5f4a")
 ;;; Generated autoloads from dired-x.el
 
 (autoload 'dired-jump "dired-x" "\
--- a/lisp/disp-table.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/disp-table.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Based on a previous version by Howard Gayle
 ;; Maintainer: FSF
 ;; Keywords: i18n
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/dnd.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/dnd.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Jan Djärv <jan.h.d@swipnet.se>
 ;; Maintainer: FSF
 ;; Keywords: window, drag, drop
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/dos-fns.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/dos-fns.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: Morten Welinder <terra@diku.dk>
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/dos-vars.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/dos-vars.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/dos-w32.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/dos-w32.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: Geoff Voelker <voelker@cs.washington.edu>
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/dynamic-setting.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/dynamic-setting.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;; Author: Jan Djärv <jan.h.d@swipnet.se>
 ;; Maintainer: FSF
 ;; Keywords: font, system-font, tool-bar-style
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/advice.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/advice.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: FSF
 ;; Created: 12 Dec 1992
 ;; Keywords: extensions, lisp, tools
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/authors.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/authors.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Gerd Moellmann <gerd@gnu.org>
 ;; Maintainer: Kim F. Storm <storm@cua.dk>
 ;; Keywords: maint
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/autoload.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/autoload.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Author: Roland McGrath <roland@gnu.org>
 ;; Keywords: maint
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/backquote.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/backquote.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Rick Sladkey <jrs@world.std.com>
 ;; Maintainer: FSF
 ;; Keywords: extensions, internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/byte-opt.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/byte-opt.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;;	Hallvard Furuseth <hbf@ulrik.uio.no>
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/byte-run.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/byte-run.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;;	Hallvard Furuseth <hbf@ulrik.uio.no>
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/bytecomp.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/bytecomp.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;;	Hallvard Furuseth <hbf@ulrik.uio.no>
 ;; Maintainer: FSF
 ;; Keywords: lisp
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/cl-compat.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/cl-compat.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Dave Gillespie <daveg@synaptics.com>
 ;; Version: 2.02
 ;; Keywords: extensions
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/cl-extra.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/cl-extra.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
 ;; Keywords: extensions
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/cl-indent.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/cl-indent.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Created: July 1987
 ;; Maintainer: FSF
 ;; Keywords: lisp, tools
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/cl-loaddefs.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/cl-loaddefs.el	Wed Sep 01 11:03:05 2010 +0900
@@ -10,7 +10,7 @@
 ;;;;;;  ceiling* floor* isqrt lcm gcd cl-progv-before cl-set-frame-visible-p
 ;;;;;;  cl-map-overlays cl-map-intervals cl-map-keymap-recursively
 ;;;;;;  notevery notany every some mapcon mapcan mapl maplist map
-;;;;;;  cl-mapcar-many equalp coerce) "cl-extra" "cl-extra.el" "deb3495d75c36a222e5238eadb8e347c")
+;;;;;;  cl-mapcar-many equalp coerce) "cl-extra" "cl-extra.el" "20c8c875ff1d11dd819e15a1f25afd73")
 ;;; Generated autoloads from cl-extra.el
 
 (autoload 'coerce "cl-extra" "\
@@ -277,12 +277,12 @@
 ;;;;;;  assert check-type typep deftype cl-struct-setf-expander defstruct
 ;;;;;;  define-modify-macro callf2 callf letf* letf rotatef shiftf
 ;;;;;;  remf cl-do-pop psetf setf get-setf-method defsetf define-setf-method
-;;;;;;  declare the locally multiple-value-setq multiple-value-bind
-;;;;;;  lexical-let* lexical-let symbol-macrolet macrolet labels
-;;;;;;  flet progv psetq do-all-symbols do-symbols dotimes dolist
-;;;;;;  do* do loop return-from return block etypecase typecase ecase
-;;;;;;  case load-time-value eval-when destructuring-bind function*
-;;;;;;  defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "36cafd5054969b5bb0b1ce6a21605fed")
+;;;;;;  declare locally multiple-value-setq multiple-value-bind lexical-let*
+;;;;;;  lexical-let symbol-macrolet macrolet labels flet progv psetq
+;;;;;;  do-all-symbols do-symbols dotimes dolist do* do loop return-from
+;;;;;;  return block etypecase typecase ecase case load-time-value
+;;;;;;  eval-when destructuring-bind function* defmacro* defun* gentemp
+;;;;;;  gensym) "cl-macs" "cl-macs.el" "c5a12d86541b5137054eccc43e4fc839")
 ;;; Generated autoloads from cl-macs.el
 
 (autoload 'gensym "cl-macs" "\
@@ -535,11 +535,6 @@
 
 \(fn &rest BODY)" nil (quote macro))
 
-(autoload 'the "cl-macs" "\
-Not documented
-
-\(fn TYPE FORM)" nil (quote macro))
-
 (autoload 'declare "cl-macs" "\
 Not documented
 
@@ -759,7 +754,7 @@
 ;;;;;;  find nsubstitute-if-not nsubstitute-if nsubstitute substitute-if-not
 ;;;;;;  substitute-if substitute delete-duplicates remove-duplicates
 ;;;;;;  delete-if-not delete-if delete* remove-if-not remove-if remove*
-;;;;;;  replace fill reduce) "cl-seq" "cl-seq.el" "ec3ea1c77742734db8496272fe5721be")
+;;;;;;  replace fill reduce) "cl-seq" "cl-seq.el" "8f4ba525c894365101b9a53905db94ba")
 ;;; Generated autoloads from cl-seq.el
 
 (autoload 'reduce "cl-seq" "\
--- a/lisp/emacs-lisp/cl-macs.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/cl-macs.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Dave Gillespie <daveg@synaptics.com>
 ;; Version: 2.02
 ;; Keywords: extensions
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/cl-seq.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/cl-seq.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Dave Gillespie <daveg@synaptics.com>
 ;; Version: 2.02
 ;; Keywords: extensions
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/cl-specs.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/cl-specs.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 ;; Author: Daniel LaLiberte <liberte@holonexus.org>
 ;; Keywords: lisp, tools, maint
+;; Package: emacs
 
 ;; LCD Archive Entry:
 ;; cl-specs.el|Daniel LaLiberte|liberte@holonexus.org
--- a/lisp/emacs-lisp/derived.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/derived.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Author: David Megginson (dmeggins@aix1.uottawa.ca)
 ;; Maintainer: FSF
 ;; Keywords: extensions
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/easy-mmode.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/easy-mmode.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author: Georges Brun-Cottan <Georges.Brun-Cottan@inria.fr>
 ;; Maintainer: Stefan Monnier <monnier@gnu.org>
+;; Package: emacs
 
 ;; Keywords: extensions lisp
 
--- a/lisp/emacs-lisp/easymenu.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/easymenu.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Keywords: emulations
 ;; Author: Richard Stallman <rms@gnu.org>
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/eieio-base.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/eieio-base.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Eric M. Ludlam  <zappo@gnu.org>
 ;; Version: 0.2
 ;; Keywords: OO, lisp
+;; Package: eieio
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/eieio-comp.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/eieio-comp.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,7 +5,8 @@
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Version: 0.2
-;; Keywords: oop, lisp, tools
+;; Keywords: lisp, tools
+;; Package: eieio
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/eieio-custom.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/eieio-custom.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Version: 0.2
 ;; Keywords: OO, lisp
+;; Package: eieio
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/eieio-datadebug.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/eieio-datadebug.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: OO, lisp
+;; Package: eieio
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/eieio-opt.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/eieio-opt.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Version: 0.2
 ;; Keywords: OO, lisp
+;; Package: eieio
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/eieio-speedbar.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/eieio-speedbar.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Version: 0.2
 ;; Keywords: OO, tools
+;; Package: eieio
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/float-sup.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/float-sup.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/generic.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/generic.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author:  Peter Breton <pbreton@cs.umb.edu>
 ;; Created: Fri Sep 27 1996
 ;; Keywords: generic, comment, font-lock
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/helper.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/helper.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: K. Shane Hartman
 ;; Maintainer: FSF
 ;; Keywords: help
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/lisp-mode.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/lisp-mode.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: lisp, languages
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/lisp.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/lisp.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: lisp, languages
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/macroexp.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/macroexp.el	Wed Sep 01 11:03:05 2010 +0900
@@ -52,6 +52,7 @@
 result will be eq to LIST).
 
 \(fn (VAR LIST) BODY...)"
+  (declare (indent 1))
   (let ((var (car var+list))
 	(list (cadr var+list))
 	(shared (make-symbol "shared"))
@@ -72,7 +73,6 @@
 	   (push ,new-el ,unshared))
 	 (setq ,tail (cdr ,tail)))
        (nconc (nreverse ,unshared) ,shared))))
-(put 'macroexp-accumulate 'lisp-indent-function 1)
 
 (defun macroexpand-all-forms (forms &optional skip)
   "Return FORMS with macros expanded.  FORMS is a list of forms.
@@ -107,80 +107,69 @@
 		   macroexpand-all-environment)
     ;; Normal form; get its expansion, and then expand arguments.
     (setq form (macroexpand form macroexpand-all-environment))
-    (if (consp form)
-	(let ((fun (car form)))
-	  (cond
-	   ((eq fun 'cond)
-	    (maybe-cons fun (macroexpand-all-clauses (cdr form)) form))
-	   ((eq fun 'condition-case)
-	    (maybe-cons
-	     fun
-	     (maybe-cons (cadr form)
-			 (maybe-cons (macroexpand-all-1 (nth 2 form))
-				     (macroexpand-all-clauses (nthcdr 3 form) 1)
-				     (cddr form))
-			 (cdr form))
-	     form))
-	   ((eq fun 'defmacro)
-	    (push (cons (cadr form) (cons 'lambda (cddr form)))
-		  macroexpand-all-environment)
-	    (macroexpand-all-forms form 3))
-	   ((eq fun 'defun)
-	    (macroexpand-all-forms form 3))
-	   ((memq fun '(defvar defconst))
-	    (macroexpand-all-forms form 2))
-	   ((eq fun 'function)
-	    (if (and (consp (cadr form)) (eq (car (cadr form)) 'lambda))
-		(maybe-cons fun
-			    (maybe-cons (macroexpand-all-forms (cadr form) 2)
-					nil
-					(cdr form))
-			    form)
-	      form))
-	   ((memq fun '(let let*))
-	    (maybe-cons fun
-			(maybe-cons (macroexpand-all-clauses (cadr form) 1)
-				    (macroexpand-all-forms (cddr form))
-				    (cdr form))
-			form))
-	   ((eq fun 'quote)
-	    form)
-	   ((and (consp fun) (eq (car fun) 'lambda))
-	    ;; Embedded lambda in function position.
-	    (maybe-cons (macroexpand-all-forms fun 2)
-			(macroexpand-all-forms (cdr form))
-			form))
-	   ;; The following few cases are for normal function calls that
-	   ;; are known to funcall one of their arguments.  The byte
-	   ;; compiler has traditionally handled these functions specially
-	   ;; by treating a lambda expression quoted by `quote' as if it
-	   ;; were quoted by `function'.  We make the same transformation
-	   ;; here, so that any code that cares about the difference will
-	   ;; see the same transformation.
-	   ;; First arg is a function:
-	   ((and (memq fun '(apply mapcar mapatoms mapconcat mapc))
-		 (consp (cadr form))
-		 (eq (car (cadr form)) 'quote))
-	    ;; We don't use `maybe-cons' since there's clearly a change.
-	    (cons fun
-		  (cons (macroexpand-all-1 (cons 'function (cdr (cadr form))))
-			(macroexpand-all-forms (cddr form)))))
-	   ;; Second arg is a function:
-	   ((and (eq fun 'sort)
-		 (consp (nth 2 form))
-		 (eq (car (nth 2 form)) 'quote))
-	    ;; We don't use `maybe-cons' since there's clearly a change.
-	    (cons fun
-		  (cons (macroexpand-all-1 (cadr form))
-			(cons (macroexpand-all-1
-			       (cons 'function (cdr (nth 2 form))))
-			      (macroexpand-all-forms (nthcdr 3 form))))))
-	   (t
-	    ;; For everything else, we just expand each argument (for
-	    ;; setq/setq-default this works alright because the variable names
-	    ;; are symbols).
-	    (macroexpand-all-forms form 1))))
-      form)))
+    (pcase form
+      (`(cond . ,clauses)
+       (maybe-cons 'cond (macroexpand-all-clauses clauses) form))
+      (`(condition-case . ,(or `(,err ,body . ,handlers) dontcare))
+       (maybe-cons
+        'condition-case
+        (maybe-cons err
+                    (maybe-cons (macroexpand-all-1 body)
+                                (macroexpand-all-clauses handlers 1)
+                                (cddr form))
+                    (cdr form))
+        form))
+      (`(defmacro ,name . ,args-and-body)
+       (push (cons name (cons 'lambda args-and-body))
+             macroexpand-all-environment)
+       (macroexpand-all-forms form 3))
+      (`(defun . ,_) (macroexpand-all-forms form 3))
+      (`(,(or `defvar `defconst) . ,_) (macroexpand-all-forms form 2))
+      (`(function ,(and f `(lambda . ,_)))
+       (maybe-cons 'function
+                   (maybe-cons (macroexpand-all-forms f 2)
+                               nil
+                               (cdr form))
+                   form))
+      (`(,(or `function `quote) . ,_) form)
+      (`(,(and fun (or `let `let*)) . ,(or `(,bindings . ,body) dontcare))
+       (maybe-cons fun
+                   (maybe-cons (macroexpand-all-clauses bindings 1)
+                               (macroexpand-all-forms body)
+                               (cdr form))
+                   form))
+      (`(,(and fun `(lambda . ,_)) . ,args)
+       ;; Embedded lambda in function position.
+       (maybe-cons (macroexpand-all-forms fun 2)
+                   (macroexpand-all-forms args)
+                   form))
+      ;; The following few cases are for normal function calls that
+      ;; are known to funcall one of their arguments.  The byte
+      ;; compiler has traditionally handled these functions specially
+      ;; by treating a lambda expression quoted by `quote' as if it
+      ;; were quoted by `function'.  We make the same transformation
+      ;; here, so that any code that cares about the difference will
+      ;; see the same transformation.
+      ;; First arg is a function:
+      (`(,(and fun (or `apply `mapcar `mapatoms `mapconcat `mapc)) ',f . ,args)
+       ;; We don't use `maybe-cons' since there's clearly a change.
+       (cons fun
+             (cons (macroexpand-all-1 (list 'function f))
+                   (macroexpand-all-forms args))))
+      ;; Second arg is a function:
+      (`(,(and fun (or `sort)) ,arg1 ',f . ,args)
+       ;; We don't use `maybe-cons' since there's clearly a change.
+       (cons fun
+             (cons (macroexpand-all-1 arg1)
+                   (cons (macroexpand-all-1
+                          (list 'function f))
+                         (macroexpand-all-forms args)))))
+      (`(,_ . ,_)
+       ;; For every other list, we just expand each argument (for
+       ;; setq/setq-default this works alright because the variable names
+       ;; are symbols).
+       (macroexpand-all-forms form 1))
+      (t form))))
 
 ;;;###autoload
 (defun macroexpand-all (form &optional environment)
--- a/lisp/emacs-lisp/package-x.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/package-x.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Created: 10 Mar 2007
 ;; Version: 0.9
 ;; Keywords: tools
+;; Package: package
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/package.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/package.el	Wed Sep 01 11:03:05 2010 +0900
@@ -216,6 +216,7 @@
 (declare-function lm-header "lisp-mnt" (header))
 (declare-function lm-commentary "lisp-mnt" (&optional file))
 (declare-function dired-delete-file "dired" (file &optional recursive trash))
+(defvar url-http-end-of-headers)
 
 (defcustom package-archives '(("gnu" . "http://elpa.gnu.org/packages/"))
   "An alist of archives from which to fetch.
@@ -272,46 +273,35 @@
   :group 'package
   :version "24.1")
 
-(defconst package--builtins-base
-  ;; We use package-version split here to make sure to pick up the
-  ;; minor version.
-  `((emacs . [,(version-to-list emacs-version) nil
-	      "GNU Emacs"])
-    (package . [,(version-to-list package-el-version)
-		nil "Simple package system for GNU Emacs"]))
-  "Packages which are always built-in.")
+;; The value is precomputed in finder-inf.el, but don't load that
+;; until it's needed (i.e. when `package-intialize' is called).
+(defvar package--builtins nil
+  "Alist of built-in packages.
+Each element has the form (PKG . DESC), where PKG is a package
+name (a symbol) and DESC is a vector that describes the package.
 
-(defvar package--builtins
-  (delq nil
-	(append
-	 package--builtins-base
-	 (if (>= emacs-major-version 22)
-	     ;; FIXME: emacs 22 includes tramp, rcirc, maybe
-	     ;; other things...
-	     '((erc . [(5 2) nil "Internet Relay Chat client"])
-	       ;; The external URL is version 1.15, so make sure the
-	       ;; built-in one looks newer.
-	       (url . [(1 16) nil "URL handling libary"])))
-	 (if (>= emacs-major-version 23)
-	     '(;; Strangely, nxml-version is missing in Emacs 23.
-	       ;; We pick the merge date as the version.
-	       (nxml . [(20071123) nil "Major mode for XML documents"])
-	       (bubbles . [(0 5) nil "A puzzle game"])))))
-  "Alist of all built-in packages.
-Maps the package name to a vector [VERSION REQS DOCSTRING].")
+The vector DESC has the form [VERSION REQS DOCSTRING].
+  VERSION is a version list.
+  REQS is a list of packages (symbols) required by the package.
+  DOCSTRING is a brief description of the package.")
 (put 'package--builtins 'risky-local-variable t)
 
-(defvar package-alist package--builtins
+(defvar package-alist nil
   "Alist of all packages available for activation.
-This maps the package name to a vector [VERSION REQS DOCSTRING].
+Each element has the form (PKG . DESC), where PKG is a package
+name (a symbol) and DESC is a vector that describes the package.
 
-The value is generated by `package-load-descriptor', usually
-called via `package-initialize'.  For user customizations of
-which packages to load/activate, see `package-load-list'.")
+The vector DESC has the form [VERSION REQS DOCSTRING].
+  VERSION is a version list.
+  REQS is a list of packages (symbols) required by the package.
+  DOCSTRING is a brief description of the package.
+
+This variable is set automatically by `package-load-descriptor',
+called via `package-initialize'.  To change which packages are
+loaded and/or activated, customize `package-load-list'.")
 (put 'package-archive-contents 'risky-local-variable t)
 
-(defvar package-activated-list
-  (mapcar #'car package-alist)
+(defvar package-activated-list nil
   "List of the names of currently activated packages.")
 (put 'package-activated-list 'risky-local-variable t)
 
@@ -672,7 +662,19 @@
 	 (version-list-<= min-version
 			  (package-desc-vers (cdr pkg-desc))))))
 
-(defun package-compute-transaction (result requirements)
+(defun package-compute-transaction (package-list requirements)
+  "Return a list of packages to be installed, including PACKAGE-LIST.
+PACKAGE-LIST should be a list of package names (symbols).
+
+REQUIREMENTS should be a list of additional requirements; each
+element in this list should have the form (PACKAGE VERSION),
+where PACKAGE is a package name and VERSION is the required
+version of that package (as a list).
+
+This function recursively computes the requirements of the
+packages in REQUIREMENTS, and returns a list of all the packages
+that must be installed.  Packages that are already installed are
+not included in this list."
   (dolist (elt requirements)
     (let* ((next-pkg (car elt))
 	   (next-version (cadr elt)))
@@ -703,13 +705,13 @@
 	     (symbol-name next-pkg) (package-version-join next-version)
 	     (package-version-join (package-desc-vers (cdr pkg-desc)))))
 	  ;; Only add to the transaction if we don't already have it.
-	  (unless (memq next-pkg result)
-	    (setq result (cons next-pkg result)))
-	  (setq result
-		(package-compute-transaction result
+	  (unless (memq next-pkg package-list)
+	    (setq package-list (cons next-pkg package-list)))
+	  (setq package-list
+		(package-compute-transaction package-list
 					     (package-desc-reqs
 					      (cdr pkg-desc))))))))
-  result)
+  package-list)
 
 (defun package-read-from-string (str)
   "Read a Lisp expression from STR.
@@ -743,22 +745,10 @@
 	    (cdr contents))))))
 
 (defun package-read-all-archive-contents ()
-  "Re-read `archive-contents' and `builtin-packages', if they exist.
-Set `package-archive-contents' and `package--builtins' if successful.
-Throw an error if the archive version is too new."
+  "Re-read `archive-contents', if it exists.
+If successful, set `package-archive-contents'."
   (dolist (archive package-archives)
-    (package-read-archive-contents (car archive)))
-  (let ((builtins (package--read-archive-file "builtin-packages")))
-    (if builtins
-	;; Version 1 of 'builtin-packages' is a list where the car is
-	;; a split emacs version and the cdr is an alist suitable for
-	;; package--builtins.
-	(let ((our-version (version-to-list emacs-version))
-	      (result package--builtins-base))
-	  (setq package--builtins
-		(dolist (elt builtins result)
-		  (if (version-list-<= (car elt) our-version)
-		      (setq result (append (cdr elt) result)))))))))
+    (package-read-archive-contents (car archive))))
 
 (defun package-read-archive-contents (archive)
   "Re-read `archive-contents' and `builtin-packages' for ARCHIVE.
@@ -786,9 +776,13 @@
               (version-list-< (aref existing-package 0) version))
       (add-to-list 'package-archive-contents entry))))
 
-(defun package-download-transaction (transaction)
-  "Download and install all the packages in the given transaction."
-  (dolist (elt transaction)
+(defun package-download-transaction (package-list)
+  "Download and install all the packages in PACKAGE-LIST.
+PACKAGE-LIST should be a list of package names (symbols).
+This function assumes that all package requirements in
+PACKAGE-LIST are satisfied, i.e. that PACKAGE-LIST is computed
+using `package-compute-transaction'."
+  (dolist (elt package-list)
     (let* ((desc (cdr (assq elt package-archive-contents)))
 	   ;; As an exception, if package is "held" in
 	   ;; `package-load-list', download the held version.
@@ -1016,7 +1010,10 @@
   (unless (file-exists-p package-user-dir)
     (make-directory package-user-dir t))
   (dolist (archive package-archives)
-    (package--download-one-archive archive "archive-contents"))
+    (condition-case nil
+	(package--download-one-archive archive "archive-contents")
+      (error (message "Failed to download archive `%s'."
+		      (car archive)))))
   (package-read-all-archive-contents))
 
 ;;;###autoload
@@ -1024,6 +1021,9 @@
   "Load Emacs Lisp packages, and activate them.
 The variable `package-load-list' controls which packages to load."
   (interactive)
+  (require 'finder-inf nil t)
+  (setq package-alist package--builtins)
+  (setq package-activated-list (mapcar #'car package-alist))
   (setq package-obsolete-alist nil)
   (package-load-all-descriptors)
   (package-read-all-archive-contents)
@@ -1052,9 +1052,7 @@
 					guess)
 			      "Describe package: ")
 			    packages nil t nil nil guess))
-     (list (if (equal val "")
-	       guess
-	     (intern val)))))
+     (list (if (equal val "") guess (intern val)))))
   (if (or (null package) (null (symbolp package)))
       (message "You did not specify a package")
     (help-setup-xref (list #'describe-package package)
@@ -1064,38 +1062,65 @@
 	(describe-package-1 package)))))
 
 (defun describe-package-1 (package)
-  (let ((desc (cdr (assq package package-alist)))
-	reqs version installable)
+  (require 'lisp-mnt)
+  (let ((package-name (symbol-name package))
+	(built-in (assq package package--builtins))
+	desc pkg-dir reqs version installable)
     (prin1 package)
     (princ " is ")
-    (cond
-     (desc
-      ;; This package is loaded (i.e. in `package-alist').
-      (let (pkg-dir)
-	(setq version (package-version-join (package-desc-vers desc)))
-	(if (assq package package--builtins)
-	    (princ "a built-in package.\n\n")
-	  (setq pkg-dir (package--dir (symbol-name package) version))
-	  (if pkg-dir
-	      (progn
-		(insert "a package installed in `")
-		(help-insert-xref-button (file-name-as-directory pkg-dir)
-					 'help-package-def pkg-dir)
-		(insert "'.\n\n"))
-	    ;; This normally does not happen.
-	    (insert "a deleted package.\n\n")
-	    (setq version nil)))))
-     (t
-      ;; An uninstalled package.
-      (setq desc (cdr (assq package package-archive-contents))
+    (if (setq desc (cdr (assq package package-alist)))
+	;; This package is loaded (i.e. in `package-alist').
+	(progn
+	  (setq version (package-version-join (package-desc-vers desc)))
+	  (cond (built-in
+		 (princ "a built-in package.\n\n"))
+		((setq pkg-dir (package--dir package-name version))
+		 (insert "an installed package.\n\n"))
+		(t ;; This normally does not happen.
+		 (insert "a deleted package.\n\n")
+		 (setq version nil))))
+      ;; This package is not installed.
+      (setq desc    (cdr (assq package package-archive-contents))
 	    version (package-version-join (package-desc-vers desc))
 	    installable t)
-      (insert "an installable package.\n\n")))
-    (if version
-	(insert "      Version: " version "\n"))
+      (insert "an uninstalled package.\n\n"))
+
+    (insert "     " (propertize "Status" 'font-lock-face 'bold) ": ")
+    (cond (pkg-dir
+	   (insert (propertize "Installed"
+			       'font-lock-face 'font-lock-comment-face))
+	   (insert " in `")
+	   ;; Todo: Add button for uninstalling.
+	   (help-insert-xref-button (file-name-as-directory pkg-dir)
+				    'help-package-def pkg-dir)
+	   (insert "'."))
+	  (installable
+	   (insert "Available -- ")
+	   (let ((button-text (if (display-graphic-p)
+				  "Install"
+				"[Install]"))
+		 (button-face (if (display-graphic-p)
+				  '(:box (:line-width 2 :color "dark grey")
+					 :background "light grey"
+					 :foreground "black")
+				'link)))
+	     (insert-text-button button-text
+				 'face button-face
+				 'follow-link t
+				 'package-symbol package
+				 'action 'package-install-button-action)))
+	  (built-in
+	   (insert (propertize "Built-in"
+			       'font-lock-face 'font-lock-builtin-face) "."))
+	  (t (insert "Deleted.")))
+    (insert "\n")
+    (and version
+	 (> (length version) 0)
+	 (insert "    "
+		 (propertize "Version" 'font-lock-face 'bold) ": " version "\n"))
     (setq reqs (package-desc-reqs desc))
     (when reqs
-      (insert "     Requires: ")
+      (insert "   " (propertize "Requires" 'font-lock-face 'bold) ": ")
       (let ((first t)
 	    name vers text)
 	(dolist (req reqs)
@@ -1110,28 +1135,53 @@
 		(t (insert ", ")))
 	  (help-insert-xref-button text 'help-package name))
 	(insert "\n")))
-    (insert "  Description: " (package-desc-doc desc) "\n")
-    ;; Todo: button for uninstalling a package.
-    (when installable
-      (let ((button-text (if (display-graphic-p)
-			     "Install"
-			   "[Install]"))
-	    (button-face (if (display-graphic-p)
-			     '(:box (:line-width 2 :color "dark grey")
-				    :background "light grey"
-				    :foreground "black")
-			   'link)))
-	(insert "\n")
-	(insert-text-button button-text
-			    'face button-face
-			    'follow-link t
-			    'package-symbol package
-			    'action (lambda (button)
-				      (package-install
-				       (button-get button 'package-symbol))
-				      (revert-buffer nil t)
-				      (goto-char (point-min))))
-	(insert "\n")))))
+    (insert "    " (propertize "Summary" 'font-lock-face 'bold)
+	    ": " (package-desc-doc desc) "\n\n")
+
+    (if (assq package package--builtins)
+	;; For built-in packages, insert the commentary.
+	(let ((fn (locate-file (concat package-name ".el") load-path
+			       load-file-rep-suffixes))
+	      (opoint (point)))
+	  (insert (or (lm-commentary fn) ""))
+	  (save-excursion
+	    (goto-char opoint)
+	    (when (re-search-forward "^;;; Commentary:\n" nil t)
+	      (replace-match ""))
+	    (while (re-search-forward "^\\(;+ ?\\)" nil t)
+	      (replace-match ""))))
+      (let ((readme (expand-file-name (concat package-name "-readme.txt")
+				      package-user-dir)))
+	;; For elpa packages, try downloading the commentary.  If that
+	;; fails, try an existing readme file in `package-user-dir'.
+	(cond ((let ((buffer (ignore-errors
+			       (url-retrieve-synchronously
+				(concat (package-archive-url package)
+					package-name "-readme.txt"))))
+		     response)
+		 (when buffer
+		   (with-current-buffer buffer
+		     (setq response (url-http-parse-response))
+		     (if (or (< response 200) (>= response 300))
+			 (setq response nil)
+		       (setq buffer-file-name
+			     (expand-file-name readme package-user-dir))
+		       (delete-region (point-min) (1+ url-http-end-of-headers))
+		       (save-buffer)))
+		   (when response
+		     (insert-buffer-substring buffer)
+		     (kill-buffer buffer)
+		     t))))
+	      ((file-readable-p readme)
+	       (insert-file-contents readme)
+	       (goto-char (point-max))))))))
+
+(defun package-install-button-action (button)
+  (let ((package (button-get button 'package-symbol)))
+    (when (y-or-n-p (format "Install package `%s'? " package))
+      (package-install package)
+      (revert-buffer nil t)
+      (goto-char (point-min)))))
 
 
 ;;;; Package menu mode.
@@ -1153,7 +1203,9 @@
     (define-key map "~" 'package-menu-mark-obsolete-for-deletion)
     (define-key map "x" 'package-menu-execute)
     (define-key map "h" 'package-menu-quick-help)
-    (define-key map "?" 'package-menu-view-commentary)
+    (define-key map "?" 'package-menu-describe-package)
+    (define-key map [follow-link] 'mouse-face)
+    (define-key map [mouse-2] 'mouse-select-window)
     (define-key map [menu-bar package-menu] (cons "Package" menu-map))
     (define-key menu-map [mq]
       '(menu-item "Quit" quit-window
@@ -1205,6 +1257,7 @@
 (defvar package-menu-sort-button-map
   (let ((map (make-sparse-keymap)))
     (define-key map [header-line mouse-1] 'package-menu-sort-by-column)
+    (define-key map [header-line mouse-2] 'package-menu-sort-by-column)
     (define-key map [follow-link] 'mouse-face)
     map)
   "Local keymap for package menu sort buttons.")
@@ -1235,12 +1288,12 @@
 available for download."
   (interactive)
   (package-refresh-contents)
-  (package-list-packages-internal))
+  (package--generate-package-list))
 
 (defun package-menu-revert ()
   "Update the list of packages."
   (interactive)
-  (package-list-packages-internal))
+  (package--generate-package-list))
 
 (defun package-menu-describe-package ()
   "Describe the package in the current line."
@@ -1297,32 +1350,8 @@
   (interactive)
   (message "n-ext, i-nstall, d-elete, u-nmark, x-ecute, r-efresh, h-elp"))
 
-(defun package-menu-view-commentary ()
-  "Display information about this package.
-For single-file packages, shows the commentary section from the header.
-For larger packages, shows the README file."
-  (interactive)
-  (let* ((pkg-name (package-menu-get-package))
-	 (buffer (url-retrieve-synchronously
-		  (concat (package-archive-url pkg-name)
-			  pkg-name
-			  "-readme.txt")))
-	 start-point ok)
-    (with-current-buffer buffer
-      ;; FIXME: it would be nice to work with any URL type.
-      (setq start-point url-http-end-of-headers)
-      (setq ok (eq (url-http-parse-response) 200)))
-    (let ((new-buffer (get-buffer-create "*Package Info*")))
-      (with-current-buffer new-buffer
-	(let ((buffer-read-only nil))
-	  (erase-buffer)
-	  (insert "Package information for " pkg-name "\n\n")
-	  (if ok
-	      (insert-buffer-substring buffer start-point)
-	    (insert "This package lacks a README file or commentary.\n"))
-	  (goto-char (point-min))
-	  (view-mode)))
-      (display-buffer new-buffer t))))
+(define-obsolete-function-alias
+  'package-menu-view-commentary 'package-menu-describe-package "24.1")
 
 ;; Return the name of the package on the current line.
 (defun package-menu-get-package ()
@@ -1412,7 +1441,7 @@
 ;; This decides how we should sort; nil means by package name.
 (defvar package-menu-sort-key nil)
 
-(defun package-list-packages-internal ()
+(defun package--generate-package-list (&optional packages)
   (package-initialize)			; FIXME: do this here?
   (with-current-buffer (get-buffer-create "*Packages*")
     (setq buffer-read-only nil)
@@ -1422,34 +1451,35 @@
 	  builtin)
       ;; List installed packages
       (dolist (elt package-alist)
-	;; Ignore the Emacs package.
-	(setq name (car elt)
-	      desc (cdr elt)
-	      hold (assq name package-load-list))
-	(unless (eq name 'emacs)
+	(setq name (car elt))
+	(when (and (not (eq name 'emacs)) ; Hide the `emacs' package.
+		   (or (null packages)
+		       (memq name packages)))
+	  (setq desc (cdr elt)
+		hold (cadr (assq name package-load-list))
+		builtin (cdr (assq name package--builtins)))
 	  (setq info-list
 		(package-list-maybe-add
 		 name (package-desc-vers desc)
 		 ;; FIXME: it turns out to be tricky to see if this
 		 ;; package is presently activated.
-		 (cond ((stringp (cadr hold))
-			"held")
-		       ((and (setq builtin (assq name package--builtins))
+		 (cond ((stringp hold) "held")
+		       ((and builtin
 			     (version-list-=
-			      (package-desc-vers (cdr builtin))
+			      (package-desc-vers builtin)
 			      (package-desc-vers desc)))
 			"built-in")
 		       (t "installed"))
 		 (package-desc-doc desc)
 		 info-list))))
-      ;; List available packages
+
+      ;; List available and disabled packages
       (dolist (elt package-archive-contents)
 	(setq name (car elt)
 	      desc (cdr elt)
 	      hold (assq name package-load-list))
-	(unless (and hold (stringp (cadr hold))
-		     (package-installed-p
-		      name (version-to-list (cadr hold))))
+	(when (or (null packages)
+		  (memq name packages))
 	  (setq info-list
 		(package-list-maybe-add name
 					(package-desc-vers desc)
@@ -1471,47 +1501,80 @@
 						    info-list)))
 		    (cdr elt)))
 	    package-obsolete-alist)
-      (let ((selector (cond
-		       ((string= package-menu-sort-key "Version")
-			;; FIXME this doesn't work.
-			#'(lambda (e) (cdr (car e))))
-		       ((string= package-menu-sort-key "Status")
-			#'(lambda (e) (car (cdr e))))
-		       ((string= package-menu-sort-key "Description")
-			#'(lambda (e) (car (cdr (cdr e)))))
-		       (t ; "Package" is default.
-			#'(lambda (e) (symbol-name (car (car e))))))))
-	(setq info-list
-	      (sort info-list
-		    (lambda (left right)
-		      (let ((vleft (funcall selector left))
-			    (vright (funcall selector right)))
-			(string< vleft vright))))))
-      (mapc (lambda (elt)
-	      (package-print-package (car (car elt))
-				     (cdr (car elt))
-				     (car (cdr elt))
-				     (car (cdr (cdr elt)))))
-	    info-list))
+
+      (setq info-list
+	    (sort info-list
+		  (cond ((string= package-menu-sort-key "Version")
+			 'package-menu--version-predicate)
+			((string= package-menu-sort-key "Status")
+			 'package-menu--status-predicate)
+			((string= package-menu-sort-key "Description")
+			 'package-menu--description-predicate)
+			(t ; Sort by package name by default
+			 'package-menu--name-predicate))))
+
+      (dolist (elt info-list)
+	(package-print-package (car (car elt))
+			       (cdr (car elt))
+			       (car (cdr elt))
+			       (car (cdr (cdr elt))))))
     (goto-char (point-min))
+    (set-buffer-modified-p nil)
     (current-buffer)))
 
+(defun package-menu--version-predicate (left right)
+  (let ((vleft  (cdr (car left)))
+	(vright (cdr (car right))))
+    (if (version-list-= vleft right)
+	(package-menu--name-predicate left right)
+      (version-list-< left right))))
+
+(defun package-menu--status-predicate (left right)
+  (let ((sleft  (cadr left))
+	(sright (cadr right)))
+    (cond ((string= sleft sright)
+	   (package-menu--name-predicate left right))
+	  ((string= sleft  "available") t)
+	  ((string= sright "available") nil)
+	  ((string= sleft  "installed") t)
+	  ((string= sright "installed") nil)
+	  ((string= sleft  "held") t)
+	  ((string= sright "held") nil)
+	  ((string= sleft  "built-in") t)
+	  ((string= sright "built-in") nil)
+	  ((string= sleft  "obsolete") t)
+	  ((string= sright  "obsolete") nil)
+	  (t (string< sleft sright)))))
+
+(defun package-menu--description-predicate (left right)
+  (let ((sleft  (car (cddr left)))
+	(sright (car (cddr right))))
+    (if (string= sleft sright)
+	(package-menu--name-predicate left right)
+      (string< sleft sright))))
+
+(defun package-menu--name-predicate (left right)
+  (string< (symbol-name (caar left))
+	   (symbol-name (caar right))))
+
 (defun package-menu-sort-by-column (&optional e)
   "Sort the package menu by the last column clicked on."
-  (interactive (list last-input-event))
+  (interactive "e")
   (if e (mouse-select-window e))
   (let* ((pos (event-start e))
-	 (obj (posn-object pos))
-	 (col (if obj
-		  (get-text-property (cdr obj) 'column-name (car obj))
-		(get-text-property (posn-point pos) 'column-name))))
-    (setq package-menu-sort-key col))
-  (package-list-packages-internal))
+  	 (obj (posn-object pos))
+  	 (col (if obj
+  		  (get-text-property (cdr obj) 'column-name (car obj))
+  		(get-text-property (posn-point pos) 'column-name)))
+  	 (inhibit-read-only t))
+    (setq package-menu-sort-key col)
+    (package--generate-package-list)))
 
-(defun package--list-packages ()
-  "Display a list of packages.
-Helper function that does all the work for the user-facing functions."
-  (with-current-buffer (package-list-packages-internal)
+(defun package--list-packages (&optional packages)
+  "Display the properties of PACKAGES.
+PACKAGES should be a list of package names (symbols).
+If PACKAGES is nil, display all packages in `package-alist'."
+  (with-current-buffer (package--generate-package-list packages)
     (package-menu-mode)
     ;; Set up the header line.
     (setq header-line-format
@@ -1543,22 +1606,22 @@
 	   ""))
 
     ;; It's okay to use pop-to-buffer here.  The package menu buffer
-    ;; has keybindings, and the user just typed 'M-x
-    ;; package-list-packages', suggesting that they might want to use
-    ;; them.
+    ;; has keybindings, and the user just typed `M-x list-packages',
+    ;; suggesting that they might want to use them.
     (pop-to-buffer (current-buffer))))
 
 ;;;###autoload
-(defun package-list-packages ()
+(defun list-packages ()
   "Display a list of packages.
 Fetches the updated list of packages before displaying.
 The list is displayed in a buffer named `*Packages*'."
   (interactive)
   (package-refresh-contents)
+  (setq package-menu-sort-key "Status")
   (package--list-packages))
 
 ;;;###autoload
-(defalias 'list-packages 'package-list-packages)
+(defalias 'package-list-packages 'list-packages)
 
 (defun package-list-packages-no-fetch ()
   "Display a list of packages.
--- a/lisp/emacs-lisp/tcover-ses.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/tcover-ses.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Jonathan Yavner <jyavner@engineer.com>
 ;; Maintainer: Jonathan Yavner <jyavner@engineer.com>
 ;; Keywords: spreadsheet lisp utility
+;; Package: testcover
 
 ;; GNU Emacs is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
--- a/lisp/emacs-lisp/tcover-unsafep.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/tcover-unsafep.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;; Author: Jonathan Yavner <jyavner@engineer.com>
 ;; Maintainer: Jonathan Yavner <jyavner@engineer.com>
 ;; Keywords: safety lisp utility
+;; Package: testcover
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emacs-lisp/timer.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emacs-lisp/timer.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2009, 2010  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/cua-gmrk.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/cua-gmrk.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author: Kim F. Storm <storm@cua.dk>
 ;; Keywords: keyboard emulations convenience cua mark
+;; Package: cua-base
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/cua-rect.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/cua-rect.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author: Kim F. Storm <storm@cua.dk>
 ;; Keywords: keyboard emulations convenience CUA
+;; Package: cua-base
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/edt-lk201.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/edt-lk201.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Keywords: emulations
+;; Package: edt
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/edt-mapper.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/edt-mapper.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Keywords: emulations
+;; Package: edt
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/edt-pc.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/edt-pc.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Keywords: emulations
+;; Package: edt
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/edt-vt100.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/edt-vt100.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Keywords: emulations
+;; Package: edt
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/tpu-edt.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/tpu-edt.el	Wed Sep 01 11:03:05 2010 +0900
@@ -2438,7 +2438,7 @@
 
 
 ;;;### (autoloads (tpu-set-cursor-bound tpu-set-cursor-free tpu-set-scroll-margins
-;;;;;;  tpu-cursor-free-mode) "tpu-extras" "tpu-extras.el" "d003e4c2f1291eccc629926bb0f88e17")
+;;;;;;  tpu-cursor-free-mode) "tpu-extras" "tpu-extras.el" "78abc50917c93d2b35596d307fc638c4")
 ;;; Generated autoloads from tpu-extras.el
 
 (autoload 'tpu-cursor-free-mode "tpu-extras" "\
--- a/lisp/emulation/tpu-extras.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/tpu-extras.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Rob Riepel <riepel@networking.stanford.edu>
 ;; Maintainer: Rob Riepel <riepel@networking.stanford.edu>
 ;; Keywords: emulations
+;; Package: tpu-edt
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/tpu-mapper.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/tpu-mapper.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Rob Riepel <riepel@networking.stanford.edu>
 ;; Maintainer: Rob Riepel <riepel@networking.stanford.edu>
 ;; Keywords: emulations
+;; Package: tpu-edt
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/viper-cmd.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/viper-cmd.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: viper
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/viper-ex.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/viper-ex.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: viper
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/viper-init.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/viper-init.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: viper
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/viper-keym.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/viper-keym.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: viper
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/viper-macs.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/viper-macs.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: viper
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/viper-mous.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/viper-mous.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: viper
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/viper-util.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/viper-util.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: viper
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/viper.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/emulation/viper.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Keywords: emulations
+;; Version: 3.14.1
 
 ;; Yoni Rabkin <yoni@rabkins.net> contacted the maintainer of this
 ;; file on 20/3/2008, and the maintainer agreed that when a bug is
--- a/lisp/env.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/env.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: processes, unix
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/epa-dired.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/epa-dired.el	Wed Sep 01 11:03:05 2010 +0900
@@ -3,6 +3,7 @@
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Keywords: PGP, GnuPG
+;; Package: epa
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/epa-file.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/epa-file.el	Wed Sep 01 11:03:05 2010 +0900
@@ -3,6 +3,7 @@
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Keywords: PGP, GnuPG
+;; Package: epa
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/epa-hook.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/epa-hook.el	Wed Sep 01 11:03:05 2010 +0900
@@ -3,6 +3,7 @@
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Keywords: PGP, GnuPG
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/epa-mail.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/epa-mail.el	Wed Sep 01 11:03:05 2010 +0900
@@ -3,6 +3,7 @@
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Keywords: PGP, GnuPG, mail, message
+;; Package: epa
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/epg-config.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/epg-config.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Keywords: PGP, GnuPG
+;; Package: epg
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/epg.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/epg.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Keywords: PGP, GnuPG
+;; Version: 1.0.0
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/erc/erc.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/erc/erc.el	Wed Sep 01 11:03:05 2010 +0900
@@ -12,6 +12,7 @@
 ;;               David Edmondson (dme@dme.org)
 ;; Maintainer: Michael Olson (mwolson@gnu.org)
 ;; Keywords: IRC, chat, client, Internet
+;; Version: 5.3
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/facemenu.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/facemenu.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author: Boris Goldowsky <boris@gnu.org>
 ;; Keywords: faces
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/faces.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/faces.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/files-x.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/files-x.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;; Author: Juri Linkov <juri@jurta.org>
 ;; Maintainer: FSF
 ;; Keywords: files
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/files.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/files.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;;   2007, 2008, 2009, 2010  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/finder.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/finder.el	Wed Sep 01 11:03:05 2010 +0900
@@ -30,6 +30,7 @@
 
 ;;; Code:
 
+(require 'package)
 (require 'lisp-mnt)
 (require 'find-func)			;for find-library(-suffixes)
 ;; Use `load' rather than `require' so that it doesn't get loaded
@@ -39,46 +40,42 @@
 ;; These are supposed to correspond to top-level customization groups,
 ;; says rms.
 (defvar finder-known-keywords
-  '(
-    (abbrev	. "abbreviation handling, typing shortcuts, macros")
-    ;; Too specific:
-    (bib	. "code related to the `bib' bibliography processor")
-    (c		. "support for the C language and related languages")
-    (calendar	. "calendar and time management support")
-    (comm	. "communications, networking, remote access to files")
+  '((abbrev	. "abbreviation handling, typing shortcuts, and macros")
+    (bib	. "bibliography processors")
+    (c		. "C and related programming languages")
+    (calendar	. "calendar and time management tools")
+    (comm	. "communications, networking, and remote file access")
     (convenience . "convenience features for faster editing")
-    (data	. "support for editing files of data")
-    (docs	. "support for Emacs documentation")
+    (data	. "editing data (non-text) files")
+    (docs	. "Emacs documentation facilities")
     (emulations	. "emulations of other editors")
     (extensions	. "Emacs Lisp language extensions")
-    (faces	. "support for multiple fonts")
-    (files      . "support for editing and manipulating files")
-    (frames     . "support for Emacs frames and window systems")
+    (faces	. "fonts and colors for text")
+    (files      . "file editing and manipulation")
+    (frames     . "Emacs frames and window systems")
     (games	. "games, jokes and amusements")
-    (hardware	. "support for interfacing with exotic hardware")
-    (help	. "support for on-line help systems")
-    (hypermedia . "support for links between text or other media types")
-    (i18n	. "internationalization and alternate character-set support")
+    (hardware	. "interfacing with system hardware")
+    (help	. "on-line help systems")
+    (hypermedia . "links between text or other media types")
+    (i18n	. "internationalization and character-set support")
     (internal	. "code for Emacs internals, build process, defaults")
     (languages	. "specialized modes for editing programming languages")
     (lisp	. "Lisp support, including Emacs Lisp")
     (local	. "code local to your site")
-    (maint	. "maintenance aids for the Emacs development group")
-    (mail	. "modes for electronic-mail handling")
-    (matching	. "various sorts of searching and matching")
+    (maint	. "Emacs development tools and aids")
+    (mail	. "email reading and posting")
+    (matching	. "searching, matching, and sorting")
     (mouse	. "mouse support")
-    (multimedia . "images and sound support")
-    (news	. "support for netnews reading and posting")
-    (oop        . "support for object-oriented programming")
-    (outlines   . "support for hierarchical outlining")
-    (processes	. "process, subshell, compilation, and job control support")
-    (terminals	. "support for terminal types")
-    (tex	. "supporting code for the TeX formatter")
+    (multimedia . "images and sound")
+    (news	. "USENET news reading and posting")
+    (outlines   . "hierarchical outlining and note taking")
+    (processes	. "processes, subshells, and compilation")
+    (terminals	. "text terminals (ttys)")
+    (tex	. "the TeX document formatter")
     (tools	. "programming tools")
-    (unix	. "front-ends/assistants for, or emulators of, UNIX-like features")
+    (unix	. "UNIX feature interfaces and emulators")
     (vc		. "version control")
-    (wp		. "word processing")
-    ))
+    (wp		. "word processing")))
 
 (defvar finder-mode-map
   (let ((map (make-sparse-keymap))
@@ -125,8 +122,9 @@
 
 ;;; Code for regenerating the keyword list.
 
-(defvar finder-package-info nil
-  "Assoc list mapping file names to description & keyword lists.")
+(defvar finder-keywords-hash nil
+  "Hash table mapping keywords to lists of package names.
+Keywords and package names both should be symbols.")
 
 (defvar generated-finder-keywords-file "finder-inf.el"
   "The function `finder-compile-keywords' writes keywords into this file.")
@@ -142,10 +140,91 @@
 
 (autoload 'autoload-rubric "autoload")
 
+(defvar finder--builtins-alist
+  '(("calc" . calc)
+    ("ede"  . ede)
+    ("erc"  . erc)
+    ("eshell" . eshell)
+    ("gnus" . gnus)
+    ("international" . emacs)
+    ("language" . emacs)
+    ("mh-e" . mh-e)
+    ("semantic" . semantic)
+    ("analyze" . semantic)
+    ("bovine" . semantic)
+    ("decorate" . semantic)
+    ("symref" . semantic)
+    ("wisent" . semantic)
+    ("nxml" . nxml)
+    ("org"  . org)
+    ("srecode" . srecode)
+    ("term" . emacs)
+    ("url"  . url))
+  "Alist of built-in package directories.
+Each element should have the form (DIR . PACKAGE), where DIR is a
+directory name and PACKAGE is the name of a package (a symbol).
+When generating `package--builtins', Emacs assumes any file in
+DIR is part of the package PACKAGE.")
+
 (defun finder-compile-keywords (&rest dirs)
-  "Regenerate the keywords association list into `generated-finder-keywords-file'.
-Optional arguments DIRS are a list of Emacs Lisp directories to compile from;
-no arguments compiles from `load-path'."
+  "Regenerate list of built-in Emacs packages.
+This recomputes `package--builtins' and `finder-keywords-hash',
+and prints them into the file `generated-finder-keywords-file'.
+
+Optional DIRS is a list of Emacs Lisp directories to compile
+from; the default is `load-path'."
+  ;; Allow compressed files also.
+  (setq package--builtins nil)
+  (setq finder-keywords-hash (make-hash-table :test 'eq))
+  (let ((el-file-regexp "^\\([^=].*\\)\\.el\\(\\.\\(gz\\|Z\\)\\)?$")
+	package-override files base-name processed
+	summary keywords package version entry desc)
+    (dolist (d (or dirs load-path))
+      (when (file-exists-p (directory-file-name d))
+	(message "Directory %s" d)
+	(setq package-override
+	      (intern-soft
+	       (cdr-safe
+		(assoc (file-name-nondirectory (directory-file-name d))
+		       finder--builtins-alist))))
+	(setq files (directory-files d nil el-file-regexp))
+	(dolist (f files)
+	  (unless (or (string-match finder-no-scan-regexp f)
+		      (null (setq base-name
+				  (and (string-match el-file-regexp f)
+				       (intern (match-string 1 f)))))
+		      (memq base-name processed))
+	    (push base-name processed)
+	    (with-temp-buffer
+	      (insert-file-contents (expand-file-name f d))
+	      (setq summary  (lm-synopsis)
+		    keywords (mapcar 'intern (lm-keywords-list))
+		    package  (or package-override
+				 (intern-soft (lm-header "package"))
+				 base-name)
+		    version  (lm-header "version")))
+	    (when summary
+	      (setq version (ignore-errors (version-to-list version)))
+	      (setq entry (assq package package--builtins))
+	      (cond ((null entry)
+		     (push (cons package (vector version nil summary))
+			   package--builtins))
+		    ((eq base-name package)
+		     (setq desc (cdr entry))
+		     (aset desc 0 version)
+		     (aset desc 2 summary)))
+	      (dolist (kw keywords)
+		(puthash kw
+			 (cons package
+			       (delq package
+				     (gethash kw finder-keywords-hash)))
+			 finder-keywords-hash))))))))
+
+  (setq package--builtins
+	(sort package--builtins
+	      (lambda (a b) (string< (symbol-name (car a))
+				     (symbol-name (car b))))))
+
   (save-excursion
     (find-file generated-finder-keywords-file)
     (setq buffer-undo-list t)
@@ -153,40 +232,23 @@
     (insert (autoload-rubric generated-finder-keywords-file
                              "keyword-to-package mapping" t))
     (search-backward "")
-    (insert "(setq finder-package-info '(\n")
-    (let (processed summary keywords)
-      (mapc
-       (lambda (d)
-	 (when (file-exists-p (directory-file-name d))
-	   (message "Directory %s" d)
-	   (mapc
-	    (lambda (f)
-              ;; FIXME should this not be using (expand-file-name f d)?
-	      (unless (or (member f processed)
-                          (string-match finder-no-scan-regexp f))
-                (setq processed (cons f processed))
-                (with-temp-buffer
-                  (insert-file-contents (expand-file-name f d))
-                  (setq summary (lm-synopsis)
-                        keywords (lm-keywords-list)))
-                (insert
-                 (format "    (\"%s\"\n        "
-                         (if (string-match "\\.\\(gz\\|Z\\)$" f)
-                             (file-name-sans-extension f)
-                           f)))
-                (prin1 summary (current-buffer))
-                (insert "\n        ")
-                (prin1 (mapcar 'intern keywords) (current-buffer))
-                (insert ")\n")))
-	    (directory-files d nil
-                             ;; Allow compressed files also.  FIXME:
-                             ;; generalize this, especially for
-                             ;; MS-DOG-type filenames.
-                             "^[^=].*\\.el\\(\\.\\(gz\\|Z\\)\\)?$"
-                             ))))
-       (or dirs load-path)))
-    (insert "    ))\n")
-    (eval-buffer)         ; so we get the new keyword list immediately
+    (insert "(setq package--builtins '(\n")
+    (dolist (package package--builtins)
+      (insert "  (")
+      (prin1 (car package) (current-buffer))
+      (insert " .\n    [")
+      (let ((desc (cdr package)))
+	(prin1 (aref desc 0) (current-buffer))
+	(insert " ")
+	(prin1 (aref desc 1) (current-buffer))
+	(insert " ")
+	(prin1 (aref desc 2) (current-buffer)))
+      (insert "])\n"))
+    (insert "    ))\n\n")
+    ;; Insert hash table.
+    (insert "(setq finder-keywords-hash\n      ")
+    (prin1 finder-keywords-hash (current-buffer))
+    (insert ")\n")
     (basic-save-buffer)))
 
 (defun finder-compile-keywords-make-dist ()
@@ -226,26 +288,14 @@
 
 (defun finder-unknown-keywords ()
   "Return an alist of unknown keywords and number of their occurences.
-Unknown are keywords that are present in `finder-package-info'
-but absent in `finder-known-keywords'."
-  (let ((unknown-keywords-hash (make-hash-table)))
-    ;; Prepare a hash where key is a keyword
-    ;; and value is the number of keyword occurences.
-    (mapc (lambda (package)
-	    (mapc (lambda (keyword)
-		    (unless (assq keyword finder-known-keywords)
-		      (puthash keyword
-			       (1+ (gethash keyword unknown-keywords-hash 0))
-			       unknown-keywords-hash)))
-		  (nth 2 package)))
-	  finder-package-info)
-    ;; Make an alist from the hash and sort by the keyword name.
-    (sort (let (unknown-keywords-list)
-	    (maphash (lambda (key value)
-		       (push (cons key value) unknown-keywords-list))
-		     unknown-keywords-hash)
-	    unknown-keywords-list)
-	  (lambda (a b) (string< (car a) (car b))))))
+Unknown keywords are those present in `finder-keywords-hash' but
+not `finder-known-keywords'."
+  (let (alist)
+    (maphash (lambda (kw packages)
+	       (unless (assq kw finder-known-keywords)
+		 (push (cons kw (length packages)) alist)))
+	     finder-keywords-hash)
+    (sort alist (lambda (a b) (string< (car a) (car b))))))
 
 ;;;###autoload
 (defun finder-list-keywords ()
@@ -255,46 +305,28 @@
       (pop-to-buffer "*Finder*")
     (pop-to-buffer (get-buffer-create "*Finder*"))
     (finder-mode)
-    (setq buffer-read-only nil
-          buffer-undo-list t)
-    (erase-buffer)
-    (mapc
-     (lambda (assoc)
-       (let ((keyword (car assoc)))
-	 (insert (symbol-name keyword))
-	 (finder-insert-at-column 14 (concat (cdr assoc) "\n"))
-	 (finder-mouse-face-on-line)))
-     finder-known-keywords)
-    (goto-char (point-min))
-    (setq finder-headmark (point)
-          buffer-read-only t)
-    (set-buffer-modified-p nil)
-    (balance-windows)
-    (finder-summary)))
+    (let ((inhibit-read-only t))
+      (erase-buffer)
+      (dolist (assoc finder-known-keywords)
+	(let ((keyword (car assoc)))
+	  (insert (propertize (symbol-name keyword)
+			      'font-lock-face 'font-lock-constant-face))
+	  (finder-insert-at-column 14 (concat (cdr assoc) "\n"))
+	  (finder-mouse-face-on-line)))
+      (goto-char (point-min))
+      (setq finder-headmark (point)
+	    buffer-read-only t)
+      (set-buffer-modified-p nil)
+      (balance-windows)
+      (finder-summary))))
 
 (defun finder-list-matches (key)
-  (pop-to-buffer (set-buffer (get-buffer-create "*Finder Category*")))
-  (finder-mode)
-  (setq buffer-read-only nil
-         buffer-undo-list t)
-  (erase-buffer)
-  (let ((id (intern key)))
-    (insert
-     "The following packages match the keyword `" key "':\n\n")
-    (setq finder-headmark (point))
-    (mapc
-     (lambda (x)
-       (when (memq id (cadr (cdr x)))
-         (insert (car x))
-         (finder-insert-at-column 16 (concat (cadr x) "\n"))
-         (finder-mouse-face-on-line)))
-     finder-package-info)
-    (goto-char (point-min))
-    (forward-line)
-    (setq buffer-read-only t)
-    (set-buffer-modified-p nil)
-    (shrink-window-if-larger-than-buffer)
-    (finder-summary)))
+  (let* ((id (intern key))
+	 (packages (gethash id finder-keywords-hash)))
+    (unless packages
+      (error "No packages matching key `%s'" key))
+    (setq package-menu-sort-key nil)
+    (package--list-packages packages)))
 
 (define-button-type 'finder-xref 'action #'finder-goto-xref)
 
@@ -381,8 +413,8 @@
 \\[finder-select]	more help for the item on the current line
 \\[finder-exit]	exit Finder mode and kill the Finder buffer."
   :syntax-table finder-mode-syntax-table
-  (setq font-lock-defaults '(finder-font-lock-keywords nil nil
-                             (("+-*/.<>=!?$%_&~^:@" . "w")) nil))
+  (setq buffer-read-only t
+	buffer-undo-list t)
   (set (make-local-variable 'finder-headmark) nil))
 
 (defun finder-summary ()
@@ -399,8 +431,8 @@
 Delete the window and kill all Finder-related buffers."
   (interactive)
   (ignore-errors (delete-window))
-  (dolist (buff '("*Finder*" "*Finder-package*" "*Finder Category*"))
-    (and (get-buffer buff) (kill-buffer buff))))
+  (let ((buf "*Finder*"))
+    (and (get-buffer buf) (kill-buffer buf))))
 
 
 (provide 'finder)
--- a/lisp/foldout.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/foldout.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,7 +6,7 @@
 ;; Author: Kevin Broadey <KevinB@bartley.demon.co.uk>
 ;; Maintainer: FSF
 ;; Created: 27 Jan 1994
-;; Version: foldout.el 1.10 dated 94/05/19 at 17:09:12
+;; Version: 1.10
 ;; Keywords: folding, outlines
 
 ;; This file is part of GNU Emacs.
--- a/lisp/font-core.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/font-core.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: languages, faces
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/font-lock.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/font-lock.el	Wed Sep 01 11:03:05 2010 +0900
@@ -9,6 +9,7 @@
 ;;	Stefan Monnier
 ;; Maintainer: FSF
 ;; Keywords: languages, faces
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/format.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/format.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
 
 ;; Author: Boris Goldowsky <boris@gnu.org>
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/frame.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/frame.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/fringe.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/fringe.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Simon Josefsson <simon@josefsson.org>
 ;; Maintainer: FSF
 ;; Keywords: frames
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/generic-x.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/generic-x.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author:  Peter Breton <pbreton@cs.umb.edu>
 ;; Created: Tue Oct 08 1996
 ;; Keywords: generic, comment, font-lock
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/gnus/ChangeLog	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/gnus/ChangeLog	Wed Sep 01 11:03:05 2010 +0900
@@ -1,3 +1,9 @@
+2010-08-27  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* gnus-sum.el (gnus-summary-move-article, gnus-summary-delete-article):
+	Save excursion while copying, moving, and deleting articles in order to
+	prevent the cursor from jumping to unforeseen place.
+
 2010-08-17  Glenn Morris  <rgm@gnu.org>
 
 	* gnus-sync.el: Require gnus components whose functions are used.
--- a/lisp/gnus/gnus-sum.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/gnus/gnus-sum.el	Wed Sep 01 11:03:05 2010 +0900
@@ -9848,12 +9848,14 @@
 	;;;!!!Why is this necessary?
 	(set-buffer gnus-summary-buffer)
 
-	(gnus-summary-goto-subject article)
 	(when (eq action 'move)
-	  (gnus-summary-mark-article article gnus-canceled-mark))))
+	  (save-excursion
+	    (gnus-summary-goto-subject article)
+	    (gnus-summary-mark-article article gnus-canceled-mark)))))
       (push article articles-to-update-marks))
 
-    (apply 'gnus-summary-remove-process-mark articles-to-update-marks)
+    (save-excursion
+      (apply 'gnus-summary-remove-process-mark articles-to-update-marks))
     ;; Re-activate all groups that have been moved to.
     (with-current-buffer gnus-group-buffer
       (let ((gnus-group-marked to-groups))
@@ -10109,19 +10111,20 @@
       ;; Delete the articles.
       (setq not-deleted (gnus-request-expire-articles
 			 articles gnus-newsgroup-name 'force))
-      (while articles
-	(gnus-summary-remove-process-mark (car articles))
-	;; The backend might not have been able to delete the article
-	;; after all.
-	(unless (memq (car articles) not-deleted)
-	  (gnus-summary-mark-article (car articles) gnus-canceled-mark))
-	(let* ((article (car articles))
-	       (ghead  (gnus-data-header
-				    (assoc article (gnus-data-list nil)))))
-	  (run-hook-with-args 'gnus-summary-article-delete-hook
-			      'delete ghead gnus-newsgroup-name nil
-			      nil))
-	(setq articles (cdr articles)))
+      (save-excursion
+	(while articles
+	  (gnus-summary-remove-process-mark (car articles))
+	  ;; The backend might not have been able to delete the article
+	  ;; after all.
+	  (unless (memq (car articles) not-deleted)
+	    (gnus-summary-mark-article (car articles) gnus-canceled-mark))
+	  (let* ((article (car articles))
+		 (ghead  (gnus-data-header
+			  (assoc article (gnus-data-list nil)))))
+	    (run-hook-with-args 'gnus-summary-article-delete-hook
+				'delete ghead gnus-newsgroup-name nil
+				nil))
+	  (setq articles (cdr articles))))
       (when not-deleted
 	(gnus-message 4 "Couldn't delete articles %s" not-deleted)))
     (gnus-summary-position-point)
--- a/lisp/gnus/gnus.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/gnus/gnus.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
 ;;	Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news, mail
+;; Version: 5.13
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/help-fns.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/help-fns.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: help, internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/help-macro.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/help-macro.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: FSF
 ;; Created: Mon Oct  1 11:42:39 1990
 ;; Adapted-By: ESR
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/help-mode.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/help-mode.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: help, internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/help.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/help.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: help, internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
@@ -103,6 +104,7 @@
     (define-key map "m" 'describe-mode)
     (define-key map "n" 'view-emacs-news)
     (define-key map "p" 'finder-by-keyword)
+    (define-key map "P" 'describe-package)
     (define-key map "r" 'info-emacs-manual)
     (define-key map "s" 'describe-syntax)
     (define-key map "t" 'help-with-tutorial)
--- a/lisp/htmlfontify.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/htmlfontify.el	Wed Sep 01 11:03:05 2010 +0900
@@ -15,6 +15,7 @@
 ;; Compatibility: Emacs23, Emacs22
 ;; Incompatibility: Emacs19, Emacs20, Emacs21
 ;; Last Updated: Thu 2009-11-19 01:31:21 +0000
+;; Version: 0.21
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/ibuf-ext.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/ibuf-ext.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: John Paul Wallington <jpw@gnu.org>
 ;; Created: 2 Dec 2001
 ;; Keywords: buffer, convenience
+;; Package: ibuffer
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/ibuf-macs.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/ibuf-macs.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: John Paul Wallington <jpw@gnu.org>
 ;; Created: 6 Dec 2001
 ;; Keywords: buffer, convenience
+;; Package: ibuffer
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/ibuffer.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/ibuffer.el	Wed Sep 01 11:03:05 2010 +0900
@@ -2641,7 +2641,7 @@
 ;;;;;;  ibuffer-backward-filter-group ibuffer-forward-filter-group
 ;;;;;;  ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group
 ;;;;;;  ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode
-;;;;;;  ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "e1272bfdc7c3b6e926b2a68155217303")
+;;;;;;  ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "fa9822b5ef905f06d8a03dc9ce3a2894")
 ;;; Generated autoloads from ibuf-ext.el
 
 (autoload 'ibuffer-auto-mode "ibuf-ext" "\
--- a/lisp/image-mode.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/image-mode.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;
 ;; Author: Richard Stallman <rms@gnu.org>
 ;; Keywords: multimedia
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/image.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/image.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: multimedia
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/indent.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/indent.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2008, 2009, 2010  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/info.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/info.el	Wed Sep 01 11:03:05 2010 +0900
@@ -3372,7 +3372,6 @@
   filename)
 
 (defvar finder-known-keywords)
-(defvar finder-package-info)
 (declare-function find-library-name "find-func" (library))
 (declare-function finder-unknown-keywords "finder" ())
 (declare-function lm-commentary "lisp-mnt" (&optional file))
@@ -3388,15 +3387,14 @@
     (insert "Finder Keywords\n")
     (insert "***************\n\n")
     (insert "* Menu:\n\n")
-    (mapc
-     (lambda (assoc)
-       (let ((keyword (car assoc)))
-	 (insert (format "* %-14s %s.\n"
-			 (concat (symbol-name keyword) "::")
-			 (cdr assoc)))))
-     (append '((all . "All package info")
-	       (unknown . "unknown keywords"))
-	   finder-known-keywords)))
+    (dolist (assoc (append '((all . "All package info")
+			     (unknown . "unknown keywords"))
+			   finder-known-keywords))
+      (let ((keyword (car assoc)))
+	(insert (format "* %s %s.\n"
+			(concat (symbol-name keyword) ": "
+				"kw:" (symbol-name keyword) ".")
+			(cdr assoc))))))
    ((equal nodename "unknown")
     ;; Display unknown keywords
     (insert (format "\n\^_\nFile: %s,  Node: %s,  Up: Top\n\n"
@@ -3416,17 +3414,36 @@
 		    Info-finder-file nodename))
     (insert "Finder Package Info\n")
     (insert "*******************\n\n")
-    (mapc (lambda (package)
-	    (insert (format "%s - %s\n"
-			    (format "*Note %s::" (nth 0 package))
-			    (nth 1 package)))
-	    (insert "Keywords: "
-		    (mapconcat (lambda (keyword)
-				 (format "*Note %s::" (symbol-name keyword)))
-			       (nth 2 package) ", ")
-		    "\n\n"))
-	  finder-package-info))
-   ((string-match-p "\\.el\\'" nodename)
+    (dolist (package package-alist)
+      (insert (format "%s - %s\n"
+		      (format "*Note %s::" (nth 0 package))
+		      (nth 1 package)))))
+   ((string-match "\\`kw:" nodename)
+    (setq nodename (substring nodename (match-end 0)))
+    ;; Display packages that match the keyword
+    ;; or the list of keywords separated by comma.
+    (insert (format "\n\^_\nFile: %s,  Node: kw:%s,  Up: Top\n\n"
+		    Info-finder-file nodename))
+    (insert "Finder Packages\n")
+    (insert "***************\n\n")
+    (insert
+     "The following packages match the keyword `" nodename "':\n\n")
+    (insert "* Menu:\n\n")
+    (let ((keywords
+	   (mapcar 'intern (if (string-match-p "," nodename)
+			       (split-string nodename ",[ \t\n]*" t)
+			     (list nodename))))
+	  hits desc)
+      (dolist (kw keywords)
+	(push (copy-tree (gethash kw finder-keywords-hash)) hits))
+      (setq hits (delete-dups (apply 'append hits)))
+      (dolist (package hits)
+	(setq desc (cdr-safe (assq package package-alist)))
+	(when (vectorp desc)
+	  (insert (format "* %-16s %s.\n"
+			  (concat (symbol-name package) "::")
+			  (aref desc 2)))))))
+   (t
     ;; Display commentary section
     (insert (format "\n\^_\nFile: %s,  Node: %s,  Up: Top\n\n"
 		    Info-finder-file nodename))
@@ -3447,29 +3464,7 @@
 	   (goto-char (point-min))
 	   (while (re-search-forward "^;+ ?" nil t)
 	     (replace-match "" nil nil))
-	   (buffer-string))))))
-   (t
-    ;; Display packages that match the keyword
-    ;; or the list of keywords separated by comma.
-    (insert (format "\n\^_\nFile: %s,  Node: %s,  Up: Top\n\n"
-		    Info-finder-file nodename))
-    (insert "Finder Packages\n")
-    (insert "***************\n\n")
-    (insert
-     "The following packages match the keyword `" nodename "':\n\n")
-    (insert "* Menu:\n\n")
-    (let ((keywords
-	   (mapcar 'intern (if (string-match-p "," nodename)
-			       (split-string nodename ",[ \t\n]*" t)
-			     (list nodename)))))
-      (mapc
-       (lambda (package)
-	 (unless (memq nil (mapcar (lambda (k) (memq k (nth 2 package)))
-				   keywords))
-	   (insert (format "* %-16s %s.\n"
-			   (concat (nth 0 package) "::")
-			   (nth 1 package)))))
-       finder-package-info)))))
+	   (buffer-string))))))))
 
 ;;;###autoload
 (defun info-finder (&optional keywords)
--- a/lisp/isearch.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/isearch.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Author: Daniel LaLiberte <liberte@cs.uiuc.edu>
 ;; Maintainer: FSF
 ;; Keywords: matching
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/jit-lock.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/jit-lock.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author: Gerd Moellmann <gerd@gnu.org>
 ;; Keywords: faces files
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/jka-cmpr-hook.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/jka-cmpr-hook.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: jka@ece.cmu.edu (Jay K. Adams)
 ;; Maintainer: FSF
 ;; Keywords: data
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/linum.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/linum.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;; Author: Markus Triska <markus.triska@gmx.at>
 ;; Maintainer: FSF
 ;; Keywords: convenience
+;; Version: 0.9x
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/loadup.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/loadup.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/ls-lisp.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/ls-lisp.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Modified by: Francis J. Wright <F.J.Wright@maths.qmw.ac.uk>
 ;; Maintainer: FSF
 ;; Keywords: unix, dired
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/macros.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/macros.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: abbrev
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/mail/blessmail.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mail/blessmail.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/mail/emacsbug.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mail/emacsbug.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Author: K. Shane Hartman
 ;; Maintainer: FSF
 ;; Keywords: maint mail
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
@@ -119,7 +120,7 @@
 			 (concat "mailto:" to))
 	(error "Subject, To or body not found")))))
 
- 
+
 ;;;###autoload
 (defun report-emacs-bug (topic &optional recent-keys)
   "Report a bug in GNU Emacs.
@@ -274,7 +275,7 @@
     (use-local-map (nconc (make-sparse-keymap) (current-local-map)))
     (define-key (current-local-map) "\C-c\C-i" 'report-emacs-bug-info)
     (if can-xdg-email
-	(define-key (current-local-map) "\C-cm" 
+	(define-key (current-local-map) "\C-cm"
 	  'report-emacs-bug-insert-to-mailer))
     ;; Could test major-mode instead.
     (cond ((memq mail-user-agent '(message-user-agent gnus-user-agent))
--- a/lisp/mail/mail-extr.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mail/mail-extr.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Joe Wells <jbw@cs.bu.edu>
 ;; Maintainer: FSF
 ;; Keywords: mail
+;; Package: mail-utils
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/mail/mail-hist.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mail/mail-hist.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Karl Fogel <kfogel@red-bean.com>
 ;; Created: March, 1994
 ;; Keywords: mail, history
+;; Package: mail-utils
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/mail/mailheader.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mail/mailheader.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author: Erik Naggum <erik@naggum.no>
 ;; Keywords: tools, mail, news
+;; Package: mail-utils
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/mail/rmail-spam-filter.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mail/rmail-spam-filter.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   Free Software Foundation, Inc.
 ;; Keywords: email, spam, filter, rmail
 ;; Author: Eli Tziperman <eli AT deas.harvard.edu>
+;; Package: rmail
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/mail/rmail.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mail/rmail.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4239,7 +4239,7 @@
 ;;; Start of automatically extracted autoloads.
 
 ;;;### (autoloads (rmail-edit-current-message) "rmailedit" "rmailedit.el"
-;;;;;;  "60db8013bf16d7999914a16cda435287")
+;;;;;;  "4bf8a5cdfc921b9e30680ee71b7f9ca6")
 ;;; Generated autoloads from rmailedit.el
 
 (autoload 'rmail-edit-current-message "rmailedit" "\
@@ -4251,7 +4251,7 @@
 
 ;;;### (autoloads (rmail-next-labeled-message rmail-previous-labeled-message
 ;;;;;;  rmail-read-label rmail-kill-label rmail-add-label) "rmailkwd"
-;;;;;;  "rmailkwd.el" "7027ce1ac922c0dd51262b641e4d42c1")
+;;;;;;  "rmailkwd.el" "112240cbb53c402294013cc49987771a")
 ;;; Generated autoloads from rmailkwd.el
 
 (autoload 'rmail-add-label "rmailkwd" "\
@@ -4294,7 +4294,7 @@
 
 ;;;***
 
-;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "4a7502b4aeb3bd5f2111b48cc6512924")
+;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "9f67f3b67de9b700b128b73c52abfefa")
 ;;; Generated autoloads from rmailmm.el
 
 (autoload 'rmail-mime "rmailmm" "\
@@ -4310,7 +4310,7 @@
 ;;;***
 
 ;;;### (autoloads (set-rmail-inbox-list) "rmailmsc" "rmailmsc.el"
-;;;;;;  "b2a72d4e370f2d2b31b6f8f0794820e4")
+;;;;;;  "c3575020691d5769bcf08ecc932304c3")
 ;;; Generated autoloads from rmailmsc.el
 
 (autoload 'set-rmail-inbox-list "rmailmsc" "\
@@ -4326,7 +4326,7 @@
 
 ;;;### (autoloads (rmail-sort-by-labels rmail-sort-by-lines rmail-sort-by-correspondent
 ;;;;;;  rmail-sort-by-recipient rmail-sort-by-author rmail-sort-by-subject
-;;;;;;  rmail-sort-by-date) "rmailsort" "rmailsort.el" "5a3b5ee477d2fbf79d0c566d776a7fd4")
+;;;;;;  rmail-sort-by-date) "rmailsort" "rmailsort.el" "b96e85edd736f23f1e9d54a299268d1e")
 ;;; Generated autoloads from rmailsort.el
 
 (autoload 'rmail-sort-by-date "rmailsort" "\
@@ -4385,7 +4385,7 @@
 
 ;;;### (autoloads (rmail-summary-by-senders rmail-summary-by-topic
 ;;;;;;  rmail-summary-by-regexp rmail-summary-by-recipients rmail-summary-by-labels
-;;;;;;  rmail-summary) "rmailsum" "rmailsum.el" "26b95919c7e1f8c5609ce7323aee77ae")
+;;;;;;  rmail-summary) "rmailsum" "rmailsum.el" "4715fb58fb191bf6b192458ea75524b2")
 ;;; Generated autoloads from rmailsum.el
 
 (autoload 'rmail-summary "rmailsum" "\
--- a/lisp/mail/rmailedit.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mail/rmailedit.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: mail
+;; Package: rmail
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/mail/rmailkwd.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mail/rmailkwd.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: mail
+;; Package: rmail
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/mail/rmailmm.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mail/rmailmm.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;;	Alex Schroeder
 ;; Maintainer: FSF
 ;; Keywords: mail
+;; Package: rmail
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/mail/rmailmsc.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mail/rmailmsc.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: mail
+;; Package: rmail
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/mail/rmailout.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mail/rmailout.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: mail
+;; Package: rmail
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/mail/rmailsort.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mail/rmailsort.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Masanobu UMEDA <umerin@mse.kyutech.ac.jp>
 ;; Maintainer: FSF
 ;; Keywords: mail
+;; Package: rmail
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/mail/rmailsum.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mail/rmailsum.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: mail
+;; Package: rmail
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/menu-bar.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/menu-bar.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: RMS
 ;; Maintainer: FSF
 ;; Keywords: internal, mouse
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
@@ -1485,6 +1486,9 @@
 (define-key menu-bar-describe-menu [describe-current-display-table]
   `(menu-item ,(purecopy "Describe Display Table") describe-current-display-table
 	      :help ,(purecopy "Describe the current display table")))
+(define-key menu-bar-describe-menu [describe-package]
+  `(menu-item ,(purecopy "Describe Package...") describe-package
+              :help ,(purecopy "Display documentation of a Lisp package")))
 (define-key menu-bar-describe-menu [describe-face]
   `(menu-item ,(purecopy "Describe Face...") describe-face
               :help ,(purecopy "Display the properties of a face")))
@@ -1616,11 +1620,11 @@
 (define-key menu-bar-help-menu [sep2]
   menu-bar-separator)
 (define-key menu-bar-help-menu [external-packages]
-  `(menu-item ,(purecopy "External Packages") menu-bar-help-extra-packages
+  `(menu-item ,(purecopy "Finding Extra Packages") menu-bar-help-extra-packages
 	      :help ,(purecopy "Lisp packages distributed separately for use in Emacs")))
 (define-key menu-bar-help-menu [find-emacs-packages]
-  `(menu-item ,(purecopy "Find Emacs Packages") finder-by-keyword
-	      :help ,(purecopy "Find packages and features by keyword")))
+  `(menu-item ,(purecopy "Search Built-in Packages") finder-by-keyword
+	      :help ,(purecopy "Find built-in packages and features by keyword")))
 (define-key menu-bar-help-menu [more-manuals]
   `(menu-item ,(purecopy "More Manuals") ,menu-bar-manuals-menu))
 (define-key menu-bar-help-menu [emacs-manual]
--- a/lisp/minibuffer.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/minibuffer.el	Wed Sep 01 11:03:05 2010 +0900
@@ -3,6 +3,7 @@
 ;; Copyright (C) 2008, 2009, 2010  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/misc.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/misc.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: convenience
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/mouse.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mouse.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: hardware, mouse
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/mwheel.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/mwheel.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2008, 2009, 2010  Free Software Foundation, Inc.
 ;; Maintainer: William M. Perry <wmperry@gnu.org>
 ;; Keywords: mouse
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/eudc-bob.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/eudc-bob.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
 ;; Keywords: comm
+;; Package: eudc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/eudc-export.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/eudc-export.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
 ;; Keywords: comm
+;; Package: eudc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/eudc-hotlist.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/eudc-hotlist.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
 ;; Keywords: comm
+;; Package: eudc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/eudc-vars.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/eudc-vars.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
 ;; Keywords: comm
+;; Package: eudc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/eudcb-bbdb.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/eudcb-bbdb.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
 ;; Keywords: comm
+;; Package: eudc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/eudcb-ldap.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/eudcb-ldap.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
 ;; Keywords: comm
+;; Package: eudc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/eudcb-mab.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/eudcb-mab.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: John Wiegley <johnw@newartisans.com>
 ;; Maintainer: FSF
 ;; Keywords: comm
+;; Package: eudc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/eudcb-ph.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/eudcb-ph.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
 ;; Keywords: comm
+;; Package: eudc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/newst-backend.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/newst-backend.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;; URL:         http://www.nongnu.org/newsticker
 ;; Keywords:    News, RSS, Atom
 ;; Time-stamp:  "6. Dezember 2009, 19:15:32 (ulf)"
+;; Package:     newsticker
 
 ;; ======================================================================
 
--- a/lisp/net/newst-plainview.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/newst-plainview.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Filename:    newst-plainview.el
 ;; URL:         http://www.nongnu.org/newsticker
 ;; Time-stamp:  "6. Dezember 2009, 19:17:02 (ulf)"
+;; Package:     newsticker
 
 ;; ======================================================================
 
--- a/lisp/net/newst-reader.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/newst-reader.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Filename:    newst-reader.el
 ;; URL:         http://www.nongnu.org/newsticker
 ;; Time-stamp:  "6. Dezember 2009, 19:16:38 (ulf)"
+;; Package:     newsticker
 
 ;; ======================================================================
 
--- a/lisp/net/newst-ticker.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/newst-ticker.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;; URL:         http://www.nongnu.org/newsticker
 ;; Keywords:    News, RSS, Atom
 ;; Time-stamp:  "6. Dezember 2009, 19:16:00 (ulf)"
+;; Package:     newsticker
 
 ;; ======================================================================
 
--- a/lisp/net/newst-treeview.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/newst-treeview.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;; Created:     2007
 ;; Keywords:    News, RSS, Atom
 ;; Time-stamp:  "6. Dezember 2009, 19:17:28 (ulf)"
+;; Package:     newsticker
 
 ;; ======================================================================
 
--- a/lisp/net/newsticker.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/newsticker.el	Wed Sep 01 11:03:05 2010 +0900
@@ -9,6 +9,7 @@
 ;; Created:     17. June 2003
 ;; Keywords:    News, RSS, Atom
 ;; Time-stamp:  "6. Dezember 2009, 19:15:18 (ulf)"
+;; Version:     1.99
 
 ;; ======================================================================
 
--- a/lisp/net/sasl-cram.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/sasl-cram.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;;	Kenichi OKADA <okada@opaopa.org>
 ;; Keywords: SASL, CRAM-MD5
+;; Package: sasl
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/sasl-digest.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/sasl-digest.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;;	Kenichi OKADA <okada@opaopa.org>
 ;; Keywords: SASL, DIGEST-MD5
+;; Package: sasl
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/sasl-ntlm.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/sasl-ntlm.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Keywords: SASL, NTLM
 ;; Version: 1.00
 ;; Created: February 2001
+;; Package: sasl
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/tramp-cache.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/tramp-cache.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Daniel Pittman <daniel@inanna.danann.net>
 ;;         Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
+;; Package: tramp
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/tramp-cmds.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/tramp-cmds.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
+;; Package: tramp
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/tramp-compat.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/tramp-compat.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
+;; Package: tramp
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/tramp-fish.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/tramp-fish.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
+;; Package: tramp
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/tramp-ftp.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/tramp-ftp.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
+;; Package: tramp
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/tramp-gvfs.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/tramp-gvfs.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
+;; Package: tramp
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/tramp-gw.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/tramp-gw.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
+;; Package: tramp
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/tramp-imap.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/tramp-imap.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 
 ;; Author: Teodor Zlatanov <tzz@lifelogs.com>
 ;; Keywords: mail, comm
+;; Package: tramp
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/tramp-smb.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/tramp-smb.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
+;; Package: tramp
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/tramp-uu.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/tramp-uu.el	Wed Sep 01 11:03:05 2010 +0900
@@ -1,10 +1,11 @@
 ;;; tramp-uu.el --- uuencode in Lisp
 
-;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007,
-;;   2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+;;   2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Kai Großjohann <kai.grossjohann@gmx.net>
 ;; Keywords: comm, terminals
+;; Package: tramp
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/net/tramp.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/tramp.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8995,6 +8995,13 @@
 ;; * Try telnet+curl as new method.  It might be useful for busybox,
 ;;   without built-in uuencode/uudecode.
 ;; * Load ~/.emacs_SHELLNAME on the remote host for `shell'.
+;; * I was wondering it it would be possible to use tramp even if I'm
+;;   actually using sshfs.  But when I launch a command I would like
+;;   to get it executed on the remote machine where the files really
+;;   are.  (Andrea Crotti)
+;; * Run emerge on two remote files.  Bug is described here:
+;;   <http://www.mail-archive.com/tramp-devel@nongnu.org/msg01041.html>.
+;;   (Bug#6850)
 
 ;; Functions for file-name-handler-alist:
 ;; diff-latest-backup-file -- in diff.el
--- a/lisp/net/trampver.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/net/trampver.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Author: Kai Großjohann <kai.grossjohann@gmx.net>
 ;; Keywords: comm, processes
+;; Package: tramp
 
 ;; This file is part of GNU Emacs.
 
@@ -30,14 +31,14 @@
 ;; version check is defined in macro AC_EMACS_INFO of aclocal.m4;
 ;; should be changed only there.
 
-(defconst tramp-version "2.1.19-pre"
+(defconst tramp-version "2.1.19"
   "This version of Tramp.")
 
 (defconst tramp-bug-report-address "tramp-devel@gnu.org"
   "Email address to send bug reports to.")
 
 ;; Check for (X)Emacs version.
-(let ((x (if (or (>= emacs-major-version 22)	(and (featurep 'xemacs)	     (= emacs-major-version 21)	     (>= emacs-minor-version 4)))    "ok"    (format "Tramp 2.1.19-pre is not fit for %s"	    (when (string-match "^.*$" (emacs-version))	      (match-string 0 (emacs-version)))))))
+(let ((x (if (or (>= emacs-major-version 22)	(and (featurep 'xemacs)	     (= emacs-major-version 21)	     (>= emacs-minor-version 4)))    "ok"    (format "Tramp 2.1.19 is not fit for %s"	    (when (string-match "^.*$" (emacs-version))	      (match-string 0 (emacs-version)))))))
   (unless (string-match "\\`ok\\'" x) (error "%s" x)))
 
 (provide 'trampver)
--- a/lisp/newcomment.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/newcomment.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: code extracted from Emacs-20's simple.el
 ;; Maintainer: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: comment uncomment
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/paths.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/paths.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/pcmpl-cvs.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/pcmpl-cvs.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
+;; Package: pcomplete
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/pcmpl-gnu.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/pcmpl-gnu.el	Wed Sep 01 11:03:05 2010 +0900
@@ -3,6 +3,8 @@
 ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
+;; Package: pcomplete
+
 ;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software: you can redistribute it and/or modify
--- a/lisp/pcmpl-linux.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/pcmpl-linux.el	Wed Sep 01 11:03:05 2010 +0900
@@ -3,6 +3,8 @@
 ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
+;; Package: pcomplete
+
 ;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software: you can redistribute it and/or modify
--- a/lisp/pcmpl-rpm.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/pcmpl-rpm.el	Wed Sep 01 11:03:05 2010 +0900
@@ -3,6 +3,8 @@
 ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
 ;;   2008, 2009, 2010  Free Software Foundation, Inc.
 
+;; Package: pcomplete
+
 ;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software: you can redistribute it and/or modify
--- a/lisp/pcmpl-unix.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/pcmpl-unix.el	Wed Sep 01 11:03:05 2010 +0900
@@ -3,6 +3,8 @@
 ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
+;; Package: pcomplete
+
 ;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software: you can redistribute it and/or modify
--- a/lisp/pgg-def.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/pgg-def.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Created: 1999/11/02
 ;; Keywords: PGP, OpenPGP, GnuPG
+;; Package: pgg
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/pgg-gpg.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/pgg-gpg.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,10 +4,11 @@
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
-;; Symmetric encryption and gpg-agent support added by: 
+;; Symmetric encryption and gpg-agent support added by:
 ;;   Sascha Wilde <wilde@sha-bang.de>
 ;; Created: 1999/10/28
 ;; Keywords: PGP, OpenPGP, GnuPG
+;; Package: pgg
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/pgg-parse.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/pgg-parse.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Created: 1999/10/28
 ;; Keywords: PGP, OpenPGP, GnuPG
+;; Package: pgg
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/pgg-pgp.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/pgg-pgp.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Created: 1999/11/02
 ;; Keywords: PGP, OpenPGP
+;; Package: pgg
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/pgg-pgp5.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/pgg-pgp5.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Created: 1999/11/02
 ;; Keywords: PGP, OpenPGP
+;; Package: pgg
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/ada-prj.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/ada-prj.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Emmanuel Briot <briot@gnat.com>
 ;; Maintainer: Stephen Leake <stephen_leake@stephe-leake.org>
 ;; Keywords: languages, ada, project file
+;; Package: ada-mode
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/ada-stmt.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/ada-stmt.el	Wed Sep 01 11:03:05 2010 +0900
@@ -9,6 +9,7 @@
 ;;	Rolf Ebert <ebert@waporo.muc.de>
 ;; Maintainer: Stephen Leake <stephen_leake@stephe-leake.org>
 ;; Keywords: languages, ada
+;; Package: ada-mode
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/ada-xref.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/ada-xref.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;;      Emmanuel Briot <briot@gnat.com>
 ;; Maintainer: Stephen Leake <stephen_leake@stephe-leake.org>
 ;; Keywords: languages ada xref
+;; Package: ada-mode
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/antlr-mode.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/antlr-mode.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,7 +5,7 @@
 
 ;; Author: Christoph.Wedler@sap.com
 ;; Keywords: languages, ANTLR, code generator
-;; Version: (see `antlr-version' below)
+;; Version: 2.2c
 ;; X-URL: http://antlr-mode.sourceforge.net/
 
 ;; This file is part of GNU Emacs.
--- a/lisp/progmodes/cc-align.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/cc-align.el	Wed Sep 01 11:03:05 2010 +0900
@@ -12,8 +12,8 @@
 ;;             1985 Richard M. Stallman
 ;; Maintainer: bug-cc-mode@gnu.org
 ;; Created:    22-Apr-1997 (split from cc-mode.el)
-;; Version:    See cc-mode.el
-;; Keywords:   c languages oop
+;; Keywords:   c languages
+;; Package:    cc-mode
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/cc-awk.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/cc-awk.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Alan Mackenzie <acm@muc.de> (originally based on awk-mode.el)
 ;; Maintainer: FSF
 ;; Keywords: AWK, cc-mode, unix, languages
+;; Package: cc-mode
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/cc-bytecomp.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/cc-bytecomp.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,8 +6,8 @@
 ;; Author:     Martin Stjernholm
 ;; Maintainer: bug-cc-mode@gnu.org
 ;; Created:    15-Jul-2000
-;; Version:    See cc-mode.el
-;; Keywords:   c languages oop
+;; Keywords:   c languages
+;; Package:    cc-mode
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/cc-cmds.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/cc-cmds.el	Wed Sep 01 11:03:05 2010 +0900
@@ -12,8 +12,8 @@
 ;;             1985 Richard M. Stallman
 ;; Maintainer: bug-cc-mode@gnu.org
 ;; Created:    22-Apr-1997 (split from cc-mode.el)
-;; Version:    See cc-mode.el
-;; Keywords:   c languages oop
+;; Keywords:   c languages
+;; Package:    cc-mode
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/cc-compat.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/cc-compat.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,8 +8,8 @@
 ;;	       1994-1999 Barry A. Warsaw
 ;; Maintainer: bug-cc-mode@gnu.org
 ;; Created:    August 1994, split from cc-mode.el
-;; Version:    See cc-mode.el
-;; Keywords:   c languages oop
+;; Keywords:   c languages
+;; Package:    cc-mode
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/cc-defs.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/cc-defs.el	Wed Sep 01 11:03:05 2010 +0900
@@ -12,8 +12,8 @@
 ;;             1985 Richard M. Stallman
 ;; Maintainer: bug-cc-mode@gnu.org
 ;; Created:    22-Apr-1997 (split from cc-mode.el)
-;; Version:    See cc-mode.el
-;; Keywords:   c languages oop
+;; Keywords:   c languages
+;; Package:    cc-mode
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/cc-engine.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/cc-engine.el	Wed Sep 01 11:03:05 2010 +0900
@@ -12,8 +12,8 @@
 ;;             1985 Richard M. Stallman
 ;; Maintainer: bug-cc-mode@gnu.org
 ;; Created:    22-Apr-1997 (split from cc-mode.el)
-;; Version:    See cc-mode.el
-;; Keywords:   c languages oop
+;; Keywords:   c languages
+;; Package:    cc-mode
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/cc-fonts.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/cc-fonts.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,8 +6,8 @@
 ;;             2002- Martin Stjernholm
 ;; Maintainer: bug-cc-mode@gnu.org
 ;; Created:    07-Jan-2002
-;; Version:    See cc-mode.el
-;; Keywords:   c languages oop
+;; Keywords:   c languages
+;; Package:    cc-mode
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/cc-langs.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/cc-langs.el	Wed Sep 01 11:03:05 2010 +0900
@@ -12,8 +12,8 @@
 ;;             1985 Richard M. Stallman
 ;; Maintainer: bug-cc-mode@gnu.org
 ;; Created:    22-Apr-1997 (split from cc-mode.el)
-;; Version:    See cc-mode.el
-;; Keywords:   c languages oop
+;; Keywords:   c languages
+;; Package:    cc-mode
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/cc-menus.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/cc-menus.el	Wed Sep 01 11:03:05 2010 +0900
@@ -11,8 +11,8 @@
 ;;             1985 Richard M. Stallman
 ;; Maintainer: bug-cc-mode@gnu.org
 ;; Created:    22-Apr-1997 (split from cc-mode.el)
-;; Version:    See cc-mode.el
-;; Keywords:   c languages oop
+;; Keywords:   c languages
+;; Package:    cc-mode
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/cc-mode.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/cc-mode.el	Wed Sep 01 11:03:05 2010 +0900
@@ -12,7 +12,7 @@
 ;;             1985 Richard M. Stallman
 ;; Maintainer: bug-cc-mode@gnu.org
 ;; Created:    a long, long, time ago. adapted from the original c-mode.el
-;; Keywords:   c languages oop
+;; Keywords:   c languages
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/cc-styles.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/cc-styles.el	Wed Sep 01 11:03:05 2010 +0900
@@ -12,8 +12,8 @@
 ;;             1985 Richard M. Stallman
 ;; Maintainer: bug-cc-mode@gnu.org
 ;; Created:    22-Apr-1997 (split from cc-mode.el)
-;; Version:    See cc-mode.el
-;; Keywords:   c languages oop
+;; Keywords:   c languages
+;; Package:    cc-mode
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/cc-vars.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/cc-vars.el	Wed Sep 01 11:03:05 2010 +0900
@@ -12,8 +12,8 @@
 ;;             1985 Richard M. Stallman
 ;; Maintainer: bug-cc-mode@gnu.org
 ;; Created:    22-Apr-1997 (split from cc-mode.el)
-;; Version:    See cc-mode.el
-;; Keywords:   c languages oop
+;; Keywords:   c languages
+;; Package:    cc-mode
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/cwarn.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/cwarn.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,7 +6,7 @@
 ;; Author: Anders Lindgren <andersl@andersl.com>
 ;; Keywords: c, languages, faces
 ;; X-Url: http://www.andersl.com/emacs
-;; Version: 1.3.1  1999-12-13
+;; Version: 1.3.1
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/ebnf-abn.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/ebnf-abn.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Keywords: wp, ebnf, PostScript
 ;; Version: 1.2
+;; Package: ebnf2ps
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/ebnf-bnf.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/ebnf-bnf.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Keywords: wp, ebnf, PostScript
 ;; Version: 1.10
+;; Package: ebnf2ps
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/ebnf-dtd.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/ebnf-dtd.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Keywords: wp, ebnf, PostScript
 ;; Version: 1.1
+;; Package: ebnf2ps
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/ebnf-ebx.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/ebnf-ebx.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Keywords: wp, ebnf, PostScript
 ;; Version: 1.2
+;; Package: ebnf2ps
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/ebnf-iso.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/ebnf-iso.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Keywords: wp, ebnf, PostScript
 ;; Version: 1.9
+;; Package: ebnf2ps
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/ebnf-otz.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/ebnf-otz.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Keywords: wp, ebnf, PostScript
 ;; Version: 1.0
+;; Package: ebnf2ps
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/ebnf-yac.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/ebnf-yac.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Keywords: wp, ebnf, PostScript
 ;; Version: 1.4
+;; Package: ebnf2ps
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/idlw-complete-structtag.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/idlw-complete-structtag.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
 ;; Version: 1.2
 ;; Keywords: languages
+;; Package: idlwave
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/idlw-help.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/idlw-help.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,7 +6,8 @@
 ;; Authors: J.D. Smith <jdsmith@as.arizona.edu>
 ;;          Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
-;; Version: 6.1_em22
+;; Version: 6.1.22
+;; Package: idlwave
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/idlw-shell.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/idlw-shell.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,8 +7,9 @@
 ;;          Carsten Dominik <dominik@astro.uva.nl>
 ;;          Chris Chase <chase@att.com>
 ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
-;; Version: 6.1_em22
+;; Version: 6.1.22
 ;; Keywords: processes
+;; Package: idlwave
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/idlw-toolbar.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/idlw-toolbar.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,8 +5,9 @@
 
 ;; Author: Carsten Dominik <dominik@astro.uva.nl>
 ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
-;; Version: 6.1_em22
+;; Version: 6.1.22
 ;; Keywords: processes
+;; Package: idlwave
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/idlwave.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/idlwave.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,7 +7,7 @@
 ;;          Carsten Dominik <dominik@science.uva.nl>
 ;;          Chris Chase <chase@att.com>
 ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
-;; Version: 6.1_em22
+;; Version: 6.1.22
 ;; Keywords: languages
 
 ;; This file is part of GNU Emacs.
--- a/lisp/progmodes/js.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/js.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,7 +7,7 @@
 ;; Maintainer: Daniel Colascione <dan.colascione@gmail.com>
 ;; Version: 9
 ;; Date: 2009-07-25
-;; Keywords: languages, oop, javascript
+;; Keywords: languages, javascript
 
 ;; This file is part of GNU Emacs.
 
@@ -431,11 +431,32 @@
   :group 'js)
 
 (defcustom js-expr-indent-offset 0
-  "Number of additional spaces used for indentation of continued expressions.
+  "Number of additional spaces for indenting continued expressions.
 The value must be no less than minus `js-indent-level'."
   :type 'integer
   :group 'js)
 
+(defcustom js-paren-indent-offset 0
+  "Number of additional spaces for indenting expressions in parentheses.
+The value must be no less than minus `js-indent-level'."
+  :type 'integer
+  :group 'js
+  :version "24.1")
+
+(defcustom js-square-indent-offset 0
+  "Number of additional spaces for indenting expressions in square braces.
+The value must be no less than minus `js-indent-level'."
+  :type 'integer
+  :group 'js
+  :version "24.1")
+
+(defcustom js-curly-indent-offset 0
+  "Number of additional spaces for indenting expressions in curly braces.
+The value must be no less than minus `js-indent-level'."
+  :type 'integer
+  :group 'js
+  :version "24.1")
+
 (defcustom js-auto-indent-flag t
   "Whether to automatically indent when typing punctuation characters.
 If non-nil, the characters {}();,: also indent the current line
@@ -1769,14 +1790,17 @@
           ((eq (char-after) ?#) 0)
           ((save-excursion (js--beginning-of-macro)) 4)
           ((nth 1 parse-status)
+	   ;; A single closing paren/bracket should be indented at the
+	   ;; same level as the opening statement. Same goes for
+	   ;; "case" and "default".
            (let ((same-indent-p (looking-at
                                  "[]})]\\|\\_<case\\_>\\|\\_<default\\_>"))
                  (continued-expr-p (js--continued-expression-p)))
-             (goto-char (nth 1 parse-status))
+             (goto-char (nth 1 parse-status)) ; go to the opening char
              (if (looking-at "[({[]\\s-*\\(/[/*]\\|$\\)")
-                 (progn
+                 (progn ; nothing following the opening paren/bracket
                    (skip-syntax-backward " ")
-		   (when (eq (char-before) ?\)) (backward-list))
+                   (when (eq (char-before) ?\)) (backward-list))
                    (back-to-indentation)
                    (cond (same-indent-p
                           (current-column))
@@ -1784,7 +1808,14 @@
                           (+ (current-column) (* 2 js-indent-level)
                              js-expr-indent-offset))
                          (t
-                          (+ (current-column) js-indent-level))))
+                          (+ (current-column) js-indent-level
+                             (case (char-after (nth 1 parse-status))
+                               (?\( js-paren-indent-offset)
+                               (?\[ js-square-indent-offset)
+                               (?\{ js-curly-indent-offset))))))
+               ;; If there is something following the opening
+               ;; paren/bracket, everything else should be indented at
+               ;; the same level.
                (unless same-indent-p
                  (forward-char)
                  (skip-chars-forward " \t"))
--- a/lisp/progmodes/octave-inf.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/octave-inf.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Author: John Eaton <jwe@bevo.che.wisc.edu>
 ;; Maintainer: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at>
 ;; Keywords: languages
+;; Package: octave-mod
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/progmodes/ps-mode.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/ps-mode.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,7 +6,7 @@
 ;; Author:     Peter Kleiweg <p.c.j.kleiweg@rug.nl>
 ;; Maintainer: Peter Kleiweg <p.c.j.kleiweg@rug.nl>
 ;; Created:    20 Aug 1997
-;; Version:    1.1h, 16 Jun 2005
+;; Version:    1.1h
 ;; Keywords:   PostScript, languages
 
 ;; Yoni Rabkin <yoni@rabkins.net> contacted the maintainer of this
--- a/lisp/progmodes/sh-script.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/progmodes/sh-script.el	Wed Sep 01 11:03:05 2010 +0900
@@ -2207,10 +2207,9 @@
       ;; Note: setting result to t means we are done and will return nil.
       ;;(This function never returns just t.)
       (cond
-       ((or (and (boundp 'font-lock-string-face) (not (bobp))
-		 (eq (get-text-property (1- (point)) 'face)
-		     font-lock-string-face))
+       ((or (nth 3 (syntax-ppss (point)))
 	    (eq (get-text-property (point) 'face) sh-heredoc-face))
+	;; String continuation -- don't indent
 	(setq result t)
 	(setq have-result t))
        ((looking-at "\\s-*#")		; was (equal this-kw "#")
--- a/lisp/ps-bdf.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/ps-bdf.el	Wed Sep 01 11:03:05 2010 +0900
@@ -15,6 +15,7 @@
 ;; Author: Kenichi Handa <handa@m17n.org>
 ;; (according to ack.texi)
 ;; Keywords: wp, BDF, font, PostScript
+;; Package: ps-print
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/ps-def.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/ps-def.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;;	Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Keywords: wp, print, PostScript
 ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre
+;; Package: ps-print
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/ps-mule.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/ps-mule.el	Wed Sep 01 11:03:05 2010 +0900
@@ -8,6 +8,7 @@
 ;; Maintainer: Kenichi Handa <handa@m17n.org> (multi-byte characters)
 ;;	Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Keywords: wp, print, PostScript, multibyte, mule
+;; Package: ps-print
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/ps-print.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/ps-print.el	Wed Sep 01 11:03:05 2010 +0900
@@ -13,6 +13,7 @@
 ;; Keywords: wp, print, PostScript
 ;; Version: 7.3.5
 ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre
+;; Package: ps-print
 
 (defconst ps-print-version "7.3.5"
   "ps-print.el, v 7.3.5 <2009/12/23 vinicius>
@@ -6656,7 +6657,7 @@
 ;; But autoload them here to make the separation invisible.
 
 ;;;### (autoloads (ps-mule-end-job ps-mule-begin-job ps-mule-initialize
-;;;;;;  ps-multibyte-buffer) "ps-mule" "ps-mule.el" "9187df3473401876e0df4937c311fbaf")
+;;;;;;  ps-multibyte-buffer) "ps-mule" "ps-mule.el" "d2fcad95db7404989362657faf744796")
 ;;; Generated autoloads from ps-mule.el
 
 (defvar ps-multibyte-buffer nil "\
--- a/lisp/ps-samp.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/ps-samp.el	Wed Sep 01 11:03:05 2010 +0900
@@ -10,6 +10,7 @@
 ;;	Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Keywords: wp, print, PostScript
 ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre
+;; Package: ps-print
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/rect.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/rect.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: Didier Verna <didier@xemacs.org>
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/register.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/register.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/repeat.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/repeat.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,7 +5,7 @@
 
 ;; Author: Will Mengarini <seldon@eskimo.com>
 ;; Created: Mo 02 Mar 98
-;; Version: 0.51, We 13 May 98
+;; Version: 0.51
 ;; Keywords: convenience, vi, repeat
 
 ;; This file is part of GNU Emacs.
--- a/lisp/replace.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/replace.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/rfn-eshadow.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/rfn-eshadow.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;;
 ;; Author: Miles Bader <miles@gnu.org>
 ;; Keywords: convenience minibuffer
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/scroll-bar.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/scroll-bar.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: hardware
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/server.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/server.el	Wed Sep 01 11:03:05 2010 +0900
@@ -1093,9 +1093,7 @@
     (condition-case err
         (let* ((buffers
                 (when files
-                  (run-hooks 'pre-command-hook)
-                  (prog1 (server-visit-files files proc nowait)
-                    (run-hooks 'post-command-hook)))))
+                  (server-visit-files files proc nowait))))
 
           (mapc 'funcall (nreverse commands))
 
@@ -1166,8 +1164,13 @@
 	       (obuf (get-file-buffer filen)))
 	  (add-to-history 'file-name-history filen)
 	  (if (null obuf)
-              (set-buffer (find-file-noselect filen))
+	      (progn
+		(run-hooks 'pre-command-hook)  
+		(set-buffer (find-file-noselect filen)))
             (set-buffer obuf)
+	    ;; separately for each file, in sync with post-command hooks,
+	    ;; with the new buffer current:
+	    (run-hooks 'pre-command-hook)  
             (cond ((file-exists-p filen)
                    (when (not (verify-visited-file-modtime obuf))
                      (revert-buffer t nil)))
@@ -1179,7 +1182,9 @@
             (unless server-buffer-clients
               (setq server-existing-buffer t)))
           (server-goto-line-column (cdr file))
-          (run-hooks 'server-visit-hook))
+          (run-hooks 'server-visit-hook)
+	  ;; hooks may be specific to current buffer:
+	  (run-hooks 'post-command-hook)) 
 	(unless nowait
 	  ;; When the buffer is killed, inform the clients.
 	  (add-hook 'kill-buffer-hook 'server-kill-buffer nil t)
--- a/lisp/simple.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/simple.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/startup.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/startup.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/subr.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/subr.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
@@ -3584,11 +3585,11 @@
 
 
 (defconst version-regexp-alist
-  '(("^[-_+ ]?a\\(lpha\\)?$"   . -3)
+  '(("^[-_+ ]?alpha$"   . -3)
     ("^[-_+]$"                 . -3) ; treat "1.2.3-20050920" and "1.2-3" as alpha releases
     ("^[-_+ ]cvs$"             . -3)	; treat "1.2.3-CVS" as alpha release
-    ("^[-_+ ]?b\\(eta\\)?$"    . -2)
-    ("^[-_+ ]?\\(pre\\|rc\\)$" . -1))
+    ("^[-_+ ]?beta$"    . -2)
+    ("^[-_+ ]?\\(pre\\|rcc\\)$" . -1))
   "*Specify association between non-numeric version and its priority.
 
 This association is used to handle version string like \"1.0pre2\",
@@ -3681,8 +3682,13 @@
 	    (setq al version-regexp-alist)
 	    (while (and al (not (string-match (caar al) s)))
 	      (setq al (cdr al)))
-	    (or al (error "Invalid version syntax: '%s'" ver))
-	    (setq lst (cons (cdar al) lst)))))
+	    (cond (al
+		   (push (cdar al) lst))
+		  ;; Convert 22.3a to 22.3.1.
+		  ((string-match "^[-_+ ]?\\([a-zA-Z]\\)$" s)
+		   (push (- (aref (downcase (match-string 1 s)) 0) ?a -1)
+			 lst))
+		  (t (error "Invalid version syntax: '%s'" ver))))))
       (if (null lst)
 	  (error "Invalid version syntax: '%s'" ver)
 	(nreverse lst)))))
--- a/lisp/tabify.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/tabify.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/fill.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/textmodes/fill.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: wp
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/page.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/textmodes/page.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: wp convenience
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/paragraphs.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/textmodes/paragraphs.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: wp
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/reftex-auc.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/textmodes/reftex-auc.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
 ;; Version: 4.31
+;; Package: reftex
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/reftex-cite.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/textmodes/reftex-cite.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
 ;; Version: 4.31
+;; Package: reftex
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/reftex-dcr.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/textmodes/reftex-dcr.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
 ;; Version: 4.31
+;; Package: reftex
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/reftex-global.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/textmodes/reftex-global.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
 ;; Version: 4.31
+;; Package: reftex
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/reftex-index.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/textmodes/reftex-index.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
 ;; Version: 4.31
+;; Package: reftex
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/reftex-parse.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/textmodes/reftex-parse.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
 ;; Version: 4.31
+;; Package: reftex
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/reftex-ref.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/textmodes/reftex-ref.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
 ;; Version: 4.31
+;; Package: reftex
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/reftex-sel.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/textmodes/reftex-sel.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
 ;; Version: 4.31
+;; Package: reftex
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/reftex-toc.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/textmodes/reftex-toc.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
 ;; Version: 4.31
+;; Package: reftex
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/reftex-vars.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/textmodes/reftex-vars.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
 ;; Version: 4.31
+;; Package: reftex
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/text-mode.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/textmodes/text-mode.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: wp
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/tool-bar.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/tool-bar.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;;
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: mouse frames
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/tooltip.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/tooltip.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author: Gerd Moellmann <gerd@acm.org>
 ;; Keywords: help c mouse tools
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/tutorial.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/tutorial.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: help, internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/uniquify.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/uniquify.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Maintainer: FSF
 ;; Keywords: files
 ;; Created: 15 May 86
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/ediff-diff.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/ediff-diff.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: ediff
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/ediff-help.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/ediff-help.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: ediff
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/ediff-hook.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/ediff-hook.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: ediff
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/ediff-init.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/ediff-init.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: ediff
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/ediff-merg.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/ediff-merg.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: ediff
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/ediff-mult.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/ediff-mult.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: ediff
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/ediff-ptch.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/ediff-ptch.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: ediff
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/ediff-util.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/ediff-util.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: ediff
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/ediff-vers.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/ediff-vers.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: ediff
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/ediff-wind.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/ediff-wind.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 ;;   2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
+;; Package: ediff
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/ediff.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/ediff.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Created: February 2, 1994
 ;; Keywords: comparing, merging, patching, vc, tools, unix
+;; Version: 2.81.4
 
 ;; Yoni Rabkin <yoni@rabkins.net> contacted the maintainer of this
 ;; file on 20/3/2008, and the maintainer agreed that when a bug is
--- a/lisp/vc/pcvs-defs.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/pcvs-defs.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: pcl-cvs
+;; Package: pcvs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/pcvs-info.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/pcvs-info.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: pcl-cvs
+;; Package: pcvs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/pcvs-parse.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/pcvs-parse.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: pcl-cvs
+;; Package: pcvs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/pcvs-util.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/pcvs-util.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: pcl-cvs
+;; Package: pcvs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/vc-annotate.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/vc-annotate.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author:     Martin Lorentzson  <emwson@emw.ericsson.se>
 ;; Maintainer: FSF
 ;; Keywords: vc tools
+;; Package: vc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/vc-arch.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/vc-arch.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author:      FSF (see vc.el for full credits)
 ;; Maintainer:  Stefan Monnier <monnier@gnu.org>
+;; Package: vc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/vc-bzr.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/vc-bzr.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,8 +6,9 @@
 ;; 	   Riccardo Murri <riccardo.murri@gmail.com>
 ;; Keywords: vc tools
 ;; Created: Sept 2006
-;; Version: 2008-01-04 (Bzr revno 25)
+;; Version: 2008-01-04
 ;; URL: http://launchpad.net/vc-bzr
+;; Package: vc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/vc-cvs.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/vc-cvs.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author:      FSF (see vc.el for full credits)
 ;; Maintainer:  Andre Spiegel <spiegel@gnu.org>
+;; Package: vc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/vc-dav.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/vc-dav.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;; Author: Bill Perry <wmperry@gnu.org>
 ;; Maintainer: Bill Perry <wmperry@gnu.org>
 ;; Keywords: url, vc
+;; Package: vc
 
 ;; GNU Emacs is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
--- a/lisp/vc/vc-dir.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/vc-dir.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author:   Dan Nicolaescu <dann@ics.uci.edu>
 ;; Keywords: vc tools
+;; Package: vc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/vc-dispatcher.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/vc-dispatcher.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author:     FSF (see below for full credits)
 ;; Maintainer: Eric S. Raymond <esr@thyrsus.com>
 ;; Keywords: vc tools
+;; Package: vc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/vc-git.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/vc-git.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 
 ;; Author: Alexandre Julliard <julliard@winehq.org>
 ;; Keywords: vc tools
+;; Package: vc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/vc-hg.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/vc-hg.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 
 ;; Author: Ivan Kanis
 ;; Keywords: vc tools
+;; Package: vc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/vc-hooks.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/vc-hooks.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Author:     FSF (see vc.el for full credits)
 ;; Maintainer: Andre Spiegel <spiegel@gnu.org>
+;; Package: vc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/vc-mtn.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/vc-mtn.el	Wed Sep 01 11:03:05 2010 +0900
@@ -4,6 +4,7 @@
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: vc
+;; Package: vc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/vc-rcs.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/vc-rcs.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Author:     FSF (see vc.el for full credits)
 ;; Maintainer: Andre Spiegel <spiegel@gnu.org>
+;; Package: vc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/vc-sccs.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/vc-sccs.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Author:     FSF (see vc.el for full credits)
 ;; Maintainer: Andre Spiegel <spiegel@gnu.org>
+;; Package: vc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/vc/vc-svn.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/vc/vc-svn.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author:      FSF (see vc.el for full credits)
 ;; Maintainer:  Stefan Monnier <monnier@gnu.org>
+;; Package: vc
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/version.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/version.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/w32-fns.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/w32-fns.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author: Geoff Voelker <voelker@cs.washington.edu>
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/w32-vars.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/w32-vars.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 
 ;; Author: Jason Rumney <jasonr@gnu.org>
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/whitespace.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/whitespace.el	Wed Sep 01 11:03:05 2010 +0900
@@ -529,6 +529,8 @@
 See also `whitespace-display-mappings' for documentation."
   :type '(repeat :tag "Kind of Blank"
 		 (choice :tag "Kind of Blank Face"
+			 (const :tag "(Face) Face visualization"
+				face)
 			 (const :tag "(Face) Trailing TABs, SPACEs and HARD SPACEs"
 				trailing)
 			 (const :tag "(Face) SPACEs and HARD SPACEs"
--- a/lisp/wid-browse.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/wid-browse.el	Wed Sep 01 11:03:05 2010 +0900
@@ -5,6 +5,7 @@
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: extensions
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/wid-edit.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/wid-edit.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Maintainer: FSF
 ;; Keywords: extensions
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/widget.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/widget.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,6 +7,7 @@
 ;; Keywords: help, extensions, faces, hypermedia
 ;; Version: 1.9920
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/window.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/window.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: internal
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/woman.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/woman.el	Wed Sep 01 11:03:05 2010 +0900
@@ -7,7 +7,7 @@
 ;; Maintainer: FSF
 ;; Keywords: help, unix
 ;; Adapted-By: Eli Zaretskii <eliz@gnu.org>
-;; Version: see `woman-version'
+;; Version: 0.551
 ;; URL: http://centaur.maths.qmul.ac.uk/Emacs/WoMan/
 
 ;; This file is part of GNU Emacs.
--- a/lisp/x-dnd.el	Thu Aug 26 10:29:35 2010 +0900
+++ b/lisp/x-dnd.el	Wed Sep 01 11:03:05 2010 +0900
@@ -6,6 +6,7 @@
 ;; Author: Jan Djärv <jan.h.d@swipnet.se>
 ;; Maintainer: FSF
 ;; Keywords: window, drag, drop
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
--- a/msdos/ChangeLog	Thu Aug 26 10:29:35 2010 +0900
+++ b/msdos/ChangeLog	Wed Sep 01 11:03:05 2010 +0900
@@ -1,3 +1,7 @@
+2010-08-22  Chong Yidong  <cyd@stupidchicken.com>
+
+	* sedleim.inp (RUN-EMACS): Don't use --multibyte.
+
 2010-08-20  Eli Zaretskii  <eliz@gnu.org>
 
 	* sed1v2.inp (IMAGEMAGICK_LIBS, IMAGEMAGICK_CFLAGS): Edit to empty.
--- a/src/ChangeLog	Thu Aug 26 10:29:35 2010 +0900
+++ b/src/ChangeLog	Wed Sep 01 11:03:05 2010 +0900
@@ -1,3 +1,12 @@
+2010-08-30  Kenichi Handa  <handa@m17n.org>
+
+	* composite.c (composition_update_it): Fix computing of
+	cmp_it->width.
+
+2010-08-29  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* nsterm.m (ns_draw_window_cursor): Draw BAR_CURSOR correct for R2L.
+
 2010-08-26  Kenichi Handa  <handa@m17n.org>
 
 	* xdisp.c (compute_stop_pos): Pay attention to bidi scan direction
--- a/src/composite.c	Thu Aug 26 10:29:35 2010 +0900
+++ b/src/composite.c	Wed Sep 01 11:03:05 2010 +0900
@@ -1440,8 +1440,7 @@
 	{
 	  c = XINT (LGSTRING_CHAR (gstring, i));
 	  cmp_it->nbytes += CHAR_BYTES (c);
-	  cmp_it->width = (LGLYPH_WIDTH (glyph) > 0
-			   ? CHAR_WIDTH (LGLYPH_CHAR (glyph)) : 0);
+	  cmp_it->width += CHAR_WIDTH (c);
 	}
     }
   return c;
--- a/src/nsterm.m	Thu Aug 26 10:29:35 2010 +0900
+++ b/src/nsterm.m	Wed Sep 01 11:03:05 2010 +0900
@@ -2251,6 +2251,11 @@
   struct frame *f = WINDOW_XFRAME (w);
   struct glyph *phys_cursor_glyph;
   int overspill;
+  struct glyph *cursor_glyph;
+
+  /* If cursor is out of bounds, don't draw garbage.  This can happen
+     in mini-buffer windows when switching between echo area glyphs
+     and mini-buffer.  */
 
   NSTRACE (dumpcursor);
 //fprintf(stderr, "drawcursor (%d,%d) activep = %d\tonp = %d\tc_type = %d\twidth = %d\n",x,y, active_p,on_p,cursor_type,cursor_width);
@@ -2328,6 +2333,13 @@
     case BAR_CURSOR:
       s = r;
       s.size.width = min (cursor_width, 2); //FIXME(see above)
+
+      /* If the character under cursor is R2L, draw the bar cursor
+         on the right of its glyph, rather than on the left.  */
+      cursor_glyph = get_phys_cursor_glyph (w);
+      if ((cursor_glyph->resolved_level & 1) != 0)
+        s.origin.x += cursor_glyph->pixel_width - s.size.width;
+
       NSRectFill (s);
       break;
     }