# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: address@hidden # target_branch: http://bzr.savannah.gnu.org/r/emacs/trunk/ # testament_sha1: 08a68c06abd718e69bcc6719795d8e20219ec3e4 # timestamp: 2010-04-01 22:15:34 -0600 # base_revision_id: address@hidden # # Begin patch === modified file 'admin/admin.el' --- admin/admin.el 2010-01-13 08:35:10 +0000 +++ admin/admin.el 2010-03-31 02:27:15 +0000 @@ -95,6 +95,9 @@ (set-version-in-file root "lib-src/makefile.w32-in" version (rx (and "VERSION" (0+ space) "=" (0+ space) (submatch (1+ (in "0-9.")))))) + (set-version-in-file root "nt/makefile.w32-in" version + (rx (and "VERSION" (0+ space) "=" (0+ space) + (submatch (1+ (in "0-9.")))))) ;; nt/emacs.rc also contains the version number, but in an awkward ;; format. It must contain four components, separated by commas, and ;; in two places those commas are followed by space, in two other === modified file 'nt/INSTALL' --- nt/INSTALL 2010-01-13 08:35:10 +0000 +++ nt/INSTALL 2010-04-02 04:13:51 +0000 @@ -403,6 +403,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. @@ -425,7 +428,28 @@ 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 the path to files to include in the binary + distribution. + + For example, specifying + + --distfiles D:/distfiles/libXpm.dll + + results in libXpm.dll being copied from D:/distfiles/ to the + /bin directory before packaging starts. + + 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 The main problems that are likely to be encountered when building === added file 'nt/README.W32' --- nt/README.W32 1970-01-01 00:00:00 +0000 +++ nt/README.W32 2010-03-31 02:27:15 +0000 @@ -0,0 +1,264 @@ +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + Free Software Foundation, Inc. +See the end of the file for license conditions. + + Emacs for Windows + + This README file describes how to set up and run a precompiled + version of GNU Emacs for Windows. This distribution can be found on + the ftp.gnu.org server and its mirrors: + + ftp://ftp.gnu.org/gnu/emacs/windows/ + + This server contains other distributions, including the full Emacs + source distribution and a barebin distribution which can be installed + over it, as well as older releases of Emacs for Windows. + + Answers to frequently asked questions, and further information about + this port of GNU Emacs and related software packages can be found via + http: + + http://www.gnu.org/software/emacs/windows/ + +* Preliminaries + + Along with this file should be six subdirectories (bin, etc, info, + lisp, leim, site-lisp). If you have downloaded the barebin + distribution, then it will contain only the bin directory and the + built in documentation in etc/DOC-X, the rest of the subdirectories + are in the src distribution, which the barebin distribution is + designed to be used with. + +* Setting up Emacs + + To install Emacs, simply unpack all the files into a directory of + your choice, but note that you might encounter minor problems if + there is a space anywhere in the directory name. To complete the + installation process, you can optionally run the program addpm.exe + in the bin subdirectory. This will put an icon for Emacs in the + Start Menu under "Start -> Programs -> Gnu Emacs". + + Some users have reported that the Start Menu item is not created for + them. If this happens, just create your own shortcut to runemacs.exe, + eg. by dragging it on to the desktop or the Start button. + + Note that running addpm is now an optional step; Emacs is able to + locate all of its files without needing any information to be set in + the environment or the registry, although such settings will still + be obeyed if present. This is convenient for running Emacs on a + machine which disallows registry changes, or on which software + should not be installed. For instance, you can now run Emacs + directly from a CD or USB flash drive without copying or installing + anything on the machine itself. + +* Starting Emacs + + To run Emacs, simply select Emacs from the Start Menu, or invoke + runemacs.exe directly from Explorer or from a command prompt. This + will start Emacs in its default GUI mode, ready to use. If you have + never used Emacs before, you should follow the tutorial at this + point (select Emacs Tutorial from the Help menu), since Emacs is + quite different from ordinary Windows applications in many respects. + + If you want to use Emacs in tty or character mode within a command + window, you can start it by typing "emacs -nw" at the command prompt. + (Obviously, you need to ensure that the Emacs bin subdirectory is in + your PATH first, or specify the path to emacs.exe.) The -nw + (non-windowed) mode of operation is most useful if you have a telnet + server on your machine, allowing you to run Emacs remotely. + +* EXE files included + + Emacs comes with the following executable files in the bin directory. + + + emacs.exe - The main Emacs executable. As this is designed to run + as both a text-mode application (emacs -nw) and as a GUI application, + it will pop up a command prompt window if run directly from Explorer. + + + runemacs.exe - A wrapper for running Emacs as a GUI application + without popping up a command prompt window. + + + emacsclient.exe - A command-line client program that can + communicate with a running Emacs process. See the `Emacs Server' + node of the Emacs manual. + + + emacsclientw.exe - A version of emacsclient that does not open + a command-line window. + + + addpm.exe - A basic installer that creates Start Menu icons for Emacs. + Running this is optional. + + + cmdproxy.exe - Used internally by Emacs to work around problems with + the native shells in various versions of Windows. + + + ctags.exe, etags.exe - Tools for generating tag files. See the + `Tags' node of the Emacs manual. + + + ebrowse.exe - A tool for generating C++ browse information. See the + `Ebrowse' manual. + + + ddeclient.exe - A tool for interacting with DDE servers. + + + hexl.exe - A tool for converting files to hex dumps. See the + `Editing Binary Files' node of the Emacs manual. + + + movemail.exe - A helper application for safely moving mail from + a mail spool or POP server to a local user mailbox. See the + `Movemail' node of the Emacs manual. + + + digest-doc.exe, sorted-doc.exe - Tools for rebuilding the + built-in documentation. + +* Image support + + Emacs has built in support for XBM and PPM/PGM/PBM images, and the + libXpm library is bundled, providing XPM support (required for color + toolbar icons and splash screen). Source for libXpm should be available + on the same place as you got this binary distribution from. The version + of libXpm bundled with this version of Emacs is 3.5.7, based on x.org's + libXpm library from X11R7.3. + + Emacs can also support some other image formats with appropriate + libraries. These libraries are all available as part of GTK, or from + gnuwin32.sourceforge.net. Emacs will find them if the directory they + are installed in is on the PATH. + + PNG: requires the PNG reference library 1.2 or later, which will + be named libpng13d.dll, libpng13.dll, libpng12d.dll, libpng12.dll + or libpng.dll. LibPNG requires zlib, which should come from the same + source as you got libpng. + + JPEG: requires the Independant JPEG Group's libjpeg 6b or later, + which will be called jpeg62.dll, libjpeg.dll, jpeg-62.dll or jpeg.dll. + + TIFF: requires libTIFF 3.0 or later, which will be called libtiff3.dll + or libtiff.dll. + + GIF: requires libungif or giflib 4.1 or later, which will be + called giflib4.dll, libungif4.dll or libungif.dll. + + In addition, Emacs can be compiled to support SVG. This precompiled + distribution has not been compiled that way, since the SVG library + or one or more of its extensive dependencies appear to be + unreliable under Windows. See nt/INSTALL in the src distribution if + you wish to compile Emacs with SVG support. + +* Uninstalling Emacs + + If you should need to uninstall Emacs, simply delete all the files + and subdirectories from the directory where it was unpacked (Emacs + does not install or update any files in system directories or + anywhere else). If you ran the addpm.exe program to create the + registry entries and the Start menu icon, then you can remove the + registry entries using regedit. All of the settings are written + under the Software\GNU\Emacs key in HKEY_LOCAL_MACHINE, or if you + didn't have administrator privileges when you installed, the same + key in HKEY_CURRENT_USER. Just delete the whole Software\GNU\Emacs + key. + + The Start menu entry can be removed by right-clicking on the Task bar + and selecting Properties, then using the Remove option on the Start + Menu Programs page. (If you installed under an account with + administrator privileges, then you need to click the Advanced button + and look for the Gnu Emacs menu item under All Users.) + +* Troubleshooting + + Unpacking the distributions + + If you encounter trouble trying to run Emacs, there are a number of + possible causes. Check the following for indications that the + distribution was not corrupted by the tools used to unpack it: + + * Be sure to disable CR/LF translation or the executables will + be unusable. Older versions of WinZipNT would enable this + translation by default. If you are using WinZipNT, disable it. + (I don't have WinZipNT myself, and I do not know the specific + commands necessary to disable it.) + + * Check that filenames were not truncated to 8.3. For example, + there should be a file lisp\abbrevlist.elc; if this has been + truncated to abbrevli.elc, your distribution has been corrupted + while unpacking and Emacs will not start. + + If you believe you have unpacked the distributions correctly and are + still encountering problems, see the section on Further Information + below. + + Virus scanners + + Some virus scanners interfere with Emacs' use of subprocesses. If you + are unable to use subprocesses and you use Dr. Solomon's WinGuard or + McAfee's Vshield, turn off "Scan all files" (WinGuard) or "boot sector + scanning" (McAfee exclusion properties). + +* Further information + + If you have access to the World Wide Web, I would recommend pointing + your favorite web browser to the following document (if you haven't + already): + + http://www.gnu.org/software/emacs/windows/ + + This document serves as an FAQ and a source for further information + about the Windows port and related software packages. + + In addition to the FAQ, there is a mailing list for discussing issues + related to the Windows port of Emacs. For information about the + list, see this Web page: + + http://lists.gnu.org/mailman/listinfo/help-emacs-windows + + To ask questions on the mailing list, send email to + address@hidden (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 . === modified file 'nt/configure.bat' --- nt/configure.bat 2010-01-13 08:35:10 +0000 +++ nt/configure.bat 2010-04-01 01:45:58 +0000 @@ -89,6 +89,7 @@ set doldflags= set sep1= set sep2= +set distfilepath= rem ---------------------------------------------------------------------- rem Handle arguments. @@ -110,6 +111,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] @@ -129,6 +131,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 @@ -226,6 +229,14 @@ goto again rem ---------------------------------------------------------------------- + +:distfiles +shift +set distfilepath=%1 +shift +goto again + +rem ---------------------------------------------------------------------- rem Check that necessary utilities (cp and rm) are present. :checkutils echo Checking for 'cp'... @@ -513,6 +524,21 @@ :svgDone rm -f junk.c junk.obj junk.err junk.out +if [%distfilepath%] == [] goto distfilesDone + +echo Checking for distfiles... +if exist %distfilepath% goto haveDistfiles + +echo ...distfiles not found. +set distfilepath= +goto :distfilesDone + +:haveDistfiles +echo ...distfiles found. + +:distfilesDone + + rem ---------------------------------------------------------------------- :genmakefiles echo Generating makefiles @@ -532,6 +558,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 "(%distfilepath%)" == "()" echo DIST_FILES=%distfilepath%>>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 === modified file 'nt/makefile.w32-in' --- nt/makefile.w32-in 2010-01-13 08:35:10 +0000 +++ nt/makefile.w32-in 2010-04-02 04:13:51 +0000 @@ -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) + zipdist.bat $(INSTALL_DIR) $(VERSION) + force-info: # Note that doc/emacs/makefile knows how to # put the info files in $(infodir), === added file 'nt/zipdist.bat' --- nt/zipdist.bat 1970-01-01 00:00:00 +0000 +++ nt/zipdist.bat 2010-04-01 01:40:58 +0000 @@ -0,0 +1,66 @@ address@hidden 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 # Begin bundle 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 XIiZjzh/nxP/i7kinChIa5LDrwA=