changeset 81059:255e52f43455

Merge from emacs--rel--22 Patches applied: * emacs--rel--22 (patch 24) - Update from CVS Revision: emacs@sv.gnu.org/emacs--devo--0--patch-767
author Miles Bader <miles@gnu.org>
date Thu, 24 May 2007 06:25:50 +0000
parents b6ab0a86a34c (current diff) 9186959f5466 (diff)
children 911e49c71332
files admin/FOR-RELEASE lisp/ChangeLog lisp/files.el lisp/tar-mode.el src/ChangeLog
diffstat 8 files changed, 89 insertions(+), 169 deletions(-) [+]
line wrap: on
line diff
--- a/admin/FOR-RELEASE	Thu May 24 02:09:52 2007 +0000
+++ b/admin/FOR-RELEASE	Thu May 24 06:25:50 2007 +0000
@@ -38,8 +38,6 @@
 ** henman@it.to-be.co.jp 09 Aug 2006: ispell.el problem on Cygwin.
   (Did we decide that is unreproducible?)
 
-** eliz@gnu.org, May 20: EOL conversion of files in .tar archives
-
 * BUGS
 
 NB the definitive copy of this file for Emacs 22 is on the
@@ -59,6 +57,8 @@
 
 ** viper and tramp should not load cl at run time.
 
+** yamaoka@jpl.org's patch for mail-extract-address-components problem.
+
 * DOCUMENTATION
 
 ** Check the Emacs Tutorial.
--- a/admin/nt/README-ftp-server	Thu May 24 02:09:52 2007 +0000
+++ b/admin/nt/README-ftp-server	Thu May 24 06:25:50 2007 +0000
@@ -1,17 +1,16 @@
 		      Precompiled Distributions of
 			   Emacs for Windows
 
-			      Version 21.3
+			      Version 22.1
 
-			     April 22, 2003
+			     May 22, 2007
 		
   This directory contains source and precompiled distributions for GNU
-  Emacs on Windows NT/2000/XP and Windows 95/98/Me.  This port is a part
-  of the standard GNU Emacs distribution from the Free Software
+  Emacs on Windows NT/2000/XP and Windows 95/98/Me.  This port is a
+  part of the standard GNU Emacs distribution from the Free Software
   Foundation; the precompiled distributions are provided here for
-  convenience since, unlike Unix, the majority of Windows users do not
-  have access to a compiler (and, besides, do you really want to compile
-  Emacs when you don't have to?).
+  convenience since the majority of Windows users are not accustomed
+  to compiling programs themselves.
 
   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
@@ -27,79 +26,56 @@
 
   If you want to redistribute any of the precompiled distributions of
   Emacs, be careful to check the implications of the GPL.  For instance,
-  if you put the emacs-21.3-bin-i386.tar.gz file from this directory on
+  if you put the emacs-22.1-bin-i386.tar.gz file from this directory on
   an Internet site, you must arrange to distribute the source files of
-  the SAME version (i.e. emacs-21.3-src.tar.gz).
+  the SAME version (i.e. ../emacs-22.1.tar.gz).
 
   Making a link to our copy of the source is NOT sufficient, since we
   might upgrade to a new version while you are still distributing the
   old binaries.
 
 
-* Distributions in .tar.gz format
+* Distributions in .tar.gz and .zip format
 
-  Emacs is distributed primarily as a set of large gzipped tar files
+  Emacs is distributed primarily as source code in a large gzipped tar file
   (*.tar.gz).  Because Emacs is quite large and therefore difficult to
-  download over unreliable connections, it is provided in several
-  combinations, ranging from the complete source plus executables, to
-  just the minimal amount needed to run without any source, plus a
-  couple of optional packages.  Here are the combinations (i386 in the
-  name indicates a tarball contains executables compiled for
-  Intel-compatible x86 systems):
+  download over unreliable connections, the Windows binaries are provided
+  in several combinations, ranging from the complete source plus executables,
+  to just the minimal amount needed to run without any source, plus a
+  couple of optional packages.  Formerly, we used the same .tar.gz format
+  but since there are no longer legal problems with .zip files, and the
+  latest versions of Windows support these natively, the Windows binaries
+  of Emacs are now distributed as .zip files.
+  Here are the combinations (i386 in the name indicates a zipfile contains
+  executables compiled for Intel-compatible x86 systems):
 
   + Primary precompiled distribution, including lisp source:
 
-      emacs-21.3-fullbin-i386.tar.gz
-
-  + Minimal precompiled distribution, which excludes lisp source:
-
-      emacs-21.3-bin-i386.tar.gz
-
-    You can download emacs-21.3-lisp.tar.gz to get the lisp source, if
-    you later decide you want it - it is useful for understanding how
-    packages work, and how they can best be setup or customized.
-
+      emacs-22.1-bin-i386.zip
 
   NB. If you just want to run Emacs, get one of the distributions above.
 
-
-  + Bare executables, only useful if you want to get the complete source
-    release below, but can't compile Emacs yourself:
-
-      emacs-21.3-barebin-i386.tar.gz  (requires emacs-21.3-src.tar.gz)
+  + Bare executables, useful if you want to get the complete source
+    release, but can't compile Emacs yourself:
 
-  + Undumped executable, only needed for rebuilding Emacs after changing
-    certain core lisp files:
-
-      emacs-21.3-undumped-i386.tar.gz
-
-  + Optional package providing the Library of Emacs Input Methods for
-    typing non-ascii characters, notably Chinese, Japanese and Korean,
-    but also including European and other character sets:
-
-      emacs-21.3-leim.tar.gz
+      emacs-22.1-barebin-i386.zip  (requires ../emacs-22.1.tar.gz)
 
   + The complete official source for Emacs:
 
-      emacs-21.3-src.tar.gz
-
-  + The complete official source for LEIM:
-
-      leim-21.3-src.tar.gz
-
+      ../emacs-22.1.tar.gz
 
 * Distributions for non-x86 platforms
 
   Distributions for non-x86 platforms are no longer supplied. Older
   platforms supported by Windows NT no longer seem to be in demand,
   and Emacs is yet to be ported to 64bit Windows platforms. If you are
-  willing to help port Emacs to 64bit versions of Windows, your
+  willing to help port Emacs 23 to 64bit versions of Windows, your
   contribution will be welcome on the emacs-devel mailing list.
 
 * Unpacking distributions
 
-  Ports of GNU gzip and GNU tar for handling the distribution file
-  formats can be found in several places that distribute ports of GNU
+  Ports of GNU gzip and GNU tar for handling the source distribution file
+  format can be found in several places that distribute ports of GNU
   programs, for example:
 
     Cygwin:   http://www.cygwin.com/
@@ -132,6 +108,11 @@
   You may be prompted to rename or overwrite directories when using
   djtarnt: simply type return to continue (this is harmless).
 
+  The precompiled binaries can be unpacked using unzip.exe from info-zip.org
+  if you do not already have other tools to do this.
+
+    % unzip some.zip
+
   Once you have unpacked a precompiled distribution of Emacs, it should
   have the following subdirectories:
 
@@ -143,11 +124,11 @@
   If you do use other utility programs to unpack the distribution, check
   the following to be sure the distribution was not corrupted:
 
-  + Be sure to disable the CR/LF translation or the executables will be
-    unusable.  Older versions of WinZip would enable this translation
-    by default.  If you are using WinZip, disable it.  (I don't have
-    WinZip myself, and I do not know the specific commands necessary
-    to disable it.)
+  + Be sure to disable the CR/LF translation or the executables will
+    be unusable.  Older versions of WinZip would enable this
+    translation by default when unpacking .tar files.  If you are
+    using WinZip, disable it.  (I don't have WinZip 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.el; if this has been truncated to
--- a/admin/nt/makedist.bat	Thu May 24 02:09:52 2007 +0000
+++ b/admin/nt/makedist.bat	Thu May 24 06:25:50 2007 +0000
@@ -25,135 +25,36 @@
 rem Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 rem Boston, MA 02110-1301, USA.
 
+set ZIP=zip
 
-rem Beware broken ports of tar. Recent cygwin versions work well, older
-rem cygwin versions and the current MSys port have problems with DOS
-rem line ends when reading file names from a file. Other ports have their
-rem own problems too.
-set TAR=tar
-
-rem Make a copy of current Emacs source
 if (%3) == () goto usage
 if not (%4) == () goto %4
-if not (%4) == (src) goto :lisp
-
-:src
-
-echo Create full source distribution, excluding leim
-%TAR%  --exclude leim --exclude _marker --exclude DOC --exclude DOC-X --exclude TAGS --exclude bin --exclude obj --exclude obj-spd --exclude oo --exclude oo-spd --exclude *~ --exclude *.rej -cvf - emacs-%1 | gzip -9 > %2-src.tar.gz
-if not (%4) == () goto end
-
-:lisp
-echo Create limited elisp source distribution
-%TAR% --exclude *.rej --exclude *.elc --exclude *~ -cvf - emacs-%1/lisp | gzip -9 > %2-lisp.tar.gz
-if not (%4) == () goto end
 
 :bin
 
-set eld=emacs-%1/lisp
-
-rem List of Lisp files that are not compiled and that should be
-rem included in the bin distribution.
-
-rem It would be better to generate this list automatically.  It is the
-rem list of all .el files for which there is no corresponding .elc
-rem file, minus ldefs-boot.el.  --lute
-
-set elfiles=%eld%/cus-load.el %eld%/emacs-lisp/cl-specs.el %eld%/eshell/esh-groups.el %eld%/eshell/esh-maint.el %eld%/finder-inf.el %eld%/forms-d2.el %eld%/forms-pass.el %eld%/international/latin-1.el %eld%/international/latin-2.el %eld%/international/latin-3.el %eld%/international/latin-4.el %eld%/international/latin-5.el %eld%/international/latin-8.el %eld%/international/latin-9.el %eld%/international/mule-conf.el %eld%/language/czech.el %eld%/language/devanagari.el %eld%/language/english.el %eld%/language/georgian.el %eld%/language/greek.el %eld%/language/hebrew.el %eld%/language/japanese.el %eld%/language/kannada.el %eld%/language/korean.el %eld%/language/lao.el %eld%/language/malayalam.el %eld%/language/misc-lang.el %eld%/language/romanian.el %eld%/language/slovak.el %eld%/language/tamil.el %eld%/language/thai.el %eld%/language/utf-8-lang.el %eld%/loaddefs.el %eld%/loadup.el %eld%/mail/blessmail.el %eld%/mh-e/mh-acros.el %eld%/mh-e/mh-gnus.el %eld%/mh-e/mh-loaddefs.el %eld%/obsolete/keyswap.el %eld%/patcomp.el %eld%/paths.el %eld%/play/bruce.el %eld%/subdirs.el %eld%/term/AT386.el %eld%/term/apollo.el %eld%/term/bobcat.el %eld%/term/internal.el %eld%/term/iris-ansi.el %eld%/term/linux.el %eld%/term/lk201.el %eld%/term/news.el %eld%/term/vt102.el %eld%/term/vt125.el %eld%/term/vt200.el %eld%/term/vt201.el %eld%/term/vt220.el %eld%/term/vt240.el %eld%/term/vt300.el %eld%/term/vt320.el %eld%/term/vt400.el %eld%/term/vt420.el %eld%/term/wyse50.el %eld%/version.el
-
-set fns_el=
-for %%f in (emacs-%1/bin/fns*) do set fns_el=%fns_el% emacs-%1/bin/%%f
-
-echo Create bin distribution
-copy %3\README.W32 emacs-%1\README.W32
-
-del #files# #elfiles#
-for %%f in (emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32) do echo %%f>>#files#
-for %%f in (emacs-%1/bin/fns*) do echo emacs-%1/bin/%%f>>#elfiles#
-for %%f in (emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp) do echo %%f>>#files#
-for %%f in (emacs-%1/lock emacs-%1/site-lisp) do echo %%f>>#files#
-for %%f in (%elfiles% emacs-%1/site-lisp/subdirs.el) do echo %%f>>#elfiles#
-
-%TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude "*.el" --exclude "*~" -T #files# -cvf %2-bin-i386.tar
-%TAR% -T #elfiles# -rvf %2-bin-i386.tar
-gzip -9 %2-bin-i386.tar
-del emacs-%1\README.W32
-rem del #files# #elfiles#
-if not (%4) == () goto end
-
-:fullbin
-
 echo Create full bin distribution
 copy %3\README.W32 emacs-%1\README.W32
 
-%TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude *~ -cvf - emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/lock emacs-%1/site-lisp | gzip -9 > %2-fullbin-i386.tar.gz
+%ZIP% -x emacs.mdp -x *.pdb -x *.opt -x *~ -x CVS -9 emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp %2-bin-i386.zip
 del emacs-%1\README.W32
 if not (%4) == () goto end
 
-:leim
-
-echo Create archive with precompiled leim files
-%TAR% -cvf - emacs-%1/leim/leim-list.el emacs-%1/leim/quail emacs-%1/leim/ja-dic | gzip -9 > %2-leim.tar.gz
-if not (%4) == () goto end
-
-:undumped
-
-echo Create archive with extra files needed for redumping emacs
-copy %3\README-UNDUMP.W32 emacs-%1\README-UNDUMP.W32
-copy %3\dump.bat emacs-%1\bin
-if exist emacs-%1\src\obj-spd\i386\temacs.exe copy emacs-%1\src\obj-spd\i386\temacs.exe emacs-%1\bin
-if exist emacs-%1\src\oo-spd\i386\temacs.exe copy emacs-%1\src\oo-spd\i386\temacs.exe emacs-%1\bin
-%TAR% -cvf - emacs-%1/README-UNDUMP.W32 emacs-%1/bin/dump.bat emacs-%1/bin/temacs.exe | gzip -9 > %2-undumped-i386.tar.gz
-del emacs-%1\bin\temacs.exe
-del emacs-%1\bin\dump.bat
-del emacs-%1\README-UNDUMP.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
-%TAR% -cvf - emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC emacs-%1/etc/DOC-X | gzip -9 > %2-barebin-i386.tar.gz
+%ZIP% -9 emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC emacs-%1/etc/DOC-X %2-barebin-i386.zip
 del emacs-%1\README.W32
 if not (%4) == () goto end
 
 goto end
 
-rem Only do this if explicitly requested
-:zipfiles
-
-echo Create zip files for bin and lisp archives
-mkdir distrib
-cd distrib
-gunzip -c ..\%2-bin-i386.tar.gz | %TAR% xf -
-rem Need to split emacs.exe into fragments because it is too big now
-rem to fit on a floppy even by itself.
-copy %3\stitch.bat %2\bin
-cd %2\bin
-split -b 1000000 emacs.exe emacs
-del emacs.exe
-cd ..\..
-zip -rp9 em%5bin %2
-rm -rf %2
-zipsplit -n 1400000 -b .. em%5bin.zip
-del em%5bin.zip
-gunzip -c ..\%2-lisp.tar.gz | %TAR% xf -
-zip -rp9 em%5lis %2
-rm -rf %2
-zipsplit -n 1400000 -b .. em%5lis.zip
-del em%5lis.zip
-cd ..
-
-goto end
-
 :usage
 echo Generate source and binary distributions of emacs.
-echo Usage: %0 emacs-version dist-basename distfiles [lisp,bin,undumped,barebin]
+echo Usage: %0 emacs-version dist-basename distfiles [bin,barebin]
 echo   (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles)
-echo Or: %0 emacs-version dist-basename distfiles "zipfiles" short-version
-echo   (e.g., %0 20.6 emacs-20.6 d:\andrewi\distfiles zipfiles 206)
 :end
 
 goto skipArchTag
--- a/etc/PROBLEMS	Thu May 24 02:09:52 2007 +0000
+++ b/etc/PROBLEMS	Thu May 24 06:25:50 2007 +0000
@@ -158,7 +158,6 @@
 
 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=239344
 
-
 * Crash bugs
 
 ** Emacs crashes in x-popup-dialog.
@@ -2453,6 +2452,27 @@
 the problem, install the current version of GNU Sed, then rerun
 Emacs's configure script.
 
+*** Compiling on GNU/Linux fails due to a missing left operand in gnu-linux.h.
+
+The error messages have the form:
+
+  ../src/s/gnu-linux.h:49:24: error: operator '>' has no left operand
+
+This error occurs because your system defines LINUX_VERSION_CODE in
+the standard header file linux/version.h but does not give it a value.
+As a workaround, you can edit the file src/s/gnu-linux.h to add the
+needed definition.  On the line after "#include <linux/version.h>",
+add a line as shown below:
+
+#include <linux/version.h>
+#define LINUX_VERSION_CODE 132626
+
+The number to use depends on your kernel version (the example shown is
+for kernel 2.6.18).  The number can be obtained by running the
+following command in the shell:
+
+uname -r | sed -e 's/\./ /g' -e 's/-.*//' | awk '{print $1*(2^16) + $2*(2^8) + $3}'
+
 *** Building a 32-bit executable on a 64-bit GNU/Linux architecture.
 
 First ensure that the necessary 32-bit system libraries and include
@@ -2810,6 +2830,14 @@
 Using directory paths with spaces is not supported at this time: you
 must re-configure without using spaces.
 
+*** Installing to a directory with non-ASCII characters in the name fails.
+
+Installation may fail, or the Emacs executable may not start
+correctly, if a directory name containing non-ASCII characters is used
+as a `configure' argument (e.g. `--prefix').  The problem can also
+occur if a non-ASCII directory is specified in the EMACSLOADPATH
+envvar.
+
 *** On Solaris, use GNU Make when installing an out-of-tree build
 
 The Emacs configuration process allows you to configure the
--- a/lisp/ChangeLog	Thu May 24 02:09:52 2007 +0000
+++ b/lisp/ChangeLog	Thu May 24 06:25:50 2007 +0000
@@ -22,6 +22,10 @@
 	* progmodes/compile.el (compilation-handle-exit):
 	`compilation-finish-function' may change the current buffer.
 
+2007-05-22  Richard Stallman  <rms@gnu.org>
+
+	* files.el (set-auto-mode): Doc fix.
+
 2007-05-22  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* help-fns.el (find-source-lisp-file): New function.
--- a/lisp/files.el	Thu May 24 02:09:52 2007 +0000
+++ b/lisp/files.el	Thu May 24 06:25:50 2007 +0000
@@ -2171,10 +2171,11 @@
 (defun set-auto-mode (&optional keep-mode-if-same)
   "Select major mode appropriate for current buffer.
 
-This checks for a -*- mode tag in the buffer's text, checks the
-interpreter that runs this file against `interpreter-mode-alist',
-compares the buffer beginning against `magic-mode-alist', or
-compares the filename against the entries in `auto-mode-alist'.
+To find the right major mode, this function checks for a -*- mode tag,
+checks if it uses an interpreter listed in `interpreter-mode-alist',
+matches the buffer beginning against `magic-mode-alist',
+compares the filename against the entries in `auto-mode-alist',
+then matches the buffer beginning against `magic-fallback-mode-alist'.
 
 It does not check for the `mode:' local variable in the
 Local Variables section of the file; for that, use `hack-local-variables'.
@@ -2183,7 +2184,8 @@
 -*- mode tag.
 
 If the optional argument KEEP-MODE-IF-SAME is non-nil, then we
-only set the major mode, if that would change it."
+set the major mode only if that would change it.  In other words
+we don't actually set it to the same mode the buffer already has."
   ;; Look for -*-MODENAME-*- or -*- ... mode: MODENAME; ... -*-
   (let (end done mode modes)
     ;; Find a -*- mode tag
--- a/lisp/tar-mode.el	Thu May 24 02:09:52 2007 +0000
+++ b/lisp/tar-mode.el	Thu May 24 06:25:50 2007 +0000
@@ -747,8 +747,8 @@
 			     ;; find-buffer-file-type-coding-system
 			     ;; (defined on dos-w32.el) to act as if
 			     ;; the file being extracted existed, so
-			     ;; that the file's contents' encoding is
-			     ;; auto-detected.
+			     ;; that the file's contents' encoding and
+			     ;; EOL format are auto-detected.
 			     (let ((file-name-handler-alist
 				    '(("" . tar-file-name-handler))))
 			       (car (find-operation-coding-system
--- a/src/ChangeLog	Thu May 24 02:09:52 2007 +0000
+++ b/src/ChangeLog	Thu May 24 06:25:50 2007 +0000
@@ -2,6 +2,10 @@
 
 	* keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
 
+2007-05-22  Richard Stallman  <rms@gnu.org>
+
+	* xterm.c (x_connection_closed): Remove NO_RETURN.
+
 2007-05-22  Martin Rudalics  <rudalics@gmx.at>
 
 	* syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.