From 0daf086a96c00e915cc3c34575ee780abd67b188 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 22 May 2007 08:22:57 +0000 Subject: [PATCH 01/17] *** empty log message *** --- admin/FOR-RELEASE | 2 ++ 1 file changed, 2 insertions(+) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index b999cab6674..bb9db84ad1b 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -51,6 +51,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. From 2cf0c0db339da02d678e5aa08e9f2cbd9bcf262c Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 22 May 2007 08:23:36 +0000 Subject: [PATCH 02/17] (Info-fontify-node): Match https also. --- lisp/info.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/info.el b/lisp/info.el index b9216b903ec..3b709abca37 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -4074,7 +4074,7 @@ the variable `Info-file-list-for-emacs'." ;; Fontify http and ftp references (goto-char (point-min)) (when not-fontified-p - (while (re-search-forward "[hf]t?tp://[^ \t\n\"`({<>})']+" nil t) + (while (re-search-forward "\\(https?\\|ftp\\)://[^ \t\n\"`({<>})']+" nil t) (add-text-properties (match-beginning 0) (match-end 0) '(font-lock-face info-xref mouse-face highlight From c81036c67774822ae30ee3fb1047511dc3356faf Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 22 May 2007 08:28:46 +0000 Subject: [PATCH 03/17] (x_connection_closed): Remove NO_RETURN. --- src/ChangeLog | 4 ++++ src/xterm.c | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index 220a32a5022..3c837ccf2b5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2007-05-22 Richard Stallman + + * xterm.c (x_connection_closed): Remove NO_RETURN. + 2007-05-19 Stefan Monnier * syntax.c (skip_chars): Update syntax-table only after we checked that diff --git a/src/xterm.c b/src/xterm.c index 4f77e22ac59..bc4fd366796 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -366,7 +366,9 @@ static void x_check_expected_move P_ ((struct frame *, int, int)); static void x_sync_with_move P_ ((struct frame *, int, int, int)); static int handle_one_xevent P_ ((struct x_display_info *, XEvent *, int *, struct input_event *)); -static SIGTYPE x_connection_closed P_ ((Display *, char *)) NO_RETURN; +/* Don't declare this NO_RETURN because we want no + interference with debugging failing X calls. */ +static SIGTYPE x_connection_closed P_ ((Display *, char *)); /* Flush display of frame F, or of all frames if F is null. */ From 6903229ca9233950e96d576e8e4392f26a21d268 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 22 May 2007 11:21:13 +0000 Subject: [PATCH 04/17] (find-buffer-file-type-coding-system): Doc fix. --- lisp/ChangeLog | 4 ++++ lisp/dos-w32.el | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 53e45ef70d9..24df5a7f982 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2007-05-22 Eli Zaretskii + + * dos-w32.el (find-buffer-file-type-coding-system): Doc fix. + 2007-05-21 Trent Buck (tiny change) * net/rcirc.el (rcirc-fill-column): Allow `window-width'. diff --git a/lisp/dos-w32.el b/lisp/dos-w32.el index aeebb9c3d08..b1dc399418a 100644 --- a/lisp/dos-w32.el +++ b/lisp/dos-w32.el @@ -92,7 +92,7 @@ against the file name, and TYPE is nil for text, t for binary.") (defun find-buffer-file-type-coding-system (command) "Choose a coding system for a file operation in COMMAND. -COMMAND is a list that specifies the operation, and I/O primitive as its +COMMAND is a list that specifies the operation, an I/O primitive, as its CAR, and the arguments that might be given to that operation as its CDR. If operation is `insert-file-contents', the coding system is chosen based upon the filename (the CAR of the arguments beyond the operation), the contents @@ -109,6 +109,10 @@ and whether the file exists: If the file exists: `undecided' If the file does not exist: default-buffer-file-coding-system +Note that the CAR of arguments to `insert-file-contents' operation could +be a cons cell of the form \(FILENAME . BUFFER\), where BUFFER is a buffer +into which the file's contents were already read, but not yet decoded. + If operation is `write-region', the coding system is chosen based upon the value of `buffer-file-coding-system' and `buffer-file-type'. If `buffer-file-coding-system' is non-nil, its value is used. If it is From c022c4c47e8c1ca9029cf6b48c6ff5daa392c9ce Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 22 May 2007 11:42:31 +0000 Subject: [PATCH 05/17] (set-auto-mode): Doc fix. --- lisp/ChangeLog | 4 ++++ lisp/files.el | 12 +++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 24df5a7f982..d3a4af4db06 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2007-05-22 Richard Stallman + + * files.el (set-auto-mode): Doc fix. + 2007-05-22 Eli Zaretskii * dos-w32.el (find-buffer-file-type-coding-system): Doc fix. diff --git a/lisp/files.el b/lisp/files.el index 322b28f293e..2dbc0c2791a 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2169,10 +2169,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'. @@ -2181,7 +2182,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 From b39bd0defafe2b959713089caf00495510ce74bc Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 22 May 2007 12:01:46 +0000 Subject: [PATCH 06/17] *** empty log message *** --- admin/FOR-RELEASE | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index bb9db84ad1b..4fad7c8d5e6 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -34,13 +34,13 @@ 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 ** michael.ewe@arcor.de, Apr 24: 22.0.98 not starting on Solaris 10/I386 http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg01113.html +** eliz@gnu.org, May 20: EOL conversion of files in .tar archives + * FIXES FOR EMACS 22.2 Here we list small fixes that arrived too late for Emacs 22.1, but From 23636b09aa4923e06ea58e992e1fa64d818d57c9 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 22 May 2007 12:58:01 +0000 Subject: [PATCH 07/17] Add information about where to find GDB, and warn against --no-debug option to configure.bat. --- nt/ChangeLog | 5 +++++ nt/INSTALL | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/nt/ChangeLog b/nt/ChangeLog index bec92ba17c5..c694dbe0695 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,8 @@ +2007-05-22 Eli Zaretskii + + * INSTALL: Add information about where to find GDB, and warn + against --no-debug option to configure.bat. + 2007-05-19 Eli Zaretskii * INSTALL: Fix URL of EmacsW32 site where building with image diff --git a/nt/INSTALL b/nt/INSTALL index 7449323ace1..489941e1578 100644 --- a/nt/INSTALL +++ b/nt/INSTALL @@ -227,6 +227,9 @@ To configure Emacs to build with GCC or MSVC, whichever is available, simply change to the `nt' subdirectory and run `configure.bat' with no options. To see what options are available, run `configure --help'. + Do NOT use the --no-debug option to configure.bat unless you are + absolutely sure the produced binaries will never need to be run under + a debugger. N.B. It is normal to see a few error messages output while configure is running, when gcc support is being tested. These cannot be @@ -380,7 +383,8 @@ You should be able to debug Emacs using the debugger that is appropriate for the compiler you used, namely DevStudio or Windbg if - compiled with MSVC, or GDB if compiled with GCC. + compiled with MSVC, or GDB if compiled with GCC. (GDB for Windows + is available from the MinGW site, http://www.mingw.org/download.shtml.) When Emacs aborts due to a fatal internal error, Emacs on Windows pops up an Emacs Abort Dialog asking you whether you want to debug From e6896642c573fe0049e690ab519c9e9ace02a564 Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Tue, 22 May 2007 15:14:56 +0000 Subject: [PATCH 08/17] Transfer changes to branch --- admin/nt/README-ftp-server | 93 +++++++++++++++----------------------- 1 file changed, 37 insertions(+), 56 deletions(-) diff --git a/admin/nt/README-ftp-server b/admin/nt/README-ftp-server index 67d8e7919ce..53a06c3d80a 100644 --- a/admin/nt/README-ftp-server +++ b/admin/nt/README-ftp-server @@ -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 From de71c3babfefc3024290b2fb731821a0492a389f Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Tue, 22 May 2007 15:35:29 +0000 Subject: [PATCH 09/17] Reduce the number of variants produced. Use zip. --- admin/nt/makedist.bat | 107 ++---------------------------------------- 1 file changed, 4 insertions(+), 103 deletions(-) diff --git a/admin/nt/makedist.bat b/admin/nt/makedist.bat index 435462df6bd..b160da93c4f 100755 --- a/admin/nt/makedist.bat +++ b/admin/nt/makedist.bat @@ -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 From 75ec28b481ba2e275d014f9bb5d311e704a2e474 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 23 May 2007 08:08:34 +0000 Subject: [PATCH 10/17] *** empty log message *** --- lisp/ChangeLog | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d3a4af4db06..398a3ad2513 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2007-05-23 Nikolaj Schumacher (tiny change) + + * progmodes/compile.el (compilation-handle-exit): + `compilation-finish-function' may change the current buffer. + 2007-05-22 Richard Stallman * files.el (set-auto-mode): Doc fix. From 1083cfb10e3e1474f4ea54b537816412ae677d14 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 23 May 2007 08:09:05 +0000 Subject: [PATCH 11/17] Fix whitespace in previous change. --- lisp/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 398a3ad2513..88ccc684542 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,4 +1,4 @@ -2007-05-23 Nikolaj Schumacher (tiny change) +2007-05-23 Nikolaj Schumacher (tiny change) * progmodes/compile.el (compilation-handle-exit): `compilation-finish-function' may change the current buffer. From bd40f902ad693c8de5bccb556e8d44287b9c7215 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 23 May 2007 08:09:37 +0000 Subject: [PATCH 12/17] Nikolaj Schumacher (tiny change) (compilation-handle-exit): `compilation-finish-function' may change the current buffer. --- lisp/progmodes/compile.el | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index d3e8ec85d05..9a630ace9aa 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -1426,7 +1426,8 @@ Turning the mode on runs the normal hook `compilation-minor-mode-hook'." process-status exit-status msg) (cons msg exit-status))) (omax (point-max)) - (opoint (point))) + (opoint (point)) + (cur-buffer (current-buffer))) ;; Record where we put the message, so we can ignore it later on. (goto-char omax) (insert ?\n mode-name " " (car status)) @@ -1447,8 +1448,8 @@ Turning the mode on runs the normal hook `compilation-minor-mode-hook'." (goto-char opoint)) (with-no-warnings (if compilation-finish-function - (funcall compilation-finish-function (current-buffer) msg))) - (run-hook-with-args 'compilation-finish-functions (current-buffer) msg))) + (funcall compilation-finish-function cur-buffer msg))) + (run-hook-with-args 'compilation-finish-functions cur-buffer msg))) ;; Called when compilation process changes state. (defun compilation-sentinel (proc msg) From 3c71f17a1cc49223da45c66bf6be81416f11c04c Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 23 May 2007 08:54:24 +0000 Subject: [PATCH 13/17] Hard-to-reproduce Solaris issue: rms says "I will give up on fixing this now". http://lists.gnu.org/archive/html/emacs-devel/2007-05/msg01198.html --- admin/FOR-RELEASE | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 4fad7c8d5e6..3faaad03a47 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -36,10 +36,8 @@ to the hack introduced on 2005-07-01 to fix some other Cleartype problem. * BUGS -** michael.ewe@arcor.de, Apr 24: 22.0.98 not starting on Solaris 10/I386 -http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg01113.html - ** eliz@gnu.org, May 20: EOL conversion of files in .tar archives +http://lists.gnu.org/archive/html/emacs-devel/2007-05/msg01006.html * FIXES FOR EMACS 22.2 From db2ccbc2a82836fdeefef3d29c1d613c79b7d476 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Wed, 23 May 2007 17:32:46 +0000 Subject: [PATCH 14/17] (tar-file-name-handler): New function. (tar-extract): Bind file-name-handler-alist to it to force find-buffer-file-type-coding-system behave as if the file being extracted existed. Use last-coding-system-used to force buffer-file-coding-system to what decode-coding-region actually used to decode the file. --- lisp/ChangeLog | 9 +++++++++ lisp/tar-mode.el | 26 ++++++++++++++++++++++---- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 88ccc684542..b1763abd2ef 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2007-05-23 Eli Zaretskii + + * tar-mode.el (tar-file-name-handler): New function. + (tar-extract): Bind file-name-handler-alist to it to force + find-buffer-file-type-coding-system behave as if the file being + extracted existed. Use last-coding-system-used to force + buffer-file-coding-system to what decode-coding-region actually + used to decode the file. + 2007-05-23 Nikolaj Schumacher (tiny change) * progmodes/compile.el (compilation-handle-exit): diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el index cffc8a4cccc..31854e60407 100644 --- a/lisp/tar-mode.el +++ b/lisp/tar-mode.el @@ -681,6 +681,12 @@ appear on disk when you save the tar-file's buffer." (goto-char (posn-point (event-end event))) (tar-extract)) +(defun tar-file-name-handler (op &rest args) + "Helper function for `tar-extract'." + (or (eq op 'file-exists-p) + (let ((file-name-handler-alist nil)) + (apply op args)))) + (defun tar-extract (&optional other-window-p) "In Tar mode, extract this entry of the tar file into its own buffer." (interactive) @@ -735,9 +741,19 @@ appear on disk when you save the tar-file's buffer." (save-excursion (funcall set-auto-coding-function name (- (point-max) (point))))) - (car (find-operation-coding-system - 'insert-file-contents - (cons name (current-buffer)) t)))) + ;; The following binding causes + ;; 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 and + ;; EOL format are auto-detected. + (let ((file-name-handler-alist + (if (featurep 'dos-w32) + '(("" . tar-file-name-handler)) + file-name-handler-alist))) + (car (find-operation-coding-system + 'insert-file-contents + (cons name (current-buffer)) t))))) (multibyte enable-multibyte-characters) (detected (detect-coding-region (point-min) @@ -758,7 +774,9 @@ appear on disk when you save the tar-file's buffer." (coding-system-change-text-conversion coding 'raw-text))) (decode-coding-region (point-min) (point-max) coding) - (set-buffer-file-coding-system coding)) + ;; Force buffer-file-coding-system to what + ;; decode-coding-region actually used. + (set-buffer-file-coding-system last-coding-system-used t)) ;; Set the default-directory to the dir of the ;; superior buffer. (setq default-directory From 3a25d6b30b3bcf8c4a5bf7d072ed2c68beb66dd8 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 23 May 2007 19:04:30 +0000 Subject: [PATCH 15/17] ** eliz@gnu.org, May 20: EOL conversion of files in .tar archives http://lists.gnu.org/archive/html/emacs-devel/2007-05/msg01006.html Fixed. --- admin/FOR-RELEASE | 3 --- 1 file changed, 3 deletions(-) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 3faaad03a47..1093e145833 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -36,9 +36,6 @@ to the hack introduced on 2005-07-01 to fix some other Cleartype problem. * BUGS -** eliz@gnu.org, May 20: EOL conversion of files in .tar archives -http://lists.gnu.org/archive/html/emacs-devel/2007-05/msg01006.html - * FIXES FOR EMACS 22.2 Here we list small fixes that arrived too late for Emacs 22.1, but From 6c06422c157c1209cd6bc231e26c62cdb1c8c98b Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 23 May 2007 20:10:04 +0000 Subject: [PATCH 16/17] Add "Installing to a directory with non-ASCII characters in the name fails". --- etc/PROBLEMS | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 00bddb791c2..00dedc0c363 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -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. @@ -2810,6 +2809,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 From 8a0b01bce92cdd602e96baf8e435a2f2f8e8f0ba Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 23 May 2007 20:15:17 +0000 Subject: [PATCH 17/17] Add "Compiling on GNU/Linux fails due to a missing left operand in gnu-linux.h." --- etc/PROBLEMS | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 00dedc0c363..473043932ac 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -2452,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 ", +add a line as shown below: + +#include +#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