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
This commit is contained in:
Miles Bader 2007-05-24 06:25:50 +00:00
commit 274cb4e46d
8 changed files with 89 additions and 169 deletions

View file

@ -38,8 +38,6 @@ to the hack introduced on 2005-07-01 to fix some other Cleartype problem.
** 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 @@ Sync change from trunk 2007-05-19.
** 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.

View file

@ -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, useful if you want to get the complete source
release, but can't compile Emacs yourself:
+ 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)
+ 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

View file

@ -25,135 +25,36 @@ rem along with GNU Emacs; see the file COPYING. If not, write to the
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

View file

@ -158,7 +158,6 @@ will run it under. For details, see
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=239344
* Crash bugs
** Emacs crashes in x-popup-dialog.
@ -2453,6 +2452,27 @@ This results from a bug in a VERY old version of GNU Sed. To solve
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 @@ with spaces in the value, eg --enable-locallisppath='/path/with\ spaces'.
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

View file

@ -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.

View file

@ -2171,10 +2171,11 @@ Also applies to `magic-fallback-mode-alist'.")
(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 @@ If `enable-local-variables' is nil, this function does not check for a
-*- 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

View file

@ -747,8 +747,8 @@ appear on disk when you save the tar-file's buffer."
;; 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

View file

@ -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.