# HG changeset patch # User Juanma Barranquero # Date 1279978531 -7200 # Node ID 1277fe6717c99d5207b0ba076972f010db5dc6eb # Parent e6408c088fbced7bc550aa90a170957c8e3d6e43 New make target for Windows platform: make dist (bug#6602) * admin/admin.el: Write version number to nt/makefile.w32-in. * admin/nt/makedist.bat: Remove; replaced with `zipdist.bat' in the nt/ directory. * admin/nt/README.W32: Relocate to nt/ directory. * etc/NEWS: Document new --distfiles configure.bat option and `dist' make target on Windows. * nt/INSTALL: Document new dist target and add section about creating binary distributions. * nt/configure.bat: New parameter `--distfiles'. * nt/makefile.w32-in: Add version number, new target `dist'. Add new target `install-shortcuts'. * nt/zipdist.bat: New file; create zipped binary distribution, replaces admin/nt/makedist.bat. diff -r e6408c088fbc -r 1277fe6717c9 admin/ChangeLog --- a/admin/ChangeLog Sat Jul 24 13:53:19 2010 +0200 +++ b/admin/ChangeLog Sat Jul 24 15:35:31 2010 +0200 @@ -1,3 +1,10 @@ +2010-07-24 Christoph Scholtes + + * 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 * CPP-DEFINES (HAVE_INDEX, HAVE_RINDEX): Remove. diff -r e6408c088fbc -r 1277fe6717c9 admin/admin.el --- a/admin/admin.el Sat Jul 24 13:53:19 2010 +0200 +++ b/admin/admin.el Sat Jul 24 15:35:31 2010 +0200 @@ -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 diff -r e6408c088fbc -r 1277fe6717c9 admin/nt/README.W32 --- a/admin/nt/README.W32 Sat Jul 24 13:53:19 2010 +0200 +++ /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 . diff -r e6408c088fbc -r 1277fe6717c9 admin/nt/makedist.bat --- a/admin/nt/makedist.bat Sat Jul 24 13:53:19 2010 +0200 +++ /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 diff -r e6408c088fbc -r 1277fe6717c9 etc/ChangeLog --- a/etc/ChangeLog Sat Jul 24 13:53:19 2010 +0200 +++ b/etc/ChangeLog Sat Jul 24 15:35:31 2010 +0200 @@ -1,3 +1,8 @@ +2010-07-24 Christoph Scholtes + + * NEWS: Document new --distfiles configure.bat option and + `dist' make target on Windows. + 2010-07-20 Juanma Barranquero * PROBLEMS: Add note about use of backslashes in Windows paths. diff -r e6408c088fbc -r 1277fe6717c9 etc/NEWS --- a/etc/NEWS Sat Jul 24 13:53:19 2010 +0200 +++ b/etc/NEWS Sat Jul 24 15:35:31 2010 +0200 @@ -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. diff -r e6408c088fbc -r 1277fe6717c9 nt/ChangeLog --- a/nt/ChangeLog Sat Jul 24 13:53:19 2010 +0200 +++ b/nt/ChangeLog Sat Jul 24 15:35:31 2010 +0200 @@ -1,3 +1,16 @@ +2010-07-24 Christoph Scholtes + + 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 * INSTALL: Add note about backslashes in Windows paths. diff -r e6408c088fbc -r 1277fe6717c9 nt/INSTALL --- a/nt/INSTALL Sat Jul 24 13:53:19 2010 +0200 +++ b/nt/INSTALL Sat Jul 24 15:35:31 2010 +0200 @@ -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 diff -r e6408c088fbc -r 1277fe6717c9 nt/README.W32 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nt/README.W32 Sat Jul 24 15:35:31 2010 +0200 @@ -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 . diff -r e6408c088fbc -r 1277fe6717c9 nt/configure.bat --- a/nt/configure.bat Sat Jul 24 13:53:19 2010 +0200 +++ b/nt/configure.bat Sat Jul 24 15:35:31 2010 +0200 @@ -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 diff -r e6408c088fbc -r 1277fe6717c9 nt/makefile.w32-in --- a/nt/makefile.w32-in Sat Jul 24 13:53:19 2010 +0200 +++ b/nt/makefile.w32-in Sat Jul 24 15:35:31 2010 +0200 @@ -23,6 +23,8 @@ # FIXME: This file uses DOS EOLs. Convert to Unix after 22.1 is out # (and remove or replace this comment). +VERSION = 24.0.50 + TRES = $(BLD)/emacs.res CLIENTRES = $(BLD)/emacsclient.res @@ -197,12 +199,15 @@ # # 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 - $(DEL) ../same-dir.tst - $(DEL) $(INSTALL_DIR)/same-dir.tst echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst" @@ -238,6 +243,14 @@ $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install +install-shortcuts: + "$(INSTALL_DIR)/bin/addpm" -q + +dist: install-bin + $(CP) $(DIST_FILES) $(INSTALL_DIR)/bin + $(CP) README.W32 $(INSTALL_DIR) + $(COMSPEC)$(ComSpec) /c $(ARGQUOTE)zipdist.bat $(INSTALL_DIR) $(VERSION)$(ARGQUOTE) + force-info: # Note that doc/emacs/makefile knows how to # put the info files in $(infodir), diff -r e6408c088fbc -r 1277fe6717c9 nt/zipdist.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nt/zipdist.bat Sat Jul 24 15:35:31 2010 +0200 @@ -0,0 +1,66 @@ +@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: full path to Emacs root directory +set ARG_PATH="%~f1" +rem Path separator cannot be parsed correctly, substitute +set ARG_PATH=%ARG_PATH:\=;% + +rem arg 2: Emacs version number +set EMACS_VER=%2 + +rem Parse out last directory from passed in full path (arg 1) +for /f "tokens=* delims=;" %%G in (%ARG_PATH%) do call :PARSE_PATH %%G +goto :EXIT + +:PARSE_PATH +if "%1"=="" ( + goto :ZIP_CHECK +) +set ROOT_DIR=%1 +SHIFT +goto :PARSE_PATH + +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 +pushd ..\.. +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 %ROOT_DIR%/BUGS %ROOT_DIR%/COPYING %ROOT_DIR%/README %ROOT_DIR%/README.W32 %ROOT_DIR%/INSTALL %ROOT_DIR%/bin %ROOT_DIR%/etc %ROOT_DIR%/info %ROOT_DIR%/lisp %ROOT_DIR%/leim %ROOT_DIR%/site-lisp +7z t emacs-%EMACS_VER%-bin-i386.zip +rem Build and verify binary only distribution +7z a -bd -tZIP -mx=9 emacs-%EMACS_VER%-barebin-i386.zip %ROOT_DIR%/README.W32 %ROOT_DIR%/bin %ROOT_DIR%/etc/DOC-X %ROOT_DIR%/COPYING +7z t emacs-%EMACS_VER%-barebin-i386.zip +popd +goto EXIT + +:EXIT