changeset 109541:3e5d1ad9094d

Merge from mainline.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Sun, 25 Jul 2010 23:02:59 +0000
parents c243b1f79073 (current diff) d4902495c889 (diff)
children 1f97e508ee42
files admin/nt/README.W32 admin/nt/makedist.bat nt/README.W32 src/ecrt0.c src/unexalpha.c
diffstat 97 files changed, 1413 insertions(+), 1838 deletions(-) [+]
line wrap: on
line diff
--- a/.bzrignore	Fri Jul 23 02:35:14 2010 +0000
+++ b/.bzrignore	Sun Jul 25 23:02:59 2010 +0000
@@ -1,12 +1,13 @@
+./_dir-locals.el
 ./bin
 ./BIN
+./config.log
+./config.status
 ./data
 ./etc/icons
 ./lock
+./README.W32
 ./site-lisp
-./_dir-locals.el
-./config.log
-./config.status
 oo
 oo-spd
 *.dSYM
@@ -33,16 +34,16 @@
 leim/changed.misc
 leim/changed.tit
 lib-src/stamp-*
-lib-src/ctags.c
-lib-src/echolisp.tmp
-lib-src/getopt.h
 lib-src/b2m
 lib-src/ctags
+lib-src/ctags.c
 lib-src/digest-doc
 lib-src/ebrowse
+lib-src/echolisp.tmp
 lib-src/emacsclient
 lib-src/etags
 lib-src/fakemail
+lib-src/getopt.h
 lib-src/hexl
 lib-src/make-docfile
 lib-src/movemail
--- a/.gitignore	Fri Jul 23 02:35:14 2010 +0000
+++ b/.gitignore	Sun Jul 25 23:02:59 2010 +0000
@@ -1,6 +1,7 @@
 autom4te.cache
 makefile
 *~
+/README.W32
 
 /bin/
 /site-lisp/
--- a/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -1,3 +1,19 @@
+2010-07-25  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* configure.in: Check for __executable_start.
+
+2010-07-24  Ken Brown  <kbrown@cornell.edu>
+
+	* configure.in (LINKER, LIB_GCC): Remove cygwin special cases (Bug#6715)
+
+2010-07-24  Juanma Barranquero  <lekktu@gmail.com>
+
+	* .bzrignore, .gitignore: Ignore README.W32 on the root directory.
+
+2010-07-24  Ken Brown  <kbrown@cornell.edu>  (tiny change)
+
+	* configure.in (START_FILES) [cygwin]: Set to pre-crt0.o (Bug#6715).
+
 2010-07-12  Andreas Schwab  <schwab@linux-m68k.org>
 
 	* configure.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
@@ -8373,7 +8389,7 @@
 	(EMACSROOT): New variable, giving the directory under which all of
 	Emacs's libraries should be installed.  Changed rest of file to
 	use it.
-	(LIBDIR): Now denotes only architecture-dependent dir - relevant cha
+	(LIBDIR): Now denotes only architecture-dependent dir.
 	(DATADIR): New variable, denoting architecture-independent dir.
 	(LOCKDIR): New variable, for completeness.
 	(SUBDIR): No more etc, new lib-src.
--- a/admin/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/admin/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -1,3 +1,10 @@
+2010-07-24  Christoph Scholtes  <cschol2112@gmail.com>
+
+	* admin.el: Write version number to nt/makefile.w32-in.
+	* nt/makedist.bat: Remove; replaced with `zipdist.bat'
+	in the nt/ directory.
+	* nt/README.W32: Relocate to nt/ directory.
+
 2010-07-11  Andreas Schwab  <schwab@linux-m68k.org>
 
 	* CPP-DEFINES (HAVE_INDEX, HAVE_RINDEX): Remove.
@@ -432,7 +439,7 @@
 
 	* charsets/mapconv: Handle UNICODE2.
 
-	* charsets/Makefile (CJK): Include CP932-2BYTE.map
+	* charsets/Makefile (CJK): Include CP932-2BYTE.map.
 	(CP932-2BYTE.map): New target.
 
 2008-02-01  Kenichi Handa  <handa@m17n.org>
@@ -752,7 +759,7 @@
 
 2004-08-28  Jan Djärv  <jan.h.d@swipnet.se>
 
-	* FOR-RELEASE (Indications): Remove entry about GTK and geometry,
+	* FOR-RELEASE (Indications): Remove entry about GTK and geometry
 	(now behaves as well as other ports).
 
 2004-06-28  Jan Djärv  <jan.h.d@swipnet.se>
--- a/admin/admin.el	Fri Jul 23 02:35:14 2010 +0000
+++ b/admin/admin.el	Sun Jul 25 23:02:59 2010 +0000
@@ -95,6 +95,9 @@
   (set-version-in-file root "lib-src/makefile.w32-in" version
 		       (rx (and "VERSION" (0+ space) "=" (0+ space)
 				(submatch (1+ (in "0-9."))))))
+  (set-version-in-file root "nt/makefile.w32-in" version
+		       (rx (and "VERSION" (0+ space) "=" (0+ space)
+				(submatch (1+ (in "0-9."))))))
   ;; nt/emacs.rc also contains the version number, but in an awkward
   ;; format. It must contain four components, separated by commas, and
   ;; in two places those commas are followed by space, in two other
--- a/admin/nt/README.W32	Fri Jul 23 02:35:14 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,264 +0,0 @@
-Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-  Free Software Foundation, Inc.
-See the end of the file for license conditions.
-
-			   Emacs for Windows
-
-  This README file describes how to set up and run a precompiled
-  version of GNU Emacs for Windows.  This distribution can be found on
-  the ftp.gnu.org server and its mirrors:
-
-	ftp://ftp.gnu.org/gnu/emacs/windows/
-
-  This server contains other distributions, including the full Emacs
-  source distribution and a barebin distribution which can be installed
-  over it, as well as older releases of Emacs for Windows.
-
-  Answers to frequently asked questions, and further information about
-  this port of GNU Emacs and related software packages can be found via
-  http:
-
-	http://www.gnu.org/software/emacs/windows/
-
-* Preliminaries
-
-  Along with this file should be six subdirectories (bin, etc, info,
-  lisp, leim, site-lisp).  If you have downloaded the barebin
-  distribution, then it will contain only the bin directory and the
-  built in documentation in etc/DOC-X, the rest of the subdirectories
-  are in the src distribution, which the barebin distribution is
-  designed to be used with.
-
-* Setting up Emacs
-
-  To install Emacs, simply unpack all the files into a directory of
-  your choice, but note that you might encounter minor problems if
-  there is a space anywhere in the directory name.  To complete the
-  installation process, you can optionally run the program addpm.exe
-  in the bin subdirectory.  This will put an icon for Emacs in the
-  Start Menu under "Start -> Programs -> Gnu Emacs".
-
-  Some users have reported that the Start Menu item is not created for
-  them.  If this happens, just create your own shortcut to runemacs.exe,
-  eg. by dragging it on to the desktop or the Start button.
-
-  Note that running addpm is now an optional step; Emacs is able to
-  locate all of its files without needing any information to be set in
-  the environment or the registry, although such settings will still
-  be obeyed if present.  This is convenient for running Emacs on a
-  machine which disallows registry changes, or on which software
-  should not be installed.  For instance, you can now run Emacs
-  directly from a CD or USB flash drive without copying or installing
-  anything on the machine itself.
-
-* Starting Emacs
-
-  To run Emacs, simply select Emacs from the Start Menu, or invoke
-  runemacs.exe directly from Explorer or from a command prompt.  This
-  will start Emacs in its default GUI mode, ready to use.  If you have
-  never used Emacs before, you should follow the tutorial at this
-  point (select Emacs Tutorial from the Help menu), since Emacs is
-  quite different from ordinary Windows applications in many respects.
-
-  If you want to use Emacs in tty or character mode within a command
-  window, you can start it by typing "emacs -nw" at the command prompt.
-  (Obviously, you need to ensure that the Emacs bin subdirectory is in
-  your PATH first, or specify the path to emacs.exe.)  The -nw
-  (non-windowed) mode of operation is most useful if you have a telnet
-  server on your machine, allowing you to run Emacs remotely.
-
-* EXE files included
-
-  Emacs comes with the following executable files in the bin directory.
-
-  + emacs.exe - The main Emacs executable.  As this is designed to run
-    as both a text-mode application (emacs -nw) and as a GUI application,
-    it will pop up a command prompt window if run directly from Explorer.
-
-  + runemacs.exe - A wrapper for running Emacs as a GUI application
-    without popping up a command prompt window.
-
-  + emacsclient.exe - A command-line client program that can
-    communicate with a running Emacs process.  See the `Emacs Server'
-    node of the Emacs manual.
-
-  + emacsclientw.exe - A version of emacsclient that does not open
-    a command-line window.
-
-  + addpm.exe - A basic installer that creates Start Menu icons for Emacs.
-    Running this is optional.
-
-  + cmdproxy.exe - Used internally by Emacs to work around problems with
-    the native shells in various versions of Windows.
-
-  + ctags.exe, etags.exe - Tools for generating tag files.  See the
-    `Tags' node of the Emacs manual.
-
-  + ebrowse.exe - A tool for generating C++ browse information.  See the
-    `Ebrowse' manual.
-
-  + ddeclient.exe - A tool for interacting with DDE servers.
-
-  + hexl.exe - A tool for converting files to hex dumps.  See the
-    `Editing Binary Files' node of the Emacs manual.
-
-  + movemail.exe - A helper application for safely moving mail from
-    a mail spool or POP server to a local user mailbox.  See the
-    `Movemail' node of the Emacs manual.
-
-  + digest-doc.exe, sorted-doc.exe - Tools for rebuilding the
-    built-in documentation.
-
-* Image support
-
-  Emacs has built in support for XBM and PPM/PGM/PBM images, and the
-  libXpm library is bundled, providing XPM support (required for color
-  toolbar icons and splash screen).  Source for libXpm should be available
-  on the same place as you got this binary distribution from.  The version
-  of libXpm bundled with this version of Emacs is 3.5.7, based on x.org's
-  libXpm library from X11R7.3.
-
-  Emacs can also support some other image formats with appropriate
-  libraries.  These libraries are all available as part of GTK, or from
-  gnuwin32.sourceforge.net.  Emacs will find them if the directory they
-  are installed in is on the PATH.
-
-      PNG: requires the PNG reference library 1.2 or later, which will
-      be named libpng13d.dll, libpng13.dll, libpng12d.dll, libpng12.dll
-      or libpng.dll.  LibPNG requires zlib, which should come from the same
-      source as you got libpng.
-
-      JPEG: requires the Independant JPEG Group's libjpeg 6b or later,
-      which will be called jpeg62.dll, libjpeg.dll, jpeg-62.dll or jpeg.dll.
-
-      TIFF: requires libTIFF 3.0 or later, which will be called libtiff3.dll
-      or libtiff.dll.
-
-      GIF: requires libungif or giflib 4.1 or later, which will be
-      called giflib4.dll, libungif4.dll or libungif.dll.
-
-   In addition, Emacs can be compiled to support SVG.  This precompiled
-   distribution has not been compiled that way, since the SVG library
-   or one or more of its extensive dependencies appear to be
-   unreliable under Windows.  See nt/INSTALL in the src distribution if
-   you wish to compile Emacs with SVG support.
-
-* Uninstalling Emacs
-
-  If you should need to uninstall Emacs, simply delete all the files
-  and subdirectories from the directory where it was unpacked (Emacs
-  does not install or update any files in system directories or
-  anywhere else).  If you ran the addpm.exe program to create the
-  registry entries and the Start menu icon, then you can remove the
-  registry entries using regedit.  All of the settings are written
-  under the Software\GNU\Emacs key in HKEY_LOCAL_MACHINE, or if you
-  didn't have administrator privileges when you installed, the same
-  key in HKEY_CURRENT_USER.  Just delete the whole Software\GNU\Emacs
-  key.
-
-  The Start menu entry can be removed by right-clicking on the Task bar
-  and selecting Properties, then using the Remove option on the Start
-  Menu Programs page.  (If you installed under an account with
-  administrator privileges, then you need to click the Advanced button
-  and look for the Gnu Emacs menu item under All Users.)
-
-* Troubleshooting
-
-  Unpacking the distributions
-
-  If you encounter trouble trying to run Emacs, there are a number of
-  possible causes.  Check the following for indications that the
-  distribution was not corrupted by the tools used to unpack it:
-
-    * Be sure to disable CR/LF translation or the executables will
-      be unusable.  Older versions of WinZipNT would enable this
-      translation by default.  If you are using WinZipNT, disable it.
-      (I don't have WinZipNT myself, and I do not know the specific
-      commands necessary to disable it.)
-
-    * Check that filenames were not truncated to 8.3.  For example,
-      there should be a file lisp\abbrevlist.elc; if this has been
-      truncated to abbrevli.elc, your distribution has been corrupted
-      while unpacking and Emacs will not start.
-
-  If you believe you have unpacked the distributions correctly and are
-  still encountering problems, see the section on Further Information
-  below.
-
-  Virus scanners
-
-  Some virus scanners interfere with Emacs' use of subprocesses.  If you
-  are unable to use subprocesses and you use Dr. Solomon's WinGuard or
-  McAfee's Vshield, turn off "Scan all files" (WinGuard) or "boot sector
-  scanning" (McAfee exclusion properties).
-
-* Further information
-
-  If you have access to the World Wide Web, I would recommend pointing
-  your favorite web browser to the following document (if you haven't
-  already):
-
-	http://www.gnu.org/software/emacs/windows/
-
-  This document serves as an FAQ and a source for further information
-  about the Windows port and related software packages.
-
-  In addition to the FAQ, there is a mailing list for discussing issues
-  related to the Windows port of Emacs.  For information about the
-  list, see this Web page:
-
-	http://lists.gnu.org/mailman/listinfo/help-emacs-windows
-
-  To ask questions on the mailing list, send email to
-  help-emacs-windows@gnu.org.  (You don't need to subscribe for that.)
-  To subscribe to the list or unsubscribe from it, fill the form you
-  find at http://lists.gnu.org/mailman/listinfo/help-emacs-windows as
-  explained there.
-
-  Another valuable source of information and help which should not be
-  overlooked is the various Usenet news groups dedicated to Emacs.
-  These are particularly good for help with general issues which aren't
-  specific to the Windows port of Emacs.  The main news groups to use
-  for seeking help are:
-
-	gnu.emacs.help
-	comp.emacs
-
-  There are also fairly regular postings and announcements of new or
-  updated Emacs packages on this group:
-
-	gnu.emacs.sources
-
-* Reporting bugs
-
-  If you encounter a bug in this port of Emacs, we would like to hear
-  about it.  First check the FAQ on the web page above to see if the bug
-  is already known and if there are any workarounds.  Then check whether
-  the bug has something to do with code in your .emacs file, e.g. by
-  invoking Emacs with the "-Q" option.
-
-  If you decide that it is a bug in Emacs, use the built in bug
-  reporting facility to report it (from the menu; Help -> Send Bug Report).
-  If you have not yet configured Emacs for mail, then when you press
-  C-c C-c to send the report, it will ask you to paste the text of the
-  report into your mail client.  If the bug is related to subprocesses,
-  also specify which shell you are using (e.g., include the values of
-  `shell-file-name' and `explicit-shell-file-name' in your message).
-
-  Enjoy!
-
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
--- a/admin/nt/makedist.bat	Fri Jul 23 02:35:14 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-@echo off
-
-rem Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-rem   Free Software Foundation, Inc.
-
-rem Cannot use brackets in andrewi's email below because
-rem older Windows shells will treat that as redirection.
-
-rem Author: Andrew Innes andrewi@gnu.org
-
-rem This file is part of GNU Emacs.
-
-rem GNU Emacs is free software: you can redistribute it and/or modify
-rem it under the terms of the GNU General Public License as published by
-rem the Free Software Foundation, either version 3 of the License, or
-rem (at your option) any later version.
-
-rem GNU Emacs is distributed in the hope that it will be useful,
-rem but WITHOUT ANY WARRANTY; without even the implied warranty of
-rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-rem GNU General Public License for more details.
-
-rem You should have received a copy of the GNU General Public License
-rem along with GNU Emacs.  If not, see http://www.gnu.org/licenses/.
-
-
-if (%3) == () goto usage
-if not (%4) == () goto %4
-
-:bin
-
-echo Create full bin distribution
-copy %3\README.W32 emacs-%1\README.W32
-rem Info-ZIP zip seems to be broken on Windows.
-rem It always writes to zip.zip and treats the zipfile argument as one
-rem of the files to go in it.
-rem zip -9 -r %2-bin-i386 emacs-%1/BUGS emacs-%1/COPYING emacs-%1/README emacs-%1/README.W32 emacs-%1/INSTALL emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/leim -x emacs.mdp *.pdb *.opt *~ CVS
-7z a -tZIP -mx=9 -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory %2-bin-i386.zip emacs-%1/BUGS emacs-%1/COPYING emacs-%1/README emacs-%1/README.W32 emacs-%1/INSTALL emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/leim emacs-%1/site-lisp
-del emacs-%1\README.W32
-if not (%4) == () goto end
-
-:barebin
-echo Create archive with just the basic binaries and generated files
-echo (the user needs to unpack the full source distribution for
-echo  everything else)
-copy %3\README.W32 emacs-%1\README.W32
-rem Info-ZIP zip seems to be broken on Windows.
-rem It always writes to zip.zip and treats the zipfile argument as one
-rem of the files to go in it.
-rem zip -9 -r %2-barebin-i386.zip emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC-X emacs-%1/COPYING
-7z a -tZIP -mx=9 %2-barebin-i386.zip emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC-X emacs-%1/COPYING
-del emacs-%1\README.W32
-if not (%4) == () goto end
-
-goto end
-
-:usage
-echo Generate source and binary distributions of emacs.
-echo Usage: %0 emacs-version dist-basename distfiles [bin,barebin]
-echo   (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles)
-:end
-
-goto skipArchTag
-   arch-tag: 6e2ddd92-c1c9-4992-b6b5-207aaab72f68
-:skipArchTag
--- a/configure	Fri Jul 23 02:35:14 2010 +0000
+++ b/configure	Sun Jul 25 23:02:59 2010 +0000
@@ -5885,7 +5885,7 @@
 case $opsys in
   cygwin )
     LIB_MATH=
-    START_FILES='ecrt0.o'
+    START_FILES='pre-crt0.o'
     ;;
   darwin )
     ## Adding -lm confuses the dynamic linker, so omit it.
@@ -11190,7 +11190,7 @@
 sendto recvfrom getsockopt setsockopt getsockname getpeername \
 gai_strerror mkstemp getline getdelim mremap memmove fsync sync \
 memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign \
-cfmakeraw cfsetspeed isnan copysign
+cfmakeraw cfsetspeed isnan copysign __executable_start
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -14149,9 +14149,7 @@
 ORDINARY_LINK=
 case "$opsys" in
   ## gnu: GNU needs its own crt0.
-  aix4-2|darwin|gnu|usg5-4|irix6-5|sol2*|unixware) ORDINARY_LINK=yes ;;
-
-  cygwin) LINKER="\$(CC)" ;;
+  aix4-2|cygwin|darwin|gnu|usg5-4|irix6-5|sol2*|unixware) ORDINARY_LINK=yes ;;
 
   ## On post 1.3 releases of NetBSD, gcc -nostdlib also clears the
   ## library search parth, i.e. it won't search /usr/lib for libc and
@@ -14206,8 +14204,7 @@
 if test "x$GCC" = "xyes" && test "x$ORDINARY_LINK" != "xyes"; then
 
   case "$opsys" in
-    ## cygwin: don't link against static libgcc.
-    cygwin|freebsd|netbsd|openbsd) LIB_GCC= ;;
+    freebsd|netbsd|openbsd) LIB_GCC= ;;
 
     gnu-*)
       ## armin76@gentoo.org reported that the lgcc_s flag is necessary to
--- a/configure.in	Fri Jul 23 02:35:14 2010 +0000
+++ b/configure.in	Sun Jul 25 23:02:59 2010 +0000
@@ -1060,7 +1060,7 @@
 case $opsys in
   cygwin )
     LIB_MATH=
-    START_FILES='ecrt0.o'
+    START_FILES='pre-crt0.o'
     ;;
   darwin )
     ## Adding -lm confuses the dynamic linker, so omit it.
@@ -2611,7 +2611,7 @@
 sendto recvfrom getsockopt setsockopt getsockname getpeername \
 gai_strerror mkstemp getline getdelim mremap memmove fsync sync \
 memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign \
-cfmakeraw cfsetspeed isnan copysign)
+cfmakeraw cfsetspeed isnan copysign __executable_start)
 
 AC_CHECK_HEADERS(sys/un.h)
 
@@ -3326,9 +3326,7 @@
 ORDINARY_LINK=
 case "$opsys" in
   ## gnu: GNU needs its own crt0.
-  aix4-2|darwin|gnu|usg5-4|irix6-5|sol2*|unixware) ORDINARY_LINK=yes ;;
-
-  cygwin) LINKER="\$(CC)" ;;
+  aix4-2|cygwin|darwin|gnu|usg5-4|irix6-5|sol2*|unixware) ORDINARY_LINK=yes ;;
 
   ## On post 1.3 releases of NetBSD, gcc -nostdlib also clears the
   ## library search parth, i.e. it won't search /usr/lib for libc and
@@ -3381,8 +3379,7 @@
 if test "x$GCC" = "xyes" && test "x$ORDINARY_LINK" != "xyes"; then
 
   case "$opsys" in
-    ## cygwin: don't link against static libgcc.
-    cygwin|freebsd|netbsd|openbsd) LIB_GCC= ;;
+    freebsd|netbsd|openbsd) LIB_GCC= ;;
 
     gnu-*)
       ## armin76@gentoo.org reported that the lgcc_s flag is necessary to
--- a/doc/emacs/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/doc/emacs/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -606,7 +606,7 @@
 
 2009-06-23  Miles Bader  <miles@gnu.org>
 
-	* display.texi (Scrolling): Document `recenter-redisplay'
+	* display.texi (Scrolling): Document `recenter-redisplay'.
 	(Temporary Face Changes): Document `text-scale-set'.
 
 2009-06-21  Chong Yidong  <cyd@stupidchicken.com>
@@ -5704,7 +5704,7 @@
 2005-03-05  Juri Linkov  <juri@jurta.org>
 
 	* cmdargs.texi (Emacs Invocation): Add cindex
-	"invocation (command line arguments)"
+	"invocation (command line arguments)".
 	(Misc X): Add -nbc, --no-blinking-cursor.
 
 2005-03-04  Ulf Jasper  <ulf.jasper@web.de>
--- a/doc/lispintro/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/doc/lispintro/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -212,7 +212,7 @@
 	(Simple Extension): Replace longer expression with
 	`emacs-major-version'.  Remove comment about `number-to-string'
 	function.
-	(Miscellaneous): Add filename option, `-H', to `grep' example
+	(Miscellaneous): Add filename option, `-H', to `grep' example.
 	(debug, debug-on-entry): Replace `GNU Emacs 22' with `a recent
 	GNU Emacs'.
 	(edebug): More properly state where to place point for 'M-x
@@ -234,7 +234,7 @@
 	(sentence-end): Specify `in English' for glyphs that end a sentence.
 	Note that in GNU Emacs 22, the name refers to both a variable and a
 	function.
-	(fwd-sentence while loops): Write a function as one, not as a form
+	(fwd-sentence while loops): Write a function as one, not as a form.
 	(fwd-para let): Add `which' to sentence with `parstart' and `parsep'.
 	(etags): Move sentences involving `find-tag' and sources.  State
 	location of Emacs `src' directory.
@@ -356,7 +356,7 @@
 2003-11-16  Kevin Ryde  <user42@zip.com.au>
 
 	* emacs-lisp-intro.texi: [CVS commitment by <bob@rattlesnake.com>]
-	Corrections to cross references,
+	Corrections to cross references.
 	(Interactive Options): elisp "interactive" -> "Using Interactive".
 	(defvar and asterisk): Remove emacs "Edit Options" reference,
 	edit-options is no longer described in the emacs manual.
--- a/doc/lispref/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/doc/lispref/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -6015,7 +6015,7 @@
 2005-02-05  Eli Zaretskii  <eliz@gnu.org>
 
 	* frames.texi (Color Names): Add pointer to the X docs about RGB
-	color specifications.  Improve indexing
+	color specifications.  Improve indexing.
 	(Text Terminal Colors): Replace the description of RGB values by
 	an xref to "Color Names".
 
@@ -7778,7 +7778,7 @@
 	* minibuf.texi (Reading File Names): read-file-name has new
 	arg PREDICATE.  New function read-directory-name.
 
-	* macros.texi (Defining Macros): Give definition of `declare'
+	* macros.texi (Defining Macros): Give definition of `declare'.
 	(Indenting Macros): New node.
 
 	* frames.texi (Parameter Access): Add modify-all-frames-parameters.
@@ -7882,7 +7882,7 @@
 	* numbers.texi (Integer Basics): Add most-positive-fixnum,
 	most-negative-fixnum.
 
-	* compile.texi (Byte Compilation): Explain no-byte-compile
+	* compile.texi (Byte Compilation): Explain no-byte-compile.
 	(Compiler Errors): New node.
 
 	* os.texi (User Identification): user-uid, user-real-uid
--- a/doc/misc/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/doc/misc/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -4777,7 +4777,7 @@
 
 	* org.texi (FAQ): Document `org-table-tab-jumps-over-hlines'.
 	(Agenda): Document commands `org-cycle-agenda-files' and
-	`org-agenda-file-to-front'
+	`org-agenda-file-to-front'.
 	(Built-in table editor): Document `org-table-sort-lines'.
 	(HTML formatting): Export of hand-formatted lists.
 
@@ -6366,7 +6366,7 @@
 
 2000-12-14  Dave Love  <fx@gnu.org>
 
-	* Makefile.in (mostlyclean): Remove gnustmp.*
+	* Makefile.in (mostlyclean): Remove gnustmp.*.
 	(gnus.dvi): Change rule to remove @latex stuff.
 
 2000-10-19  Eric M. Ludlam  <zappo@ultranet.com>
--- a/etc/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/etc/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -1,3 +1,8 @@
+2010-07-24  Christoph Scholtes  <cschol2112@gmail.com>
+
+	* NEWS: Document new --distfiles configure.bat option and
+	`dist' make target on Windows.
+
 2010-07-20  Juanma Barranquero  <lekktu@gmail.com>
 
 	* PROBLEMS: Add note about use of backslashes in Windows paths.
@@ -4941,7 +4946,7 @@
 	* etags.c: Changes for VMS.
 	Always define ETAGS on VMS.
 	Define macros GOOD and BAD for success and failure exit codes.
-	(begtk, intk): Allow `$' in identifiers
+	(begtk, intk): Allow `$' in identifiers.
 	(main): Don't support -B, -F or -u on VMS.
 	Alternate loop for scanning filename arguments.
 	(system): Delete definition of this function.
--- a/etc/NEWS	Fri Jul 23 02:35:14 2010 +0000
+++ b/etc/NEWS	Sun Jul 25 23:02:59 2010 +0000
@@ -432,6 +432,12 @@
 ** New configure.bat option --enable-checking builds emacs with extra
 runtime checks.
 
+** New configure.bat option --distfiles to specify files to be
+   included in binary distribution
+
+** New make target `dist' to create binary disttribution for Windows
+   platform
+
 
 ----------------------------------------------------------------------
 This file is part of GNU Emacs.
--- a/leim/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/leim/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -1189,7 +1189,7 @@
 
 2001-03-31  Kenichi Handa  <handa@etl.go.jp>
 
-	* Makefile.in (TIT-GB): Delete quail/PY.elc and quail/ZIRANMA.elc
+	* Makefile.in (TIT-GB): Delete quail/PY.elc and quail/ZIRANMA.elc.
 	(NON-TIT-BIG5): Delete ${srcdir}/quail/quick-b5.elc
 	${srcdir}/quail/tsang-b5.elc.
 	(CHINESE-NON-TIT): Delete ${NON-TIT-CNS}.
--- a/lib-src/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/lib-src/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -1,3 +1,30 @@
+2010-07-25  Juanma Barranquero  <lekktu@gmail.com>
+
+	* emacsclient.c (getcwd): Fix previous change: make getcwd
+	conditional on HAVE_GETCWD and declare with the correct POSIX
+	profile (for some reason MinGW headers define its 2nd arg as int,
+	not size_t; but getcwd is not used on Windows nonetheless).
+
+2010-07-25  Juanma Barranquero  <lekktu@gmail.com>
+
+	* emacsclient.c (getcwd, w32_getenv):
+	* ntlib.h (getlogin, getuid, getegid, getgid): Fix prototypes.
+
+2010-07-24  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* update-game-score.c (usage):  Add NO_RETURN specifier.
+	* movemail.c (fatal, pfatal_with_name, pfatal_and_delete):
+	* make-docfile.c (fatal):
+	* hexl.c (usage):
+	* fakemail.c (fatal):
+	* etags.c (fatal, suggest_asking_for_help, pfatal):
+	* emacsclient.c (fatal):
+	* b2m.c (fatal): Likewise.
+
+2010-07-23  Juanma Barranquero  <lekktu@gmail.com>
+
+	* make-docfile.c (write_c_args): Correctly handle prefixes of "defalt".
+
 2010-07-20  Juanma Barranquero  <lekktu@gmail.com>
 
 	* emacsclient.c (get_current_dir_name, w32_get_resource)
@@ -775,7 +802,7 @@
 
 2008-02-01  Jason Rumney  <jasonr@gnu.org>
 
-	* makefile.w32-in (obj): Sync with src/Makefile.in
+	* makefile.w32-in (obj): Sync with src/Makefile.in.
 	(TOOLTIP_SUPPORT, WINDOW_SUPPORT): New definitions.
 	(WINNT_SUPPORT): Add term/w32-win.elc.
 	(lisp1, lisp2): Sync with lisp in src/Makefile.in.
@@ -2471,7 +2498,7 @@
 
 	* makefile.w32-in (WINNT_SUPPORT, MOUSE_SUPPORT, lisp): Revert to
 	using .elc files.
-	(lisp): Sync with list in src/Makefile.in
+	(lisp): Sync with list in src/Makefile.in.
 	(VMS_SUPPORT, MSDOS_SUPPORT): Define, so DOC files can be shared.
 
 2002-02-10  Paul Eggert  <eggert@twinsun.com>
@@ -6313,7 +6340,7 @@
 	(TOKEN): Member linestart removed.
 	(linepos, prev_linepos, lb1): Deleted.
 	(main): Call initbuffer on lbs array instead of lb1.
-	(init): Removed the initialisation of the logical _gd array;
+	(init): Removed the initialisation of the logical _gd array.
 	(find_entries): A .sa suffix means assembler file.
 	(C_create_stab): "auto", "void", "extern", "static" are st_C_typespec.
 	All C state machines rewritten.
@@ -7177,7 +7204,7 @@
 	* etags.c: Changes for VMS.
 	Always define ETAGS on VMS.
 	Define macros GOOD and BAD for success and failure exit codes.
-	(begtk, intk): Allow `$' in identifiers
+	(begtk, intk): Allow `$' in identifiers.
 	(main): Don't support -B, -F or -u on VMS.
 	Alternate loop for scanning filename arguments.
 	(system): Delete definition of this function.
--- a/lib-src/b2m.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/lib-src/b2m.c	Sun Jul 25 23:02:59 2010 +0000
@@ -70,7 +70,7 @@
 long *xrealloc (char *ptr, unsigned int size);
 char *concat (char *s1, char *s2, char *s3);
 long readline (struct linebuffer *linebuffer, register FILE *stream);
-void fatal (char *message);
+void fatal (char *message) NO_RETURN;
 
 /*
  * xnew -- allocate storage.  SYNOPSIS: Type *xnew (int n, Type);
--- a/lib-src/emacsclient.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/lib-src/emacsclient.c	Sun Jul 25 23:02:59 2010 +0000
@@ -82,10 +82,12 @@
 
 
 char *getenv (const char *), *getwd (char *);
-char *(getcwd) ();
+#ifdef HAVE_GETCWD
+char *(getcwd) (char *, size_t);
+#endif
 
 #ifdef WINDOWSNT
-char *w32_getenv ();
+char *w32_getenv (char *);
 #define egetenv(VAR) w32_getenv(VAR)
 #else
 #define egetenv(VAR) getenv(VAR)
@@ -158,6 +160,8 @@
 int emacs_pid = 0;
 
 void print_help_and_exit (void) NO_RETURN;
+void fail (void) NO_RETURN;
+
 
 struct option longopts[] =
 {
@@ -400,7 +404,7 @@
   /* On Windows 7 and later, we need to set the user model ID
      to associate emacsclient launched files with Emacs frames
      in the UI.  */
-  shell = LoadLibrary("shell32.dll");
+  shell = LoadLibrary ("shell32.dll");
   if (shell)
     {
       set_user_model
@@ -430,7 +434,7 @@
          nonconsole apps.  Testing for the console title seems to work. */
       window_app = (GetConsoleTitleA (szTitle, MAX_PATH) == 0);
       if (window_app)
-        InitCommonControls();
+        InitCommonControls ();
     }
 
   return window_app;
@@ -481,7 +485,7 @@
 void
 message (int is_error, char *message, ...)
 {
-  char msg [2048];
+  char msg[2048];
   va_list args;
 
   va_start (args, message);
@@ -1468,7 +1472,7 @@
       pid_t w;
       w = waitpid (dpid, &status, WUNTRACED | WCONTINUED);
 
-      if ((w == -1) || !WIFEXITED (status) || WEXITSTATUS(status))
+      if ((w == -1) || !WIFEXITED (status) || WEXITSTATUS (status))
 	{
 	  message (TRUE, "Error: Could not start the Emacs daemon\n");
 	  exit (EXIT_FAILURE);
--- a/lib-src/etags.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/lib-src/etags.c	Sun Jul 25 23:02:59 2010 +0000
@@ -406,9 +406,9 @@
 static void free_regexps (void);
 static void regex_tag_multiline (void);
 static void error (const char *, const char *);
-static void suggest_asking_for_help (void);
-void fatal (char *, char *);
-static void pfatal (char *);
+static void suggest_asking_for_help (void) NO_RETURN;
+void fatal (char *, char *) NO_RETURN;
+static void pfatal (char *) NO_RETURN;
 static void add_node (node *, node **);
 
 static void init (void);
--- a/lib-src/fakemail.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/lib-src/fakemail.c	Sun Jul 25 23:02:59 2010 +0000
@@ -147,6 +147,8 @@
 static stream_list the_streams;
 static boolean no_problems = true;
 
+static void fatal (char *s1) NO_RETURN;
+
 extern FILE *popen (const char *, const char *);
 extern int fclose (FILE *), pclose (FILE *);
 
--- a/lib-src/hexl.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/lib-src/hexl.c	Sun Jul 25 23:02:59 2010 +0000
@@ -49,7 +49,7 @@
 int group_by = DEFAULT_GROUPING;
 char *progname;
 
-void usage(void);
+void usage(void) NO_RETURN;
 
 int
 main (int argc, char **argv)
--- a/lib-src/make-docfile.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/lib-src/make-docfile.c	Sun Jul 25 23:02:59 2010 +0000
@@ -70,6 +70,7 @@
 int scan_file (char *filename);
 int scan_lisp_file (char *filename, char *mode);
 int scan_c_file (char *filename, char *mode);
+void fatal (char *s1, char *s2) NO_RETURN;
 
 #ifdef MSDOS
 /* s/msdos.h defines this as sys_chdir, but we're not linking with the
@@ -488,7 +489,7 @@
 
 	  /* In C code, `default' is a reserved word, so we spell it
 	     `defalt'; unmangle that here.  */
-	  if (strncmp (ident_start, "defalt", ident_length) == 0)
+	  if (ident_length == 6 && strncmp (ident_start, "defalt", 6) == 0)
 	    fprintf (out, "DEFAULT");
 	  else
 	    while (ident_length-- > 0)
--- a/lib-src/movemail.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/lib-src/movemail.c	Sun Jul 25 23:02:59 2010 +0000
@@ -147,10 +147,10 @@
 char *strerror (int);
 #endif
 
-static void fatal (char *s1, char *s2, char *s3);
+static void fatal (char *s1, char *s2, char *s3) NO_RETURN;
 static void error (char *s1, char *s2, char *s3);
-static void pfatal_with_name (char *name);
-static void pfatal_and_delete (char *name);
+static void pfatal_with_name (char *name) NO_RETURN;
+static void pfatal_and_delete (char *name) NO_RETURN;
 static char *concat (char *s1, char *s2, char *s3);
 static long *xmalloc (unsigned int size);
 #ifdef MAIL_USE_POP
--- a/lib-src/ntlib.h	Fri Jul 23 02:35:14 2010 +0000
+++ b/lib-src/ntlib.h	Sun Jul 25 23:02:59 2010 +0000
@@ -30,14 +30,14 @@
 #ifdef sleep
 #undef sleep
 #endif
-void sleep(unsigned long seconds);
+void sleep (unsigned long seconds);
 char *getwd (char *dir);
-int getppid(void);
-char * getlogin ();
+int getppid (void);
+char * getlogin (void);
 char * cuserid (char * s);
-unsigned getuid ();
-unsigned getegid ();
-unsigned getgid ();
+unsigned getuid (void);
+unsigned getegid (void);
+unsigned getgid (void);
 int setuid (unsigned uid);
 int setegid (unsigned gid);
 char * getpass (const char * prompt);
--- a/lib-src/update-game-score.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/lib-src/update-game-score.c	Sun Jul 25 23:02:59 2010 +0000
@@ -60,6 +60,8 @@
 extern char *optarg;
 extern int optind, opterr;
 
+int usage (int err) NO_RETURN;
+
 #define MAX_ATTEMPTS 5
 #define MAX_SCORES 200
 #define MAX_DATA_LEN 1024
--- a/lisp/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -1,3 +1,51 @@
+2010-07-25  Daiki Ueno  <ueno@unixuser.org>
+
+	* epa-file.el (epa-file-insert-file-contents): Check if LOCAL-FILE
+	exists before passing an error to find-file-not-found-functions
+	(bug#6723).
+
+2010-07-23  Lukas Huonker  <l.huonker@gmail.com>
+
+	* play/tetris.el (tetris-tty-colors, tetris-x-colors, tetris-blank):
+	Remove leading nil element, adjust values.
+	(tetris-shapes, tetris-shape-scores):
+	Change representation of shapes and remove some redundancy.
+	(tetris-get-shape-cell, tetris-shape-width, tetris-draw-next-shape)
+	(tetris-draw-shape, tetris-erase-shape, tetris-test-shape):
+	Adjust for working with new representation of shapes.
+	(tetris-shape-rotations): New function.
+	(tetris-move-bottom, tetris-move-left, tetris-move-right)
+	(tetris-rotate-prev, tetris-rotate-next):
+	Adjust for working with the new version of tetris-test-shape.
+
+2010-07-23  Markus Triska  <markus.triska@gmx.at>
+
+	* progmodes/ps-mode.el: Use comint (bug#5954).
+	(ps-run-mode-map): Adapt for comint-mode; omit "\r", [return]..
+	(ps-mode-other-newline): Simplify.
+	(ps-run-mode): Derive from comint-mode instead of
+	fundamental-mode, yielding input history etc.
+	(ps-run-start, ps-run-quit, ps-run-clear, ps-run-region)
+	(ps-run-send-string): Adapt for comint-mode.
+	(ps-run-newline): Remove now unneeded function.
+
+2010-07-23  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp.el (tramp-methods): Move hostname to the end in all
+	plink `tramp-login-args'.
+
+2010-07-23  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp.el (tramp-open-shell): New defun.
+	(tramp-find-shell, tramp-open-connection-setup-interactive-shell):
+	Use it.
+
+2010-07-23  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp.el (tramp-file-name-regexp-unified)
+	(tramp-completion-file-name-regexp-unified): On W32 systems, do
+	not regard the volume letter as remote filename.  (Bug#5447)
+
 2010-07-23  Juanma Barranquero  <lekktu@gmail.com>
 
 	* custom.el (custom-declare-variable): Give a clearer error message
@@ -15,7 +63,7 @@
 	(sql-linter-login-params): Use it.
 	(sql-sqlite-login-params): Use it; Define "database" parameter as
 	a file name.
-	(sql-sqlite-program): Change to "sqlite3"
+	(sql-sqlite-program): Change to "sqlite3".
 	(sql-comint-sqlite): Make sure database name is complete.
 	(sql-for-each-login): New function.
 	(sql-connect, sql-save-connection): Use it.
@@ -99,7 +147,7 @@
 	(sql-informix-login-params, sql-ingres-login-params)
 	(sql-ms-login-params, sql-postgres-login-params)
 	(sql-interbase-login-params, sql-db2-login-params)
-	(sql-linter-login-params): Add `port' option
+	(sql-linter-login-params): Add `port' option.
 	(sql-get-product-feature): Added NO-INDIRECT parameter.
 	(sql-comint-oracle, sql-comint-sybase)
 	(sql-comint-informix, sql-comint-sqlite, sql-comint-mysql)
@@ -109,7 +157,7 @@
 	sql-comint-*.
 	(sql-product-alist, sql-mode-menu): Renamed as above and
 	:sqli-connect-func to :sqli-comint-func.
-	(sql-connection): New variable
+	(sql-connection): New variable.
 	(sql-interactive-mode): Set it.
 	(sql-connection-alist): New variable.
 	(sql-connect): New function.
@@ -305,7 +353,7 @@
 
 	* epa-file.el (epa-file-error, epa-file--find-file-not-found-function)
 	(epa-file-insert-file-contents): Hack to prevent
-	find-file from opening empty buffer when decryptin failed
+	find-file from opening empty buffer when decryption failed
 	(bug#6568).
 
 2010-07-07  Agustín Martín  <agustin.martin@hispalinux.es>
@@ -3250,7 +3298,7 @@
 	(verilog-pretty-declarations): Support lineup of declarations in
 	port lists.
 	(verilog-skip-backward-comments, verilog-skip-forward-comment-p):
-	fix bug for /* / comments
+	fix bug for /* / comments.
 	(verilog-backward-syntactic-ws, verilog-forward-syntactic-ws):
 	Speed up and simplfy as this is never called with a bound.
 	(verilog-pretty-declarations): Enhance to line up declarations
@@ -5359,7 +5407,7 @@
 
 2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 
-	* bookmark.el (bookmark-bmenu-any-marks): New function
+	* bookmark.el (bookmark-bmenu-any-marks): New function.
 	(bookmark-bmenu-save): Clear buffer modification if no marks.
 
 2010-01-02  Karl Fogel  <kfogel@red-bean.com>
--- a/lisp/ChangeLog.1	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/ChangeLog.1	Sun Jul 25 23:02:59 2010 +0000
@@ -1021,8 +1021,6 @@
 	in the *compilation* buffer, thus allowing buffers to have local
 	compilation-error-regexp variables.
 
-	(provide 'compile)
-
 1985-12-05  Richard M. Stallman  (rms@prep)
 
 	* files.el (recover-file):
@@ -1495,7 +1493,7 @@
 
 	* mouseinit.el
 	Delete this file.  Put its contents in files
-	term-bg.el, term-bgnv.el, term-bgrv.el, term-bbn.el
+	term-bg.el, term-bgnv.el, term-bgrv.el, term-bbn.el.
 	(Perhaps there should be a subdirectory emacs/lisp/term/ ??)
 
 1985-10-23  Richard M. Stallman  (rms@prep)
@@ -1915,7 +1913,7 @@
 
 	* texinfo.el:
 	Change syntax for @xref and @pxref to use braces.
-	Change syntax for @node to read entire line
+	Change syntax for @node to read entire line.
 	(new function texinfo-format-parse-line-args for that).
 	Change paragraph-separate, etc., so only directives without
 	braces separate paragraphs.  When formatting, discard all of the
@@ -2178,8 +2176,8 @@
 	"c-continued-statement-offset" as in the documentation and manual
 
 	* rmail.el (rmail-find):
-	Hack default of last search string, hack reverse search
-	(-ve prefix arg)
+	Hack default of last search string, hack reverse search.
+	(-ve prefix arg):
 	Make "-" be negative-argument
 
 1985-07-23  Richard Mlynarik  (mly@mit-prep)
@@ -3097,7 +3095,7 @@
 
 	* sendmail.el, loaddefs.el
 	added send-mail-function; initially sendmail-send-it
-	(also, mail-yank-ignored-headers had a typo)
+	(also, mail-yank-ignored-headers had a typo).
 
 	* rmail.el (rmail-get-new-mail, convert-to-babyl-format, ...)
 	* loaddefs.el:
--- a/lisp/ChangeLog.10	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/ChangeLog.10	Sun Jul 25 23:02:59 2010 +0000
@@ -1357,7 +1357,7 @@
 
 2003-06-10  Rajesh Vaidheeswarran  <rv@gnu.org>
 
-	* whitespace.el (whitespace-version): Bump to 3.3
+	* whitespace.el (whitespace-version): Bump to 3.3.
 	(whitespace-cleanup): Respect user preference for silence
 
 	* whitespace.el: Remove :tag in commentary :link.  Remove empty
@@ -1645,7 +1645,7 @@
 	(bibtex-version): Remove support for bug reporting.
 	(bibtex-field-delimiters, bibtex-entry-delimiters)
 	(bibtex-sort-ignore-string-entries, bibtex-maintain-sorted-entries)
-	Replace make-variable-buffer-local by make-local-variable for
+	Replace make-variable-buffer-local by make-local-variable.
 	(bibtex-entry-format): New tag `required-fields'.
 	(bibtex-maintain-sorted-entries): New var.
 	(bibtex-sort-entry-class, bibtex-sort-entry-class-alist): New vars.
@@ -4069,9 +4069,9 @@
 	(ccl-encode-mule-utf-16-le-with-signature)
 	(ccl-encode-mule-utf-16-be-with-signature): New CCL programs.
 	(mule-utf-16-post-read-conversion): New function.
-	(mule-utf-16-le-with-signature, mule-utf-16-be-with-signature),
+	(mule-utf-16-le-with-signature, mule-utf-16-be-with-signature)
 	(mule-utf-16): New coding systems.
-	(utf-16-le-with-signature, utf-16-be-with-signature),
+	(utf-16-le-with-signature, utf-16-be-with-signature)
 	(utf-16): Aliases of the above coding systems.
 
 2003-04-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
@@ -4109,7 +4109,7 @@
 	Other cleanups.
 	Command line option --no-desktop introduced.
 	(desktop-read): Record buffers in the desktop file in
-	the same order as that in the buffer list,
+	the same order as that in the buffer list.
 	(desktop-save): Put buffers in the order given in desktop file,
 	regardless of what handlers do.
 	(desktop-file-version): New variable.  Version number of desktop
@@ -7684,7 +7684,7 @@
 	* gdb-ui.el : Remove inappropriate key-bindings.
 	(gdb-info-breakpoints-custom, gdb-goto-bp-this-line):
 	Parse correctly when breakpoint has no line number.
-	(def-gdb-auto-update-handler, gdb-info-locals-handler),
+	(def-gdb-auto-update-handler, gdb-info-locals-handler)
 	(gdb-display-end): Avoid using insert-buffer.
 	(gdb-frames-select-by-mouse): Rename gdb-frames-mouse-select.
 
@@ -20177,10 +20177,10 @@
 
 2002-01-05  Andre Spiegel  <spiegel@gnu.org>
 
-	* vc.el (vc-branch-part): Return nil if there's no `.'
+	* vc.el (vc-branch-part): Return nil if there's no `.'.
 	(vc-default-previous-version): Renamed from vc-previous-version.
 	New args BACKEND and FILE.  Return nil for revision numbers
-	without a `.'
+	without a `.'.
 	(vc-version-diff): Call vc-BACKEND-previous-version.
 	(vc-steal-lock): Steal lock before composing mail, so that no mail
 	is sent when the stealing goes wrong.  And we'll actually see the
@@ -23253,11 +23253,11 @@
 	lambda expression.
 	(ps-mode-menu-main): Submenu with options on/off was replaced with
 	a toggle button.
-	(ps-mode, ps-run-mode): Define with `define-derived-mode'
+	(ps-mode, ps-run-mode): Define with `define-derived-mode'.
 	(ps-mode): Autoload cookie added on same line as comment.
 	(ps-mode-tabkey, ps-mode-backward-delete-char):
 	(ps-mode-r-balance): Replace `delete-horizontal-space' and
-	`indent-to' with `indent-line-to'
+	`indent-to' with `indent-line-to'.
 	(ps-mode-print-buffer, ps-mode-print-region): Use `funcall'
 	instead of `eval'.
 	(ps-mode-print-region): Use `with-temp-buffer'.
@@ -23464,7 +23464,7 @@
 	(vc-default-annotate-current-time): Added.
 
 	* vc-cvs.el (vc-cvs-annotate-difference): Removed to generic
-	version in vc.el, with
+	version in vc.el.
 	(vc-cvs-annotate-current-time): Added, as override of default.
 	(vc-cvs-annotate-time): Added.  Taken mostly from the (now removed)
 	`vc-cvs-annotate-difference'.
--- a/lisp/ChangeLog.11	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/ChangeLog.11	Sun Jul 25 23:02:59 2010 +0000
@@ -84,7 +84,7 @@
 
 2004-12-30  Andreas Leue  <al@sphenon.de>
 
-	* textmodes/artist.el (artist-version): 1.2.6
+	* textmodes/artist.el (artist-version): 1.2.6.
 	(artist-prev-next-op-alist): New variable.
 	(artist-select-next-op-in-list): New function.
 	(artist-select-prev-op-in-list): New function.
@@ -380,7 +380,7 @@
 	(calculator-radix-grouping-digits)
 	(calculator-radix-grouping-separator):
 	New defcustoms for the new radix grouping mode functionality.
-	(calculator-mode-hook): Now used in electric mode too,
+	(calculator-mode-hook): Now used in electric mode too.
 	(calculator): Call it.
 	(calculator-mode-map): Some new keys.
 	(calculator-message): New function.  Some new calls.
@@ -2239,7 +2239,7 @@
 	(math-so-far, math-integ-expr, math-expr-parts, calc-low)
 	(calc-high, math-solve-var, math-solve-full, math-solve-vars)
 	(math-try-solve-sign, math-solve-b, math-solve-system-vv)
-	(math-solve-res): New variables
+	(math-solve-res): New variables.
 	(math-derivative, calcFunc-deriv, calcFunc-tderiv)
 	(math-integral, math-replace-integral-parts)
 	(math-integrate-by-parts, calc-dump-integral-cache)
@@ -4692,7 +4692,7 @@
 	mark mode (to include the current match to region boundaries).
 	Push the search string to `query-replace-from-history-variable'.
 	Add prompt "Query replace regexp" for isearch-regexp.
-	Add region beginning/end as last arguments of `perform-replace.'
+	Add region beginning/end as last arguments of `perform-replace'.
 	(isearch-query-replace-regexp): Replace code by the call to
 	`isearch-query-replace' with arg `t'.
 
@@ -9809,7 +9809,7 @@
 
 	(compile): Additional argument for interactive compiles like TeX.
 
-	* progmodes/grep.el (kill-grep): Move here from compile.el
+	* progmodes/grep.el (kill-grep): Move here from compile.el.
 	(grep-error, grep-hit-face, grep-error-face)
 	(grep-mode-font-lock-keywords): New variables.
 	(grep-regexp-alist): Simplify regexp and add `binary' case.
@@ -10944,12 +10944,12 @@
 	(rsf-bbdb-auto-delete-spam-entries): Rename from
 	rmail-bbdb-auto-delete-spam-bbdb-entries.  The cc: field is
 	scanned together with the recipients field for spam testing; Don't
-	delete spam message if rmail-delete-after-output is non-nil;
+	delete spam message if rmail-delete-after-output is non-nil.
 	(rsf-check-field): New function, extracted from code in
 	rmail-spam-filter to ease addition of header fields like
-	content-type:;
+	content-type:.
 	(message-content-type): New variable.  The content-type: field was
-	added also in defcustom of rsf-definitions-alist;
+	added also in defcustom of rsf-definitions-alist.
 	(rmail-spam-filter): Replace repeated test code for header fields
 	by calls to check-field; change the call to
 	rmail-output-to-rmail-file such that rmail-current-message stays
@@ -11474,7 +11474,7 @@
 2003-12-29  Stuart Herring  <herring@lanl.gov>  (tiny change)
 
 	* comint.el (comint-watch-for-password-prompt): Pass `string' as
-	arg to send-invisible
+	arg to send-invisible.
 	(send-invisible): Doc fix.  The argument is now a prompt, not the
 	string to send.
 	(comint-read-noecho): Doc fix.
@@ -12951,7 +12951,7 @@
 	Ensure that recentf correctly updates the menu bar.
 	* recentf.el (recentf-menu-path,recentf-menu-before): Doc fix.
 	(recentf-menu-bar): New function.
-	(recentf-clear-data): Use it
+	(recentf-clear-data): Use it.
 	(recentf-update-menu): Likewise.  Use easy-menu-add-item instead
 	of easy-menu-change.
 
@@ -13500,7 +13500,7 @@
 	(reftex-toc-split-windows-fraction): New option.
 	(reftex-recenter-toc-when-idle): Search *toc* window on all
 	visible frames.
-	(reftex-toc): Additional parameter REUSE
+	(reftex-toc): Additional parameter REUSE.
 	(reftex-toc-recenter): Remember current frame.  Call `reftex-toc'
 	with REUSE argument.
 	(reftex-recenter-toc-when-idle): Reset `current-prefix-arg' for
@@ -14153,7 +14153,7 @@
 	erroneously in previous version.
 	(bibtex-string-files): Docstring reflects new parsing scheme.
 	(bibtex-autokey-transcriptions): Merge some rewrite entries, fix
-	docstring, add # as one of the chars to crush
+	docstring, add # as one of the chars to crush.
 	(bibtex-autokey-prefix-string, bibtex-autokey-names)
 	(bibtex-autokey-names-stretch, bibtex-autokey-additional-names)
 	(bibtex-autokey-name-change-strings)
@@ -14229,7 +14229,7 @@
 	preamble entries.
 	(bibtex-fill-field-bounds): New function.
 	(bibtex-fill-field): New command.  Bound to fill-paragraph-function.
-	(bibtex-fill-entry): Use bibtex-fill-field-bounds
+	(bibtex-fill-entry): Use bibtex-fill-field-bounds.
 	(bibtex-String): Use bibtex-strings.  Always obey
 	bibtex-sort-ignore-string-entries.
 
--- a/lisp/ChangeLog.12	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/ChangeLog.12	Sun Jul 25 23:02:59 2010 +0000
@@ -943,7 +943,7 @@
 2007-03-20  Richard Stallman  <rms@gnu.org>
 
 	* textmodes/ispell.el (ispell-call-process): New function.
-	Defends against bad `default-directory.'
+	Defends against bad `default-directory'.
 	(ispell-check-version, ispell-find-aspell-dictionaries)
 	(ispell-get-aspell-config-value, lookup-words): Call it.
 	(ispell-call-process-region): New function.
@@ -1606,7 +1606,7 @@
 	(org-set-frame-title, org-show-reference)
 	(org-unhighlight-once, org-verify-change-for-undo): New functions.
 	(org-show-variable): Remove command.
-	(org-add-log-maybe): New arguments STATE, FINDPOS
+	(org-add-log-maybe): New arguments STATE, FINDPOS.
 	(org-table-sort-lines): Rewrite from scratch.
 	(org-link-search): New argument AVOID-POS.
 	(org-print-icalendar-entries): Remove argument CATEGORY.
@@ -2938,7 +2938,7 @@
 
 2006-12-30  Jan Djärv  <jan.h.d@swipnet.se>
 
-	* scroll-bar.el (previous-scroll-bar-mode): New variable
+	* scroll-bar.el (previous-scroll-bar-mode): New variable.
 	(set-scroll-bar-mode): Set previous-scroll-bar-mode.
 	(scroll-bar-mode): Use previous-scroll-bar-mode if set.
 
@@ -5438,7 +5438,7 @@
 	(cperl-to-comment-or-eol): Do not call `cperl-update-syntaxification'
 			recursively.
 		Bound `next-single-property-change' via `point-max'.
-	(cperl-unwind-to-safe): Bound likewise
+	(cperl-unwind-to-safe): Bound likewise.
 	(cperl-font-lock-fontify-region-function): Likewise.
 	(cperl-find-pods-heres): Mark as recursive for `cperl-to-comment-or-eol'
 		Initialization of `cperl-font-lock-multiline-start' could be
@@ -5480,7 +5480,7 @@
 	(cperl-calculate-indent): `char-after' could be nil...
 	(cperl-find-pods-heres): REx can start after "[" too.
 		Highlight (??{}) in RExen too.
-	(cperl-maybe-white-and-comment-rex): New constant
+	(cperl-maybe-white-and-comment-rex): New constant.
 	(cperl-white-and-comment-rex): Likewise.
 		XXXX Not very efficient, but hard to make
 		better while keeping 1 group.
@@ -5526,7 +5526,7 @@
 		Syntax-mark a {}-part of (?{}) as "comment"
 			(it was the ()-part)
 		Better logic to distinguish what is what in REx
-	(cperl-tips-faces): Document REx highlighting
+	(cperl-tips-faces): Document REx highlighting.
 	(cperl-praise): Mention REx syntax highlight etc.
 
 	After 5.17:
@@ -5566,7 +5566,7 @@
 	(cperl-indent-comment-at-column-0): New customization variable.
 	(cperl-comment-indent): Indentation after $#a would increase by 1.
 	(cperl-mode): Make `defun-prompt-regexp' grok BEGIN/END etc.
-	(cperl-find-pods-heres): Mark CODE of s///e as `syntax-type' `multiline'
+	(cperl-find-pods-heres): Mark CODE of s///e as `syntax-type' `multiline'.
 	(cperl-at-end-of-expr): Would fail if @BAR=12 follows after ";".
 	(cperl-init-faces): If `cperl-highlight-variables-indiscriminately'
 			highlight $ in $foo too (UNTESTED).
@@ -5579,7 +5579,7 @@
 	(cperl-style-alist): Likewise.
 	(cperl-fix-line-spacing): Support `cperl-merge-trailing-else' being nil,
 		and `cperl-extra-newline-before-brace' etc
-		being t
+		being t.
 	(cperl-indent-exp): Plans B and C to find continuation blocks even
 		if `cperl-extra-newline-before-brace' is t.
 
@@ -7296,7 +7296,7 @@
 	(gdb-stack-position): New variable.
 	(gdb-starting, gdb-exited): Reset gdb-stack-position to nil.
 	(gdb-frames-mode): Set gdb-stack-position to nil.
-	Add to overlay-arrow-variable-list
+	Add to overlay-arrow-variable-list.
 	(gdb-reset): Delete gdb-stack-position from above list.
 
 2006-08-14  Jan Djärv  <jan.h.d@swipnet.se>
@@ -7459,7 +7459,7 @@
 	* avoid.el (mouse-avoidance-animating-pointer): New var.
 	(mouse-avoidance-nudge-mouse): Use it.
 	(mouse-avoidance-banish): Rename from mouse-avoidance-banish-hook.
-	(mouse-avoidance-exile): Rename from mouse-avoidance-exile-hook
+	(mouse-avoidance-exile): Rename from mouse-avoidance-exile-hook.
 	(mouse-avoidance-fancy): Rename from mouse-avoidance-fancy-hook.
 	Don't activate if currently animating.  All callers changed.
 
@@ -8723,7 +8723,7 @@
 	* progmodes/gdb-ui.el (gdb-same-frame): New option.
 	(gud-old-arrow, gdb-frame-begin, gdb-printing): New variables.
 	(gdb-init-1): Initialise them.
-	(gdb-starting): Reset gdb-printing
+	(gdb-starting): Reset gdb-printing.
 	(gdb-starting): Save value of gud-overlay-arrow-position.
 	(gdb-frame-begin): Set gdb-frame-begin, gdb-printing.
 	(gdb-stopped): Don't look for source if calling procedure e.g "p a ()".
@@ -9460,7 +9460,7 @@
 	links to BibTeX database entries..
 	(org-get-current-options, org-set-regexps-and-options):
 	Implement logging as a startup option.
-	(org-store-link): Make sure context string is never empty
+	(org-store-link): Make sure context string is never empty.
 	(org-insert-link): Use relative path when possible.
 	(org-at-item-checklet-p): New function.
 	(org-shifttab, org-shiftmetaleft, org-shiftmetaright)
@@ -10197,7 +10197,7 @@
 	(gdb-init-1, gdb-post-prompt): ...and references to it.
 	(gdb-frame-handler): Strip directory name from filename if present.
 
-	* progmodes/gud.el (gdb-force-update): Delete defvar
+	* progmodes/gud.el (gdb-force-update): Delete defvar.
 	(gud-speedbar-buttons): ...and references to it.  Use window-start
 	to try to keep position in watch expression.
 
@@ -10246,7 +10246,7 @@
 
 	* diff-mode.el (diff-mode-shared-map): Don't bind M-W, M-U, M-C,
 	M-r, M-R, M-A, M-SPC or M-DEL.
-	(diff-mode-map): diff-refine-hunk now on C-c C-w
+	(diff-mode-map): diff-refine-hunk now on C-c C-w.
 	(diff-mode-map): Bind C-c C-e, C-c C-n, C-c C-r, C-c C-u.
 
 	* help-mode.el (help-mode): view-exit-action calls delete-window
@@ -10862,7 +10862,7 @@
 	(org-edit-agenda-file-list, org-store-new-agenda-file-list)
 	(org-read-agenda-file-list): New functions.
 	(org-table-edit-field)
-	(org-table-create-or-convert-from-region): New commands
+	(org-table-create-or-convert-from-region): New commands.
 	(org-table-toggle-vline-visibility): Command removed.
 	(org-table-convert-region): Made a command.
 	(orgtbl-delete-backward-char, orgtbl-delete-char): Remove commands.
@@ -10881,7 +10881,7 @@
 	Optional argument unrestricted means ignore any restrictions.
 	(org-install-agenda-files-menu): Find a buffer in Org-mode before
 	trying to modify the menu.  Use generalized access to
-	`org-agenda-files.'
+	`org-agenda-files'.
 	(org-agenda-list, org-todo-list, org-cycle-agenda-files)
 	(org-agenda-file-to-front, org-remove-file, org-diary)
 	(org-tags-view, org-export-icalendar-all-agenda-files)
@@ -13666,7 +13666,7 @@
 	(thumbs-resize-image): Rename from thumbs-resize-image-interactive.
 	Use increment argument to enlarge/shrink.  Preserve point.
 	(thumbs-shrink-image): Rename from thumbs-resize-image-size-down.
-	(thumbs-enlarge-image): Rename from thumbs-resize-image-size-up
+	(thumbs-enlarge-image): Rename from thumbs-resize-image-size-up.
 	(thumbs-show-thumbs-list): Set thumbs-buffer to current-buffer.
 	(thumbs-mark, thumbs-unmark): Preserve point.
 	(thumbs-modify-image): Keep old temp files and use to modify.
@@ -16160,7 +16160,7 @@
 	(c-after-statement-terminator-p): Adapt for virtual semicolons;
 	check more rigorously for "end of macro".
 	(c-back-over-illiterals, c-forward-over-illiterals): Adapt for
-	virtual semicolons;
+	virtual semicolons.
 	(c-beginning-of-statement): Adapt for virtual semicolons; Separate
 	out the code for forward movement into ...
 	(c-end-of-statement): Now contains the code for forward movement,
@@ -19706,7 +19706,7 @@
 	(allout-mode): Use key-binding substitution in the docstring.
 	(allout-kill-line): Spell-out kill ring data structure mutation
 	instead of using byte-compiler-complaint-provoking `pop'.
-	(allout-insert-listified): Use `insert' rather than `insert-string'
+	(allout-insert-listified): Use `insert' rather than `insert-string'.
 	(allout-toggle-current-subtree-encryption): Update docstring, adjust
 	to new gpp-based encryption, use new `allout-encrypted-topic-p'.
 	(allout-encrypt-string): Totally revamped vis new underlying
@@ -20757,13 +20757,13 @@
 	* progmodes/gdb-ui.el (gdb-info-breakpoints-custom):
 	Put `font-lock-function-name-face'.
 	(gdb-info-frames-custom): Put `font-lock-function-name-face'
-	and `font-lock-variable-name-face'
+	and `font-lock-variable-name-face'.
 	(gdb-registers-font-lock-keywords): New font lock keywords definition.
 	(gdb-registers-mode): Use `gdb-registers-font-lock-keywords'.
 	(gdb-memory-font-lock-keywords): New font lock keywords definition.
 	(gdb-memory-mode): Use `gdb-memory-font-lock-keywords'.
 	(gdb-local-font-lock-keywords): New font lock keywords definition.
-	(gdb-locals-mode): Use `gdb-local-font-lock-keywords'
+	(gdb-locals-mode): Use `gdb-local-font-lock-keywords'.
 	(gdb-threads-font-lock-keywords): New font lock keywords definition.
 	(gdb-threads-mode): Use `gdb-threads-font-lock-keywords'.
 
@@ -29352,7 +29352,7 @@
 	* loadhist.el (unload-feature): Update for new format of load-history.
 	Simplify the code.
 
-	* mail/rmail.el (rmail-ignored-headers): Ignore more headers
+	* mail/rmail.el (rmail-ignored-headers): Ignore more headers.
 	(rmail-font-lock-keywords): Don't fontify the text of a citation.
 
 	* mail/sendmail.el (mail-font-lock-keywords):
@@ -29421,7 +29421,7 @@
 	(org-evaluate-time-range): Insert at point instead of directly
 	after time range.
 	(org-first-headline-recenter, org-subtree-end-visible-p)
-	(org-optimize-window-after-visibility-change): New functions
+	(org-optimize-window-after-visibility-change): New functions.
 	(org-agenda-post-command-hook): Don't allow point at end of line,
 	to make sure it always hits the text properties.
 	(org-agenda-next-date-line, org-agenda-previous-date-line):
@@ -29603,13 +29603,13 @@
 
 2005-04-11  Jan Djärv  <jan.h.d@swipnet.se>
 
-	* dired.el (dired-mode): Use dnd-* instead of x-dnd-*
+	* dired.el (dired-mode): Use dnd-* instead of x-dnd-*.
 	(dired-dnd-handle-local-file): Call dnd-get-local-file-name.
 	(dired-dnd-handle-file): Call dnd-get-local-file-uri.
 
 	* cus-edit.el (dnd): New group.
 
-	* term/w32-win.el (dnd): Require dnd
+	* term/w32-win.el (dnd): Require dnd.
 	(w32-drag-n-drop): Call dnd-handle-one-url.
 
 	* x-dnd.el: Require dnd.
@@ -31918,7 +31918,7 @@
 
 	* progmodes/gdb-ui.el (gdb-var-update-handler)
 	(gdb-speedbar-timer-fn): Ensure speedbar updates with new values
-	for watch expressions,
+	for watch expressions.
 	(gdb-var-create-handler): Don't set speedbar-update-flag.
 	(gdb-post-prompt): Simplify test for speedbar.
 
@@ -32781,14 +32781,14 @@
 2005-01-15  James R. Van Zandt  <jrvz@comcast.net>  (tiny change)
 
 	* progmodes/sh-script.el: Code copied from make-mode.el
-	with small changes,
+	with small changes.
 	(sh-mode-map): Bind C-c C-\.
 	(sh-backslash-column, sh-backslash-align): New variables.
 	(sh-backslash-region, sh-append-backslash): New functions.
 
 2005-01-15  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
-	* mail/rmail.el: Updated to work with movemail from GNU Mailutils
+	* mail/rmail.el: Updated to work with movemail from GNU Mailutils.
 	(rmail-pop-password, rmail-pop-password-required): Move to
 	rmail-obsolete group.
 	(rmail-set-pop-password): Rename to rmail-set-remote-password.
@@ -32892,7 +32892,7 @@
 
 	* textmodes/reftex-vars.el (reftex-cite-format-builtin):
 	Add optional arguments to most cite commands.
-	(reftex-cite-cleanup-optional-args): New option
+	(reftex-cite-cleanup-optional-args): New option.
 	(reftex-cite-prompt-optional-args): New option.
 	(reftex-trust-label-prefix): New option.
 
--- a/lisp/ChangeLog.13	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/ChangeLog.13	Sun Jul 25 23:02:59 2010 +0000
@@ -1498,7 +1498,7 @@
 	(ps-header-footer-string): Delete function.
 	(ps-encode-header-string-function): New variable.
 	(ps-generate-header-line): Call ps-encode-header-string-function.
-	(ps-basic-plot-string-function): New variable
+	(ps-basic-plot-string-function): New variable.
 	(ps-begin-job): Set ps-basic-plot-string-function and
 	ps-encode-header-string-function.  For setting up headers and
 	footers, don't use caches such as ps-rh-cache.  Don't call
@@ -1588,7 +1588,7 @@
 
 	* international/mule.el (ctext-non-standard-encodings-alist):
 	Rename from non-standard-icccm-encodings-alist.
-	(ctext-non-standard-encodings-regexp): New variable
+	(ctext-non-standard-encodings-regexp): New variable.
 	(ctext-post-read-conversion): Full rewrite.
 	(ctext-non-standard-designations-alist): Rename from
 	non-standard-designations-alist.
@@ -8209,7 +8209,7 @@
 	(allout-end-of-line): Preserve mark activation status when jumping.
 	(allout-open-topic): Account for opening after a child that
 	contains a hidden trailing newline.  Preserve match data.
-	Run allout-structure-added-hook
+	Run allout-structure-added-hook.
 	(allout-encrypt-decrypted): Preserve match data.
 	(allout-toggle-current-subtree-exposure): Add new interactive
 	function for toggle subtree exposure - suggested by tassilo.
@@ -9880,7 +9880,7 @@
 	(org-find-base-buffer-visiting): Catch the case that there is no
 	buffer visiting the file.
 	(org-property-or-variable-value): New function.
-	(org-todo): Use `org-property-or-variable-value'
+	(org-todo): Use `org-property-or-variable-value'.
 	(org-agenda-compact-blocks): New option.
 	(org-prepare-agenda, org-agenda-list): Use `org-agenda-compact-blocks'.
 	(org-agenda-schedule, org-agenda-deadline):
@@ -10227,7 +10227,7 @@
 
 	* progmodes/cperl-mode.el: Merge upstream 5.23.
 	(cperl-where-am-i): Remove function.
-	(cperl-backward-to-noncomment): Don't go too far when skipping POD/HEREs
+	(cperl-backward-to-noncomment): Don't go too far when skipping POD/HEREs.
 	(cperl-sniff-for-indent): De-invert [string] and [comment].
 	When looking for label, skip s:m:y:tr.
 	(cperl-indent-line): Likewise.
--- a/lisp/ChangeLog.14	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/ChangeLog.14	Sun Jul 25 23:02:59 2010 +0000
@@ -8625,7 +8625,7 @@
 
 2008-07-31  Alan Mackenzie  <acm@muc.de>
 
-	* progmodes/cc-mode.el (c-before-hack-hook): New function
+	* progmodes/cc-mode.el (c-before-hack-hook): New function.
 	(Top Level): Install c-before-hack-hook on
 	before-hack-local-variables-hook, rather than
 	c-postprocess-file-styles on hack-local-variables-hook.
--- a/lisp/ChangeLog.2	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/ChangeLog.2	Sun Jul 25 23:02:59 2010 +0000
@@ -3717,9 +3717,9 @@
 1986-08-07  Richard Mlynarik  (mly@prep)
 
 	* rfc822.el, loaddefs.el, mail-utils.el:
-	Hairy address parser, used only if mail-use-rfc822 is non-nil
+	Hairy address parser, used only if mail-use-rfc822 is non-nil.
 	(It is nil by default, so if one doesn't like or need the hair of
-	this file, then one is never troubled by it)
+	this file, then one is never troubled by it.)
 
 	* disassemble.el, loaddefs.el:
 	Code from doug@csli.stanford.edu modified by mly.
--- a/lisp/ChangeLog.3	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/ChangeLog.3	Sun Jul 25 23:02:59 2010 +0000
@@ -2619,7 +2619,7 @@
 
 	* frame.el (frame-initialize): Fix error syntax.
 	(toggle-horizontal-scroll-bar): Likewise.
-	(toggle-horizontal-scroll-bar): Renamed from set-horizontal-bar
+	(toggle-horizontal-scroll-bar): Renamed from set-horizontal-bar.
 	(toggle-vertical-scroll-bar): Likewise.
 	(toggle-auto-lower, toggle-auto-raise): Likewise.
 	(set-foreground-color, set-background-color):
@@ -10344,7 +10344,7 @@
 	(list-diary-entries, mark-diary-entries)
 	(include-other-diary-files, mark-included-diary-files):
 	Added the possibility of `shared diary files' with a recursive
-	include mechanism like the C preprocessor
+	include mechanism like the C preprocessor.
 	(list-calendar-holidays): Eliminated the 'special class of holidays,
 	rewriting the entire mechanism to make it more general.
 	(calendar-holiday-function-float): Changed the 'float class of
@@ -12091,7 +12091,7 @@
 
 1988-12-12  Richard Stallman  (rms@mole.ai.mit.edu)
 
-	* telnet.el (telnet-send-input): Save input in telnet-previous-input
+	* telnet.el (telnet-send-input): Save input in telnet-previous-input.
 	(telnet-mode): Make that var buffer-local.
 	(telnet-copy-last-input): New fn to yank that var; now on C-c C-y.
 
--- a/lisp/ChangeLog.5	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/ChangeLog.5	Sun Jul 25 23:02:59 2010 +0000
@@ -193,8 +193,8 @@
 	ispell-menu-map, ispell-menu-lucid, and ispell-menu-map-needed
 	so users can more easily modify and upgrade entries.
 	(ispell-dictionary-alist): Once more a single variable.
-	(ispell-required-version): Documentation changes
-	(ispell-skip-sgml): Documentation changes
+	(ispell-required-version): Documentation changes.
+	(ispell-skip-sgml): Documentation changes.
 	(ispell-command-loop): `mode-line-format' now shows misspelled word.
 	(ispell-message-text-end): Can now process postscript version 1.
 	(ispell-message-start-skip): New variable for block skips, set up for
@@ -584,7 +584,7 @@
 	19.28 and earlier and XEmacs 19.11 and earlier.
 	* ediff.el (ediff-patch-buffer): Now handles buffers that don't
 	visit any file.
-	(ediff-windows): Renamed to ediff-windows-wordwise, added
+	(ediff-windows): Renamed to ediff-windows-wordwise.
 	(ediff-windows-linewise): New function.
 	Changed ediff-small/large-regions to ediff-regions-wordwise/linewise.
 
@@ -783,7 +783,7 @@
 
 	* mail-extr.el (mail-extr-all-letters-but-separators):
 	Reinstate \377, the bug in search.c is apparently gone.
-	(mail-extr-first-letters): Add 8-bit characters
+	(mail-extr-first-letters): Add 8-bit characters.
 	(mail-extr-last-letters): Ditto.
 
 	* simple.el (indent-for-comment): Move to beginning of line only
@@ -889,7 +889,7 @@
 	(ada-end-stmt-re): Add "separate" body parts, "else", and
 	"package <Id> is".
 	(ada-subprogram-start-re): Add "entry", "protected" and
-	"package body"
+	"package body".
 	(ada-indent-function): Handle "elsif" the same way as "if", added
 	"separate" for no indent.
 	(ada-get-indent-type): If "type ... is .." is followed by code on
@@ -1328,7 +1328,7 @@
 	ones the numbers of subexpressions to refer to.
 	(vc-cvs-status): New per-file property, only used in the CVS case.
 	(vc-cvs-status): New function.
-	(vc-log-info): Adapted to new version of vc-parse-buffer
+	(vc-log-info): Adapted to new version of vc-parse-buffer.
 	(vc-fetch-properties): Adapted to new version of vc-parse-buffer.
 	Better search regexp for CVS latest version.
 	(vc-log-info): Search for branch version only in the RCS case,
@@ -1800,7 +1800,7 @@
 	(vc-consult-rcs-headers): New function.
 	(vc-branch-version): New per-file property, refers
 	to the RCS version selected by `rcs -b'.
-	(vc-workfile-version): New function.  Also new per-file property
+	(vc-workfile-version): New function.  Also new per-file property.
 	(vc-consult-headers): New parameter variable.
 	(vc-mistrust-permissions): Default set to `nil'.
 	(vc-locking-user): Property is now cached.  The other functions
@@ -2145,7 +2145,7 @@
 1995-04-03  David Kågedal  <davidk@lysator.liu.se>
 
 	* tempo.el (tempo-insert):
-	Added the P tag and modified the s tag accordingly
+	Added the P tag and modified the s tag accordingly.
 	(tempo-insert-named): Checks for valid name, insert mark otherwise.
 
 	* tempo.el (tempo-dolist): Changed (cadr ...) to (car (cdr ...)).
@@ -2457,7 +2457,7 @@
 	(enriched-delq-1, enriched-make-list-uniq)
 	(enriched-make-relatively-unique, enriched-common-tail)
 	(enriched-reorder, enriched-insert-annotations)
-	(enriched-loc-annotations, enriched-annotate-change
+	(enriched-loc-annotations, enriched-annotate-change)
 	(enriched-encode-unknown): Move to format.el.  Names changed.
 
 	(enriched-display-table): Copy standard table if there is one,
@@ -3365,7 +3365,7 @@
 	(ispell-command-loop): Properly adjust screen with different settings
 	of ispell-choices-win-default-height.
 	(check-ispell-version): Use fundamental-mode as default-major-mode.
-	(ispell-change-dictionary): Remove unnecessary process kills
+	(ispell-change-dictionary): Remove unnecessary process kills.
 	(ispell-region): Fold sgml support in with tib checking.
 	(ispell-message): Skips checking of forwarded messages.
 
@@ -3526,7 +3526,7 @@
 
 1995-02-02  Richard Stallman  <rms@pogo.gnu.ai.mit.edu>
 
-	* c-mode.el (c-mode-map): No binding for c-fill-paragraph
+	* c-mode.el (c-mode-map): No binding for c-fill-paragraph.
 	(c-fill-paragraph): Return t.
 	(c-mode): Put c-fill-paragraph in fill-paragraph-function.
 
@@ -3770,7 +3770,7 @@
 	* tempo.el (tempo-insert-template): Quoted transient-mark-mode
 	Expansion around region now puts point at the first mark.
 
-	* tempo.el (tempo-region-start, tempo-region-stop): New variables
+	* tempo.el (tempo-region-start, tempo-region-stop): New variables.
 	(tempo-insert-template, tempo-insert): Don't affect the
 	mark.  Check for Transient Mark mode.
 
@@ -3965,7 +3965,7 @@
 	Keybinding for bold-italic changed from M-g o to M-g l; M-g o is
 	now "other".
 	(facemenu-justification-menu, facemenu-indentation-menu):
-	New submenus, moved from enriched.el
+	New submenus, moved from enriched.el.
 	(list-colors-display, facemenu-color-equal): New functions.
 	(facemenu-menu): Added "Display Faces" item.
 	(facemenu-new-faces-at-end): New variable.
@@ -4554,18 +4554,18 @@
 	reference keys before they are used.
 	(bibtex-generate-autokey, bibtex-clean-entry): New function to
 	generate an autokey if necessary.
-	(bibtex-autokey-names, bibtex-autokey-name-change-strings,
-	bibtex-autokey-name-length, bibtex-autokey-name-separator,
-	bibtex-autokey-year-length, bibtex-autokey-titlewords,
-	bibtex-autokey-title-terminators,
-	bibtex-autokey-titlewords-stretch,
-	bibtex-autokey-titleword-first-ignore,
-	bibtex-autokey-titleword-abbrevs,
-	bibtex-autokey-titleword-change-strings,
-	bibtex-autokey-titleword-length,
-	bibtex-autokey-titleword-separator,
-	bibtex-autokey-name-year-separator,
-	bibtex-autokey-year-title-separator): New variables related to
+	(bibtex-autokey-names, bibtex-autokey-name-change-strings)
+	(bibtex-autokey-name-length, bibtex-autokey-name-separator)
+	(bibtex-autokey-year-length, bibtex-autokey-titlewords)
+	(bibtex-autokey-title-terminators)
+	(bibtex-autokey-titlewords-stretch)
+	(bibtex-autokey-titleword-first-ignore)
+	(bibtex-autokey-titleword-abbrevs)
+	(bibtex-autokey-titleword-change-strings)
+	(bibtex-autokey-titleword-length)
+	(bibtex-autokey-titleword-separator)
+	(bibtex-autokey-name-year-separator)
+	(bibtex-autokey-year-title-separator): New variables related to
 	bibtex-generate-autokey.
 	(bibtex-find-entry-location): Optional second parameter maybedup
 	to tell it that entering a duplicate entry isn't to report by an
@@ -4591,14 +4591,14 @@
 	(validate-bibtex-buffer): Completely rewritten to validate, if
 	buffer is syntactically correct.
 	(find-bibtex-duplicates): Moved into validate-bibtex-buffer.
-	(ispell-abstract, bibtex-ispell-abstract, ispell-bibtex-entry,
-	bibtex-ispell-entry, beginning-of-bibtex-entry,
-	bibtex-beginning-of-entry, end-of-bibtex-entry,
-	bibtex-end-of-entry, hide-bibtex-entry-bodies,
-	bibtex-hide-entry-bodies, narrow-to-bibtex-entry,
-	bibtex-narrow-to-entry, sort-bibtex-entries, bibtex-sort-entries,
-	validate-bibtex-buffer, bibtex-validate-buffer,
-	find-bibtex-entry-location, bibtex-find-entry-location): All
+	(ispell-abstract, bibtex-ispell-abstract, ispell-bibtex-entry)
+	(bibtex-ispell-entry, beginning-of-bibtex-entry)
+	(bibtex-beginning-of-entry, end-of-bibtex-entry)
+	(bibtex-end-of-entry, hide-bibtex-entry-bodies)
+	(bibtex-hide-entry-bodies, narrow-to-bibtex-entry)
+	(bibtex-narrow-to-entry, sort-bibtex-entries, bibtex-sort-entries)
+	(validate-bibtex-buffer, bibtex-validate-buffer)
+	(find-bibtex-entry-location, bibtex-find-entry-location): All
 	interactive functions are renamed, so that any interface function
 	begins with "bibtex-".  Mapping:
 	ispell-abstract            --> bibtex-ispell-abstract
@@ -4610,8 +4610,8 @@
 	sort-bibtex-entries        --> bibtex-sort-entries
 	validate-bibtex-buffer     --> bibtex-validate-buffer
 	find-bibtex-entry-location --> bibtex-find-entry-location
-	(bibtex-maintain-sorted-entries,
-	bibtex-sort-ignore-string-entries): Default is now t.
+	(bibtex-maintain-sorted-entries)
+	(bibtex-sort-ignore-string-entries): Default is now t.
 	(bibtex-complete-string): String list is built from additional
 	string list bibtex-predefined-string and current strings in file.
 	(string-equalp): Deleted and substituted by string-equal.
@@ -4633,8 +4633,8 @@
 	(bibtex-current-entry-label, put-string-on-kill-ring): Deleted
 	(AUCTeX provides all the functionality needed for citation
 	completion).
-	(bibtex-enclosing-reference, bibtex-pop-previous, bibtex-pop-next,
-	bibtex-clean-entry): Hacked for speed (bibtex-pop-previous and
+	(bibtex-enclosing-reference, bibtex-pop-previous, bibtex-pop-next)
+	(bibtex-clean-entry): Hacked for speed (bibtex-pop-previous and
 	bibtex-pop-next were to slow for larger BibTeX files).
 	(bibtex-pop-previous, bibtex-pop-next): Delimiters from previous
 	or next entry are changed to actual delimiters if necessary.
@@ -4657,7 +4657,7 @@
 	bibtex-pop-next didn't work, probably due to a bug in
 	re-search-forward).
 	(several functions): Added support for {} as field delimiters
-	(better than '"' for accented characters.
+	(better than '"' for accented characters).
 	(bibtex-clean-entry): If optional field crossref is empty or
 	missing, former optional fields (if bibtex-include-OPTcrossref was
 	t) are necessary again.  bibtex-clean-entry complains if they are
@@ -4825,8 +4825,8 @@
 1994-12-09  Ken Stevens  <stevensk@afit.af.mil>
 
 	* ispell.el: Added ispell-offset for version consistency.
-	(ispell-dictionary-alist): Updated dictionaries & better match defaults
-	(ispell-alternate-dictionary): Added /usr/shar path
+	(ispell-dictionary-alist): Updated dictionaries & better match defaults.
+	(ispell-alternate-dictionary): Added /usr/shar path.
 	(ispell-menu-map-needed): Redo changes that made this incompatible
 	with earlier versions of Emacs19.
 	(ispell-required-version): Changed to assure version 3.1.12 accessed.
@@ -6112,7 +6112,7 @@
 1994-10-07  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
 
 	* mouse.el (mouse-major-mode-menu): New function, on C-mouse-3.
-	(mouse-major-mode-menu-1): New function
+	(mouse-major-mode-menu-1): New function.
 	(mouse-set-font): Move it to C-mouse-2.
 
 	* font-lock.el (font-lock-defaults-alist): Delete most modes--all
@@ -6534,7 +6534,7 @@
 
 	* cc-mode.el (c-progress-info, c-progress-init)
 	(c-progress-update, c-progress-fini):
-	New vars/defuns for better long indentation progress reporting
+	New vars/defuns for better long indentation progress reporting.
 	(c-indent-exp, c-indent-region): Use them.
 
 	* cc-mode.el (c-guess-basic-syntax):
@@ -6542,7 +6542,7 @@
 	find proper relpos of an arglist-cont.
 
 	* cc-mode.el (c-offset-alist-default):
-	statement-case-open default offset is zero
+	statement-case-open default offset is zero.
 	(c-skip-case-statement-forward): New function.
 	(c-guess-basic-syntax): CASE 15: use c-skip-case-statement-forward in
 	proper places to find the real relpos of statement's inside switch
@@ -8795,9 +8795,9 @@
 	`gnus-uu-asynchronous' variable set.
 	(gnus-uu-ctl-map): Removed the keystrokes `C-c C-v C-h' and
 	`C-c C-v h' from the keymap.
-	(gnus-uu-decode-and-view-all-articles,
-	(gnus-uu-decode-and-view-all-unread-articles,
-	(gnus-uu-decode-and-save-all-unread-articles,
+	(gnus-uu-decode-and-view-all-articles)
+	(gnus-uu-decode-and-view-all-unread-articles)
+	(gnus-uu-decode-and-save-all-unread-articles)
 	(gnus-uu-decode-and-save-all-articles): Accept prefix arg for # files.
 	(gnus-uu-uustrip-article-as): Waits for uudecode to finish before
 	further treatment of the resulting files.
--- a/lisp/ChangeLog.6	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/ChangeLog.6	Sun Jul 25 23:02:59 2010 +0000
@@ -1420,7 +1420,7 @@
 	Added default constants.
 	(simula-emacs-features): New constant to hold information
 	on which flavor if emacs is running (from cc-mode.el).
-	(simula-mode-menu): Menu definition for Lucid Emacs
+	(simula-mode-menu): Menu definition for Lucid Emacs.
 	(simula-mode-map): Bound new command simula-indent-exp to C-M-q
 	and added lots of commands to [menu-bar].
 	(simula-popup-menu): New function for Lucid menus.
@@ -1577,7 +1577,7 @@
 	(gomoku-winning-qtuple-beg, gomoku-winning-qtuple-end)
 	(gomoku-winning-qtuple-dx, gomoku-winning-qtuple-dy): Pseudo variables
 	only used for non-functional argument passing deleted.
-	(gomoku-cross-winning-qtuple): Accordingly deleted function and
+	(gomoku-cross-winning-qtuple): Accordingly deleted function.
 	(gomoku-check-filled-qtuple): Accordingly adapted.
 	(gomoku-cross-qtuple): Don't be confused by tabs.
 	(gomoku-move-down, gomoku-move-up): Simplified because point is always
@@ -2455,7 +2455,7 @@
 
 	* ediff-init.el (ediff-hide-face): New function.
 	(ediff-collect-diffs-metajob): Fixed.
-	(ediff-check-for-cl-seq): Function deleted
+	(ediff-check-for-cl-seq): Function deleted.
 	(ediff-abbreviate-file-name): Now a defun.
 	(ediff-has-face-support-p): New function.  Ediff now supports
 	faces whenever possible.
@@ -2475,7 +2475,7 @@
 	(run-ediff-from-cvs-buffer): New function.  Moved all
 	version-control-related stuff to a new file, ediff-vers.el.
 
-	* ediff-util.el (ediff-save-buffer-in-file): New function
+	* ediff-util.el (ediff-save-buffer-in-file): New function.
 	(ediff-visible-region): No longer narrows the merge buffer.
 	(ediff-status-info): Now tells if we are focusing on regions where
 	both buffers differ from the ancestor.
@@ -5884,7 +5884,7 @@
 
 	* ediff-meta.el: New file.
 	* ediff-hook.el: New file.
-	* ediff.el: Moved menubar definitions to a new file, ediff-hook.el
+	* ediff.el: Moved menubar definitions to a new file, ediff-hook.el.
 	(ediff-files, ediff-merge-files): Better file-name defaults.
 	(ediff-split-string): New function.
 	(ediff-exec-process): Now handles diff args separated by space.
@@ -6855,11 +6855,11 @@
 
 1995-08-15  Daniel Pfeiffer  <Daniel.Pfeiffer@Informatik.START.dbp.de>
 
-	* skeleton.el (skeleton-pair-insert-maybe): Plain insert in Ovwrt mode
+	* skeleton.el (skeleton-pair-insert-maybe): Plain insert in Ovwrt mode.
 	(skeleton-insert): If skeleton doesn't fit in window, put beginning
 	at top before going to _ point.
 	(skeleton-internal-list): Rewritten so that resume: sections pertain
-	only to inferior skeletons and make str available there
+	only to inferior skeletons and make str available there.
 	(skeleton-read): Don't quit and remove partial skeleton when empty
 	string entered for outer iterator.  Added implicit argument `input'.
 	(define-skeleton, skeleton-insert, skeleton-internal-list): Use `x
@@ -7301,7 +7301,7 @@
 1995-07-22  Daniel Pfeiffer  <Daniel.Pfeiffer@Informatik.START.dbp.de>
 
 	* apropos.el: Add latest changes of old library and some more.
-	(apropos): Only show unbound symbols when do-all
+	(apropos): Only show unbound symbols when do-all.
 	(apropos-documentation-check-elc-file): New copied function.
 	(apropos-command): Also use `apropos-do-all' when called as function.
 	(apropos-print-doc): Renamed from `apropos-print-documentation', i
@@ -7632,7 +7632,7 @@
 	(apropos-use-faces, apropos-local-map): New variables.
 	(apropos-command): New name for `command-apropos' no longer in help.el.
 	(apropos-value): New command.
-	(apropos-documentation): New name for `super-apropos'
+	(apropos-documentation): New name for `super-apropos'.
 	(apropos-follow, apropos-mouse-follow): New commands for hypertext.
 	(apropos-describe-plist): New function.
 
@@ -7644,8 +7644,8 @@
 
 	* skeleton.el: Partly rewritten and extended.
 	(skeleton-filter, skeleton-untabify, skeleton-further-elements)
-	(skeleton-abbrev-cleanup): New variables
-	(skeleton-proxy, skeleton-abbrev-cleanup): New functions
+	(skeleton-abbrev-cleanup): New variables.
+	(skeleton-proxy, skeleton-abbrev-cleanup): New functions.
 	(skeleton-insert): Sublanguage element < must now be handled via
 	`skeleton-further-elements' (used only in sh-script and ada).  Lisp
 	expressions can be quoted to ignore the return value.
@@ -7798,7 +7798,7 @@
 
 1995-06-29  David M. Smith  <D.M.Smith@lancaster.ac.uk>
 
-	* ielm.el (ielm-font-lock-keywords): New variable
+	* ielm.el (ielm-font-lock-keywords): New variable.
 	(inferior-emacs-lisp-mode): Use it for font-lock support
 
 1995-06-29  Bryan O'Sullivan  <bos@Eng.Sun.COM>
--- a/lisp/ChangeLog.8	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/ChangeLog.8	Sun Jul 25 23:02:59 2010 +0000
@@ -104,7 +104,7 @@
 	version numbering regexp list
 	change-log-version-number-regexp-list.
 	(change-log-find-version): Renamed to
-	change-log-version-number-search
+	change-log-version-number-search.
 	(add-log-file-name-function): New.
 	(change-log-search-vc-number): Added END parameter.  Added doc
 	string to function.
@@ -338,7 +338,7 @@
 1999-12-15  Carsten Dominik  <dominik@astro.uva.nl>
 
 	* textmodes/reftex.el (reftex-compile-variables): Respect new
-	structure of `reftex-index-macro'
+	structure of `reftex-index-macro'.
 	(reftex-compile-variables): Use the changed structure of
 	`reftex-label-alist'.
 
@@ -448,7 +448,7 @@
 	ps-mule-prepare-cmpchar-font): Deleted.
 	(ps-mule-string-encoding): New arg NO-SETFONT.
 	(ps-mule-bitmap-prologue): In Postscript code of BuildGlyphCommon,
-	check Composing, not Cmpchar
+	check Composing, not Cmpchar.
 	(ps-mule-initialize): Set ps-mule-composition-prologue-generated
 	to nil.
 	(ps-mule-begin-job): Check existence of new composition.
@@ -978,7 +978,7 @@
 	(font-lock-add-keywords): Rename `major-mode' into `mode'.
 	(font-lock-remove-keywords): Added a dummy `mode' argument for
 	potential future support.
-	(font-lock-fontify-anchored-keywords,
+	(font-lock-fontify-anchored-keywords)
 	(font-lock-fontify-keywords-region): Only handle multiline strings
 	if necessary (avoids a pathological behavior in (f.ex) diff-mode).
 
@@ -1603,7 +1603,7 @@
 	the new backquote syntax.
 	(smbclient-program, smbclient-program-options)
 	(smbclient-prompt-regexp, smbclient-font-lock-keywords): New
-	variables
+	variables.
 	(smbclient, smbclient-list-shares): New functions
 
 1999-11-12  Sam Steingold  <sds@ksp.com>
@@ -1858,7 +1858,7 @@
 	* whitespace.el: Test for existence of `defcustom' and `defgroup'
 	using fboundp instead of assuming that these are not present in
 	particular flavors of emacs.
-	(whitespace-version): Update to 2.8
+	(whitespace-version): Update to 2.8.
 	(whitespace-display-in-modeline): Add custom variable to control
 	displaying the whitespace errors on the modeline based on
 	suggestion from <klaus.berndl@sdm.de>
@@ -2136,17 +2136,17 @@
 1999-10-19  Peter Kleiweg  <kleiweg@let.rug.nl>
 
 	* progmodes/ps-mode.el (ps-mode-print-function): Fix default
-	value: \"lpr\" changed to "lpr"
-	(ps-mode-version): New constant
-	(ps-mode-show-version): New function, added key in ps-mode-map
-	(ps-run-messages): Removed
+	value: \"lpr\" changed to "lpr".
+	(ps-mode-version): New constant.
+	(ps-mode-show-version): New function, added key in ps-mode-map.
+	(ps-run-messages): Removed.
 	(ps-run-font-lock-keywords-2): New defcustom variable replacing
 	ps-run-messages.  These keywords now include the value of
 	ps-run-prompt, making its fontification customizable.
 	(ps-run-init): Removed \\n from docstring, it is now added when
-	the value is used
+	the value is used.
 	(ps-run-font-lock-keywords-1): Added checking for initial ^ in
-	ps-run-prompt
+	ps-run-prompt.
 	(ps-mode): Added ps-run-font-lock-keywords-2 to list of
 	customizable variables in doc-string (its equivalent
 	ps-run-messages was missing in previous version of the doc-string).
@@ -2271,7 +2271,7 @@
 1999-10-14  Stefan Monnier  <monnier@cs.yale.edu>
 
 	* ange-ftp.el (ange-ftp-make-tmp-name, ange-ftp-del-tmp-name):
-	* browse-url.el (browse-url-of-buffer, browse-url-delete-temp-file),
+	* browse-url.el (browse-url-of-buffer, browse-url-delete-temp-file)
 	(browse-url-temp-file-list, browse-url-delete-temp-file-list):
 	* ediff-util.el (ediff-make-temp-file):
 	* ediff-vers.el (ediff-pcl-cvs-view-revision):
@@ -2830,7 +2830,7 @@
 	(custom-buffer-create-internal): Obey custom-raised-buttons,
 	Custom-buffer-done.
 	(custom-button-face): Make it `released-button'.
-	(custom-button-pressed-face): Make it `pressed-button'
+	(custom-button-pressed-face): Make it `pressed-button'.
 	(custom-mode-map): Bind "q" to Custom-buffer-done.
 	(custom-mode): Deal with raised/pressed buttons.
 
@@ -2987,7 +2987,7 @@
 	font-lock-defaults setting.
 	(java-properties-generic-mode): Supports both ! and # as comment
 	characters.
-	(java-properties-generic-mode): Added an imenu-generic-expression
+	(java-properties-generic-mode): Added an imenu-generic-expression.
 	(java-properties-generic-mode): Reworked to support the various
 	different ways to separate name and value (viz, '=', ':' and
 	whitespace).
@@ -3483,7 +3483,7 @@
 	(reftex-toc-find-section): Use new version of `reftex-nearest-match'.
 	(reftex-insert-docstruct): Adapted to work with the index stuff.
 	(reftex-parse-from-file): Find index entries as well.
-	(reftex-toc-toggle-index): New function
+	(reftex-toc-toggle-index): New function.
 	(reftex-toc-map): `i' is now used to toggle the index, File
 	boundaries has been moved to `F'.
 	(reftex-select-label-map): Toggling display of file boundaries is
@@ -3506,7 +3506,7 @@
 	(reftex-index-section-letters, reftex-index-include-context)
 	(reftex-index-follow-mode, reftex-index-header-face)
 	(reftex-index-section-face, reftex-index-tag-face)
-	(reftex-index-face): New options
+	(reftex-index-face): New options.
 	(reftex-index-map, reftex-index-menu, reftex-last-index-file)
 	(reftex-index-tag, reftex-index-return-marker)
 	(reftex-index-restriction-indicator, reftex-index-restriction-data)
@@ -3514,9 +3514,9 @@
 	(reftex-index-key-end-re, reftex-find-index-entry-regexp-format)
 	(reftex-everything-regexp-no-index, reftex-index-re)
 	(reftex-macros-with-index, reftex-index-macro-alist): New variables.
-	(reftex-index-help, reftex-index-macros-builtin,
+	(reftex-index-help, reftex-index-macros-builtin)
 	(reftex-key-to-index-macro-alist, reftex-query-index-macro-prompt)
-	(reftex-query-index-macro-help): New constants
+	(reftex-query-index-macro-help): New constants.
 	(reftex-index-selection-or-word, reftex-index)
 	(reftex-default-index, reftex-update-default-index)
 	(reftex-index-complete-tag, reftex-index-select-tag)
@@ -3607,7 +3607,7 @@
 	window; and poles can be oriented horizontally.  Face support is
 	thrown in gratuitously.
 	(hanoi): Changed default number of rings back to 3.
-	(hanoi-unix, hanoi-unix-64): New commands
+	(hanoi-unix, hanoi-unix-64): New commands.
 	(hanoi-horizontal-flag, hanoi-move-period, hanoi-use-faces,
 	hanoi-pole-face, hanoi-base-face, hanoi-even-ring-face,
 	hanoi-odd-ring-face): New variables.
@@ -5777,20 +5777,20 @@
 1999-03-12  Eric M. Ludlam  <zappo@ultranet.com>
 
 	* speedbar.el: Added commentary about stealthy functions.
-	(speedbar-message) new function.
-	(speedbar-y-or-n-p): New function
-	(speedbar-with-attached-buffer) Moved macro before reference.
+	(speedbar-message): New function.
+	(speedbar-y-or-n-p): New function.
+	(speedbar-with-attached-buffer): Moved macro before reference.
 	Now uses `save-selected-window'.
-	(speedbar-mouse-hscroll, speedbar-track-mouse, speedbar-refresh,
-	speedbar-generic-item-info, speedbar-item-info-file-helper,
-	speedbar-item-delete, speedbar-insert-generic-list,
-	speedbar-timer-fn, speedbar-check-vc-this-line,
-	speedbar-check-obj-this-line, speedbar-fetch-dynamic-etags,
-	speedbar-buffers-item-info) Use speedbar-message.
-	(speedbar-item-info) Limit `message-log-max'.
-	(speedbar-item-load, speedbar-item-copy, speedbar-item-rename,
-	speedbar-item-delete, speedbar-item-object-delete,
-	speedbar-buffer-kill-buffer) Use speedbar-y-or-n-p.
+	(speedbar-mouse-hscroll, speedbar-track-mouse, speedbar-refresh)
+	(speedbar-generic-item-info, speedbar-item-info-file-helper)
+	(speedbar-item-delete, speedbar-insert-generic-list)
+	(speedbar-timer-fn, speedbar-check-vc-this-line)
+	(speedbar-check-obj-this-line, speedbar-fetch-dynamic-etags)
+	(speedbar-buffers-item-info): Use speedbar-message.
+	(speedbar-item-info): Limit `message-log-max'.
+	(speedbar-item-load, speedbar-item-copy, speedbar-item-rename)
+	(speedbar-item-delete, speedbar-item-object-delete)
+	(speedbar-buffer-kill-buffer): Use speedbar-y-or-n-p.
 
 1999-03-10  Kenichi Handa  <handa@mulelab.etl.go.jp>
 
@@ -6230,7 +6230,7 @@
 
 1999-02-12  Alex Schroeder  <a.schroeder@bsiag.ch>
 
-	* sql.el: Set version to 1.3.2
+	* sql.el: Set version to 1.3.2.
 	(sql-solid-program): Added support for solid.
 	(sql-help): Doc mentions sql-solid.
 	(sql-solid): Entry function for Solid.
@@ -6384,7 +6384,7 @@
 	coding-system-list here.
 
 	* international/mule.el (coding-system-lessp): Moved here from
-	mule-util.el
+	mule-util.el.
 	(add-to-coding-system-list): New function.
 	(make-subsidiary-coding-system, make-coding-system,
 	define-coding-system-alias): Use it instead of setting
@@ -6721,7 +6721,7 @@
 	(speedbar-add-mode-functions-list) Improve doc.
 	(speedbar-line-token) New function.
 	(speedbar-dired) Fix order of directories in -shown-directories.
-	(speedbar-line-path): Default return is default-directory
+	(speedbar-line-path): Default return is default-directory.
 	(speedbar-buffers-line-path): Return is dir name only.
 	(speedbar-mode-functions-list): New variable.
 	(speedbar-mouse-item-info): Rewrote to be a replaceable fn.
@@ -7321,7 +7321,7 @@
 1998-12-29  Masatake Yamato  <masata-y@tori.aist-nara.ac.jp>
 
 	* page-ext.el: Added mouse-selection feature for pages directory buffer.
-	(pages-directory-map): Bind mouse-2
+	(pages-directory-map): Bind mouse-2.
 	(pages-copy-header-and-position): Put text property.
 	(pages-directory-goto-with-mouse): New function.
 
@@ -7399,7 +7399,7 @@
 	(cperl-after-block-p): Likewise.
 	(cperl-after-block-and-statement-beg): Likewise.
 	(cperl-after-block-p): After END/BEGIN we are a block.
-	(cperl-after-expr-p): Skip labels when checking
+	(cperl-after-expr-p): Skip labels when checking.
 	(cperl-indent-region): Make a marker for END - text added/removed.
 	Disable hooks during the call (how to call them later?).
 	Now indents 820-line-long function in 6.5 sec (including
@@ -7462,7 +7462,7 @@
 	(cperl-fix-line-spacing): Sped up to bail out early.
 	(x-color-defined-p): Was not compiling on XEmacs
 	Was defmacro'ed with a tick.  Remove another def.
-	(cperl-clobber-lisp-bindings): If set, C-c variants are the old ones
+	(cperl-clobber-lisp-bindings): If set, C-c variants are the old ones.
 	(cperl-unwind-to-safe): New function.
 	(cperl-fontify-syntaxically): Use `cperl-unwind-to-safe' to start at
 	reasonable position.
@@ -7512,7 +7512,7 @@
 	(cperl-etags-goto-tag-location): New macro.
 	(cperl-version): New variable.  New menu entry
 	random docstrings: References to "future" 20.3 removed.
-	Menu was described as `CPerl' instead of `Perl'
+	Menu was described as `CPerl' instead of `Perl'.
 	(perl-font-lock-keywords): Would not highlight `sub foo($$);'.
 	(cperl-toggle-construct-fix): Was toggling to t instead of 1.
 	(cperl-ps-print-init): Associate `cperl-array-face', `cperl-hash-face'
@@ -8972,7 +8972,7 @@
 	set unconditional-jump to nil.
 	(ccl-compile-read-multibyte-character): Return nil.
 	(ccl-compile-write-multibyte-character): Likewise.
-	(ccl-compile-translate-character): Likewise
+	(ccl-compile-translate-character): Likewise.
 	(ccl-compile-map-multiple): Likewise.
 	(ccl-compile-map-single): Likewise.
 
@@ -9055,7 +9055,7 @@
 
 	* net-utils.el (ftp, nslookup): Require comint.
 	(network-service-connection): Likewise.
-	(whois-server-name): Defaults to whois.arin.net
+	(whois-server-name): Defaults to whois.arin.net.
 	(whois-server-list, whois-server-tld, whois-guess-server): New var.
 	(whois): Tries to guess the appropriate top-level domain server.
 	(whois-get-tld): New function.
@@ -9599,7 +9599,7 @@
 	(reftex-view-cr-cite, reftex-view-cr-ref, reftex-end-of-bib-entry):
 	New functions.
 	(reftex-auto-view-crossref): New value `window' allowed.
-	(reftex-view-crossref-when-idle): Process new `window' option in
+	(reftex-view-crossref-when-idle): Process new `window' option.
 	(reftex-translate-to-ascii-function): New default.
 	(reftex-label-illegal-re): Default changed, removed Latin1.
 	(reftex-latin1-to-ascii): New function.
@@ -9639,7 +9639,7 @@
 	(checkdoc-this-string-valid): When converting a comment into a doc
 	string, make sure " chars are \".
 	(checkdoc-sentencespace-region-engine): Only do double space check
-	if based on the variable `sentence-end-double-space'
+	if based on the variable `sentence-end-double-space'.
 	(checkdoc-this-string-valid-engine): ? ends valid sentence.
 	(checkdoc-proper-noun-region-engine): Exclude items in URLs
 
--- a/lisp/ChangeLog.9	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/ChangeLog.9	Sun Jul 25 23:02:59 2010 +0000
@@ -242,8 +242,8 @@
 	(cperl-find-pods-heres): Could access `font-lock-comment-face' in -nw.
 	No -nw-compile time warnings now.
 	(cperl-find-tags): TAGS file had too short substring-to-search.
-	Be less verbose in non-interactive mode
-	(imenu-example--create-perl-index): Set index-marker after name
+	Be less verbose in non-interactive mode.
+	(imenu-example--create-perl-index): Set index-marker after name.
 	(cperl-outline-regexp): New variable.
 	(cperl-outline-level): Made compatible with `cperl-outline-regexp'.
 	(cperl-mode): Made use `cperl-outline-regexp'.
@@ -479,7 +479,7 @@
 	(help-setup-xref, help-xref-following, help-make-xrefs)
 	(help-xref-button, help-insert-xref-button, help-xref-interned)
 	(help-xref-go-back, help-go-back, help-do-xref, help-follow)
-	(help-xref-on-pp): Functions moved into `help-mode.el'
+	(help-xref-on-pp): Functions moved into `help-mode.el'.
 	(help-mode-map, help-xref-stack, help-xref-stack-item)
 	(help-highlight-p, help-highlight-face, help-back-label)
 	(help-xref-symbol-regexp, help-xref-mule-regexp)
@@ -1188,7 +1188,7 @@
 2001-09-07  Eli Zaretskii  <eliz@is.elta.co.il>
 
 	* textmodes/ispell.el (ispell-dictionary-alist-4): Add "german"
-	and "german8", for the new German orthography dictionaries,
+	and "german8", for the new German orthography dictionaries.
 	(ispell-dictionary-alist-5, ispell-dictionary-alist-6): Rearrange
 	the entries, to keep the line length balanced for loaddefs.el.
 
@@ -2072,7 +2072,7 @@
 
 	* ediff-init.el (ediff-with-syntax-table): New macro, uses
 	with-syntax-table.
-	(ediff-coding-system-for-read): From ediff-diff.el
+	(ediff-coding-system-for-read): From ediff-diff.el.
 	(ediff-coding-system-for-write): New variable.
 	(ediff-highest-priority): Fixed the bug having to do with disappearing
 	overlays.
@@ -6812,7 +6812,7 @@
 	to nil.
 
 	* tooltip.el (tooltip-frame-parameters): Remove colors.
-	(tooltip): New face
+	(tooltip): New face.
 	(tooltip-set-param): New function.
 	(tooltip-show): Set up color frame parameters from face `tooltip'.
 	Display the tooltip text in face `tooltip'.
@@ -8804,7 +8804,7 @@
 
 2000-11-12  Dave Love  <fx@gnu.org>
 
-	* mail/feedmail.el: Fix header,
+	* mail/feedmail.el: Fix header.
 	(feedmail) <defgroup>: Add :link.
 
 	* view.el: Use local-map property, not keymap on mode-line string.
@@ -10715,7 +10715,7 @@
 	* iswitchb.el (iswitchb-mode): Add :require.
 
 	* info.el (Info-goto-node, Info-menu): Doc fix.
-	(Info-mode-menu): Bind beginning-of-buffer, Info-edit
+	(Info-mode-menu): Bind beginning-of-buffer, Info-edit.
 	(info-tool-bar-map): New variable.
 	(Info-mode): Use it.
 	(Info-edit-map): Define all in defvar.
@@ -11010,7 +11010,7 @@
 
 	* net/net-utils.el (nslookup-font-lock-keywords)
 	(ftp-font-lock-keywords, smbclient-font-lock-keywords):
-	Only set if window-system is non-nil
+	Only set if window-system is non-nil.
 	(net-utils-run-program): Returns buffer.
 	(network-connection-reconnect): Added this function.
 
@@ -11025,13 +11025,13 @@
 	(generic-mode-alist): Renamed to generic-mode-list.
 	(generic-find-file-regexp): Default changed to "^#".
 	(generic-read-type): Uses completing read on generic-mode-list.
-	(generic-mode-sanity-check): removed this function.
-	(generic-add-to-auto-mode): Removed this function
+	(generic-mode-sanity-check): Removed this function.
+	(generic-add-to-auto-mode): Removed this function.
 	(generic-mode-internal): Bind mode-specific definitions
 	into function instead of putting them in alist.
 	(generic-mode-set-comments): Reworked extensively.
-	(generic-mode-find-file-hook): Simplified regexp searching
-	(generic-make-keywords-list): Omit extra pair of parens
+	(generic-mode-find-file-hook): Simplified regexp searching.
+	(generic-make-keywords-list): Omit extra pair of parens.
 
 	* find-lisp.el (find-lisp-find-files-internal):
 	Make sure directory name ends with "/".
@@ -11040,7 +11040,7 @@
 	Regexp now allows leading whitespace.
 	(rc-generic-mode): Added eval-when-compile
 	around generic-make-keywords-list.
-	Deleted duplicate regexp
+	Deleted duplicate regexp.
 	(rul-generic-mode): Added eval-when-compile
 	around generic-make-keywords-list.
 	(etc-fstab-generic-mode): New generic mode.
@@ -11356,7 +11356,7 @@
 	(comint-insert-clicked-input): Be more careful to find the overlay.
 	Use this-command-keys rather than hardcoding mouse-2.
 
-	* font-lock.el: Replace confusing (,@ with ,
+	* font-lock.el: Replace confusing (,@ with ,.
 	(tex-font-lock-keywords-1, tex-font-lock-keywords-2):
 	Don't use regexp-opt-depth.  Spice up the regexp for args.
 	Don't distinguish between cmds that can take an opt arg or not.
@@ -11885,7 +11885,7 @@
 	New functions, used instead of non-`strokes-' versions..
 	(strokes-mouse-event-p): Rewritten.
 	(strokes-event-closest-point): Avoid event-point.
-	(strokes-get-grid-position): Avoid cdadr, caadr
+	(strokes-get-grid-position): Avoid cdadr, caadr.
 	(strokes-read-stroke, strokes-read-complex-stroke): Avoid levents
 	functions.
 	(strokes-help): Use with-output-to-temp-buffer.
@@ -14110,14 +14110,14 @@
 	* locate.el (locate): Cleaned up locate command's interactive prompting
 	Thanks to François_Pinard <pinard@iro.umontreal.ca> for suggestions.
 
-	* filecache.el (file-cache-case-fold-search): New variable
-	(file-cache-assoc-function): New variable
+	* filecache.el (file-cache-case-fold-search): New variable.
+	(file-cache-assoc-function): New variable.
 	(file-cache-minibuffer-complete): Use file-cache-assoc-function.
-	Use file-cache-case-fold-search variable
-	(file-cache-add-file): Use file-cache-assoc-function
-	(file-cache-delete-file): likewise
-	(file-cache-directory-name): likewise
-	(file-cache-debug-read-from-minibuffer): likewise
+	Use file-cache-case-fold-search variable.
+	(file-cache-add-file): Use file-cache-assoc-function.
+	(file-cache-delete-file): Likewise.
+	(file-cache-directory-name): Likewise.
+	(file-cache-debug-read-from-minibuffer): Likewise.
 
 2000-08-28  Gerd Moellmann  <gerd@gnu.org>
 
@@ -14191,12 +14191,12 @@
 
 	* international/ja-dic-cnv.el: Renamed from skkdic-cnv.el.
 	Provide ja-dic-cnv instead of skkdic-cnv.
-	(ja-dic-filename): Renamed from skkdic-filename.  Referers changed
+	(ja-dic-filename): Renamed from skkdic-filename.  Referers changed.
 	(iso-2022-7bit-short): Add safe-charsets property.
 	(skkdic-convert-postfix): Search Japanese chou-on character in
 	addition to Hiragana character.
 	(skkdic-convert-prefix, skkdic-collect-okuri-nasi): Likewise.
-	(skkdic-convert): Change file names from skkdic.el to ja-dic.el
+	(skkdic-convert): Change file names from skkdic.el to ja-dic.el.
 	(batch-skkdic-convert): Likewise.
 
 	* international/ja-dic-utl.el: Renamed from skkdic-utl.el.
@@ -14389,12 +14389,12 @@
 	(ispell-dictionary-alist-4): Fixed regexp in francais-tex
 	dictionary, added italiano dictionary.
 	(ispell-skip-region-alist): Removed regexp thrashing when `-' is a
-	word character
+	word character.
 	(ispell-tex-skip-alists): Added psfig support.
 	(ispell-skip-html): Renamed from ispell-skip-sgml.
 	(ispell-begin-skip-region-regexp, ispell-skip-region)
 	(ispell-minor-check): Improved html skipping support to skip across
-	code, and recognize `&' commands without proper `;' syntax;
+	code, and recognize `&' commands without proper `;' syntax.
 	(ispell-process-line): Fix alignment error when manually
 	correcting spelling.
 	(ispell): Fix comment string.
@@ -14515,7 +14515,7 @@
 	(goto-address-url-face, goto-address-url-mouse-face)
 	(goto-address-mail-face, goto-address-mail-mouse-face): Doc fix.
 	(goto-address-url-regexp): Use thing-at-point-url-regexp.
-	(goto-address-fontify, goto-address-at-mouse): Simplify,
+	(goto-address-fontify, goto-address-at-mouse): Simplify.
 	(goto-address-at-point): browse-url-url-at-point,
 	goto-address-find-address-at-point can return nil.
 	(goto-address-find-address-at-point): Return nil on failure.
@@ -15501,23 +15501,23 @@
 	ada-xref.el before ada-prj.el, so that the Project menu is created
 	when ada-prj tries to add to it.
 	(ada-activate-keys-for-case): Suppress the characters that are not
-	part of the Ada syntax. Better compatibility with else-mode
+	part of the Ada syntax. Better compatibility with else-mode.
 	(ada-adjust-case-interactive): When auto-casing is not active,
 	correctly insert newlines (used to insert only ^M).  Prevent the
 	syntax table from being changed in case of an error
 	(or '_' becomes part of a word and some commands are confused).
 	Do nothing if ada-auto-case is nil.
-	(ada-after-keyword-p): Ignore keywords that are also attributes
-	(ada-batch-reformat): Update usage comment
-	(ada-call-from-contextual-menu): New function
+	(ada-after-keyword-p): Ignore keywords that are also attributes.
+	(ada-batch-reformat): Update usage comment.
+	(ada-call-from-contextual-menu): New function.
 	(ada-case-read-exceptions): Reinitialize the casing exception list
 	first to nil first, so that the casing exception file can be
 	shared.
 	(ada-check-defun-name): Handles "configure" keyword for gnatdist
 	files.
 	(ada-compile-goto-error): Fix regexp used to detect a file:line
-	anywhere in the error message
-	(ada-contextual-menu-last-point): New variable
+	anywhere in the error message.
+	(ada-contextual-menu-last-point): New variable.
 	(ada-create-keymap): If the variable delete-key-deletes-forward is
 	t on XEmacs, it means that DEL should delete one character
 	forward.
@@ -15544,21 +15544,21 @@
 	are not in fact seeing "end if".  Ignore "when" statements except
 	when initial keyword was "begin".  Fix handling of nested
 	procedures.  Add a recursive call to this function to skip over
-	other 'end' statmts.  Fix indentation for "when .. => begin"
+	other 'end' statmts.  Fix indentation for "when .. => begin".
 	(ada-in-open-paren-p): Fix indentation for complex boolean
 	expressions, where 'and then', 'or else' and parenthesis
 	statements are mixed up.
 	(ada-in-paramlist-p): Skip comments while searching for the
 	beginning Fix handling of operator declarations.
-	(ada-indent-align-comments): New variable
+	(ada-indent-align-comments): New variable.
 	(ada-indent-current): Change the syntax table only in the
 	protected section, so that we are sure it is restored correctly.
 	(ada-indent-on-previous-lines): Use ada-use-indent and
-	ada-with-indent Correctly indent "select ... then"
+	ada-with-indent.  Correctly indent "select ... then".
 	(ada-indent-region): Slight speedup.
 	(ada-indent-renames): New variable.
 	(ada-last-which-function-subprog, ada-last-which-function-line):
-	New variables
+	New variables.
 	(ada-looking-at-semi-private): Correctly indent the 'private'
 	keyword when it is the first word in a package declaration.
 	(ada-loose-case-word): Stop searching if at the end of the buffer.
@@ -15568,8 +15568,8 @@
 	(ada-mode): Add support for abbrev-mode, outline-mode and
 	which-func-mode Override the old find-file.el entry in
 	ff-special-constructs since it is using the obsolete
-	ada-spec-suffix variable
-	(ada-no-auto-case): New function
+	ada-spec-suffix variable.
+	(ada-no-auto-case): New function.
 	(ada-scan-paramlist): When parsing the argument type, accept
 	spaces (as in "X 'Class", generated by Rational Rose).
 	(ada-other-file-name): No longer loads the other file.
@@ -15578,41 +15578,41 @@
 	(ada-search-ignore-complex-boolean): New function.
 	(ada-uncomment-region): Emacs21 already knows how to delete
 	comments not starting in the first column.
-	(ada-use-indent): New variable
+	(ada-use-indent): New variable.
 	(ada-which-function): New function.
-	(ada-with-indent): New variable
-	(ada-xemacs): evaluate it at compile time too, so that ada-mode.el
+	(ada-with-indent): New variable.
+	(ada-xemacs): Evaluate it at compile time too, so that ada-mode.el
 	can be batch-compiled from the command line.
 
 	* ada-xref.el: Got rid of all byte-compiler warnings on Emacs.
 	Add to the menu when the file is loaded, not in ada-mode-hook.
 	Add -toolbar to the default ddd command Switches moved from
 	ada-prj-default-comp-cmd and ada-prj-default-make-cmd to
-	ada-prj-default-comp-opt
-	(ada-add-ada-menu): Remove the map and name parameters Add the Ada
-	Reference Manual to the menu
-	(ada-check-current): rewritten as a call to ada-compile-current
+	ada-prj-default-comp-opt.
+	(ada-add-ada-menu): Remove the map and name parameters.  Add the Ada
+	Reference Manual to the menu.
+	(ada-check-current): Rewritten as a call to ada-compile-current.
 	(ada-compile): Removed.
 	(ada-compile-application, ada-compile-current, ada-check-current):
 	Set the compilation-search-path so that compile.el automatically
 	finds the sources in src_dir.  Automatic scrolling of the
 	compilation buffer.  C-uC-cC-c asks for confirmation before
-	compiling
-	(ada-compile-current): New parameter, prj-field
+	compiling.
+	(ada-compile-current): New parameter, prj-field.
 	(ada-complete-identifier): Load the .ali file before doing
-	processing
+	processing.
 	(ada-find-ali-file-in-dir): prepend build_dir to obj_dir to
 	conform to gnatmake's behavior.
-	(ada-find-file-in-dir): New function
-	(ada-find-references): Set the environment variables for gnatfind
+	(ada-find-file-in-dir): New function.
+	(ada-find-references): Set the environment variables for gnatfind.
 	(ada-find-src-file-in-dir): New function.
-	(ada-first-non-nil): Removed
+	(ada-first-non-nil): Removed.
 	(ada-gdb-application): Add support for jdb, the java debugger.
 	(ada-get-ada-file-name): Load the original-file first if not done
 	yet.
 	(ada-get-all-references): Handles the new ali syntax (parent types
 	are found between <>).
-	(ada-initialize-runtime-library): New function
+	(ada-initialize-runtime-library): New function.
 	(ada-mode-hook): Always load a project file when a file is opened,
 	so that the casing exceptions are correctly read.
 	(ada-operator-re): Add all missing operators ("abs", "rem", "**").
@@ -15623,36 +15623,36 @@
 	src_dir to initialize ada-search-directories and
 	compilation-search-path,...  Add the standard runtime library to
 	the search path for find-file.
-	(ada-prj-default-debugger): Was missing an opening '{'
+	(ada-prj-default-debugger): Was missing an opening '{'.
 	(ada-prj-default-bind-opt, ada-prj-default-link-opt): New
 	variables.
-	(ada-prj-default-gnatmake-opt): New variable
+	(ada-prj-default-gnatmake-opt): New variable.
 	(ada-prj-find-prj-file): Handles non-file buffers For non-Ada
 	buffers, the project file is the default one Save the windows
 	configuration before displaying the menu.
-	(ada-prj-src-dir, ada-prj-obj-dir, ada-prj-comp-opt,...): Removed
+	(ada-prj-src-dir, ada-prj-obj-dir, ada-prj-comp-opt,...): Removed.
 	(ada-read-identifier): Fix xrefs on operators (for "mod", "and",
 	...)  regexp-quote identifiers names to support operators +,
 	-,... in regexps.
 	(ada-remote): New function.
 	(ada-run-application): Erase the output buffer before starting the
 	run Support remote execution of the application.  Use
-	call-process, or the arguments are incorrectly parsed
+	call-process, or the arguments are incorrectly parsed.
 	(ada-set-default-project-file): Reread the content of the active
 	project file, not the one from the current buffer When a project
 	file is set as the default project, all directories are
 	automatically associated with it.
-	(ada-set-environment): New function
-	(ada-treat-cmd-string): New special variable ${current}
+	(ada-set-environment): New function.
+	(ada-treat-cmd-string): New special variable ${current}.
 	(ada-treat-cmd-string): Revised.  The substitution is now done for
-	any ${...} substring
+	any ${...} substring.
 	(ada-xref-current): If no body was found, compiles the spec
 	instead.  Setup ADA_{SOURCE,OBJECTS}_PATH before running the
 	compiler to get rid of command line length limitations.
-	(ada-xref-get-project-field): New function
-	(ada-xref-project-files): New variable
+	(ada-xref-get-project-field): New function.
+	(ada-xref-project-files): New variable.
 	(ada-xref-runtime-library-specs-path)
-	(ada-xref-runtime-library-ali-path): New variables
+	(ada-xref-runtime-library-ali-path): New variables.
 	(ada-xref-set-default-prj-values): Default run command now does a
 	cd to the build directory.  New field: main_unit Provide a default
 	file name even if the current buffer has no prj file.
@@ -15661,10 +15661,10 @@
 	Rewritten to show a tabbed-dialog.
 	(ada-prj-add-ada-menu): Remove the map and name parameters.
 	(ada-prj-display-page, ada-prj-field, ada-prj-initialize-values):
-	New function
-	(ada-prj-load-directory, ada-prj-subdirs-of): New functions
-	(ada-prj-load-from-file): New function
-	(ada-prj-save): Always save fields that depend on the current buffer
+	New function.
+	(ada-prj-load-directory, ada-prj-subdirs-of): New functions.
+	(ada-prj-load-from-file): New function.
+	(ada-prj-save): Always save fields that depend on the current buffer.
 	(ada-prj-show-value): New function
 
 	* ada-stmt.el (ada-stmt-add-to-ada-menu): Hide the menu if not in
@@ -16918,7 +16918,7 @@
 	(cyrillic-koi8-r-encode-table): Define it as a translation table
 	made from the reverse map of above.
 	(ccl-decode-koi8): Use translate-character.
-	(ccl-encode-koi8, ccl-encode-koi8-font): Likewize
+	(ccl-encode-koi8, ccl-encode-koi8-font): Likewise.
 	(cyrillic-alternativnyj-nonascii-translation-table): Define it as
 	a translation table made from cyrillic-alternativnyj-decode-table.
 	(cyrillic-alternativnyj-encode-table): Define it as a translation
@@ -17470,14 +17470,14 @@
 
 	* speedbar.el (speedbar-easymenu-definition-base): Image toggle fix.
 	(speedbar-insert-button): Invisible text property fix.
-	(speedbar-directory-plus): Renamed from speedbar-directory-+
-	(speedbar-directory-minus): Renamed from speedbar-directory--
-	(speedbar-page-plus): Renamed from speedbar-file-+
-	(speedbar-page-minus): Renamed from speedbar-file--
-	(speedbar-page): Renamed from speedbar-file-
-	(speedbar-tag): Renamed from speedbar-tag-
-	(speedbar-tag-plus): Renamed from speedbar-tag-+
-	(speedbar-tag-minus): Renamed from speedbar-tag--
+	(speedbar-directory-plus): Renamed from speedbar-directory-+.
+	(speedbar-directory-minus): Renamed from speedbar-directory--.
+	(speedbar-page-plus): Renamed from speedbar-file-+.
+	(speedbar-page-minus): Renamed from speedbar-file--.
+	(speedbar-page): Renamed from speedbar-file-.
+	(speedbar-tag): Renamed from speedbar-tag-.
+	(speedbar-tag-plus): Renamed from speedbar-tag-+.
+	(speedbar-tag-minus): Renamed from speedbar-tag--.
 	(speedbar-expand-image-button-alist): Use above renames.
 
 	* sb-dir-plus.xpm: Renamed from sb-dir+.xpm
@@ -17861,7 +17861,7 @@
 	(speedbar-visiting-tag-hook): Set new defaults.  Added options.
 	(speedbar-reconfigure-keymaps-hook): New variable.
 	(speedbar-frame-parameters): Updated documentation.
-	(speedbar-use-imenu-flag): Updated custom tag
+	(speedbar-use-imenu-flag): Updated custom tag.
 	(speedbar-dynamic-tags-function-list): New variable.
 	(speedbar-tag-hierarchy-method): Updated doc & custom.
 	(speedbar-indentation-width, speedbar-indentation-width) New
@@ -17877,7 +17877,7 @@
 	`force-mode-line-update'.
 	(speedbar-mode, speedbar-quick-mouse, speedbar-click)
 	(speedbar-double-click): Use `speedbar-mouse-set-point' instead of
-	`mouse-set-point'
+	`mouse-set-point'.
 	(speedbar-reconfigure-keymaps): Run configure keymap hooks.
 	(speedbar-item-info-tag-helper): Revamped to handle a wider range
 	of arbitrary text, and new helper functions.
@@ -17893,11 +17893,11 @@
 	(speedbar-apply-one-tag-hierarchy-method): Deleted (and replaced).
 	(speedbar-sort-tag-hierarchy, speedbar-prefix-group-tag-hierarchy)
 	(speedbar-trim-words-tag-hierarchy)
-	(speedbar-simple-group-tag-hierarchy): New functions
+	(speedbar-simple-group-tag-hierarchy): New functions.
 	(speedbar-create-tag-hierarchy): Update doc, use new tag hooks.
 	(speedbar-insert-imenu-list, speedbar-insert-etags-list): New
 	functions.
-	(speedbar-mouse-set-point): New function
+	(speedbar-mouse-set-point): New function.
 	(speedbar-power-click): Updated documentation.
 	(speedbar-line-token, speedbar-goto-this-file): Handle more types
 	of tag prefix text.
@@ -17916,7 +17916,7 @@
 	"Revert Buffer" menu items.
 	(speedbar-buffer-buttons-engine): Be smarter when creating a
 	filename tag (for expansion purposes.).
-	(speedbar-highlight-one-tag-line,
+	(speedbar-highlight-one-tag-line)
 	(speedbar-unhighlight-one-tag-line, speedbar-recenter-to-top)
 	(speedbar-recenter): New functions.
 	(defimage-speedbar): Image loading abstraction.
@@ -18748,13 +18748,13 @@
 2000-03-30  Peter Breton  <pbreton@ne.mediaone.net>
 
 	* net/net-utils.el:
-	(network-connection-host, network-connection-service): New variables
-	(network-connection-mode): New mode, derived from comint-mode
+	(network-connection-host, network-connection-service): New variables.
+	(network-connection-mode): New mode, derived from comint-mode.
 	(network-connection-mode-setup): New function, saves host and
 	service information in local variables.
 
 	* lisp/locate.el:
-	(locate-word-at-point): Added this function
+	(locate-word-at-point): Added this function.
 	(locate): Default to using locate-word-at-point as input
 	Run dired-mode-hook
 
@@ -20347,7 +20347,7 @@
 	* simple.el (eval-expression): Don't bind debug-on-error if
 	eval-expression-debug-on-error is nil.  Detect changed
 	debug-on-error, and propagate new value to global binding, if
-	eval-expression-debug-on-error is non-nil,
+	eval-expression-debug-on-error is non-nil.
 	(eval-expression-debug-on-error): Change doc string.
 
 2000-01-11  Richard M. Stallman  <rms@gnu.org>
--- a/lisp/epa-file.el	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/epa-file.el	Sun Jul 25 23:02:59 2010 +0000
@@ -143,11 +143,12 @@
 	     ;; when decryption failed (bug#6568).  See the place
 	     ;; where `find-file-not-found-functions' are called in
 	     ;; `find-file-noselect-1'.
-	     (make-local-variable 'epa-file-error)
-	     (setq epa-file-error error)
-	     (add-hook 'find-file-not-found-functions
-		       'epa-file--find-file-not-found-function
-		       nil t)
+	     (when (file-exists-p local-file)
+	       (make-local-variable 'epa-file-error)
+	       (setq epa-file-error error)
+	       (add-hook 'find-file-not-found-functions
+			 'epa-file--find-file-not-found-function
+			 nil t))
 	     (signal 'file-error
 		     (cons "Opening input file" (cdr error)))))
 	  (make-local-variable 'epa-file-encrypt-to)
--- a/lisp/gnus/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/gnus/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -1,3 +1,8 @@
+2010-07-24  David Engster  <dengste@eml.cc>
+
+	* mml-smime.el (mml-smime-epg-verify): Also accept the older
+	x-pkcs7-signature MIME type as signature (RFC 2311, C.1).
+
 2010-07-21  Daiki Ueno  <ueno@unixuser.org>
 
 	* mml.el (mml-parse-1): Collect "certfile" attributes in "<#secure>"
@@ -5105,7 +5110,7 @@
 
 2006-11-06  Reiner Steib  <Reiner.Steib@gmx.de>
 
-	* message.el (message-strip-subject-encoded-words): New function
+	* message.el (message-strip-subject-encoded-words): New function.
 	(message-simplify-subject-functions): New variable.
 	(message-simplify-subject): Use it.  Fix typo in doc string.
 	Support message-strip-subject-encoded-words.
@@ -5308,8 +5313,9 @@
 
 2006-09-20  Maxime Edouard Robert Froumentin  <max@lapin-bleu.net>
 
-	(gnus-insert-mime-button, gnus-insert-mime-security-button): Apply
-	gnus-article-button-face to MIME and security buttons.
+	* gnus-art.el (gnus-insert-mime-button)
+	(gnus-insert-mime-security-button):
+	Apply gnus-article-button-face to MIME and security buttons.
 
 2006-09-20  Reiner Steib  <Reiner.Steib@gmx.de>
 
@@ -5775,7 +5781,7 @@
 
 	* gnus-agent.el: Added gnus-agent-flush* to purge agent info.
 	(gnus-agent-read-agentview): Fixed handling of end-of-file error.
-	(gnus-agent-read-local): All symbols allocated in my-obarray
+	(gnus-agent-read-local): All symbols allocated in my-obarray.
 	(gnus-agent-set-local): Skip invalid entries (min and/or max is nil).
 	(gnus-agent-regenerate-group): Check numeric names to see if they are
 	messages or groups.
@@ -9438,7 +9444,7 @@
 	to get all the groups a message ID is in.
 
 	* spam-stat.el (spam-stat-split-fancy-spam-threshold)
-	(spam-stat-split-fancy): Change "threshhold" to "threshold"
+	(spam-stat-split-fancy): Change "threshhold" to "threshold".
 	(spam-stat-score-buffer-user-functions): Add :number custom type.
 
 2005-04-06  Katsumi Yamaoka  <yamaoka@jpl.org>
@@ -10422,21 +10428,21 @@
 
 2004-11-14  Magnus Henoch  <mange@freemail.hu>
 
-	* hashcash.el (hashcash-default-payment): Change default to 20
-	(hashcash-default-accept-payment): Change default to 20
-	(hashcash-process-alist): New variable
-	(hashcash-generate-payment-async): Add
-	(hashcash-already-paid-p): Add
-	(hashcash-insert-payment): Don't generate payments twice
-	(hashcash-insert-payment-async): Add
-	(hashcash-insert-payment-async-2): Add
-	(hashcash-cancel-async): Add
-	(hashcash-wait-async): Add
-	(hashcash-processes-running-p): Add
-	(hashcash-wait-or-cancel): Add
+	* hashcash.el (hashcash-default-payment): Change default to 20.
+	(hashcash-default-accept-payment): Change default to 20.
+	(hashcash-process-alist): New variable.
+	(hashcash-generate-payment-async): Add.
+	(hashcash-already-paid-p): Add.
+	(hashcash-insert-payment): Don't generate payments twice.
+	(hashcash-insert-payment-async): Add.
+	(hashcash-insert-payment-async-2): Add.
+	(hashcash-cancel-async): Add.
+	(hashcash-wait-async): Add.
+	(hashcash-processes-running-p): Add.
+	(hashcash-wait-or-cancel): Add.
 	(mail-add-payment): New optional argument.  Conditionally start
 	asynchronous calculation.
-	(mail-add-payment-async): Add
+	(mail-add-payment-async): Add.
 
 	* message.el (message-send-mail): Wait for asynchronous hashcash
 	results.  Don't clobber existing X-Hashcash headers.
@@ -10924,7 +10930,7 @@
 	(nnsoup-unpack-packets, nnsoup-make-active): Simplify.
 
 	* nnspool.el (nnspool-find-id): Use with-temp-buffer.
-	(nnspool-sift-nov-with-sed): Use last
+	(nnspool-sift-nov-with-sed): Use last.
 	(nnspool-retrieve-headers-with-nov): Use mapc.
 	(nnspool-request-newgroups): Use dolist.
 	(nnspool-request-group): Use last.
@@ -11625,7 +11631,7 @@
 	* gnus-registry.el (gnus-registry-split-fancy-with-parent): Try
 	to append in-reply-to: data to the references: header.
 
-	* netrc.el: Remove old encryption support, autoload gnus-encrypt.el
+	* netrc.el: Remove old encryption support, autoload gnus-encrypt.el.
 	(netrc-parse): Use gnus-encrypt.el functions.
 
 	* gnus-encrypt.el: Add new file for encryption support; currently
@@ -12122,7 +12128,7 @@
 
 2004-05-26  Adam Sjøgren  <asjo@koldfront.dk>  (tiny change)
 
-	(spam-ham-copy-or-move-routine): Don't declare `todo' twice.
+	* spam.el (spam-ham-copy-or-move-routine): Don't declare `todo' twice.
 
 2004-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>
 
@@ -12837,7 +12843,7 @@
 
 	* gnus-group.el: Require gnus-sum and autoload functions to
 	resolve warnings when gnus-group.el compiled alone.
-	(gnus-group-line-format): Documented new %F
+	(gnus-group-line-format): Documented new %F.
 	(size of Fetched data) group line format; identifies disk space
 	used by agent and cache.
 	(gnus-group-line-format-alist): Defined new F format.
@@ -13614,8 +13620,8 @@
 	is "nndraft:queue".  Suggested by Gaute Strokkenes
 	<gs234@srcf.ucam.org>
 
-	* gnus-agent.el (agent-disable-undownloaded-faces): Removed
-	(agent-enable-undownloaded-faces): Added
+	* gnus-agent.el (agent-disable-undownloaded-faces): Removed.
+	(agent-enable-undownloaded-faces): Added.
 	(gnus-agent-cat-groups): Use eval-and-compile, not
 	eval-when-compile, to define gnus-agent-set-cat-groups as the setf
 	method of gnus-agent-cat-groups even when the buffer has been
@@ -13640,8 +13646,8 @@
 	active file (local makes it unnecessary).
 	(gnus-agent-regenerate-group): Fixed XEmacs compatibility.
 
-	* gnus-cus.el (agent-disable-undownloaded-faces): Removed
-	(agent-enable-undownloaded-faces): Added
+	* gnus-cus.el (agent-disable-undownloaded-faces): Removed.
+	(agent-enable-undownloaded-faces): Added.
 
 	* gnus-draft.el (gnus-draft-send): Bind gnus-agent-queue-mail to
 	disable it when sending to "nndraft:queue".
@@ -13775,7 +13781,7 @@
 
 2004-01-14  Kai Grossjohann  <kai@emptydomain.de>
 
-	(message-kill-to-signature): Change docstring.
+	* message.el (message-kill-to-signature): Change docstring.
 
 2004-01-14  Katsumi Yamaoka  <yamaoka@jpl.org>
 
@@ -14194,7 +14200,7 @@
 
 2004-01-05  Reiner Steib  <Reiner.Steib@gmx.de>
 
-	* gnus-art.el (gnus-treat-ansi-sequences,
+	* gnus-art.el (gnus-treat-ansi-sequences)
 	(article-treat-ansi-sequences): New variable and function.
 	Suggested by Dan Jacobson <jidanni@jidanni.org>.
 
@@ -14373,7 +14379,7 @@
 2004-01-04  Mario Lang  <lang@zid.tugraz.at>
 
 	* dns.el (dns-query-types): Fix typo.
-	(dns-query-types): New function
+	(dns-query-types): New function.
 	(dns-read-type): Add support for AAAA records, see RFC 3596.  Parse MX,
 	PTR and SOA replies, see RFC 1035.
 
--- a/lisp/gnus/ChangeLog.1	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/gnus/ChangeLog.1	Sun Jul 25 23:02:59 2010 +0000
@@ -506,10 +506,10 @@
 
 1998-08-13  Simon Josefsson  <jas@pdc.kth.se>
 
-	* gnus-msg.el (gnus-setup-message): use message-setup-hook
-	instead
-	(gnus-configure-posting-styles): new posting-style 'body
-	(gnus-configure-posting-styles): insert headers immediately
+	* gnus-msg.el (gnus-setup-message): Use message-setup-hook
+	instead.
+	(gnus-configure-posting-styles): New posting-style 'body.
+	(gnus-configure-posting-styles): Insert headers immediately
 
 1998-08-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
@@ -524,9 +524,9 @@
 
 1998-08-12  Simon Josefsson  <jas@pdc.kth.se>
 
-	* gnus-cache.el (gnus-uncacheable-groups): doc change
-	(gnus-cacheable-groups): new variable
-	(gnus-cache-possibly-enter-article): use it
+	* gnus-cache.el (gnus-uncacheable-groups): Doc change.
+	(gnus-cacheable-groups): New variable.
+	(gnus-cache-possibly-enter-article): Use it.
 
 1998-08-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
--- a/lisp/gnus/ChangeLog.2	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/gnus/ChangeLog.2	Sun Jul 25 23:02:59 2010 +0000
@@ -694,11 +694,11 @@
 	(gnus-agent-regenerate): Uses new gnus-agent-covered-methods
 	function as gnus-agent-covered-methods variable no longer provides
 	methods.
-	(gnus-agent-covered-methods): New function
+	(gnus-agent-covered-methods): New function.
 	(gnus-agent-expire-group, gnus-agent-expire): Final message will,
 	if gnus-verbose is greater than 4, report statistics of NOV
 	entries and files deleted as well as total bytes recovered.
-	(gnus-agent-expire-done-message): New function
+	(gnus-agent-expire-done-message): New function.
 	(gnus-agent-unread-articles): Bug fix.  No longer drops last
 	unread article onto read list.
 	(gnus-agent-regenerate-group): Changed prompt to use typical
@@ -900,7 +900,7 @@
 
 	* spam.el
 	(spam-log-processing-to-registry): Improved message and comments.
-	(spam-log-unregistration-needed-p): New function
+	(spam-log-unregistration-needed-p): New function.
 	(spam-ifile-register-spam-routine)
 	(spam-ifile-register-ham-routine, spam-stat-register-spam-routine)
 	(spam-stat-register-ham-routine)
@@ -1120,7 +1120,7 @@
 
 	* message.el (message-mode-field-menu): Added
 	message-generate-unsubscribed-mail-followup-to.
-	(message-forward-subject-fwd): Avoid double "Fwd: "
+	(message-forward-subject-fwd): Avoid double "Fwd: ".
 	(message-change-subject): Added comment.
 
 2003-10-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
@@ -2084,7 +2084,7 @@
 	(spam-spamoracle-learn-ham, spam-spamoracle-learn-spam): New functions.
 
 	* gnus.el (gnus-group-spam-exit-processor-spamoracle)
-	(gnus-group-ham-exit-processor-spamoracle): New variables for SpamOracle
+	(gnus-group-ham-exit-processor-spamoracle): New variables for SpamOracle.
 	(spam-process, ham-process): Added spamoracle spam/ham processors.
 
 2003-06-08  Jesper Harder  <harder@ifa.au.dk>
@@ -2781,7 +2781,7 @@
 	* gnus-registry.el (gnus-registry-split-fancy-with-parent): Added
 	diagnostic message.
 	(gnus-registry-grep-in-list): Don't run when word is nil.
-	(gnus-registry-fetch-message-id-fast): New function
+	(gnus-registry-fetch-message-id-fast): New function.
 	(gnus-registry-delete-group, gnus-registry-add-group): Make sure
 	the id and group are not nil.
 	(gnus-registry-register-message-ids): New function.
@@ -3561,7 +3561,7 @@
 	`message-valid-fqdn-regexp' for initialization.
 	(gnus-button-handle-info-url): Renamed and extended version of
 	`gnus-button-handle-info'.
-	(gnus-button-message-level): Renamed from `gnus-button-mail-level'
+	(gnus-button-message-level): Renamed from `gnus-button-mail-level'.
 	(gnus-button-handle-symbol, gnus-button-handle-library)
 	(gnus-button-handle-info-keystrokes): New functions.
 	(gnus-button-browse-level): New variable.
@@ -6296,8 +6296,8 @@
 
 2003-01-02  Reiner Steib  <Reiner.Steib@gmx.de>
 
-	* gnus-art.el (gnus-button-url-regexp,
-	(gnus-button-mid-or-mail-regexp, gnus-button-alist,
+	* gnus-art.el (gnus-button-url-regexp)
+	(gnus-button-mid-or-mail-regexp, gnus-button-alist)
 	(gnus-header-button-alist): Regexps are case insensitive here.
 
 2003-01-02  Simon Josefsson  <jas@extundo.com>
@@ -7195,7 +7195,7 @@
 
 2002-10-31  Alex Schroeder  <alex@emacswiki.org>
 
-	* spam-stat.el (spam-stat-process-directory): Add dir to message
+	* spam-stat.el (spam-stat-process-directory): Add dir to message.
 	(spam-stat-reduce-size): No longer remove words
 	with values close to 0.5, because the default value is 0.2.
 
@@ -12403,7 +12403,7 @@
 	Support "Importance:" header in Message.
 
 	* message.el (message-mode-map): Bind C-c C-p to
-	`message-insert-or-toggle-importance'
+	`message-insert-or-toggle-importance'.
 	(message-mode-menu): Add message-insert-importance-{high,low}.
 	(message-insert-importance-high, message-insert-importance-low)
 	(message-insert-or-toggle-importance): New functions.
@@ -12871,7 +12871,7 @@
 
 2001-10-21  Simon Josefsson  <jas@extundo.com>
 
-	* nnimap.el (nnimap): Defgroup
+	* nnimap.el (nnimap): Defgroup.
 	(nnimap-strict-function, nnimap-strict-function-match): New
 	widget, from Per Abrahamsen  <abraham@dina.kvl.dk>.
 	(nnimap-split-crosspost, nnimap-split-inbox)
@@ -16689,7 +16689,7 @@
 	* gnus-cus.el (gnus-group-customize): Use it.
 
 	* gnus.el (gnus-define-group-parameter): New macro.
-	(auto-expire): Use it
+	(auto-expire): Use it.
 	(total-expire): Use it.
 	* gnus-art.el (banner): Use it.
 
--- a/lisp/gnus/mml-smime.el	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/gnus/mml-smime.el	Sun Jul 25 23:02:59 2010 +0000
@@ -520,10 +520,14 @@
 					   ctl 'protocol)
 					  "application/pkcs7-signature")
 				  t)))
-		(null (setq signature (mm-find-part-by-type
-				       (cdr handle)
-				       "application/pkcs7-signature"
-				       nil t))))
+		(null (setq signature (or (mm-find-part-by-type
+					   (cdr handle)
+					   "application/pkcs7-signature"
+					   nil t)
+					  (mm-find-part-by-type
+					   (cdr handle)
+					   "application/x-pkcs7-signature"
+					   nil t)))))
 	(mm-set-handle-multipart-parameter
 	 mm-security-handle 'gnus-info "Corrupted")
 	(throw 'error handle))
--- a/lisp/mh-e/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/mh-e/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -504,8 +504,8 @@
 
 2006-06-02  Bill Wohler  <wohler@newt.com>
 
-	(mh-folder-exists-p): Change test from an empty buffer, to one
-	that contains the actual folder, since GNU mailutils' folder
+	* mh-search.el (mh-folder-exists-p): Change test from an empty buffer,
+	to one that contains the actual folder, since GNU mailutils' folder
 	command displays output if the folder doesn't exist (closes SF
 	#1499712).
 
@@ -1415,7 +1415,7 @@
 	(mh-get-field): Delete ancient alias.
 
 	* mh-xface.el (mh-face-foreground-compat): Move to mh-compat.el
-	and rename to mh-face-foreground
+	and rename to mh-face-foreground.
 	(mh-face-background-compat): Move to mh-compat.el
 	and rename to mh-face-background.
 	(mh-face-display-function): Use the new names.
@@ -1732,7 +1732,7 @@
 	(mh-identity-make-menu-no-autoload): New alias for
 	mh-identity-make-menu which can be called from mh-e.el.
 	(mh-identity-list-set): Move to mh-e.el.
-	(mh-identity-add-menu): New function
+	(mh-identity-add-menu): New function.
 	(mh-insert-identity): Add optional argument maybe-insert so that
 	local variable mh-identity-local does not have to be visible.
 
@@ -1891,7 +1891,7 @@
 	(mh-find-path-run, mh-find-path): Move here from deprecated file
 	mh-init.el.
 	(mh-help-messages): Now an alist of modes to an alist of messages.
-	(mh-set-help): New function used to set mh-help-messages
+	(mh-set-help): New function used to set mh-help-messages.
 	(mh-help): Adjust for new format of mh-help-messages.  Add
 	help-messages argument.
 	(mh-prefix-help): Refactor to use mh-help.
@@ -2460,7 +2460,7 @@
 	(mh-scan-good-msg-regexp, mh-scan-deleted-msg-regexp)
 	(mh-scan-refiled-msg-regexp, mh-scan-cur-msg-number-regexp)
 	(mh-scan-date-regexp, mh-scan-rcpt-regexp, mh-scan-body-regexp)
-	(mh-scan-subject-regexp): Sync docstrings with manual
+	(mh-scan-subject-regexp): Sync docstrings with manual.
 	(mh-scan-format-regexp): Rename to
 	mh-scan-sent-to-me-sender-regexp.  Drop date parenthesized
 	expression.  Make expression more like the others (anchored at the
@@ -2760,7 +2760,7 @@
 	(mh-mime-save-parts-default-directory, mh-print-background-flag)
 	(mh-show-maximum-size, mh-show-use-goto-addr-flag)
 	(mh-show-use-xface-flag, mh-store-default-directory)
-	(mh-summary-height, mh-delete-msg-hook
+	(mh-summary-height, mh-delete-msg-hook)
 	(mh-show-hook, mh-show-mode-hook): Sync docstrings with manual.
 
 	* mh-e.el (mh-scan-format-mh, mh-scan-good-msg-regexp)
--- a/lisp/mh-e/ChangeLog.1	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/mh-e/ChangeLog.1	Sun Jul 25 23:02:59 2010 +0000
@@ -825,7 +825,7 @@
 	(MH-E-XEMACS-OBJ): New variable to hold XEmacs object files.
 	(clean): Moved XEmacs-specific code to clean-xemacs.
 	(xemacs): Added clean-xemacs prerequisite. Moved down to XEmacs
-	section of file. Add target to build mh-loaddefs.el in XEmacs
+	section of file. Add target to build mh-loaddefs.el in XEmacs.
 	(loaddefs-xemacs): New rule to build mh-loaddefs.el in XEmacs.
 	(clean-xemacs): New target to remove XEmacs-specific files.
 	(compile-xemacs): New. It allows for the '-no-autoloads' option
@@ -1156,8 +1156,8 @@
 	mh-loaddefs.el in XEmacs.
 	(XEMACS_LOADDEFS_COOKIE): Ditto.
 	(XEMACS_LOADDEFS_PKG_NAME): Ditto.
-	(xemacs): Add target to build mh-loaddefs.el in XEmacs
-	(clean-xemacs): Remove `mh-loaddefs.el*'
+	(xemacs): Add target to build mh-loaddefs.el in XEmacs.
+	(clean-xemacs): Remove `mh-loaddefs.el*'.
 	(loaddefs-xemacs): New rule to build mh-loaddefs.el in XEmacs.
 
 2003-11-02  Peter S Galbraith  <psg@debian.org>
@@ -1432,7 +1432,7 @@
 	(mh-mml-secure-message-signencrypt): Ditto.
 	(mh-mml-secure-message-sign): Ditto.
 
-	* mh-comp.el (mh-letter-menu, mh-letter-mode-help-messages,
+	* mh-comp.el (mh-letter-menu, mh-letter-mode-help-messages)
 	(mh-letter-mode-map): Update to use new functions.
 
 2003-09-26  Satyaki Das  <satyakid@stanford.edu>
@@ -1485,7 +1485,7 @@
 	(mh-alias-system-aliases): Moved here from mh-customize.el. By
 	definition, "system" definitions are not user-visible, and user
 	filenames are in the the Aliasfile: profile component, so this
-	variable really shouldn't be a defcustom
+	variable really shouldn't be a defcustom.
 	(mh-alias-tstamp, mh-alias-filenames, mh-alias-reload)
 	(mh-alias-add-alias, mh-alias-grab-from-field)
 	(mh-alias-add-address-under-point, mh-alias-apropos): Merge
@@ -3988,7 +3988,7 @@
 	fixes germaine to the change whereby we now check for MIME
 	directives before sending.
 
-	* mh-xemacs-toolbar.el: Fixed copyright. Added Change Log comment
+	* mh-xemacs-toolbar.el: Fixed copyright. Added Change Log comment.
 	(lm-verify fix). Added standard MH-E local variables. Removed
 	time-stamp stuff.
 
@@ -5807,8 +5807,8 @@
 	(mh-default-folder-prefix, mh-default-folder-must-exist-flag): In
 	docstring, refer to documentation for mh-prompt-for-refile-folder
 	and mh-folder-from-address.
-	(mh-highlight-citation-p, mh-compose-insertion,
-	(mh-insert-mail-followup-to-list, mh-index-program,
+	(mh-highlight-citation-p, mh-compose-insertion)
+	(mh-insert-mail-followup-to-list, mh-index-program)
 	(mh-identity-default): Fixed case of tags.
 
 	* mh-e.el (mh-folder-from-address): Use new variable
@@ -6310,7 +6310,7 @@
 	(mh-alias-insert-file): New function. Return the alias file to
 	write a new entry in.
 	(mh-alias-address-to-alias): New function. Return the ADDRESS
-	alias if defined, or nil."
+	alias if defined, or nil.
 	(mh-alias-from-has-no-alias-p): New function. Return t is From has
 	no current alias set.  Used as tool-bar button enable function.
 	(mh-alias-add-alias-to-file): New function. Add ALIAS for ADDRESS
@@ -6902,7 +6902,7 @@
 	(mh-alias-translate): New function.  Return translation for alias,
 	checking if in blind or passwd list.
 	(mh-alias-letter-expand-alias): Rewrite using
-	mail-abbrev-complete-alias from mailabbrev.el
+	mail-abbrev-complete-alias from mailabbrev.el.
 	(mh-alias-expand-alias-map): New variable.
 	(mh-alias-ali): New function. Return formatted string of
 	translated ALIAS from ali.
@@ -7084,7 +7084,7 @@
 	mh-thread-generate-scan-lines.
 
 	* mh-mime.el (font-lock): Font-lock required at compile time to
-	avoid warning about font-lock-maximum-size
+	avoid warning about font-lock-maximum-size.
 	(mh-display-smileys, mh-display-emphasis): Show graphical smileys
 	and emphasis only if message isn't too large.
 
@@ -7445,7 +7445,7 @@
 	This addresses part of SF #627015.
 
 	* mh-utils.el (mh-decode-quoted-printable-flag): Renamed from
-	mh-decode-quoted-printable
+	mh-decode-quoted-printable.
 	(mh-display-msg, mh-decode-quoted-printable-have-mimedecode):
 	Use it.
 	This addresses part of SF #627015.
@@ -7906,7 +7906,7 @@
 2002-10-28  Peter S Galbraith  <psg@debian.org>
 
 	* mh-e.el (mh-scan-subject-regexp): Add an expression to match an
-	optional bracketed number after "Re", such as in "Re[2]:"
+	optional bracketed number after "Re", such as in "Re[2]:".
 	(Patch by Satyaki; I checked it and applied).
 	(mh-folder-font-lock-subject): Adapt to new mh-scan-subject-regexp.
 	* mh-seq.el (mh-subject-to-sequence): Ditto.
@@ -8882,7 +8882,7 @@
 	(mh-pick-mode): Set local buffer variable mh-help-messages to
 	mh-pick-mode-help-messages.
 
-	* mh-index.el (mh-index-keymap): Added binding for mh-help
+	* mh-index.el (mh-index-keymap): Added binding for mh-help.
 	(mh-index-folder-mode-help-messages): New variable that contains
 	help messages for MH Index buffer.
 	(mh-index-folder-mode): Set local buffer variable mh-help-messages
@@ -9280,7 +9280,7 @@
 2002-09-17  Peter S Galbraith  <psg@debian.org>
 
 	* mh-mime.el (mh-store-mime-parts-default-directory): Renamed from
-	mh-store-mime-parts-directory
+	mh-store-mime-parts-directory.
 	(mh-store-mime-parts-directory): Renamed from
 	mh-store-mime-parts-directory-default.
 
@@ -9940,7 +9940,7 @@
 	compiler warnings.
 
 	* mh-e.el (compilation): Code rearrangement and extra autoloads to
-	remove compiler warnings
+	remove compiler warnings.
 	(mh-quit): Add call to mh-destroy-postponed-handles to remove
 	handles that are associated with external viewers. Also fixed a
 	bug that I accidentally introduced by adding an extra line when
@@ -10707,7 +10707,7 @@
 2001-11-29  Peter S Galbraith  <psg@debian.org>
 
 	* mh-e.el (mh-folder-font-lock-subject): New fontifier function
-	for subject lines in folder-mode
+	for subject lines in folder-mode.
 	(mh-scan-followup-regexp): Deleted obsolete regexp.  Use
 	mh-scan-subject-regexp instead.
 	(mh-folder-font-lock-keywords): Use mh-folder-font-lock-subject
--- a/lisp/net/tramp.el	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/net/tramp.el	Sun Jul 25 23:02:59 2010 +0000
@@ -599,8 +599,8 @@
 	     (tramp-copy-keep-date       nil)
 	     (tramp-password-end-of-line nil))
     ("plink" (tramp-login-program        "plink")
-	     (tramp-login-args           (("%h") ("-l" "%u") ("-P" "%p")
-					  ("-ssh")))
+	     (tramp-login-args           (("-l" "%u") ("-P" "%p")
+					  ("-ssh") ("%h")))
 	     (tramp-remote-sh            "/bin/sh")
 	     (tramp-copy-program         nil)
 	     (tramp-copy-args            nil)
@@ -609,8 +609,8 @@
 	     (tramp-default-port         22))
     ("plink1"
 	     (tramp-login-program        "plink")
-	     (tramp-login-args           (("%h") ("-l" "%u") ("-P" "%p")
-					  ("-1" "-ssh")))
+	     (tramp-login-args           (("-l" "%u") ("-P" "%p")
+					  ("-1" "-ssh") ("%h")))
 	     (tramp-remote-sh            "/bin/sh")
 	     (tramp-copy-program         nil)
 	     (tramp-copy-args            nil)
@@ -633,8 +633,8 @@
 	     (tramp-copy-keep-date       nil)
 	     (tramp-password-end-of-line nil))
     ("pscp"  (tramp-login-program        "plink")
-	     (tramp-login-args           (("%h") ("-l" "%u") ("-P" "%p")
-					  ("-ssh")))
+	     (tramp-login-args           (("-l" "%u") ("-P" "%p")
+					  ("-ssh") ("%h")))
 	     (tramp-remote-sh            "/bin/sh")
 	     (tramp-copy-program         "pscp")
 	     (tramp-copy-args            (("-P" "%p") ("-scp") ("-p" "%k")))
@@ -642,8 +642,8 @@
 	     (tramp-password-end-of-line "xy") ;see docstring for "xy"
 	     (tramp-default-port         22))
     ("psftp" (tramp-login-program        "plink")
-	     (tramp-login-args           (("%h") ("-l" "%u") ("-P" "%p")
-					  ("-ssh")))
+	     (tramp-login-args           (("-l" "%u") ("-P" "%p")
+					  ("-ssh") ("%h")))
 	     (tramp-remote-sh            "/bin/sh")
 	     (tramp-copy-program         "pscp")
 	     (tramp-copy-args            (("-P" "%p") ("-sftp") ("-p" "%k")))
@@ -1444,10 +1444,14 @@
 
 ;;;###autoload
 (defconst tramp-file-name-regexp-unified
-  "\\`/\\([^[/:]+\\|[^/]+]\\):"
+  (if (memq system-type '(cygwin windows-nt))
+      "\\`/\\([^[/:]\\{2,\\}\\|[^/]\\{2,\\}]\\):"
+    "\\`/\\([^[/:]+\\|[^/]+]\\):")
   "Value for `tramp-file-name-regexp' for unified remoting.
 Emacs (not XEmacs) uses a unified filename syntax for Ange-FTP and
-Tramp.  See `tramp-file-name-structure' for more explanations.")
+Tramp.  See `tramp-file-name-structure' for more explanations.
+
+On W32 systems, the volume letter must be ignored.")
 
 ;;;###autoload
 (defconst tramp-file-name-regexp-separate
@@ -1494,10 +1498,14 @@
 
 ;;;###autoload
 (defconst tramp-completion-file-name-regexp-unified
-  (concat tramp-root-regexp "[^/]*\\'")
+  (if (memq system-type '(cygwin windows-nt))
+      (concat tramp-root-regexp "[^/]\\{2,\\}\\'")
+    (concat tramp-root-regexp "[^/]*\\'"))
   "Value for `tramp-completion-file-name-regexp' for unified remoting.
 GNU Emacs uses a unified filename syntax for Tramp and Ange-FTP.
-See `tramp-file-name-structure' for more explanations.")
+See `tramp-file-name-structure' for more explanations.
+
+On W32 systems, the volume letter must be ignored.")
 
 ;;;###autoload
 (defconst tramp-completion-file-name-regexp-separate
@@ -6590,7 +6598,29 @@
        vec 'file-error "Couldn't find command to check if file exists"))
     result))
 
-;; CCC test ksh or bash found for tilde expansion?
+(defun tramp-open-shell (vec shell)
+  "Opens shell SHELL."
+  (with-progress-reporter vec 5 (format "Opening remote shell `%s'" shell)
+    ;; Find arguments for this shell.
+    (let ((tramp-end-of-output tramp-initial-end-of-output)
+	  (alist tramp-sh-extra-args)
+	  item extra-args)
+      (while (and alist (null extra-args))
+	(setq item (pop alist))
+	(when (string-match (car item) shell)
+	  (setq extra-args (cdr item))))
+      (when extra-args (setq shell (concat shell " " extra-args)))
+      (tramp-send-command
+       vec (format "exec env ENV='' PROMPT_COMMAND='' PS1=%s PS2='' PS3='' %s"
+		   (shell-quote-argument tramp-end-of-output) shell)
+       t))
+    ;; Setting prompts.
+    (tramp-send-command
+     vec (format "PS1=%s" (shell-quote-argument tramp-end-of-output)) t)
+    (tramp-send-command vec "PS2=''" t)
+    (tramp-send-command vec "PS3=''" t)
+    (tramp-send-command vec "PROMPT_COMMAND=''" t)))
+
 (defun tramp-find-shell (vec)
   "Opens a shell on the remote host which groks tilde expansion."
   (unless (tramp-get-connection-property vec "remote-shell" nil)
@@ -6611,29 +6641,9 @@
 	    (tramp-error
 	     vec 'file-error
 	     "Couldn't find a shell which groks tilde expansion"))
-	  ;; Find arguments for this shell.
-	  (let ((alist tramp-sh-extra-args)
-		item extra-args)
-	    (while (and alist (null extra-args))
-	      (setq item (pop alist))
-	      (when (string-match (car item) shell)
-		(setq extra-args (cdr item))))
-	    (when extra-args (setq shell (concat shell " " extra-args))))
 	  (tramp-message
 	   vec 5 "Starting remote shell `%s' for tilde expansion" shell)
-	  (let ((tramp-end-of-output tramp-initial-end-of-output))
-	    (tramp-send-command
-	     vec
-	     (format "PROMPT_COMMAND='' PS1=%s PS2='' PS3='' exec %s"
-		     (shell-quote-argument tramp-end-of-output) shell)
-	     t))
-	  ;; Setting prompts.
-	  (with-progress-reporter vec 5 (format "Setting remote shell prompt")
-	    (tramp-send-command
-	     vec (format "PS1=%s" (shell-quote-argument tramp-end-of-output)) t)
-	    (tramp-send-command vec "PS2=''" t)
-	    (tramp-send-command vec "PS3=''" t)
-	    (tramp-send-command vec "PROMPT_COMMAND=''" t)))
+	  (tramp-open-shell vec shell))
 
 	 (t (tramp-message
 	     vec 5 "Remote `%s' groks tilde expansion, good"
@@ -6914,14 +6924,9 @@
     ;; way, we avoid the startup file clobbering $PS1.  $PROMP_COMMAND
     ;; is another way to set the prompt in /bin/bash, it must be
     ;; discarded as well.
-    (tramp-send-command
+    (tramp-open-shell
      vec
-     (format
-      "exec env ENV='' PROMPT_COMMAND='' PS1=%s PS2='' PS3='' %s"
-      (shell-quote-argument tramp-end-of-output)
-      (tramp-get-method-parameter
-       (tramp-file-name-method vec) 'tramp-remote-sh))
-     t)
+     (tramp-get-method-parameter (tramp-file-name-method vec) 'tramp-remote-sh))
 
     ;; Disable echo.
     (tramp-message vec 5 "Setting up remote shell environment")
@@ -7037,7 +7042,7 @@
   ;; "echo $?"  part if the "test" part has an error.  In particular,
   ;; the OpenSolaris /bin/sh is a problem.  There are also other
   ;; problems with /bin/sh of OpenSolaris, like redirection of stderr
-  ;; in in function declarations, or changing HISTFILE in place.
+  ;; in function declarations, or changing HISTFILE in place.
   ;; Therefore, OpenSolaris' /bin/sh is replaced by bash, when
   ;; detected.
   (tramp-find-shell vec)
@@ -8882,7 +8887,6 @@
 ;;   likely to produce long command lines, and some shells choke on
 ;;   long command lines.
 ;; * How to deal with MULE in `insert-file-contents' and `write-region'?
-;; * Test remote ksh or bash for tilde expansion in `tramp-find-shell'?
 ;; * abbreviate-file-name
 ;; * Better error checking.  At least whenever we see something
 ;;   strange when doing zerop, we should kill the process and start
@@ -8953,7 +8957,6 @@
 ;;   expects English?  Or just to set LC_MESSAGES to "C" if Tramp
 ;;   expects only English messages?  (Juri Linkov)
 ;; * Make shadowfile.el grok Tramp filenames.  (Bug#4526, Bug#4846)
-;; * Do not handle files with drive letter as remote.  (Bug#5447)
 ;; * Load Tramp subpackages only when needed.  (Bug#1529, Bug#5448, Bug#5705)
 ;; * Try telnet+curl as new method.  It might be useful for busybox,
 ;;   without built-in uuencode/uudecode.
--- a/lisp/org/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/org/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -1375,20 +1375,20 @@
 
 	* org.el (org-appearance): Change Customize group variable name
 	from org-font-lock to org-appearance, and change tag from "Org
-	Font Lock" to "Org Appearance"
-	(org-odd-levels-only): Change Customize group variable name
-	(org-level-color-stars-only): Change Customize group variable name
-	(org-hide-leading-stars): Change Customize group variable name
-	(org-hidden-keywords): Change Customize group variable name
-	(org-fontify-done-headline): Change Customize group variable name
-	(org-fontify-emphasized-text): Change Customize group variable name
-	(org-fontify-whole-heading-line): Change Customize group variable name
+	Font Lock" to "Org Appearance".
+	(org-odd-levels-only): Change Customize group variable name.
+	(org-level-color-stars-only): Change Customize group variable name.
+	(org-hide-leading-stars): Change Customize group variable name.
+	(org-hidden-keywords): Change Customize group variable name.
+	(org-fontify-done-headline): Change Customize group variable name.
+	(org-fontify-emphasized-text): Change Customize group variable name.
+	(org-fontify-whole-heading-line): Change Customize group variable name.
 	(org-highlight-latex-fragments-and-specials): Change Customize
-	group variable name
-	(org-hide-emphasis-markers): Change Customize group variable name
-	(org-emphasis-alist): Change Customize group variable name
+	group variable name.
+	(org-hide-emphasis-markers): Change Customize group variable name.
+	(org-emphasis-alist): Change Customize group variable name.
 	(org-emphasis-regexp-components): Change Customize group variable
-	name
+	name.
 	(org-modules): Remove mention of org-R.
 
 	* org-faces.el (org-faces): Change Customize group variable name.
@@ -1420,8 +1420,8 @@
 	(org-fontify-meta-lines-and-blocks): Changes to font-lock code
 	implementing new faces and hiding behaviour.
 
-	* org-faces.el (org-document-title): New face for #+TITLE lines
-	(org-document-info): New face for #+DATE, #+AUTHOR, #+EMAIL lines
+	* org-faces.el (org-document-title): New face for #+TITLE lines.
+	(org-document-info): New face for #+DATE, #+AUTHOR, #+EMAIL lines.
 	(org-document-info-keyword): New face for #+DATE, #+AUTHOR, #+EMAIL
 	keywords.
 
@@ -3096,12 +3096,12 @@
 	point.
 	(org-columns-compile-map): There is now an extra position in each
 	entry specifying the function to use to calculate the displayed
-	value for the non-calculated properties in the column,
+	value for the non-calculated properties in the column.
 	(org-columns-compute-all): Set `org-columns-time' to the current
 	time so time difference calculations will work.
 	(org-columns-compute): Handle column operators where the values
 	used are calculated from the underlying property.
-	(org-columns-number-to-string): Handle the 'age' column format
+	(org-columns-number-to-string): Handle the 'age' column format.
 	(org-columns-string-to-number): Correct the function name (was
 	org-column...).  Add support for the 'age' column format.
 	(org-columns-compile-format): Support the additional parameter in
@@ -3348,7 +3348,7 @@
 	currently active clock if the user has exceeded the time returned
 	by `org-user-idle-seconds', based on the value of
 	`org-clock-idle-time'.
-	(org-clock-in): If, after resolving clocks,
+	(org-clock-in): If, after resolving clocks, (???)
 	(org-clock-out): Cancel the `org-clock-idle-timer' on clock out.
 
 	* org-clock.el (org-clock-resolve-clock): New function that
@@ -4157,7 +4157,7 @@
 	* org-exp.el (org-export-format-source-code-or-example): Translate
 	language.
 
-	* org-src.el (org-src-lang-modes): New variable
+	* org-src.el (org-src-lang-modes): New variable.
 	(org-edit-src-code): Translate language.
 
 	* org-exp.el (org-export-format-source-code-or-example): Deal wit
@@ -4285,7 +4285,7 @@
 	the markup is src or example.
 
 	* org-agenda.el (org-agenda-skip-scheduled-if-deadline-is-shown):
-	New option
+	New option.
 	(org-agenda-get-day-entries): Remember deadline results and pass
 	them on into the function getting the scheduling information.
 	(org-agenda-get-scheduled): Accept deadline results as parameters
@@ -4296,7 +4296,7 @@
 	convert current line to headline.
 
 	* org-clock.el (org-clock-save-markers-for-cut-and-paste): Also
-	cheeeeeck the hd marker
+	cheeeeeck the hd marker.
 	(org-clock-in): Also set the hd marker.
 	(org-clock-out): Also set the hd marker.
 	(org-clock-cancel): Reset markers.
@@ -4518,9 +4518,9 @@
 2009-08-06  Bastien Guerry  <bzg@altern.org>
 
 	* org.el (org-make-link-regexps): Don't exclude parentheses from
-	`org-plain-link-re'
+	`org-plain-link-re'.
 	(org-cycle-internal-local): When locally cycling, switch directly
-	from CHILDREN to FOLDED if there is no subtree
+	from CHILDREN to FOLDED if there is no subtree.
 	(org-cycle): Update the docstring to document the new behavior of
 	`org-cycle-internal-local'.
 
@@ -5111,7 +5111,7 @@
 	(org-set-font-lock-defaults): Call the new fontification
 	function.
 
-	* org-faces.el (org-meta-line): New face
+	* org-faces.el (org-meta-line): New face.
 	(org-block): New face.
 
 2009-08-06  Carsten Dominik  <carsten.dominik@gmail.com>
@@ -5341,7 +5341,7 @@
 2009-08-06  Carsten Dominik  <carsten.dominik@gmail.com>
 
 	* org-exp.el (org-export, org-export-visible): Support ASCII
-	export to buffer
+	export to buffer.
 	(org-export-normalize-links): Do not protect the description if it
 	is explicitly given.
 
@@ -5696,7 +5696,7 @@
 
 	* org-mouse.el: XEmacs compatibility fixes.
 
-	* org.el (org-modules): Add org-inlinetasks.el
+	* org.el (org-modules): Add org-inlinetasks.el.
 	(org-cycle): Implement limiting level on cycling.
 	(org-move-subtree-down): Fix bug with swapping subtrees at end of
 	buffer.
@@ -5788,7 +5788,7 @@
 	(org-mouse-context-menu): Use `org-mouse-todo-menu'.
 
 	* org-table.el (org-table-beginning-of-field)
-	(org-table-end-of-field): New commands
+	(org-table-end-of-field): New commands.
 	(org-table-previous-field, org-table-beginning-of-field): Better
 	error messages.
 	(orgtbl-setup): Include `M-a' and `M-e'.
@@ -5954,7 +5954,7 @@
 	(org-export-plist-vars): Add entries for :keywords and
 	:description.
 	(org-infile-export-plist): Parse for new keywords.
-	(org-get-current-options): Add new keywords
+	(org-get-current-options): Add new keywords.
 	(org-export-as-html): Publish description and keywords.
 
 	* org-agenda.el (org-agenda-add-entry-text-descriptive-links): New
@@ -7770,7 +7770,7 @@
 	immediately after the scheduling keywords.
 
 	* org-clock.el (org-clock-in-switch-to-state): Allow this to be a
-	function
+	function.
 	(org-clock-in): If `org-clock-in-switch-to-state' is a function,
 	call it with the current todo state to get the state to switch to
 	when clocking in.
@@ -7973,7 +7973,7 @@
 	line.
 
 	* org.el (org-get-refile-targets): Replace links with their
-	descriptions
+	descriptions.
 	(org-imenu-get-tree): Replace links with their descriptions.
 
 	* org-remember.el (org-remember-apply-template): Add a new
@@ -8017,7 +8017,7 @@
 	(org-quote-chars): Remove.
 	(org-export-latex-keywords-maybe): Use `replace-regexp-in-string'.
 	(org-export-latex-list-beginning-re): Rename to
-	`org-list-beginning-re'
+	`org-list-beginning-re'.
 	(org-list-item-begin): Rename to `org-list-item-beginning'.
 
 2008-10-12  Eric Schulte  <schulte.eric@gmail.com>
@@ -8352,7 +8352,7 @@
 	(org-map-entries): Make sure org-agenda-archives-mode is nil.
 	(org-agenda-files): Functionality of second arg changed.
 
-	* org-agenda.el (org-agenda-archives-mode): New variable
+	* org-agenda.el (org-agenda-archives-mode): New variable.
 	(org-write-agenda, org-prepare-agenda, org-agenda-list)
 	(org-search-view, org-todo-list, org-tags-view)
 	(org-agenda-list-stuck-projects): Call `org-agenda-files' with
--- a/lisp/play/tetris.el	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/play/tetris.el	Sun Jul 25 23:02:59 2010 +0000
@@ -76,13 +76,12 @@
   :type 'hook)
 
 (defcustom tetris-tty-colors
-  [nil "blue" "white" "yellow" "magenta" "cyan" "green" "red"]
-  "Vector of colors of the various shapes in text mode.
-Element 0 is ignored."
+  ["blue" "white" "yellow" "magenta" "cyan" "green" "red"]
+  "Vector of colors of the various shapes in text mode."
   :group 'tetris
   :type (let ((names `("Shape 1" "Shape 2" "Shape 3"
 		       "Shape 4" "Shape 5" "Shape 6" "Shape 7"))
-	      (result `(vector (const nil))))
+	      (result nil))
 	  (while names
 	    (add-to-list 'result
 			 (cons 'choice
@@ -96,9 +95,8 @@
 	  result))
 
 (defcustom tetris-x-colors
-  [nil [0 0 1] [0.7 0 1] [1 1 0] [1 0 1] [0 1 1] [0 1 0] [1 0 0]]
-  "Vector of colors of the various shapes.
-Element 0 is ignored."
+  [[0 0 1] [0.7 0 1] [1 1 0] [1 0 1] [0 1 1] [0 1 0] [1 0 0]]
+  "Vector of colors of the various shapes."
   :group 'tetris
   :type 'sexp)
 
@@ -196,51 +194,44 @@
 ;; ;;;;;;;;;;;;; constants ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (defconst tetris-shapes
-  [[[[1 1 0 0] [1 1 0 0] [1 1 0 0] [1 1 0 0]]
-    [[1 1 0 0] [1 1 0 0] [1 1 0 0] [1 1 0 0]]
-    [[0 0 0 0] [0 0 0 0] [0 0 0 0] [0 0 0 0]]
-    [[0 0 0 0] [0 0 0 0] [0 0 0 0] [0 0 0 0]]]
-
-   [[[2 2 2 0] [0 2 0 0] [2 0 0 0] [2 2 0 0]]
-    [[0 0 2 0] [0 2 0 0] [2 2 2 0] [2 0 0 0]]
-    [[0 0 0 0] [2 2 0 0] [0 0 0 0] [2 0 0 0]]
-    [[0 0 0 0] [0 0 0 0] [0 0 0 0] [0 0 0 0]]]
-
-   [[[3 3 3 0] [3 3 0 0] [0 0 3 0] [3 0 0 0]]
-    [[3 0 0 0] [0 3 0 0] [3 3 3 0] [3 0 0 0]]
-    [[0 0 0 0] [0 3 0 0] [0 0 0 0] [3 3 0 0]]
-    [[0 0 0 0] [0 0 0 0] [0 0 0 0] [0 0 0 0]]]
-
-   [[[4 4 0 0] [0 4 0 0] [4 4 0 0] [0 4 0 0]]
-    [[0 4 4 0] [4 4 0 0] [0 4 4 0] [4 4 0 0]]
-    [[0 0 0 0] [4 0 0 0] [0 0 0 0] [4 0 0 0]]
-    [[0 0 0 0] [0 0 0 0] [0 0 0 0] [0 0 0 0]]]
-
-   [[[0 5 5 0] [5 0 0 0] [0 5 5 0] [5 0 0 0]]
-    [[5 5 0 0] [5 5 0 0] [5 5 0 0] [5 5 0 0]]
-    [[0 0 0 0] [0 5 0 0] [0 0 0 0] [0 5 0 0]]
-    [[0 0 0 0] [0 0 0 0] [0 0 0 0] [0 0 0 0]]]
-
-   [[[0 6 0 0] [6 0 0 0] [6 6 6 0] [0 6 0 0]]
-    [[6 6 6 0] [6 6 0 0] [0 6 0 0] [6 6 0 0]]
-    [[0 0 0 0] [6 0 0 0] [0 0 0 0] [0 6 0 0]]
-    [[0 0 0 0] [0 0 0 0] [0 0 0 0] [0 0 0 0]]]
-
-   [[[7 7 7 7] [7 0 0 0] [7 7 7 7] [7 0 0 0]]
-    [[0 0 0 0] [7 0 0 0] [0 0 0 0] [7 0 0 0]]
-    [[0 0 0 0] [7 0 0 0] [0 0 0 0] [7 0 0 0]]
-    [[0 0 0 0] [7 0 0 0] [0 0 0 0] [7 0 0 0]]]])
+  [[[[0  0] [1  0] [0  1] [1  1]]]  
+   
+   [[[0  0] [1  0] [2  0] [2  1]] 
+    [[1 -1] [1  0] [1  1] [0  1]] 
+    [[0 -1] [0  0] [1  0] [2  0]] 
+    [[1 -1] [2 -1] [1  0] [1  1]]] 
+   
+   [[[0  0] [1  0] [2  0] [0  1]] 
+    [[0 -1] [1 -1] [1  0] [1  1]] 
+    [[2 -1] [0  0] [1  0] [2  0]] 
+    [[1 -1] [1  0] [1  1] [2  1]]]  
+   
+   [[[0  0] [1  0] [1  1] [2  1]] 
+    [[1  0] [0  1] [1  1] [0  2]]]
+   
+   [[[1  0] [2  0] [0  1] [1  1]] 
+    [[0  0] [0  1] [1  1] [1  2]]]  
+   
+   [[[1  0] [0  1] [1  1] [2  1]] 
+    [[1  0] [1  1] [2  1] [1  2]]                
+    [[0  1] [1  1] [2  1] [1  2]] 
+    [[1  0] [0  1] [1  1] [1  2]]]
+   
+   [[[0  0] [1  0] [2  0] [3  0]]
+    [[1 -1] [1  0] [1  1] [1  2]]]]
+  "Each shape is described by a vector that contains the coordinates of 
+each one of its four blocks.")
 
 ;;the scoring rules were taken from "xtetris".  Blocks score differently
 ;;depending on their rotation
 
 (defconst tetris-shape-scores
-  [ [6 6 6 6] [6 7 6 7] [6 7 6 7] [6 7 6 7] [6 7 6 7] [5 5 6 5] [5 8 5 8]] )
+  [[6] [6 7 6 7] [6 7 6 7] [6 7] [6 7] [5 5 6 5] [5 8]] )
 
 (defconst tetris-shape-dimensions
   [[2 2] [3 2] [3 2] [3 2] [3 2] [3 2] [4 1]])
 
-(defconst tetris-blank 0)
+(defconst tetris-blank 7)
 
 (defconst tetris-border 8)
 
@@ -299,7 +290,7 @@
       (aset options c
 	    (cond ((= c tetris-blank)
 		    tetris-blank-options)
-                  ((and (>= c 1) (<= c 7))
+                  ((and (>= c 0) (<= c 6))
 		   (append
 		    tetris-cell-options
 		    `((((glyph color-x) ,(aref tetris-x-colors c))
@@ -320,20 +311,16 @@
 			   tetris-n-rows nil)))
 	(and (numberp period) period))))
 
-(defun tetris-get-shape-cell (x y)
-  (aref (aref (aref (aref tetris-shapes
-			  tetris-shape)
-		    y)
-	      tetris-rot)
-	x))
+(defun tetris-get-shape-cell (block)
+  (aref (aref  (aref tetris-shapes
+                     tetris-shape) tetris-rot)
+        block))
 
 (defun tetris-shape-width ()
-  (aref (aref tetris-shape-dimensions tetris-shape)
-	(% tetris-rot 2)))
+  (aref (aref tetris-shape-dimensions tetris-shape) 0))
 
-(defun tetris-shape-height ()
-  (aref (aref tetris-shape-dimensions tetris-shape)
-	(- 1 (% tetris-rot 2))))
+(defun tetris-shape-rotations ()
+  (length (aref tetris-shapes tetris-shape)))
 
 (defun tetris-draw-score ()
   (let ((strings (vector (format "Shapes: %05d" tetris-n-shapes)
@@ -365,52 +352,58 @@
     (tetris-update-score)))
 
 (defun tetris-draw-next-shape ()
-  (loop for y from 0 to 3 do
-	(loop for x from 0 to 3 do
-	      (gamegrid-set-cell (+ tetris-next-x x)
-				 (+ tetris-next-y y)
-				 (let ((tetris-shape tetris-next-shape)
-				       (tetris-rot 0))
-				   (tetris-get-shape-cell x y))))))
+  (loop for x from 0 to 3 do
+        (loop for y from 0 to 3 do
+              (gamegrid-set-cell (+ tetris-next-x x)
+                                 (+ tetris-next-y y)
+                                 tetris-blank)))
+  (loop for i from 0 to 3 do
+        (let ((tetris-shape tetris-next-shape)
+              (tetris-rot 0))
+          (gamegrid-set-cell (+ tetris-next-x
+                                (aref (tetris-get-shape-cell i) 0))
+                             (+ tetris-next-y
+                                (aref (tetris-get-shape-cell i) 1))
+                             tetris-shape))))
 
 (defun tetris-draw-shape ()
-  (loop for y from 0 to (1- (tetris-shape-height)) do
-	(loop for x from 0 to (1- (tetris-shape-width)) do
-	      (let ((c (tetris-get-shape-cell x y)))
-		(if (/= c tetris-blank)
-		    (gamegrid-set-cell (+ tetris-top-left-x
-					  tetris-pos-x
-					  x)
-				       (+ tetris-top-left-y
-					  tetris-pos-y
-					  y)
-				       c))))))
+  (loop for i from 0 to 3 do
+        (let ((c (tetris-get-shape-cell i)))
+          (gamegrid-set-cell (+ tetris-top-left-x
+                                tetris-pos-x
+                                (aref c 0))
+                             (+ tetris-top-left-y
+                                tetris-pos-y
+                                (aref c 1))
+                             tetris-shape))))
 
 (defun tetris-erase-shape ()
-  (loop for y from 0 to (1- (tetris-shape-height)) do
-	(loop for x from 0 to (1- (tetris-shape-width)) do
-	      (let ((c (tetris-get-shape-cell x y))
-		    (px (+ tetris-top-left-x tetris-pos-x x))
-		    (py (+ tetris-top-left-y tetris-pos-y y)))
-		(if (/= c tetris-blank)
-		    (gamegrid-set-cell px py tetris-blank))))))
+  (loop for i from 0 to 3 do
+        (let ((c (tetris-get-shape-cell i)))
+          (gamegrid-set-cell (+ tetris-top-left-x
+                                tetris-pos-x 
+                                (aref c 0))
+                             (+ tetris-top-left-y
+                                tetris-pos-y 
+                                (aref c 1))
+                             tetris-blank))))
 
 (defun tetris-test-shape ()
   (let ((hit nil))
-    (loop for y from 0 to (1- (tetris-shape-height)) do
-	  (loop for x from 0 to (1- (tetris-shape-width)) do
-		(unless hit
-		  (setq hit
-			(let* ((c (tetris-get-shape-cell x y))
-			      (xx (+ tetris-pos-x x))
-			      (yy (+ tetris-pos-y y))
-			      (px (+ tetris-top-left-x xx))
-			      (py (+ tetris-top-left-y yy)))
-			  (and (/= c tetris-blank)
-			       (or (>= xx tetris-width)
-				   (>= yy tetris-height)
-				   (/= (gamegrid-get-cell px py)
-				       tetris-blank))))))))
+    (loop for i from 0 to 3 do
+          (unless hit
+            (setq hit
+                  (let* ((c (tetris-get-shape-cell i))
+                         (xx (+ tetris-pos-x 
+                                (aref c 0)))
+                         (yy (+ tetris-pos-y 
+                                (aref c 1))))
+                    (or (>= xx tetris-width)
+                        (>= yy tetris-height)
+                        (/= (gamegrid-get-cell 
+                             (+ xx tetris-top-left-x) 
+                             (+ yy tetris-top-left-y))
+                            tetris-blank))))))
     hit))
 
 (defun tetris-full-row (y)
@@ -510,33 +503,30 @@
 (defun tetris-move-bottom ()
   "Drop the shape to the bottom of the playing area."
   (interactive)
-  (if (not tetris-paused)
-      (let ((hit nil))
-        (tetris-erase-shape)
-        (while (not hit)
-          (setq tetris-pos-y (1+ tetris-pos-y))
-          (setq hit (tetris-test-shape)))
-        (setq tetris-pos-y (1- tetris-pos-y))
-        (tetris-draw-shape)
-        (tetris-shape-done))))
+  (unless tetris-paused
+    (let ((hit nil))
+      (tetris-erase-shape)
+      (while (not hit)
+        (setq tetris-pos-y (1+ tetris-pos-y))
+        (setq hit (tetris-test-shape)))
+      (setq tetris-pos-y (1- tetris-pos-y))
+      (tetris-draw-shape)
+      (tetris-shape-done))))
 
 (defun tetris-move-left ()
   "Move the shape one square to the left."
   (interactive)
-  (unless (or (= tetris-pos-x 0)
-              tetris-paused)
+  (unless tetris-paused
     (tetris-erase-shape)
     (setq tetris-pos-x (1- tetris-pos-x))
     (if (tetris-test-shape)
-	(setq tetris-pos-x (1+ tetris-pos-x)))
+        (setq tetris-pos-x (1+ tetris-pos-x)))
     (tetris-draw-shape)))
 
 (defun tetris-move-right ()
   "Move the shape one square to the right."
   (interactive)
-  (unless (or (= (+ tetris-pos-x (tetris-shape-width))
-                 tetris-width)
-              tetris-paused)
+  (unless tetris-paused
     (tetris-erase-shape)
     (setq tetris-pos-x (1+ tetris-pos-x))
     (if (tetris-test-shape)
@@ -546,23 +536,26 @@
 (defun tetris-rotate-prev ()
   "Rotate the shape clockwise."
   (interactive)
-  (if (not tetris-paused)
-      (progn (tetris-erase-shape)
-             (setq tetris-rot (% (+ 1 tetris-rot) 4))
-             (if (tetris-test-shape)
-                 (setq tetris-rot (% (+ 3 tetris-rot) 4)))
-             (tetris-draw-shape))))
+  (unless tetris-paused
+      (tetris-erase-shape)
+      (setq tetris-rot (% (+ 1 tetris-rot) 
+                          (tetris-shape-rotations)))
+      (if (tetris-test-shape)
+          (setq tetris-rot (% (+ 3 tetris-rot) 
+                              (tetris-shape-rotations))))
+      (tetris-draw-shape)))
 
 (defun tetris-rotate-next ()
   "Rotate the shape anticlockwise."
   (interactive)
-  (if (not tetris-paused)
-      (progn
+  (unless tetris-paused
         (tetris-erase-shape)
-        (setq tetris-rot (% (+ 3 tetris-rot) 4))
+        (setq tetris-rot (% (+ 3 tetris-rot)
+                            (tetris-shape-rotations)))
         (if (tetris-test-shape)
-            (setq tetris-rot (% (+ 1 tetris-rot) 4)))
-        (tetris-draw-shape))))
+            (setq tetris-rot (% (+ 1 tetris-rot)
+                                (tetris-shape-rotations))))
+        (tetris-draw-shape)))
 
 (defun tetris-end-game ()
   "Terminate the current game."
--- a/lisp/progmodes/ps-mode.el	Fri Jul 23 02:35:14 2010 +0000
+++ b/lisp/progmodes/ps-mode.el	Sun Jul 25 23:02:59 2010 +0000
@@ -39,6 +39,7 @@
 (defconst ps-mode-version "1.1h, 16 Jun 2005")
 (defconst ps-mode-maintainer-address "Peter Kleiweg <p.c.j.kleiweg@rug.nl>")
 
+(require 'comint)
 (require 'easymenu)
 
 ;; Define core `PostScript' group.
@@ -431,12 +432,11 @@
 
 (unless ps-run-mode-map
   (setq ps-run-mode-map (make-sparse-keymap))
+  (set-keymap-parent ps-run-mode-map comint-mode-map)
   (define-key ps-run-mode-map "\C-c\C-q" 'ps-run-quit)
   (define-key ps-run-mode-map "\C-c\C-k" 'ps-run-kill)
   (define-key ps-run-mode-map "\C-c\C-e" 'ps-run-goto-error)
-  (define-key ps-run-mode-map [mouse-2] 'ps-run-mouse-goto-error)
-  (define-key ps-run-mode-map "\r" 'ps-run-newline)
-  (define-key ps-run-mode-map [return] 'ps-run-newline))
+  (define-key ps-run-mode-map [mouse-2] 'ps-run-mouse-goto-error))
 
 
 ;; Syntax table.
@@ -718,12 +718,9 @@
   (blink-matching-open))
 
 (defun ps-mode-other-newline ()
-  "Perform newline in `*ps run*' buffer."
+  "Perform newline in `*ps-run*' buffer."
   (interactive)
-  (let ((buf (current-buffer)))
-    (set-buffer "*ps run*")
-    (ps-run-newline)
-    (set-buffer buf)))
+  (ps-run-send-string ""))
 
 
 ;; Print PostScript.
@@ -980,7 +977,7 @@
 
 ;; Interactive PostScript interpreter.
 
-(define-derived-mode ps-run-mode fundamental-mode "Interactive PS"
+(define-derived-mode ps-run-mode comint-mode "Interactive PS"
   "Major mode in interactive PostScript window.
 This mode is invoked from `ps-mode' and should not be called directly.
 
@@ -1014,20 +1011,23 @@
       (setq init-file (ps-run-make-tmp-filename))
       (write-region (concat ps-run-init "\n") 0 init-file)
       (setq init-file (list init-file)))
-    (pop-to-buffer "*ps run*")
+    (pop-to-buffer "*ps-run*")
     (ps-run-mode)
     (when (process-status "ps-run")
       (delete-process "ps-run"))
     (erase-buffer)
     (setq command (append command init-file))
     (insert (mapconcat 'identity command " ") "\n")
-    (apply 'start-process "ps-run" "*ps run*" command)
+    (apply 'make-comint "ps-run" (car command) nil (cdr command))
+    (with-current-buffer "*ps-run*"
+      (use-local-map ps-run-mode-map)
+      (setq comint-prompt-regexp ps-run-prompt))
     (select-window oldwin)))
 
 (defun ps-run-quit ()
   "Quit interactive PostScript."
   (interactive)
-  (ps-run-send-string "quit" t)
+  (ps-run-send-string "quit")
   (ps-run-cleanup))
 
 (defun ps-run-kill ()
@@ -1039,9 +1039,9 @@
 (defun ps-run-clear ()
   "Clear/reset PostScript graphics."
   (interactive)
-  (ps-run-send-string "showpage" t)
+  (ps-run-send-string "showpage")
   (sit-for 1)
-  (ps-run-send-string "" t))
+  (ps-run-send-string ""))
 
 (defun ps-run-buffer ()
   "Send buffer to PostScript interpreter."
@@ -1056,7 +1056,7 @@
   (let ((f (ps-run-make-tmp-filename)))
     (set-marker ps-run-mark begin)
     (write-region begin end f)
-    (ps-run-send-string (format "(%s) run" f) t)))
+    (ps-run-send-string (format "(%s) run" f))))
 
 (defun ps-run-boundingbox ()
   "View BoundingBox."
@@ -1104,17 +1104,15 @@
 " x1 y1 x2 y1 x2 y2 x1 y2)
      0
      f)
-    (ps-run-send-string (format "(%s) run" f) t)
+    (ps-run-send-string (format "(%s) run" f))
     (set-buffer buf)))
 
-(defun ps-run-send-string (string &optional echo)
+(defun ps-run-send-string (string)
   (let ((oldwin (selected-window)))
-    (pop-to-buffer "*ps run*")
-    (goto-char (point-max))
-    (when echo
-      (insert string "\n"))
-    (set-marker (process-mark (get-process "ps-run")) (point))
-    (process-send-string "ps-run" (concat string "\n"))
+    (pop-to-buffer "*ps-run*")
+    (comint-goto-process-mark)
+    (insert string)
+    (comint-send-input)
     (select-window oldwin)))
 
 (defun ps-run-make-tmp-filename ()
@@ -1140,18 +1138,6 @@
   (mouse-set-point event)
   (ps-run-goto-error))
 
-(defun ps-run-newline ()
-  "Process newline in PostScript interpreter window."
-  (interactive)
-  (end-of-line)
-  (insert "\n")
-  (forward-line -1)
-  (when (looking-at ps-run-prompt)
-    (goto-char (match-end 0)))
-  (looking-at ".*")
-  (goto-char (1+ (match-end 0)))
-  (ps-run-send-string (buffer-substring (match-beginning 0) (match-end 0))))
-
 (defun ps-run-goto-error ()
   "Jump to buffer position read as integer at point.
 Use line numbers if `ps-run-error-line-numbers' is not nil"
--- a/lwlib/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/lwlib/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -381,7 +381,7 @@
 
 	* xlwmenu.c (xlwMenuResources) [HAVE_X_I18N]: Use a fontset for the
 	`font' resource.
-	(string_width) [HAVE_X_I18N]: Use XmbTextExtents;
+	(string_width) [HAVE_X_I18N]: Use XmbTextExtents.
 	(MENU_FONT_HEIGHT, MENU_FONT_ASCENT): New macros.
 	(arrow_width, toggle_button_width, size_menu_item, draw_arrow)
 	(draw_toggle, draw_radio, display_menu_item): Use them.
--- a/msdos/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/msdos/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -173,7 +173,7 @@
 	(FONTCONFIG_CFLAGS, FONTCONFIG_LIBS, FREETYPE_CFLAGS, FREETYPE_LIBS)
 	(LIBOTF_CFLAGS, LIBOTF_LIBS, M17N_FLT_CFLAGS, M17N_FLT_LIBS)
 	(GNU_OBJC_CFLAGS, GNUSTEP_SYSTEM_LIBRARIES, LIBRESOLV, LIBGPM):
-	Edit to empty,
+	Edit to empty.
 	(LIB_MATH): Edit to -lm.
 	(UNEXEC_OBJ): Edit to unexec.o.
 
@@ -908,7 +908,7 @@
 1994-10-17  Morten Welinder  <terra@mole.gnu.ai.mit.edu>
 
 	* sed1.inp: Handle "\t#"-style comments.
-	(obj): Don't add any files -- now done in src/makefile.in.in
+	(obj): Don't add any files -- now done in src/makefile.in.in.
 	(temacs): Don't depend on prefix-args.
 	(DOC): Reflect makefile changes regarding two-batch run.
 
--- a/nt/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/nt/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -1,3 +1,30 @@
+2010-07-25  Christoph Scholtes  <cschol2112@gmail.com>
+
+	Build binary distros on Windows using emacs-VERSION as root dir name.
+
+	* makefile.w32-in: Copy README.W32 to installation directory
+	during `make install'.  Remove README.W32 with `distclean' (in
+	case Emacs was installed in place).  Use temporary directory to
+	create distribution zip files in `dist' target.
+	* zipdist.bat: Simplify code using temporary directory.
+
+2010-07-25  Juanma Barranquero  <lekktu@gmail.com>
+
+	* runemacs.c (set_user_model_id): Fix prototype.
+
+2010-07-24  Christoph Scholtes  <cschol2112@gmail.com>
+
+	New make target for Windows platform: make dist (bug#6602)
+
+	* INSTALL: Document new dist target and add section about
+	creating binary distributions.
+	* README.W32: Relocate from admin/nt/ directory.
+	* configure.bat: New parameter `--distfiles'.
+	* makefile.w32-in: Add version number, new target `dist'.
+	Add new target `install-shortcuts'.
+	* zipdist.bat: New file; create zipped binary distribution,
+	replaces admin/nt/makedist.bat.
+
 2010-07-21  Juanma Barranquero  <lekktu@gmail.com>
 
 	* INSTALL: Add note about backslashes in Windows paths.
--- a/nt/INSTALL	Fri Jul 23 02:35:14 2010 +0000
+++ b/nt/INSTALL	Sun Jul 25 23:02:59 2010 +0000
@@ -406,6 +406,9 @@
   Removes the installed files in the bin subdirectory in addition to
   the files removed by make cleanall.
 
+  make dist
+  Builds Emacs from the available sources and pre-compiled lisp files.
+  Packages Emacs binaries as full distribution and barebin distribution.
 
   The following targets are intended only for use with the Bazaar sources.
 
@@ -428,6 +431,32 @@
   bootstrap to rebuild.  Occasionally it may be necessary to run this
   target after an update.
 
+* Creating binary distributions
+
+  Binary distributions (full and barebin distributions) can be
+  automatically built and packaged from source tarballs or a bzr
+  checkout.
+
+  When building Emacs binary distributions, the --distfiles argument
+  to configure.bat specifies files to be included in the bin directory
+  of the binary distributions. This is intended for libraries that are
+  not built as part of Emacs, e.g. image libraries.
+
+  For example, specifying
+
+	--distfiles D:\distfiles\libXpm.dll
+
+  results in libXpm.dll being copied from D:\distfiles to the
+  bin directory before packaging starts.
+
+  Multiple files can be specified using multiple --distfiles arguments:
+
+	--distfiles D:\distfiles\libXpm.dll --distfiles C:\jpeglib\jpeg.dll
+
+  For packaging the binary distributions, the 'dist' make target uses
+  7-Zip (http://www.7-zip.org), which must be installed and available
+  on the Windows Path.
+
 
 * Trouble-shooting
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nt/README.W32	Sun Jul 25 23:02:59 2010 +0000
@@ -0,0 +1,264 @@
+Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+  Free Software Foundation, Inc.
+See the end of the file for license conditions.
+
+			   Emacs for Windows
+
+  This README file describes how to set up and run a precompiled
+  version of GNU Emacs for Windows.  This distribution can be found on
+  the ftp.gnu.org server and its mirrors:
+
+	ftp://ftp.gnu.org/gnu/emacs/windows/
+
+  This server contains other distributions, including the full Emacs
+  source distribution and a barebin distribution which can be installed
+  over it, as well as older releases of Emacs for Windows.
+
+  Answers to frequently asked questions, and further information about
+  this port of GNU Emacs and related software packages can be found via
+  http:
+
+	http://www.gnu.org/software/emacs/windows/
+
+* Preliminaries
+
+  Along with this file should be six subdirectories (bin, etc, info,
+  lisp, leim, site-lisp).  If you have downloaded the barebin
+  distribution, then it will contain only the bin directory and the
+  built in documentation in etc/DOC-X, the rest of the subdirectories
+  are in the src distribution, which the barebin distribution is
+  designed to be used with.
+
+* Setting up Emacs
+
+  To install Emacs, simply unpack all the files into a directory of
+  your choice, but note that you might encounter minor problems if
+  there is a space anywhere in the directory name.  To complete the
+  installation process, you can optionally run the program addpm.exe
+  in the bin subdirectory.  This will put an icon for Emacs in the
+  Start Menu under "Start -> Programs -> Gnu Emacs".
+
+  Some users have reported that the Start Menu item is not created for
+  them.  If this happens, just create your own shortcut to runemacs.exe,
+  eg. by dragging it on to the desktop or the Start button.
+
+  Note that running addpm is now an optional step; Emacs is able to
+  locate all of its files without needing any information to be set in
+  the environment or the registry, although such settings will still
+  be obeyed if present.  This is convenient for running Emacs on a
+  machine which disallows registry changes, or on which software
+  should not be installed.  For instance, you can now run Emacs
+  directly from a CD or USB flash drive without copying or installing
+  anything on the machine itself.
+
+* Starting Emacs
+
+  To run Emacs, simply select Emacs from the Start Menu, or invoke
+  runemacs.exe directly from Explorer or from a command prompt.  This
+  will start Emacs in its default GUI mode, ready to use.  If you have
+  never used Emacs before, you should follow the tutorial at this
+  point (select Emacs Tutorial from the Help menu), since Emacs is
+  quite different from ordinary Windows applications in many respects.
+
+  If you want to use Emacs in tty or character mode within a command
+  window, you can start it by typing "emacs -nw" at the command prompt.
+  (Obviously, you need to ensure that the Emacs bin subdirectory is in
+  your PATH first, or specify the path to emacs.exe.)  The -nw
+  (non-windowed) mode of operation is most useful if you have a telnet
+  server on your machine, allowing you to run Emacs remotely.
+
+* EXE files included
+
+  Emacs comes with the following executable files in the bin directory.
+
+  + emacs.exe - The main Emacs executable.  As this is designed to run
+    as both a text-mode application (emacs -nw) and as a GUI application,
+    it will pop up a command prompt window if run directly from Explorer.
+
+  + runemacs.exe - A wrapper for running Emacs as a GUI application
+    without popping up a command prompt window.
+
+  + emacsclient.exe - A command-line client program that can
+    communicate with a running Emacs process.  See the `Emacs Server'
+    node of the Emacs manual.
+
+  + emacsclientw.exe - A version of emacsclient that does not open
+    a command-line window.
+
+  + addpm.exe - A basic installer that creates Start Menu icons for Emacs.
+    Running this is optional.
+
+  + cmdproxy.exe - Used internally by Emacs to work around problems with
+    the native shells in various versions of Windows.
+
+  + ctags.exe, etags.exe - Tools for generating tag files.  See the
+    `Tags' node of the Emacs manual.
+
+  + ebrowse.exe - A tool for generating C++ browse information.  See the
+    `Ebrowse' manual.
+
+  + ddeclient.exe - A tool for interacting with DDE servers.
+
+  + hexl.exe - A tool for converting files to hex dumps.  See the
+    `Editing Binary Files' node of the Emacs manual.
+
+  + movemail.exe - A helper application for safely moving mail from
+    a mail spool or POP server to a local user mailbox.  See the
+    `Movemail' node of the Emacs manual.
+
+  + digest-doc.exe, sorted-doc.exe - Tools for rebuilding the
+    built-in documentation.
+
+* Image support
+
+  Emacs has built in support for XBM and PPM/PGM/PBM images, and the
+  libXpm library is bundled, providing XPM support (required for color
+  toolbar icons and splash screen).  Source for libXpm should be available
+  on the same place as you got this binary distribution from.  The version
+  of libXpm bundled with this version of Emacs is 3.5.7, based on x.org's
+  libXpm library from X11R7.3.
+
+  Emacs can also support some other image formats with appropriate
+  libraries.  These libraries are all available as part of GTK, or from
+  gnuwin32.sourceforge.net.  Emacs will find them if the directory they
+  are installed in is on the PATH.
+
+      PNG: requires the PNG reference library 1.2 or later, which will
+      be named libpng13d.dll, libpng13.dll, libpng12d.dll, libpng12.dll
+      or libpng.dll.  LibPNG requires zlib, which should come from the same
+      source as you got libpng.
+
+      JPEG: requires the Independant JPEG Group's libjpeg 6b or later,
+      which will be called jpeg62.dll, libjpeg.dll, jpeg-62.dll or jpeg.dll.
+
+      TIFF: requires libTIFF 3.0 or later, which will be called libtiff3.dll
+      or libtiff.dll.
+
+      GIF: requires libungif or giflib 4.1 or later, which will be
+      called giflib4.dll, libungif4.dll or libungif.dll.
+
+   In addition, Emacs can be compiled to support SVG.  This precompiled
+   distribution has not been compiled that way, since the SVG library
+   or one or more of its extensive dependencies appear to be
+   unreliable under Windows.  See nt/INSTALL in the src distribution if
+   you wish to compile Emacs with SVG support.
+
+* Uninstalling Emacs
+
+  If you should need to uninstall Emacs, simply delete all the files
+  and subdirectories from the directory where it was unpacked (Emacs
+  does not install or update any files in system directories or
+  anywhere else).  If you ran the addpm.exe program to create the
+  registry entries and the Start menu icon, then you can remove the
+  registry entries using regedit.  All of the settings are written
+  under the Software\GNU\Emacs key in HKEY_LOCAL_MACHINE, or if you
+  didn't have administrator privileges when you installed, the same
+  key in HKEY_CURRENT_USER.  Just delete the whole Software\GNU\Emacs
+  key.
+
+  The Start menu entry can be removed by right-clicking on the Task bar
+  and selecting Properties, then using the Remove option on the Start
+  Menu Programs page.  (If you installed under an account with
+  administrator privileges, then you need to click the Advanced button
+  and look for the Gnu Emacs menu item under All Users.)
+
+* Troubleshooting
+
+  Unpacking the distributions
+
+  If you encounter trouble trying to run Emacs, there are a number of
+  possible causes.  Check the following for indications that the
+  distribution was not corrupted by the tools used to unpack it:
+
+    * Be sure to disable CR/LF translation or the executables will
+      be unusable.  Older versions of WinZipNT would enable this
+      translation by default.  If you are using WinZipNT, disable it.
+      (I don't have WinZipNT myself, and I do not know the specific
+      commands necessary to disable it.)
+
+    * Check that filenames were not truncated to 8.3.  For example,
+      there should be a file lisp\abbrevlist.elc; if this has been
+      truncated to abbrevli.elc, your distribution has been corrupted
+      while unpacking and Emacs will not start.
+
+  If you believe you have unpacked the distributions correctly and are
+  still encountering problems, see the section on Further Information
+  below.
+
+  Virus scanners
+
+  Some virus scanners interfere with Emacs' use of subprocesses.  If you
+  are unable to use subprocesses and you use Dr. Solomon's WinGuard or
+  McAfee's Vshield, turn off "Scan all files" (WinGuard) or "boot sector
+  scanning" (McAfee exclusion properties).
+
+* Further information
+
+  If you have access to the World Wide Web, I would recommend pointing
+  your favorite web browser to the following document (if you haven't
+  already):
+
+	http://www.gnu.org/software/emacs/windows/
+
+  This document serves as an FAQ and a source for further information
+  about the Windows port and related software packages.
+
+  In addition to the FAQ, there is a mailing list for discussing issues
+  related to the Windows port of Emacs.  For information about the
+  list, see this Web page:
+
+	http://lists.gnu.org/mailman/listinfo/help-emacs-windows
+
+  To ask questions on the mailing list, send email to
+  help-emacs-windows@gnu.org.  (You don't need to subscribe for that.)
+  To subscribe to the list or unsubscribe from it, fill the form you
+  find at http://lists.gnu.org/mailman/listinfo/help-emacs-windows as
+  explained there.
+
+  Another valuable source of information and help which should not be
+  overlooked is the various Usenet news groups dedicated to Emacs.
+  These are particularly good for help with general issues which aren't
+  specific to the Windows port of Emacs.  The main news groups to use
+  for seeking help are:
+
+	gnu.emacs.help
+	comp.emacs
+
+  There are also fairly regular postings and announcements of new or
+  updated Emacs packages on this group:
+
+	gnu.emacs.sources
+
+* Reporting bugs
+
+  If you encounter a bug in this port of Emacs, we would like to hear
+  about it.  First check the FAQ on the web page above to see if the bug
+  is already known and if there are any workarounds.  Then check whether
+  the bug has something to do with code in your .emacs file, e.g. by
+  invoking Emacs with the "-Q" option.
+
+  If you decide that it is a bug in Emacs, use the built in bug
+  reporting facility to report it (from the menu; Help -> Send Bug Report).
+  If you have not yet configured Emacs for mail, then when you press
+  C-c C-c to send the report, it will ask you to paste the text of the
+  report into your mail client.  If the bug is related to subprocesses,
+  also specify which shell you are using (e.g., include the values of
+  `shell-file-name' and `explicit-shell-file-name' in your message).
+
+  Enjoy!
+
+
+This file is part of GNU Emacs.
+
+GNU Emacs is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
--- a/nt/configure.bat	Fri Jul 23 02:35:14 2010 +0000
+++ b/nt/configure.bat	Sun Jul 25 23:02:59 2010 +0000
@@ -90,6 +90,8 @@
 set doldflags=
 set sep1=
 set sep2=
+set sep3=
+set distfiles=
 
 rem ----------------------------------------------------------------------
 rem   Handle arguments.
@@ -112,6 +114,7 @@
 if "%1" == "--without-tiff" goto withouttiff
 if "%1" == "--without-xpm" goto withoutxpm
 if "%1" == "--with-svg" goto withsvg
+if "%1" == "--distfiles" goto distfiles
 if "%1" == "" goto checkutils
 :usage
 echo Usage: configure [options]
@@ -132,6 +135,7 @@
 echo.   --without-tiff          do not use TIFF library even if it is installed
 echo.   --without-xpm           do not use XPM library even if it is installed
 echo.   --with-svg              use the RSVG library (experimental)
+echo.   --distfiles             path to files for make dist, e.g. libXpm.dll
 goto end
 rem ----------------------------------------------------------------------
 :setprefix
@@ -234,6 +238,16 @@
 goto again
 
 rem ----------------------------------------------------------------------
+
+:distfiles
+set HAVE_DISTFILES=1
+shift
+set distfiles=%distfiles%%sep3%%1
+set sep3= %nothing%
+shift
+goto again
+
+rem ----------------------------------------------------------------------
 rem    Check that necessary utilities (cp and rm) are present.
 :checkutils
 echo Checking for 'cp'...
@@ -521,6 +535,35 @@
 :svgDone
 rm -f junk.c junk.obj junk.err junk.out
 
+rem Any distfiles provided for building distribution? If no, we're done.
+if "(%HAVE_DISTFILES%)"=="()" goto :distFilesDone
+
+rem Any arguments to --distfiles specified? If no, we're done.
+if not "%distfiles%"=="" goto :checkDistFiles
+set distFilesOk=0
+echo No arguments specified for option --distfiles!
+goto distfilesDone
+
+:checkDistFiles
+echo Checking for distfiles...
+rem Check if all specified distfiles exist
+set fileNotFound=
+for %%d in (%distfiles%) do if not exist %%d set fileNotFound=%%d
+if not "%fileNotFound%"=="" goto distFilesNotFound
+
+set distFilesOK=1
+echo ...all distfiles found.
+goto :distFilesDone
+
+:distFilesNotFound
+set distFilesOk=0
+echo ...%fileNotFound% not found.
+set distfiles=
+goto :distfilesDone
+
+:distFilesDone
+set fileNotFound=
+
 rem ----------------------------------------------------------------------
 :genmakefiles
 echo Generating makefiles
@@ -541,6 +584,7 @@
 if (%profile%) == (Y) echo PROFILE=1 >>config.settings
 if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings
 if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix%>>config.settings
+if not "(%distfiles%)" == "()" echo DIST_FILES=%distfiles%>>config.settings
 rem We go thru docflags because usercflags could be "-DFOO=bar" -something
 rem and the if command cannot cope with this
 for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y
@@ -642,12 +686,19 @@
  echo   Install libtiff development files or use --without-tiff
 
 :checkgif
-if not "(%HAVE_GIF%)" == "()" goto donelibchecks
-if (%gifsupport%) == (N) goto donelibchecks
+if not "(%HAVE_GIF%)" == "()" goto checkdistfiles
+if (%gifsupport%) == (N) goto checkdistfiles
  set libsOK=0
  echo GIF support is missing.
  echo   Install giflib or libungif development files or use --without-gif
 
+:checkdistfiles
+if "(%HAVE_DISTFILES%)" == "()" goto donelibchecks
+if (%distFilesOk%) == (1) goto donelibchecks
+echo.
+echo Files specified with option --distfiles could not be found.
+echo   Fix these issues before running make dist
+
 :donelibchecks
 if (%libsOK%) == (1) goto success
 echo.
@@ -680,6 +731,9 @@
 set doldflags=
 set mingwflag=
 set mf=
+set distfiles=
+set HAVE_DISTFILES=
+set distFilesOk=
 
 goto skipArchTag
    arch-tag: 300d20a4-1675-4e75-b615-7ce1a8c5376c
--- a/nt/makefile.w32-in	Fri Jul 23 02:35:14 2010 +0000
+++ b/nt/makefile.w32-in	Sun Jul 25 23:02:59 2010 +0000
@@ -23,6 +23,10 @@
 # FIXME: This file uses DOS EOLs.  Convert to Unix after 22.1 is out
 #        (and remove or replace this comment).
 
+VERSION		= 24.0.50
+
+TMP_DIST_DIR 	= emacs-$(VERSION)
+
 TRES		= $(BLD)/emacs.res
 CLIENTRES	= $(BLD)/emacsclient.res
 
@@ -197,12 +201,16 @@
 #
 # Build and install emacs in INSTALL_DIR
 #
-install: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)
+.PHONY: install-bin install-shortcuts
+
+install: install-bin install-shortcuts
+
+install-bin: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)
 	- $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin
 	- $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin
 	- $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin
 	- $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin
-	- "$(INSTALL_DIR)/bin/addpm" -q
+	- $(CP) README.W32 $(INSTALL_DIR)
 	- $(DEL) ../same-dir.tst
 	- $(DEL) $(INSTALL_DIR)/same-dir.tst
 	echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"
@@ -238,6 +246,26 @@
 	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install
 	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install
 
+install-shortcuts:
+	"$(INSTALL_DIR)/bin/addpm" -q
+
+dist: install-bin
+	mkdir $(TMP_DIST_DIR)
+	$(CP) "$(INSTALL_DIR)/BUGS" $(TMP_DIST_DIR)
+	$(CP) "$(INSTALL_DIR)/COPYING" $(TMP_DIST_DIR)
+	$(CP) "$(INSTALL_DIR)/README" $(TMP_DIST_DIR)
+	$(CP) "$(INSTALL_DIR)/README.W32" $(TMP_DIST_DIR)
+	$(CP) "$(INSTALL_DIR)/INSTALL" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/bin" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/etc" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/info" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/lisp" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/leim" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/site-lisp" $(TMP_DIST_DIR)
+	$(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin
+	$(COMSPEC)$(ComSpec) /c $(ARGQUOTE)zipdist.bat $(VERSION)$(ARGQUOTE)
+	$(DEL_TREE) $(TMP_DIST_DIR)
+
 force-info:
 # Note that doc/emacs/makefile knows how to
 # put the info files in $(infodir),
@@ -323,6 +351,7 @@
 	- $(DEL) stamp_BLD
 	- $(DEL) ../etc/DOC ../etc/DOC-X
 	- $(DEL) config.log Makefile
+	- $(DEL) ../README.W32
 
 distclean: distclean-other-dirs-$(MAKETYPE) top-distclean
 
--- a/nt/runemacs.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/nt/runemacs.c	Sun Jul 25 23:02:59 2010 +0000
@@ -43,7 +43,7 @@
 #include <string.h>
 #include <malloc.h>
 
-static void set_user_model_id ();
+static void set_user_model_id (void);
 
 int WINAPI
 WinMain (HINSTANCE hSelf, HINSTANCE hPrev, LPSTR cmdline, int nShow)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nt/zipdist.bat	Sun Jul 25 23:02:59 2010 +0000
@@ -0,0 +1,49 @@
+@echo off
+rem Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+rem   Free Software Foundation, Inc.
+
+rem Author: Christoph Scholtes cschol2112 at gmail.com
+
+rem This file is part of GNU Emacs.
+
+rem GNU Emacs is free software: you can redistribute it and/or modify
+rem it under the terms of the GNU General Public License as published by
+rem the Free Software Foundation, either version 3 of the License, or
+rem (at your option) any later version.
+
+rem GNU Emacs is distributed in the hope that it will be useful,
+rem but WITHOUT ANY WARRANTY; without even the implied warranty of
+rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+rem GNU General Public License for more details.
+
+rem You should have received a copy of the GNU General Public License
+rem along with GNU Emacs.  If not, see http://www.gnu.org/licenses/.
+
+SETLOCAL
+rem arg 1: Emacs version number
+set EMACS_VER=%1
+
+set TMP_DIST_DIR=emacs-%EMACS_VER%
+
+rem Check, if 7zip is installed and available on path
+:ZIP_CHECK
+7z
+if %ERRORLEVEL% NEQ 0 goto :ZIP_ERROR
+goto ZIP_DIST
+
+:ZIP_ERROR
+echo.
+echo ERROR: Make sure 7zip is installed and available on the Windows Path!
+goto EXIT
+
+rem Build distributions
+:ZIP_DIST
+rem Build and verify full distribution
+7z a -bd -tZIP -mx=9 -x!.bzrignore -x!.gitignore -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory emacs-%EMACS_VER%-bin-i386.zip %TMP_DIST_DIR%
+7z t emacs-%EMACS_VER%-bin-i386.zip
+rem Build and verify binary only distribution
+7z a -bd -tZIP -mx=9 -x!.bzrignore -x!.gitignore -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory emacs-%EMACS_VER%-barebin-i386.zip %TMP_DIST_DIR%/README.W32 %TMP_DIST_DIR%/bin %TMP_DIST_DIR%/etc/DOC-X %TMP_DIST_DIR%/COPYING
+7z t emacs-%EMACS_VER%-barebin-i386.zip
+goto EXIT
+
+:EXIT
--- a/oldXMenu/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/oldXMenu/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -137,8 +137,8 @@
 	* Activate.c: Add calls to GrabKeyboard to remove strange
 	interactions with window managers that steal keypresses.
 	Call ungrab_all instead of XtUngrabPointer.
-	(XMenuActivate): Add call to XGrabKeyboard
-	(XMenuActivate): Add call to XUngrabKeyboard
+	(XMenuActivate): Add call to XGrabKeyboard.
+	(XMenuActivate): Add call to XUngrabKeyboard.
 
 2001-10-20  Gerd Moellmann  <gerd@gnu.org>
 
--- a/src/ChangeLog	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/ChangeLog	Sun Jul 25 23:02:59 2010 +0000
@@ -1,3 +1,87 @@
+2010-07-25  Juanma Barranquero  <lekktu@gmail.com>
+
+	* terminfo.c (tparam): Fix prototype of tparm.
+
+2010-07-25  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* emacs.c (main) [PROFILING]: Use __executable_start if defined to
+	find start of text segment.
+	* dispnew.c (safe_bcopy): Don't define if HAVE___EXECUTABLE_START
+	is defined.
+
+	* callproc.c (set_initial_environment): Avoid unbalanced braces.
+
+2010-07-25  Ken Brown  <kbrown@cornell.edu>
+
+	* vm-limit.c (check_memory_limits): Fix previous change;
+	accidentally reverted an earlier change.
+
+2010-07-25  Ken Brown  <kbrown@cornell.edu>
+
+	* mem-limits.h (BSD4_2) [cygwin]: Don't define here; instead...
+	* vm-limit.c: ...add 'defined (CYGWIN)' here (Bug#6715).
+
+2010-07-25  Juanma Barranquero  <lekktu@gmail.com>
+
+	* callproc.c (relocate_fd): Set inside #ifndef WINDOWSNT.
+	* dired.c (opendir, readdir): Fix prototypes.
+	* editfns.c (w32_get_internal_run_time): Fix prototypes.
+	* keyboard.c (input_available_signal): Declare inside #ifdef SIGIO.
+	* ndir.h (opendir, readdir, seekdir, closedir): Fix prototypes.
+	(telldir): Remove declaration.
+	* ralloc.c (real_morecore, __morecore): Fix prototypes.
+	* sound.c (alsa_sound_perror): Declare inside #ifdef HAVE_ALSA.
+	* syssignal.h (strsignal): Fix prototype.
+	* term.c (tparam): Fix prototype.
+	(term_get_fkeys_address, term_get_fkeys_kboard, term_get_fkeys_1)
+	(term_get_fkeys): Set inside "#ifndef DOS_NT".
+	* vm-limit.c (check_memory_limits): Fix prototypes of real_morecore
+	and __morecore.
+	* w32gui.h (XParseGeometry): Fix prototype.
+	* w32heap.h (get_data_start, get_data_end, init_heap): Fix prototypes.
+	* w32term.c (my_set_focus): Declare inside #if 0.
+	* w32term.h (x_window_to_frame, x_display_info_for_name, w32_term_init)
+	(w32_fill_rect, w32_clear_window, init_crit, delete_crit, signal_quit)
+	(drain_message_queue, get_next_msg, post_msg, parse_button)
+	(ClipboardSequence_Proc): Fix prototypes.
+	(wait_for_sync): Remove declaration.
+
+2010-07-24  Juanma Barranquero  <lekktu@gmail.com>
+
+	* w32fns.c (w32_to_x_color): Remove, unused.
+
+2010-07-24  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* lisp.h: Remove leftover P_.
+
+2010-07-24  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* ecrt0.c, unexalpha.c: Remove files, unused.
+
+2010-07-24  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* cmds.c (internal_self_insert): Make static.
+	* lisp.h (internal_self_insert): Remove declaration.
+
+2010-07-23  Juanma Barranquero  <lekktu@gmail.com>
+
+	* alloc.c (free_float):
+	* font.c [ENABLE_CHECKING] (font_match_xlfd, font_check_xlfd_parse):
+	* frame.c (delete_frame_handler):
+	* ralloc.c (reorder_bloc):
+	* w32menu.c (menubar_id_to_frame, add_left_right_boundary):
+	Remove unused static functions.
+
+	* menu.c (cleanup_popup_menu): Set inside "#ifdef HAVE_NS";
+	it is called only from NS code.
+
+	* w32term.c (my_set_focus): #ifdef away; it is called only from
+	"#ifdef 0" code.
+
+	* w32fns.c (x_edge_detection):
+	* xfaces.c (may_use_scalable_font_p):
+	Remove obsolete static declarations.
+
 2010-07-20  Juanma Barranquero  <lekktu@gmail.com>
 
 	* alloc.c (emacs_blocked_free, emacs_blocked_malloc)
@@ -2727,7 +2811,7 @@
 	(struct xsettings): Add font and tb_style, set xft stuff inside #ifdef
 	HAVE_XFT.
 	(something_changedCB): store_font_changed_event is now
-	store_config_changed_event
+	store_config_changed_event.
 	(parse_settings): Rename from parse_xft_settings.  Read
 	non-xft xsettings outside #ifdef HAVE_XFT.
 	(read_settings): Renamed from read_xft_settings.
@@ -4476,7 +4560,7 @@
 	(scroll_end_callback): Remove.
 	(xg_create_scroll_bar): Add parameter end_callback, bind it to
 	button-release-event.  Replace value-changed event with change-value,
-	bug #5177,
+	bug #5177.
 	(xg_event_is_for_scrollbar): Only return true if button is less than 4,
 	bug #5177.
 
@@ -4497,7 +4581,7 @@
 
 2009-12-12  Eli Zaretskii  <eliz@gnu.org>
 
-	* dispextern.h (struct text_pos): Use EMACS_INT;
+	* dispextern.h (struct text_pos): Use EMACS_INT.
 	(struct glyph): Use EMACS_INT for charpos.
 	(struct it): Use EMACS_INT for stop_charpos, end_charpos,
 	region_beg_charpos, region_end_charpos,
@@ -12063,8 +12147,8 @@
 2008-07-15  Chris Hall  <chris@web.workinglinux.com>  (tiny change)
             YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
-	(make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
-	fix crash due to different init order.
+	* frame.c (make_initial_frame): Call init_frame_faces(f) in
+	CANNOT_DUMP case -- fix crash due to different init order.
 
 2008-07-15  Adrian Robert  <Adrian.B.Robert@gmail.com>
 
@@ -12261,7 +12345,7 @@
 	* m/macppc.h:
 	* m/alpha.h: Use GNU_LINUX instead of LINUX.  Reorganize conditionals.
 
-	* m/ibms390x.h (XINT, XUINT): Don't define, same as the default
+	* m/ibms390x.h (XINT, XUINT): Don't define, same as the default.
 	(SPECIAL_EMACS_INT):
 	* m/ia64.h (SPECIAL_EMACS_INT):
 	* m/amdx86-64.h (SPECIAL_EMACS_INT):
--- a/src/ChangeLog.10	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/ChangeLog.10	Sun Jul 25 23:02:59 2010 +0000
@@ -3252,7 +3252,7 @@
 2006-07-02  Kim F. Storm  <storm@cua.dk>
 
 	* xdisp.c (display_tool_bar_line): Skip glyphs which are too big
-	to ever fit the tool-bar,
+	to ever fit the tool-bar.
 	(MAX_FRAME_TOOL_BAR_HEIGHT): New macro.
 	(tool_bar_lines_needed): Use unused mode-line row as temp_row.
 	(redisplay_tool_bar): Only clear desired matrix if we actually
@@ -7869,7 +7869,7 @@
 
 2005-07-19  Juanma Barranquero  <lekktu@gmail.com>
 
-	* eval.c (Fprog2, Fcalled_interactively_p),
+	* eval.c (Fprog2, Fcalled_interactively_p)
 	(syms_of_eval) <debug-on-quit>: Doc fixes.
 	(syms_of_eval) <max-specpdl-size>:
 	(Finteractive_p): Fix typos in docstrings.
@@ -11250,7 +11250,7 @@
 2004-12-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
 	* macterm.c (endif, x_font_name_to_mac_font_name):
-	Use maccentraleurroman instead of maccentraleuropean
+	Use maccentraleurroman instead of maccentraleuropean.
 	(mac_c_string_match, mac_do_list_fonts): Speed up font search by
 	quickly finding a specific font without needing regexps.
 
@@ -12477,7 +12477,7 @@
 
 	* gtkutil.h (xg_frame_cleared): Remove.
 
-	* xterm.c (x_clear_frame): Remove call to xg_frame_cleared
+	* xterm.c (x_clear_frame): Remove call to xg_frame_cleared.
 	(x_scroll_bar_create, XTset_vertical_scroll_bar):
 	Remove arguments left and width to xg_update_scrollbar_pos.
 	(XTset_vertical_scroll_bar): Do x_clear_area for USE_GTK also.
@@ -13017,9 +13017,9 @@
 
 	* macmenu.c (ENCODE_MENU_STRING): Added to handle multibyte
 	strings in menu items.
-	(single_submenu): Use ENCODE_MENU_STRING
+	(single_submenu): Use ENCODE_MENU_STRING.
 	(mac_menu_show): Use ENCODE_MENU_STRING.  Reset grabbed because
-	button release isn't passed to event loop
+	button release isn't passed to event loop.
 	(add_menu_item): Use SetMenuItemWithCFString.
 
 2004-08-26  Steven Tamm  <steventamm@mac.com>
@@ -15407,7 +15407,7 @@
 	(Fxw_display_color_p): Use dpyinfo->color_p.
 	(Fx_display_grayscale_p, Fx_display_planes): Don't use
 	dpyinfo->n_cbits.
-	(Fx_display_color_cells): Use dpyinfo->n_planes;
+	(Fx_display_color_cells): Use dpyinfo->n_planes.
 	(QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
 	(Qheuristic, cross_disabled_images, emboss_matrix)
 	(laplace_matrix): New variables (from xfns.c).
@@ -16414,7 +16414,7 @@
 	(append_glyph, append_composite_glyph, produce_image_glyph)
 	(append_stretch_glyph): Set glyph's ascent and descent.
 	(on_hot_spot_p): New function to check if position is inside an
-	rectangular, circular, or polygon-shaped image hot-spot,
+	rectangular, circular, or polygon-shaped image hot-spot.
 	(find_hot_spot): New function to search for image hot-spot.
 	(Flookup_image_map): New defun to search for image hot-spot.
 	(define_frame_cursor1): New aux function to determine frame
@@ -18570,7 +18570,7 @@
 	change/simplify relevant callers.
 	(x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
 	and new fringe vs. display margin position.
-	Use window_box_left_offset and window_box_right_offset
+	Use window_box_left_offset and window_box_right_offset.
 	(get_glyph_string_clip_rect): Adapt to per-window fringes and
 	scroll bars, and new fringe vs. display margin position.
 	Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
--- a/src/ChangeLog.2	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/ChangeLog.2	Sun Jul 25 23:02:59 2010 +0000
@@ -3102,9 +3102,9 @@
 	[So (-259 . (259 . x)) means to format x -exactly- 259 chars wide.]
 
 	* dispnew.c (Fding):
-	Do not terminate macro-definition if given an argument
+	Do not terminate macro-definition if given an argument.
 	(This is so things like asynchronous process notifications
-	can beep but not screw)
+	can beep but not screw.)
 
 1986-11-10  Richard M. Stallman  (rms@prep)
 
--- a/src/ChangeLog.3	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/ChangeLog.3	Sun Jul 25 23:02:59 2010 +0000
@@ -6993,7 +6993,7 @@
 
 	* keyboard.c (Qvertical_split): Renamed to `vertical-line',
 	since the window arrangement is actually referred to as a
-	`horizontal split.'
+	`horizontal split'.
 	(make_lispy_event, make_lispy_movement, syms_of_keyboard): Uses
 	renamed here.
 	* keyboard.h (Qvertical_split): Extern declaration changed here.
--- a/src/ChangeLog.5	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/ChangeLog.5	Sun Jul 25 23:02:59 2010 +0000
@@ -387,7 +387,7 @@
 	based on frame name and icon_name fields.
 	(x_set_icon_name): New function.
 	(x_icon): Call x_text_icon.
-	(x_set_name): Look at icon_name field when setting the icon name,
+	(x_set_name): Look at icon_name field when setting the icon name.
 	(x_frame_parms): Add icon-name.
 	(syms_of_xfns): Set up Qicon_name.
 
@@ -903,7 +903,7 @@
 
 1995-05-04  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
 
-	* s/freebsd.h: (GETPGRP_NO_ARG): Defined
+	* s/freebsd.h (GETPGRP_NO_ARG): Define.
 	(HAVE_GETPAGESIZE): Definition deleted.
 
 	* data.c (store_symval_forwarding): Error if value out of range
@@ -1308,7 +1308,7 @@
 
 	* ntinevt.c (do_mouse_event): Use XSETFASTINT.
 	(SET_FRAME): Undefined.
-	(select): Renamed to sys_select to correspond to routine in sysdep.c
+	(select): Renamed to sys_select to correspond to routine in sysdep.c.
 	(sys_select): Support struct timeval.
 	(key_event): Support German keyboard.
 	Replace SET_FRAME with XSETFRAME.
@@ -4217,7 +4217,7 @@
 
 	* process.c: Handle multiple keyboard input descriptors.
 	(non_keyboard_wait_mask): New variable.
-	(Fset_process_filter): Update non_keyboard_wait_mask
+	(Fset_process_filter): Update non_keyboard_wait_mask.
 	(create_process, Fopen_network_stream, deactivate_process):
 	(init_process, sigchld_handler): Likewise.
 	(wait_reading_process_input): Maybe use non_keyboard_wait_mask.
@@ -4456,7 +4456,7 @@
 
 	* xfns.c: Use FRAME_X_DISPLAY instead of x_current_display
 	and XDISPLAY.
-	(x_in_use): New variable,
+	(x_in_use): New variable.
 	(check_x, using_x_p): Test x_in_use.
 	(Fx_open_connection): Set x_in_use.
 	(check_x_frame): New function.
@@ -5953,7 +5953,7 @@
 1994-09-03  Kaveh R. Ghazi  (ghazi@noc.rutgers.edu)
 
 	* m/delta88k.h [__GNUC__] (HAVE_ALLOCA): Defined.
-	[__GNUC__] (C_ALLOCA): Add #undef
+	[__GNUC__] (C_ALLOCA): Add #undef.
 	(LIB_X11_LIB): Add #undef.
 	(HAVE_TERMIOS): Defined.
 	(HAVE_TERMIO): Add #undef.
--- a/src/ChangeLog.6	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/ChangeLog.6	Sun Jul 25 23:02:59 2010 +0000
@@ -2830,7 +2830,7 @@
 	* dosfns.c (Fint86, Fdos_memget, Fdos_memput, Fmsdos_set_keyboard):
 	Harmonize arguments with documentation.
 
-	* editfns.c (Fchar_to_string, Fstring_to_char, Fgoto_char, Fencode_time,
+	* editfns.c (Fchar_to_string, Fstring_to_char, Fgoto_char, Fencode_time)
 	(Finsert_char, Fbuffer_substring, Fbuffer_substring_no_properties)
 	(Finsert_buffer_substring, Fdelete_region, Fnarrow_to_region):
 	Harmonize arguments with documentation.
--- a/src/ChangeLog.9	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/ChangeLog.9	Sun Jul 25 23:02:59 2010 +0000
@@ -1126,7 +1126,7 @@
 
 	* xterm.c (note_mouse_highlight) <help-echo>: When looking for
 	help-echo for a string which doesn't have help-echo itself, use
-	get-char-property to obtain the help-echo from the string's buffer
+	get-char-property to obtain the help-echo from the string's buffer.
 	(note_mouse_highlight) <mouse-face>: When on a string that doesn't
 	have mouse-face, look ``under'' the string for mouse-face from an
 	overlay.
@@ -3119,7 +3119,7 @@
 	* w32fns.c (Fx_show_tip): Fix calls to make_number.
 	(x_set_font): If font hasn't changed, avoid recomputing
 	faces and other things.
-	(x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
+	(x_set_tool_bar_lines): Do nothing if frame is minibuffer-only.
 	(Fx_create_frame): Add the tool bar height to the frame height.
 	(x_create_tip_frame): Prevent changing the tooltip's
 	background color by specifying a color for the default font
@@ -4887,7 +4887,7 @@
 
 	* md5.c: Delay include of md5.h until after namespace cleaning.
 
-	* makefile.w32-in (fns.o): Depend on md5.h
+	* makefile.w32-in (fns.o): Depend on md5.h.
 	(md5.o): New target.
 	(sunfns.o): Remove.
 
@@ -7254,7 +7254,7 @@
 
 	* charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
 
-	* charset.c: Include composite.h
+	* charset.c: Include composite.h.
 	(lisp_string_width): New function.
 	(Fstring_width): Call lisp_string_width instead of strwidth.
 
@@ -7333,7 +7333,7 @@
 
 	* s/ms-w32.h (ORDINARY_LINK): New define.
 
-	* w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
+	* w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define.
 	(_ANONYMOUS_STRUCT) [__GNUC__]: New define.
 
 	* makefile.w32-in (clean): Don't delete config.h and epaths.h.
@@ -8409,7 +8409,7 @@
 	(encode_coding_iso2022): New local variable safe_chars.  Check
 	unsafe chars.
 	(setup_coding_system): Delete the code to initialize
-	coding->safe_charses
+	coding->safe_charses.
 	(intersection, find_safe_codings): New functions.
 	(Ffind_coding_systems_region_internal): New function.
 	(syms_of_coding): Defsubr it.  Initialize Qsafe_chars,
@@ -8729,7 +8729,7 @@
 	* w32term.c (help_echo_object, help_echo_pos): New variables.
 	(note_mode_line_highlight): Store additional information about the
 	help-echo in help_echo_object and help_echo_pos.  Check both
-	`local-map' and `keymap' properties for changing the cursor
+	`local-map' and `keymap' properties for changing the cursor.
 	(note_mouse_highlight): Store additional information about the
 	help-echo in help_echo_object and help_echo_pos.
 	(note_tool_bar_highlight): Set help_echo_object to nil and
@@ -8797,7 +8797,7 @@
 	* xterm.c (help_echo_object, help_echo_pos): New variables.
 	(note_mode_line_highlight): Store additional information about the
 	help-echo in help_echo_object and help_echo_pos.  Check both
-	`local-map' and `keymap' properties for changing the cursor
+	`local-map' and `keymap' properties for changing the cursor.
 	(note_mouse_highlight): Store additional information about the
 	help-echo in help_echo_object and help_echo_pos.
 	(note_tool_bar_highlight): Set help_echo_object to nil and
@@ -11979,7 +11979,7 @@
 	(detect_coding_utf_8): New function.
 	(UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
 	UTF_16_LOW_SURROGATE_P): New macros.
-	(detect_coding_utf_16): New function
+	(detect_coding_utf_16): New function.
 	(detect_coding_mask): When priorities are specified, skip any
 	categories that have `nil' coding-system.  Fix bug of returning
 	wrong mask when PRIORITIES is specified and detect_coding_XXX()
@@ -12222,7 +12222,7 @@
 
 	* makefile.nt: Add atimer.h to dependencies.
 	* w32.c (init_environment): Set Vw32_num_mouse_buttons here.
-	* w32console.c: Only disable window system features for dispextern.h
+	* w32console.c: Only disable window system features for dispextern.h.
 	(initialize_w32_display): Build a display info for the console.
 	* w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
 	* w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
@@ -12825,7 +12825,7 @@
 	(FRAME_XIM): Removed.
 
 	* xfns.c (supported_styles): New variable.
-	(DEFAULT_STYLE, DEFAULT_FONT): New macros
+	(DEFAULT_STYLE, DEFAULT_FONT): New macros.
 	(xic_create_xfontset, best_style, xic_create_frame)
 	(xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
 	(xic_set_xfontset): New functions.
@@ -13156,7 +13156,7 @@
 	(GC_STRING_BYTES, GC_STRING_CHARS): New macros.
 	(DONT_COPY_FLAG): Removed.
 	(SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
-	(struct sdata, struct sblock): New
+	(struct sdata, struct sblock): New.
 	(struct string_block): Rewritten.
 	(STRINGS_IN_STRING_BLOCK): New macro.
 	(oldest_sblock, current_sblock, total_strings, total_free_strings)
--- a/src/alloc.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/alloc.c	Sun Jul 25 23:02:59 2010 +0000
@@ -2538,16 +2538,6 @@
 }
 
 
-/* Explicitly free a float cell by putting it on the free-list.  */
-
-static void
-free_float (struct Lisp_Float *ptr)
-{
-  ptr->u.chain = float_free_list;
-  float_free_list = ptr;
-}
-
-
 /* Return a new float object with value FLOAT_VALUE.  */
 
 Lisp_Object
--- a/src/callproc.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/callproc.c	Sun Jul 25 23:02:59 2010 +0000
@@ -984,7 +984,9 @@
   RETURN_UNGCPRO (unbind_to (count, Fcall_process (nargs, args)));
 }
 
+#ifndef WINDOWSNT
 static int relocate_fd (int fd, int minfd);
+#endif
 
 static char **
 add_env (char **env, char **new_env, char *string)
@@ -1113,7 +1115,7 @@
     char **p, **q;
     register int new_length;
     Lisp_Object display = Qnil;
-    
+
     new_length = 0;
 
     for (tem = Vprocess_environment;
@@ -1149,7 +1151,7 @@
        but with corrected value.  */
     if (egetenv ("PWD"))
       *new_env++ = pwd_var;
- 
+
     if (STRINGP (display))
       {
 	int vlen = strlen ("DISPLAY=") + strlen (SDATA (display)) + 1;
@@ -1179,7 +1181,7 @@
       }
   }
 
-  
+
 #ifdef WINDOWSNT
   prepare_standard_handles (in, out, err, handles);
   set_process_dir (SDATA (current_dir));
@@ -1265,6 +1267,7 @@
 #endif /* not MSDOS */
 }
 
+#ifndef WINDOWSNT
 /* Move the file descriptor FD so that its number is not less than MINFD.
    If the file descriptor is moved at all, the original is freed.  */
 static int
@@ -1298,6 +1301,7 @@
       return new;
     }
 }
+#endif /* not WINDOWSNT */
 
 static int
 getenv_internal_1 (const char *var, int varlen, char **value, int *valuelen,
@@ -1526,13 +1530,12 @@
 set_initial_environment (void)
 {
   register char **envp;
-#ifndef CANNOT_DUMP
-  if (initialized)
-    {
+#ifdef CANNOT_DUMP
+  Vprocess_environment = Qnil;
 #else
+  if (initialized)
+#endif
     {
-      Vprocess_environment = Qnil;
-#endif
       for (envp = environ; *envp; envp++)
 	Vprocess_environment = Fcons (build_string (*envp),
 				      Vprocess_environment);
--- a/src/cmds.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/cmds.c	Sun Jul 25 23:02:59 2010 +0000
@@ -45,6 +45,8 @@
 
 extern Lisp_Object Qface;
 extern Lisp_Object Vtranslation_table_for_input;
+
+static int internal_self_insert (int, int);
 
 DEFUN ("forward-point", Fforward_point, Sforward_point, 1, 1, 0,
        doc: /* Return buffer position N characters after (before if N negative) point.  */)
@@ -347,7 +349,7 @@
 
 static Lisp_Object Qexpand_abbrev;
 
-int
+static int
 internal_self_insert (int c, int noautofill)
 {
   int hairy = 0;
--- a/src/config.in	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/config.in	Sun Jul 25 23:02:59 2010 +0000
@@ -801,6 +801,9 @@
 /* Define to 1 if you want to use the X window system. */
 #undef HAVE_X_WINDOWS
 
+/* Define to 1 if you have the `__executable_start' function. */
+#undef HAVE___EXECUTABLE_START
+
 /* Define to 1 if you have the `__fpending' function. */
 #undef HAVE___FPENDING
 
--- a/src/dired.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/dired.c	Sun Jul 25 23:02:59 2010 +0000
@@ -66,8 +66,8 @@
 #ifndef MSDOS
 #define DIRENTRY struct direct
 
-extern DIR *opendir ();
-extern struct direct *readdir ();
+extern DIR *opendir (char *);
+extern struct direct *readdir (DIR *);
 
 #endif /* not MSDOS */
 #endif /* not SYSV_SYSTEM_DIR */
--- a/src/dispnew.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/dispnew.c	Sun Jul 25 23:02:59 2010 +0000
@@ -436,7 +436,7 @@
 #endif /* GLYPH_DEBUG == 0 */
 
 
-#ifdef PROFILING
+#if defined PROFILING && !HAVE___EXECUTABLE_START
 /* FIXME: only used to find text start for profiling.  */
 
 void
--- a/src/ecrt0.c	Fri Jul 23 02:35:14 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/* C code startup routine.
-   Copyright (C) 1985, 1986, 1992, 2001, 2002, 2003, 2004,
-                 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
-
-
-/* The standard Vax 4.2 Unix crt0.c cannot be used for Emacs
-   because it makes `environ' an initialized variable.
-   It is easiest to have a special crt0.c on all machines
-   though I don't know whether other machines actually need it.  */
-
-/* On the vax and 68000, in BSD4.2 and USG5.2,
-   this is the data format on startup:
-  (vax) ap and fp are unpredictable as far as I know; don't use them.
-  sp ->  word containing argc
-         word pointing to first arg string
-	 [word pointing to next arg string]... 0 or more times
-	 0
-Optionally:
-	 [word pointing to environment variable]... 1 or more times
-	 ...
-	 0
-And always:
-	 first arg string
-	 [next arg string]... 0 or more times
-*/
-
-#ifdef emacs
-#include <config.h>
-#endif
-
-/*		********  WARNING ********
-    Do not insert any data definitions before data_start!
-    Since this is the first file linked, the address of the following
-    variable should correspond to the start of initialized data space.
-    On some systems this is a constant that is independent of the text
-    size for shared executables.  On others, it is a function of the
-    text size. In short, this seems to be the most portable way to
-    discover the start of initialized data space dynamically at runtime,
-    for either shared or unshared executables, on either swapping or
-    virtual systems.  It only requires that the linker allocate objects
-    in the order encountered, a reasonable model for most Unix systems.
-    Similarly, note that the address of _start() should be the start
-    of text space.   Fred Fish, UniSoft Systems Inc.  */
-
-int data_start = 0;
-
-char **environ;
-
-static start1 ();
-
-/* Define symbol "start": here; some systems want that symbol.  */
-asm("	.text		");
-asm("	.globl start	");
-asm("	start:		");
-
-_start ()
-{
-/* On vax, nothing is pushed here  */
-  start1 ();
-}
-
-static
-start1 (bogus_fp, argc, xargv)
-     int argc;
-     char *xargv;
-{
-  register char **argv = &xargv;
-  environ = argv + argc + 1;
-
-  if ((char *)environ == xargv)
-    environ--;
-  exit (main (argc, argv, environ));
-
-  /* Refer to `start1' so GCC will not think it is never called
-     and optimize it out.  */
-  (void) &start1;
-}
-
-/* arch-tag: 4025c2fb-d6b1-4d29-b1b6-8100b6bd1e74
-   (do not change this comment) */
--- a/src/editfns.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/editfns.c	Sun Jul 25 23:02:59 2010 +0000
@@ -90,7 +90,7 @@
                                const struct tm *, int);
 
 #ifdef WINDOWSNT
-extern Lisp_Object w32_get_internal_run_time ();
+extern Lisp_Object w32_get_internal_run_time (void);
 #endif
 
 static int tm_diff (struct tm *, struct tm *);
--- a/src/emacs.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/emacs.c	Sun Jul 25 23:02:59 2010 +0000
@@ -1747,9 +1747,18 @@
 #else
       extern char etext;
 #endif
+#ifdef HAVE___EXECUTABLE_START
+      /* This symbol is defined by GNU ld to the start of the text
+	 segment.  */
+      extern char __executable_start[];
+#else
       extern void safe_bcopy ();
+#endif
 
       atexit (_mcleanup);
+#ifdef HAVE___EXECUTABLE_START
+      monstartup (__executable_start, &etext);
+#else
       /* This uses safe_bcopy because that function comes first in the
 	 Emacs executable.  It might be better to use something that
 	 gives the start of the text segment, but start_of_text is not
@@ -1757,6 +1766,7 @@
       /* FIXME: Does not work on architectures with function
 	 descriptors.  */
       monstartup (safe_bcopy, &etext);
+#endif
     }
   else
     moncontrol (0);
--- a/src/font.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/font.c	Sun Jul 25 23:02:59 2010 +0000
@@ -980,39 +980,6 @@
 }
 
 
-#ifdef ENABLE_CHECKING
-/* Match a 14-field XLFD pattern against a full XLFD font name.  */
-static int
-font_match_xlfd (char *pattern, char *name)
-{
-  while (*pattern && *name)
-    {
-      if (*pattern == *name)
-	pattern++;
-      else if (*pattern == '*')
-	if (*name == pattern[1])
-	  pattern += 2;
-	else
-	  ;
-      else
-	return 0;
-      name++;
-    }
-  return 1;
-}
-
-/* Make sure the font object matches the XLFD font name.  */
-static int
-font_check_xlfd_parse (Lisp_Object font, char *name)
-{
-  char name_check[256];
-  font_unparse_xlfd (font, 0, name_check, 255);
-  return font_match_xlfd (name_check, name);
-}
-
-#endif
-
-
 /* Parse NAME (null terminated) as XLFD and store information in FONT
    (font-spec or font-entity).  Size property of FONT is set as
    follows:
--- a/src/frame.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/frame.c	Sun Jul 25 23:02:59 2010 +0000
@@ -1280,14 +1280,6 @@
   return 1;
 }
 
-/* Error handler for `delete-frame-functions'. */
-static Lisp_Object
-delete_frame_handler (Lisp_Object arg)
-{
-  add_to_log ("Error during `delete-frame': %s", arg, Qnil);
-  return Qnil;
-}
-
 extern Lisp_Object Qrun_hook_with_args;
 
 /* Delete FRAME.  When FORCE equals Qnoelisp, delete FRAME
@@ -1299,7 +1291,7 @@
      /* If we use `register' here, gcc-4.0.2 on amd64 using
 	-DUSE_LISP_UNION_TYPE complains further down that we're getting the
 	address of `force'.  Go figure.  */
-                              
+
 {
   struct frame *f;
   struct frame *sf = SELECTED_FRAME ();
--- a/src/keyboard.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/keyboard.c	Sun Jul 25 23:02:59 2010 +0000
@@ -635,7 +635,9 @@
 static void clear_event (struct input_event *);
 static Lisp_Object restore_kboard_configuration (Lisp_Object);
 static SIGTYPE interrupt_signal (int signalnum);
+#ifdef SIGIO
 static SIGTYPE input_available_signal (int signo);
+#endif
 static void handle_interrupt (void);
 static void timer_start_idle (void);
 static void timer_stop_idle (void);
@@ -3895,7 +3897,7 @@
 {
   register int c;
   Lisp_Object obj;
-  
+
   if (kbd_on_hold_p () && kbd_buffer_nr_stored () < KBD_BUFFER_SIZE/4)
     {
       /* Start reading input again, we have processed enough so we can
--- a/src/lisp.h	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/lisp.h	Sun Jul 25 23:02:59 2010 +0000
@@ -2393,7 +2393,6 @@
 EXFUN (Fend_of_line, 1);
 EXFUN (Fforward_char, 1);
 EXFUN (Fforward_line, 1);
-extern int internal_self_insert (int, int);
 extern void syms_of_cmds (void);
 extern void keys_of_cmds (void);
 
@@ -3400,16 +3399,16 @@
 extern int emacs_read (int, char *, unsigned int);
 extern int emacs_write (int, const char *, unsigned int);
 #ifndef HAVE_MEMSET
-extern void *memset P_ ((void *, int, size_t));
+extern void *memset (void *, int, size_t);
 #endif
 #ifndef HAVE_MEMCPY
-extern void *memcpy P_ ((void *, void *, size_t));
+extern void *memcpy (void *, void *, size_t);
 #endif
 #ifndef HAVE_MEMMOVE
-extern void *memmove P_ ((void *, void *, size_t));
+extern void *memmove (void *, void *, size_t);
 #endif
 #ifndef HAVE_MEMCMP
-extern int memcmp P_ ((void *, void *, size_t));
+extern int memcmp (void *, void *, size_t);
 #endif
 
 /* Defined in filelock.c */
--- a/src/mem-limits.h	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/mem-limits.h	Sun Jul 25 23:02:59 2010 +0000
@@ -34,10 +34,6 @@
 # endif
 #endif
 
-#ifdef CYGWIN
-#define BSD4_2
-#endif
-
 #ifdef BSD4_2
 #include <sys/time.h>
 #include <sys/resource.h>
--- a/src/menu.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/menu.c	Sun Jul 25 23:02:59 2010 +0000
@@ -133,12 +133,14 @@
   xassert (NILP (menu_items_inuse));
 }
 
+#ifdef HAVE_NS
 static Lisp_Object
 cleanup_popup_menu (Lisp_Object arg)
 {
   discard_menu_items ();
   return Qnil;
 }
+#endif
 
 /* This undoes save_menu_items, and it is called by the specpdl unwind
    mechanism.  */
--- a/src/ndir.h	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/ndir.h	Sun Jul 25 23:02:59 2010 +0000
@@ -32,11 +32,10 @@
 	char	dd_buf[DIRBLKSIZ];	/* directory block */
 	}	DIR;			/* stream data from opendir() */
 
-extern DIR		*opendir();
-extern struct direct	*readdir();
-extern long		telldir();
-extern void		seekdir();
-extern void		closedir();
+extern DIR		*opendir (char *);
+extern struct direct	*readdir (DIR *);
+extern void		seekdir (DIR *, long);
+extern void		closedir (DIR *);
 
 #define rewinddir( dirp )	seekdir( dirp, 0L )
 
--- a/src/ralloc.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/ralloc.c	Sun Jul 25 23:02:59 2010 +0000
@@ -79,7 +79,7 @@
 /* Declarations for working with the malloc, ralloc, and system breaks.  */
 
 /* Function to set the real break value.  */
-POINTER (*real_morecore) ();
+POINTER (*real_morecore) (long int);
 
 /* The break value, as seen by malloc.  */
 static POINTER virtual_break_value;
@@ -111,7 +111,7 @@
    from the system.  */
 
 #ifndef SYSTEM_MALLOC
-extern POINTER (*__morecore) ();
+extern POINTER (*__morecore) (long int);
 #endif
 
 
@@ -519,35 +519,6 @@
 
   return 1;
 }
-
-/* Reorder the bloc BLOC to go before bloc BEFORE in the doubly linked list.
-   This is necessary if we put the memory of space of BLOC
-   before that of BEFORE.  */
-
-static void
-reorder_bloc (bloc_ptr bloc, bloc_ptr before)
-{
-  bloc_ptr prev, next;
-
-  /* Splice BLOC out from where it is.  */
-  prev = bloc->prev;
-  next = bloc->next;
-
-  if (prev)
-    prev->next = next;
-  if (next)
-    next->prev = prev;
-
-  /* Splice it in before BEFORE.  */
-  prev = before->prev;
-
-  if (prev)
-    prev->next = bloc;
-  bloc->prev = prev;
-
-  before->prev = bloc;
-  bloc->next = before;
-}
 
 /* Update the records of which heaps contain which blocs, starting
    with heap HEAP and bloc BLOC.  */
--- a/src/sound.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/sound.c	Sun Jul 25 23:02:59 2010 +0000
@@ -115,7 +115,9 @@
   SOUND_ATTR_SENTINEL
 };
 
+#ifdef HAVE_ALSA
 static void alsa_sound_perror (char *, int) NO_RETURN;
+#endif
 static void sound_perror (char *) NO_RETURN;
 static void sound_warning (char *);
 static int parse_sound (Lisp_Object, Lisp_Object *);
--- a/src/syssignal.h	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/syssignal.h	Sun Jul 25 23:02:59 2010 +0000
@@ -160,7 +160,7 @@
 
 #ifndef HAVE_STRSIGNAL
 /* strsignal is in sysdep.c */
-char *strsignal ();
+char *strsignal (int);
 #endif
 
 #ifdef FORWARD_SIGNAL_TO_MAIN_THREAD
--- a/src/term.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/term.c	Sun Jul 25 23:02:59 2010 +0000
@@ -183,7 +183,7 @@
 
 static int system_uses_terminfo;
 
-char *tparam ();
+char *tparam (char *, char *, int, int, ...);
 
 extern char *tgetstr (char *, char **);
 
@@ -1363,6 +1363,7 @@
   {"!3", "S-undo"}       /*shifted undo key*/
   };
 
+#ifndef DOS_NT
 static char **term_get_fkeys_address;
 static KBOARD *term_get_fkeys_kboard;
 static Lisp_Object term_get_fkeys_1 (void);
@@ -1500,6 +1501,7 @@
 
   return Qnil;
 }
+#endif /* not DOS_NT */
 
 
 /***********************************************************************
--- a/src/terminfo.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/terminfo.c	Sun Jul 25 23:02:59 2010 +0000
@@ -35,10 +35,12 @@
 */
 
 char *
-tparam (char *string, char *outstring, int len, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9)
+tparam (char *string, char *outstring,
+	int len, int arg1, int arg2, int arg3, int arg4,
+	int arg5, int arg6, int arg7, int arg8, int arg9)
 {
   char *temp;
-  extern char *tparm(/* ??? */);
+  extern char *tparm (char *str, ...);
 
   temp = tparm (string, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
   if (outstring == 0)
--- a/src/unexalpha.c	Fri Jul 23 02:35:14 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,539 +0,0 @@
-/* Unexec for DEC alpha.
-
-   Copyright (C) 1994, 2000, 2001, 2002, 2003, 2004,
-                 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
-
-Author: Rainer Schoepf <schoepf@sc.ZIB-Berlin.DE>
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
-
-
-#include <config.h>
-#include <sys/types.h>
-#include <sys/file.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-#if !defined (__NetBSD__) && !defined (__OpenBSD__)
-#include <filehdr.h>
-#include <aouthdr.h>
-#include <scnhdr.h>
-#include <syms.h>
-#ifndef __linux__
-# include <reloc.h>
-# include <elf_abi.h>
-#endif
-#else /* __NetBSD__ or __OpenBSD__ */
-/*
- * NetBSD/Alpha does not have 'normal' user-land ECOFF support because
- * there's no desire to support ECOFF as the executable format in the
- * long term.
- */
-#include <sys/exec_ecoff.h>
-
-/* Structures, constants, etc., that NetBSD defines strangely. */
-#define	filehdr		ecoff_filehdr
-#define	aouthdr		ecoff_aouthdr
-#define	scnhdr		ecoff_scnhdr
-#define	HDRR		struct ecoff_symhdr
-#define	pHDRR		HDRR *
-#define	cbHDRR		sizeof(HDRR)
-#ifdef __OpenBSD__
-#define	ALPHAMAGIC	ECOFF_MAGIC_NATIVE_ALPHA
-#else
-#define	ALPHAMAGIC	ECOFF_MAGIC_NETBSD_ALPHA
-#endif
-#define	ZMAGIC		ECOFF_ZMAGIC
-
-/* Misc. constants that NetBSD doesn't define at all. */
-#define	ALPHAUMAGIC	0617
-#define	_MIPS_NSCNS_MAX	35
-#define	STYP_TEXT	0x00000020
-#define	STYP_DATA	0x00000040
-#define	STYP_BSS	0x00000080
-#define	STYP_RDATA	0x00000100
-#define	STYP_SDATA	0x00000200
-#define	STYP_SBSS	0x00000400
-#define	STYP_INIT	0x80000000
-#define	_TEXT		".text"
-#define	_DATA		".data"
-#define	_BSS		".bss"
-#define	_INIT		".init"
-#define	_RDATA		".rdata"
-#define	_SDATA		".sdata"
-#define	_SBSS		".sbss"
-#define TEXT_START     0x120000000
-#endif /* __NetBSD__ || __OpenBSD__ */
-
-
-static void fatal_unexec (char *, char *);
-static void mark_x (char *);
-
-static void update_dynamic_symbols (char *, char *, int, struct aouthdr);
-
-#define READ(_fd, _buffer, _size, _error_message, _error_arg) \
-	errno = EEOF; \
-	if (read (_fd, _buffer, _size) != _size) \
-	  fatal_unexec (_error_message, _error_arg);
-
-#define WRITE(_fd, _buffer, _size, _error_message, _error_arg) \
-	if (write (_fd, _buffer, _size) != _size) \
-	  fatal_unexec (_error_message, _error_arg);
-
-#define SEEK(_fd, _position, _error_message, _error_arg) \
-	errno = EEOF; \
-	if (lseek (_fd, _position, L_SET) != _position) \
-	  fatal_unexec (_error_message, _error_arg);
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#else
-void *sbrk ();
-#endif
-
-#define EEOF -1
-
-static struct scnhdr *text_section;
-static struct scnhdr *rel_dyn_section;
-static struct scnhdr *dynstr_section;
-static struct scnhdr *dynsym_section;
-static struct scnhdr *init_section;
-static struct scnhdr *finit_section;
-static struct scnhdr *rdata_section;
-static struct scnhdr *rconst_section;
-static struct scnhdr *data_section;
-static struct scnhdr *pdata_section;
-static struct scnhdr *xdata_section;
-static struct scnhdr *got_section;
-static struct scnhdr *lit8_section;
-static struct scnhdr *lit4_section;
-static struct scnhdr *sdata_section;
-static struct scnhdr *sbss_section;
-static struct scnhdr *bss_section;
-
-static struct scnhdr old_data_scnhdr;
-
-static unsigned long Brk;
-
-struct headers {
-    struct filehdr fhdr;
-    struct aouthdr aout;
-    struct scnhdr section[_MIPS_NSCNS_MAX];
-};
-
-
-void
-unexec (new_name, a_name, data_start, bss_start, entry_address)
-     char *new_name, *a_name;
-     unsigned long data_start, bss_start, entry_address;
-{
-  int new, old;
-  char * oldptr;
-  struct headers ohdr, nhdr;
-  struct stat stat;
-  long pagesize, brk;
-  long newsyms, symrel;
-  int nread;
-  int i;
-  long vaddr, scnptr;
-#define BUFSIZE 8192
-  char buffer[BUFSIZE];
-
-  if ((old = open (a_name, O_RDONLY)) < 0)
-    fatal_unexec ("opening %s", a_name);
-
-  new = creat (new_name, 0666);
-  if (new < 0) fatal_unexec ("creating %s", new_name);
-
-  if ((fstat (old, &stat) == -1))
-    fatal_unexec ("fstat %s", a_name);
-
-  oldptr = (char *)mmap (0, stat.st_size, PROT_READ, MAP_FILE|MAP_SHARED, old, 0);
-
-  if (oldptr == (char *)-1)
-    fatal_unexec ("mmap %s", a_name);
-
-  close (old);
-
-  /* This is a copy of the a.out header of the original executable */
-
-  ohdr = (*(struct headers *)oldptr);
-
-  /* This is where we build the new header from the in-memory copy */
-
-  nhdr = *((struct headers *)TEXT_START);
-
-  /* First do some consistency checks */
-
-  if (nhdr.fhdr.f_magic != ALPHAMAGIC
-      && nhdr.fhdr.f_magic != ALPHAUMAGIC)
-    {
-      fprintf (stderr, "unexec: input file magic number is %x, not %x or %x.\n",
-	       nhdr.fhdr.f_magic, ALPHAMAGIC, ALPHAUMAGIC);
-      exit (1);
-    }
-
-  if (nhdr.fhdr.f_opthdr != sizeof (nhdr.aout))
-    {
-      fprintf (stderr, "unexec: input a.out header is %d bytes, not %d.\n",
-	       nhdr.fhdr.f_opthdr, (int)sizeof (nhdr.aout));
-      exit (1);
-    }
-  if (nhdr.aout.magic != ZMAGIC)
-    {
-      fprintf (stderr, "unexec: input file a.out magic number is %o, not %o.\n",
-	       nhdr.aout.magic, ZMAGIC);
-      exit (1);
-    }
-
-
-  /* Now check the existence of certain header section and grab
-     their addresses. */
-
-#define CHECK_SCNHDR(ptr, name, flags)					\
-  ptr = NULL;								\
-  for (i = 0; i < nhdr.fhdr.f_nscns && !ptr; i++)			\
-    if (strncmp (nhdr.section[i].s_name, name, 8) == 0)			\
-      {									\
-	if (nhdr.section[i].s_flags != flags)				\
-	  fprintf (stderr, "unexec: %x flags (%x expected) in %s section.\n", \
-		   nhdr.section[i].s_flags, flags, name);		\
-	ptr = nhdr.section + i;						\
-      }									\
-
-  CHECK_SCNHDR (text_section,  _TEXT,  STYP_TEXT);
-  CHECK_SCNHDR (init_section,  _INIT,  STYP_INIT);
-#ifdef _REL_DYN
-  CHECK_SCNHDR (rel_dyn_section, _REL_DYN,  STYP_REL_DYN);
-#endif /* _REL_DYN */
-#ifdef _DYNSYM
-  CHECK_SCNHDR (dynsym_section, _DYNSYM,  STYP_DYNSYM);
-#endif /* _REL_DYN */
-#ifdef _DYNSTR
-  CHECK_SCNHDR (dynstr_section, _DYNSTR,  STYP_DYNSTR);
-#endif /* _REL_DYN */
-#ifdef _FINI
-  CHECK_SCNHDR (finit_section, _FINI,  STYP_FINI);
-#endif /* _FINI */
-  CHECK_SCNHDR (rdata_section, _RDATA, STYP_RDATA);
-#ifdef _RCONST
-  CHECK_SCNHDR (rconst_section, _RCONST, STYP_RCONST);
-#endif
-#ifdef _PDATA
-  CHECK_SCNHDR (pdata_section, _PDATA, STYP_PDATA);
-#endif /* _PDATA */
-#ifdef _GOT
-  CHECK_SCNHDR (got_section,   _GOT,   STYP_GOT);
-#endif /* _GOT */
-  CHECK_SCNHDR (data_section,  _DATA,  STYP_DATA);
-#ifdef _XDATA
-  CHECK_SCNHDR (xdata_section, _XDATA, STYP_XDATA);
-#endif /* _XDATA */
-#ifdef _LIT8
-  CHECK_SCNHDR (lit8_section,  _LIT8,  STYP_LIT8);
-  CHECK_SCNHDR (lit4_section,  _LIT4,  STYP_LIT4);
-#endif /* _LIT8 */
-  CHECK_SCNHDR (sdata_section, _SDATA, STYP_SDATA);
-  CHECK_SCNHDR (sbss_section,  _SBSS,  STYP_SBSS);
-  CHECK_SCNHDR (bss_section,   _BSS,   STYP_BSS);
-
-
-  pagesize = getpagesize ();
-  brk = (((long) (sbrk (0))) + pagesize - 1) & (-pagesize);
-
-  /* Remember the current break */
-
-  Brk = brk;
-
-  memcpy (&old_data_scnhdr, data_section, sizeof (old_data_scnhdr));
-
-  nhdr.aout.dsize = brk - DATA_START;
-  nhdr.aout.bsize = 0;
-  if (entry_address == 0)
-    {
-      extern __start ();
-      nhdr.aout.entry = (unsigned long)__start;
-    }
-  else
-    nhdr.aout.entry = entry_address;
-
-  nhdr.aout.bss_start = nhdr.aout.data_start + nhdr.aout.dsize;
-
-  if (rdata_section != NULL)
-    {
-      rdata_section->s_size = data_start - DATA_START;
-
-      /* Adjust start and virtual addresses of rdata_section, too.  */
-      rdata_section->s_vaddr = DATA_START;
-      rdata_section->s_paddr = DATA_START;
-      rdata_section->s_scnptr = text_section->s_scnptr + nhdr.aout.tsize;
-    }
-
-  data_section->s_vaddr = data_start;
-  data_section->s_paddr = data_start;
-  data_section->s_size = brk - data_start;
-
-  if (rdata_section != NULL)
-    {
-      data_section->s_scnptr = rdata_section->s_scnptr + rdata_section->s_size;
-    }
-
-  vaddr = data_section->s_vaddr + data_section->s_size;
-  scnptr = data_section->s_scnptr + data_section->s_size;
-  if (lit8_section != NULL)
-    {
-      lit8_section->s_vaddr = vaddr;
-      lit8_section->s_paddr = vaddr;
-      lit8_section->s_size = 0;
-      lit8_section->s_scnptr = scnptr;
-    }
-  if (lit4_section != NULL)
-    {
-      lit4_section->s_vaddr = vaddr;
-      lit4_section->s_paddr = vaddr;
-      lit4_section->s_size = 0;
-      lit4_section->s_scnptr = scnptr;
-    }
-  if (sdata_section != NULL)
-    {
-      sdata_section->s_vaddr = vaddr;
-      sdata_section->s_paddr = vaddr;
-      sdata_section->s_size = 0;
-      sdata_section->s_scnptr = scnptr;
-    }
-#ifdef _XDATA
-  if (xdata_section != NULL)
-    {
-      xdata_section->s_vaddr = vaddr;
-      xdata_section->s_paddr = vaddr;
-      xdata_section->s_size = 0;
-      xdata_section->s_scnptr = scnptr;
-    }
-#endif
-#ifdef _GOT
-  if (got_section != NULL)
-    {
-      memcpy (buffer, got_section, sizeof (struct scnhdr));
-
-      got_section->s_vaddr = vaddr;
-      got_section->s_paddr = vaddr;
-      got_section->s_size = 0;
-      got_section->s_scnptr = scnptr;
-    }
-#endif /*_GOT */
-  if (sbss_section != NULL)
-    {
-      sbss_section->s_vaddr = vaddr;
-      sbss_section->s_paddr = vaddr;
-      sbss_section->s_size = 0;
-      sbss_section->s_scnptr = scnptr;
-    }
-  if (bss_section != NULL)
-    {
-      bss_section->s_vaddr = vaddr;
-      bss_section->s_paddr = vaddr;
-      bss_section->s_size = 0;
-      bss_section->s_scnptr = scnptr;
-    }
-
-  WRITE (new, (char *)TEXT_START, nhdr.aout.tsize,
-	 "writing text section to %s", new_name);
-  WRITE (new, (char *)DATA_START, nhdr.aout.dsize,
-	 "writing data section to %s", new_name);
-
-#ifdef _GOT
-#define old_got_section ((struct scnhdr *)buffer)
-
-  if (got_section != NULL)
-    {
-      SEEK (new, old_got_section->s_scnptr,
-	    "seeking to start of got_section in %s", new_name);
-      WRITE (new, oldptr + old_got_section->s_scnptr, old_got_section->s_size,
-	     "writing new got_section of %s", new_name);
-      SEEK (new, nhdr.aout.tsize + nhdr.aout.dsize,
-	    "seeking to end of data section of %s", new_name);
-    }
-
-#undef old_got_section
-#endif
-
-  /*
-   * Construct new symbol table header
-   */
-
-  memcpy (buffer, oldptr + nhdr.fhdr.f_symptr, cbHDRR);
-
-#define symhdr ((pHDRR)buffer)
-  newsyms = nhdr.aout.tsize + nhdr.aout.dsize;
-  symrel = newsyms - nhdr.fhdr.f_symptr;
-  nhdr.fhdr.f_symptr = newsyms;
-  symhdr->cbLineOffset += symrel;
-  symhdr->cbDnOffset += symrel;
-  symhdr->cbPdOffset += symrel;
-  symhdr->cbSymOffset += symrel;
-  symhdr->cbOptOffset += symrel;
-  symhdr->cbAuxOffset += symrel;
-  symhdr->cbSsOffset += symrel;
-  symhdr->cbSsExtOffset += symrel;
-  symhdr->cbFdOffset += symrel;
-  symhdr->cbRfdOffset += symrel;
-  symhdr->cbExtOffset += symrel;
-
-  WRITE (new, buffer, cbHDRR, "writing symbol table header of %s", new_name);
-
-  /*
-   * Copy the symbol table and line numbers
-   */
-  WRITE (new, oldptr + ohdr.fhdr.f_symptr + cbHDRR,
-	 stat.st_size - ohdr.fhdr.f_symptr - cbHDRR,
-	 "writing symbol table of %s", new_name);
-
-#ifdef _REL_DYN
-  if (rel_dyn_section)
-    update_dynamic_symbols (oldptr, new_name, new, nhdr.aout);
-#endif
-
-#undef symhdr
-
-  SEEK (new, 0, "seeking to start of header in %s", new_name);
-  WRITE (new, &nhdr, sizeof (nhdr),
-	 "writing header of %s", new_name);
-
-  close (old);
-  close (new);
-  mark_x (new_name);
-}
-
-
-static void
-update_dynamic_symbols (old, new_name, new, aout)
-     char *old;			/* Pointer to old executable */
-     char *new_name;            /* Name of new executable */
-     int new;			/* File descriptor for new executable */
-     struct aouthdr aout;	/* a.out info from the file header */
-{
-#if !defined (__linux__) && !defined (__NetBSD__) && !defined (__OpenBSD__)
-
-  typedef struct dynrel_info {
-    char * addr;
-    unsigned type:8;
-    unsigned index:24;
-    unsigned info:8;
-    unsigned pad:8;
-  } dr_info;
-
-  int nsyms = rel_dyn_section->s_size / sizeof (struct dynrel_info);
-  int i;
-  dr_info * rd_base = (dr_info *) (old + rel_dyn_section->s_scnptr);
-  Elf32_Sym * ds_base = (Elf32_Sym *) (old + dynsym_section->s_scnptr);
-
-  for (i = 0; i < nsyms; i++) {
-    register Elf32_Sym x;
-
-    if (rd_base[i].index == 0)
-      continue;
-
-    x = ds_base[rd_base[i].index];
-
-#if 0
-      fprintf (stderr, "Object inspected: %s, addr = %lx, shndx = %x",
-	       old + dynstr_section->s_scnptr + x.st_name, rd_base[i].addr, x.st_shndx);
-#endif
-
-
-    if ((ELF32_ST_BIND (x.st_info) == STB_GLOBAL)
-	&& (x.st_shndx == 0)
-	/* && (x.st_value == NULL) */
-	) {
-      /* OK, this is probably a reference to an object in a shared
-	 library, so copy the old value. This is done in several steps:
-	 1. reladdr is the address of the location in question relative to
-            the start of the data section,
-         2. oldref is the addr is the mapped in temacs executable,
-         3. newref is the address of the location in question in the
-            undumped executable,
-         4. len is the size of the object reference in bytes --
-            currently only 4 (long) and 8 (quad) are supported.
-	    */
-      register unsigned long reladdr = (long)rd_base[i].addr - old_data_scnhdr.s_vaddr;
-      char * oldref = old + old_data_scnhdr.s_scnptr + reladdr;
-      unsigned long newref = aout.tsize + reladdr;
-      int len;
-
-#if 0
-      fprintf (stderr, "...relocated\n");
-#endif
-
-      if (rd_base[i].type == R_REFLONG)
-	len = 4;
-      else if (rd_base[i].type == R_REFQUAD)
-	len = 8;
-      else
-	fatal_unexec ("unrecognized relocation type in .dyn.rel section (symbol #%d)", (char *) i);
-
-      SEEK (new, newref, "seeking to dynamic symbol in %s", new_name);
-      WRITE (new, oldref, len, "writing old dynrel info in %s", new_name);
-    }
-
-#if 0
-    else
-      fprintf (stderr, "...not relocated\n");
-#endif
-
-  }
-
-#endif /* not __linux__ and not __NetBSD__ and not __OpenBSD__ */
-}
-
-
-/*
- * mark_x
- *
- * After successfully building the new a.out, mark it executable
- */
-
-static void
-mark_x (name)
-     char *name;
-{
-  struct stat sbuf;
-  int um = umask (777);
-  umask (um);
-  if (stat (name, &sbuf) < 0)
-    fatal_unexec ("getting protection on %s", name);
-  sbuf.st_mode |= 0111 & ~um;
-  if (chmod (name, sbuf.st_mode) < 0)
-    fatal_unexec ("setting protection on %s", name);
-}
-
-static void
-fatal_unexec (s, arg)
-     char *s;
-     char *arg;
-{
-  if (errno == EEOF)
-    fputs ("unexec: unexpected end of file, ", stderr);
-  else
-    fprintf (stderr, "unexec: %s, ", strerror (errno));
-  fprintf (stderr, s, arg);
-  fputs (".\n", stderr);
-  exit (1);
-}
-
-/* arch-tag: 46316c49-ee08-4aa3-942b-00798902f5bd
-   (do not change this comment) */
--- a/src/vm-limit.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/vm-limit.c	Sun Jul 25 23:02:59 2010 +0000
@@ -100,7 +100,7 @@
 }
 
 #else
-#if !defined (BSD4_2) && !defined (__osf__)
+#if !defined (BSD4_2) && !defined (__osf__) && !defined (CYGWIN)
 
 #ifdef MSDOS
 void
@@ -173,9 +173,9 @@
 check_memory_limits (void)
 {
 #ifdef REL_ALLOC
-  extern POINTER (*real_morecore) ();
+  extern POINTER (*real_morecore) (SIZE);
 #endif
-  extern POINTER (*__morecore) ();
+  extern POINTER (*__morecore) (SIZE);
 
   register POINTER cp;
   unsigned long five_percent;
--- a/src/w32fns.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/w32fns.c	Sun Jul 25 23:02:59 2010 +0000
@@ -439,8 +439,6 @@
 void x_set_menu_bar_lines (struct frame *, Lisp_Object, Lisp_Object);
 void x_set_title (struct frame *, Lisp_Object, Lisp_Object);
 void x_set_tool_bar_lines (struct frame *, Lisp_Object, Lisp_Object);
-static void x_edge_detection (struct frame *, struct image *, Lisp_Object,
-                              Lisp_Object);
 
 
 
@@ -788,25 +786,6 @@
 }
 
 static Lisp_Object
-w32_to_x_color (Lisp_Object rgb)
-{
-  Lisp_Object color;
-
-  CHECK_NUMBER (rgb);
-
-  BLOCK_INPUT;
-
-  color = Frassq (rgb, Vw32_color_map);
-
-  UNBLOCK_INPUT;
-
-  if (!NILP (color))
-    return (Fcar (color));
-  else
-    return Qnil;
-}
-
-static Lisp_Object
 w32_color_map_lookup (char *colorname)
 {
   Lisp_Object tail, ret = Qnil;
--- a/src/w32gui.h	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/w32gui.h	Sun Jul 25 23:02:59 2010 +0000
@@ -118,7 +118,7 @@
 #define PBaseSize	(1L << 8) /* program specified base for incrementing */
 #define PWinGravity	(1L << 9) /* program specified window gravity */
 
-extern int XParseGeometry ();
+extern int XParseGeometry (char *, int *, int *, unsigned *, unsigned *);
 
 
 typedef struct {
--- a/src/w32heap.h	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/w32heap.h	Sun Jul 25 23:02:59 2010 +0000
@@ -41,8 +41,8 @@
 #define get_w32_major_version()  	w32_major_version
 #define get_w32_minor_version()  	w32_minor_version
 
-extern unsigned char *get_data_start();
-extern unsigned char *get_data_end();
+extern unsigned char *get_data_start (void);
+extern unsigned char *get_data_end (void);
 extern unsigned long  reserved_heap_size;
 extern SYSTEM_INFO    sysinfo_cache;
 extern OSVERSIONINFO  osinfo_cache;
@@ -62,7 +62,7 @@
 extern void *sbrk (unsigned long size);
 
 /* Initialize heap structures for sbrk on startup.  */
-extern void init_heap ();
+extern void init_heap (void);
 
 /* Round the heap to this size.  */
 extern void round_heap (unsigned long size);
--- a/src/w32menu.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/w32menu.c	Sun Jul 25 23:02:59 2010 +0000
@@ -111,30 +111,6 @@
 
 int pending_menu_activation;
 
-
-/* Return the frame whose ->output_data.w32->menubar_widget equals
-   ID, or 0 if none.  */
-
-static struct frame *
-menubar_id_to_frame (HMENU id)
-{
-  Lisp_Object tail, frame;
-  FRAME_PTR f;
-
-  for (tail = Vframe_list; CONSP (tail); tail = XCDR (tail))
-    {
-      frame = XCAR (tail);
-      if (!FRAMEP (frame))
-        continue;
-      f = XFRAME (frame);
-      if (!FRAME_WINDOW_P (f))
-	continue;
-      if (f->output_data.w32->menubar_widget == id)
-	return f;
-    }
-  return 0;
-}
-
 #ifdef HAVE_MENUS
 
 DEFUN ("x-popup-dialog", Fx_popup_dialog, Sx_popup_dialog, 2, 3, 0,
@@ -1316,14 +1292,6 @@
   return (*name == '\0' || start + 2 == name);
 }
 
-
-/* Indicate boundary between left and right.  */
-static int
-add_left_right_boundary (HMENU menu)
-{
-  return AppendMenu (menu, MF_MENUBARBREAK, 0, NULL);
-}
-
 /* UTF8: 0xxxxxxx, 110xxxxx 10xxxxxx, 1110xxxx, 10xxxxxx, 10xxxxxx */
 static void
 utf8to16 (unsigned char * src, int len, WCHAR * dest)
--- a/src/w32term.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/w32term.c	Sun Jul 25 23:02:59 2010 +0000
@@ -268,7 +268,9 @@
 static void w32_clip_to_row (struct window *, struct glyph_row *, int, HDC);
 static BOOL my_show_window (struct frame *, HWND, int);
 static void my_set_window_pos (HWND, HWND, int, int, int, int, UINT);
+#if 0
 static void my_set_focus (struct frame *, HWND);
+#endif
 static void my_set_foreground_window (HWND);
 static void my_destroy_window (struct frame *, HWND);
 
@@ -3366,12 +3368,14 @@
 #endif
 }
 
+#if 0
 static void
 my_set_focus (struct frame * f, HWND hwnd)
 {
   SendMessage (FRAME_W32_WINDOW (f), WM_EMACS_SETFOCUS,
 	       (WPARAM) hwnd, 0);
 }
+#endif
 
 static void
 my_set_foreground_window (HWND hwnd)
--- a/src/w32term.h	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/w32term.h	Sun Jul 25 23:02:59 2010 +0000
@@ -48,8 +48,6 @@
 extern MSG CurMsg;
 extern BOOL bUseDflt;
 
-extern struct frame *x_window_to_frame ();
-
 /* Structure recording bitmaps and reference count.
    If REFCOUNT is 0 then this record is free to be reused.  */
 
@@ -226,13 +224,16 @@
 /* Regexp matching a font name whose width is the same as `PIXEL_SIZE'.  */
 extern Lisp_Object Vx_pixel_size_width_font_regexp;
 
-struct w32_display_info *x_display_info_for_name ();
+extern struct frame *x_window_to_frame (struct w32_display_info *, HWND);
+
+struct w32_display_info *x_display_info_for_name (Lisp_Object);
 
 Lisp_Object display_x_get_resource (struct w32_display_info *,
                                     Lisp_Object, Lisp_Object,
                                     Lisp_Object, Lisp_Object);
 
-extern struct w32_display_info *w32_term_init ();
+extern struct w32_display_info *w32_term_init (Lisp_Object,
+					       char *, char *);
 
 extern int x_display_pixel_height (struct w32_display_info *);
 extern int x_display_pixel_width (struct w32_display_info *);
@@ -544,8 +545,10 @@
 #define VERTICAL_SCROLL_BAR_WIDTH_TRIM (0)
 
 
-extern void w32_fill_rect ();
-extern void w32_clear_window ();
+struct frame;  /* from frame.h */
+
+extern void w32_fill_rect (struct frame *, HDC, COLORREF, RECT *);
+extern void w32_clear_window (struct frame *);
 
 #define w32_fill_area(f,hdc,pix,x,y,nx,ny) \
 do { \
@@ -645,10 +648,10 @@
 
 extern CRITICAL_SECTION critsect;
 
-extern void init_crit ();
-extern void delete_crit ();
+extern void init_crit (void);
+extern void delete_crit (void);
 
-extern void signal_quit ();
+extern void signal_quit (void);
 
 #define enter_crit() EnterCriticalSection (&critsect)
 #define leave_crit() LeaveCriticalSection (&critsect)
@@ -658,14 +661,13 @@
 extern HDC get_frame_dc (struct frame * f);
 extern int release_frame_dc (struct frame * f, HDC hDC);
 
-extern void drain_message_queue ();
+extern void drain_message_queue (void);
 
-extern BOOL get_next_msg ();
-extern BOOL post_msg ();
+extern BOOL get_next_msg (W32Msg *, BOOL);
+extern BOOL post_msg (W32Msg *);
 extern void complete_deferred_msg (HWND hwnd, UINT msg, LRESULT result);
-extern void wait_for_sync ();
 
-extern BOOL parse_button ();
+extern BOOL parse_button (int, int, int *, int *);
 
 extern void w32_sys_ring_bell (struct frame *f);
 extern void x_delete_display (struct w32_display_info *dpyinfo);
@@ -725,7 +727,7 @@
 EXFUN (Fx_display_color_p, 1);
 EXFUN (Fx_display_grayscale_p, 1);
 
-typedef DWORD (WINAPI * ClipboardSequence_Proc) ();
+typedef DWORD (WINAPI * ClipboardSequence_Proc) (void);
 typedef BOOL (WINAPI * AppendMenuW_Proc) (
     IN HMENU,
     IN UINT,
--- a/src/xfaces.c	Fri Jul 23 02:35:14 2010 +0000
+++ b/src/xfaces.c	Sun Jul 25 23:02:59 2010 +0000
@@ -513,7 +513,6 @@
 static void map_tty_color (struct frame *, struct face *,
                            enum lface_attribute_index, int *);
 static Lisp_Object resolve_face_name (Lisp_Object, int);
-static int may_use_scalable_font_p (const char *);
 static void set_font_frame_param (Lisp_Object, Lisp_Object);
 static int get_lface_attributes (struct frame *, Lisp_Object, Lisp_Object *,
                                  int, struct named_merge_point *);