(gnus-group-completing-read): Remove all newlines from group names. They mess up...
[gnus] / make.bat
index ddd22a3..b1d7a23 100644 (file)
--- a/make.bat
+++ b/make.bat
@@ -1,15 +1,20 @@
-@echo off\r
+@echo OFF\r
+REM Change this to ON when debugging this batch file.\r
 \r
-rem Written by Frank Schmitt <ich@frank-schmitt.net>\r
+rem Written by Frank Schmitt (ich@frank-schmitt.net)\r
 rem based on the work by David Charlap (shamino@writeme.com)\r
 rem .\r
+rem .\r
 rem Clear PWD so emacs doesn't get confused\r
 set GNUS_PWD_SAVE=%PWD%\r
 set PWD=\r
 set ERROR=:\r
+REM set pause=\r
 \r
-if "%1" == "" goto usage\r
+if %1p == p goto usage\r
 \r
+echo * Installing Gnus on your system.  Operating system:\r
+ver\r
 rem Emacs 20.7 no longer includes emacs.bat. Use emacs.exe if the batch file is\r
 rem not present -- this also fixes the problem about too many parameters on Win9x.\r
 if exist %1\emacs.bat goto ebat\r
@@ -21,8 +26,8 @@ goto noemacs
 set EMACS=emacs.bat\r
 echo.\r
 echo ***************************************************************************\r
-echo * Using emacs.bat (If you've got en Emacs >= 20.3 please remove Emacs.bat,\r
-echo * it isn't needed anymore.\r
+echo * Using emacs.bat  (If you've got Emacs 20.3 or higher please remove\r
+echo * Emacs.bat, it isn't needed anymore.)\r
 echo ***************************************************************************\r
 echo.\r
 goto emacs\r
@@ -38,8 +43,8 @@ goto emacs
 \r
 :emacs\r
 if not "%2" == "/copy" goto emacsnocopy\r
-if not exist %1\..\site-lisp mkdir %1\..\site-lisp\r
-if not exist %1\..\site-lisp\gnus mkdir %1\..\site-lisp\gnus\r
+if not exist %1\..\site-lisp\nul mkdir %1\..\site-lisp\r
+if not exist %1\..\site-lisp\gnus\nul mkdir %1\..\site-lisp\gnus\r
 if not exist %1\..\site-lisp\subdirs.el set subdirwarning=yes\r
 :emacsnocopy\r
 set EMACS_ARGS=-batch -q -no-site-file\r
@@ -51,10 +56,10 @@ goto lisp
 :xemacs\r
 set EMACS=xemacs.exe\r
 if not "%2" == "/copy" goto xemacsnocopy\r
-if not exist %1\..\..\site-packages\ mkdir %1\..\..\site-packages\\r
-if not exist %1\..\..\site-packages\info mkdir %1\..\..\site-packages\info\r
-if not exist %1\..\..\site-packages\lisp mkdir %1\..\..\site-packages\lisp\r
-if not exist %1\..\..\site-packages\etc mkdir %1\..\..\site-packages\etc\r
+if not exist %1\..\..\site-packages\nul mkdir %1\..\..\site-packages\\r
+if not exist %1\..\..\site-packages\info\nul mkdir %1\..\..\site-packages\info\r
+if not exist %1\..\..\site-packages\lisp\nul mkdir %1\..\..\site-packages\lisp\r
+if not exist %1\..\..\site-packages\etc\nul mkdir %1\..\..\site-packages\etc\r
 :xemacsnocopy\r
 set EMACS_ARGS=-batch -no-autoloads\r
 set GNUS_INFO_DIR=%1\..\..\site-packages\info\r
@@ -68,11 +73,13 @@ echo.
 goto lisp\r
 \r
 :lisp\r
+if "%pause%" == "pause" pause\r
 set EMACSBATCH=call %1\%EMACS% %EMACS_ARGS%\r
 cd lisp\r
+if exist gnus-load.el attrib -r gnus-load.el\r
 if exist gnus-load.el del gnus-load.el\r
 echo.\r
-echo Stand by while generating autoloads.\r
+echo Stand by while generating autoloads.\r
 echo.\r
 %EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-cus-load .\r
 if ErrorLevel 1 set ERROR=make-cus-load\r
@@ -81,26 +88,29 @@ if ErrorLevel 1 set ERROR=%ERROR%,make-auto-load
 %EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-load\r
 if ErrorLevel 1 set ERROR=%ERROR%,make-load\r
 echo.\r
-echo Stand by while compiling lisp files.\r
+echo Stand by while compiling lisp files.\r
 echo.\r
 %EMACSBATCH% -l ./dgnushack.el -f dgnushack-compile\r
 if ErrorLevel 1 set ERROR=%ERROR%,compile\r
 \r
 if not "%2" == "/copy" goto infotest\r
 echo.\r
-echo Stand by while copying lisp files.\r
+echo Stand by while copying lisp files.\r
 echo.\r
-if not exist %GNUS_LISP_DIR% mkdir %GNUS_LISP_DIR%\r
+if not exist %GNUS_LISP_DIR%\nul mkdir %GNUS_LISP_DIR%\r
 xcopy /R /Q /Y *.el* %GNUS_LISP_DIR%\r
 if ErrorLevel 1 set ERROR=%ERROR%,copy-lisp\r
 goto infotest\r
 \r
 :infotest\r
 cd ..\texi\r
+if exist sieve attrib -r sieve\r
 if exist sieve del sieve\r
+\r
+echo * Checking if makeinfo is available...\r
 makeinfo sieve.texi\r
 if exist sieve goto minfo\r
-REM It seems that makeinfo isn't available\r
+echo * No makeinfo found, using infohack.el.\r
 set EMACSINFO=%EMACSBATCH% -l infohack.el -f batch-makeinfo\r
 echo.\r
 echo ***************************************************************************\r
@@ -119,8 +129,9 @@ echo.
 goto info\r
 \r
 :info\r
+if "%pause%" == "pause" pause\r
 echo.\r
-echo Stand by while generating info files.\r
+echo Stand by while generating info files.\r
 echo.\r
 %EMACSINFO% emacs-mime.texi\r
 if ErrorLevel 1 set ERROR=%ERROR%,emacs-mime.texi\r
@@ -132,12 +143,14 @@ if ErrorLevel 1 set ERROR=%ERROR%,sieve.texi
 if ErrorLevel 1 set ERROR=%ERROR%,pgg.texi\r
 %EMACSINFO% message.texi\r
 if ErrorLevel 1 set ERROR=%ERROR%,message.texi\r
+%EMACSINFO% sasl.texi\r
+if ErrorLevel 1 set ERROR=%ERROR%,sasl.texi\r
 \r
 if not "%2" == "/copy" goto nocopy\r
-if not exist %GNUS_INFO_DIR% mkdir %GNUS_INFO_DIR%\r
+if not exist %GNUS_INFO_DIR%\nul mkdir %GNUS_INFO_DIR%\r
 \r
 echo.\r
-echo Stand by while copying info files.\r
+echo Stand by while copying info files.\r
 echo.\r
 xcopy /R /Q /Y gnus       %GNUS_INFO_DIR%\r
 if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-info\r
@@ -155,6 +168,8 @@ xcopy /R /Q /Y sieve      %GNUS_INFO_DIR%
 if ErrorLevel 1 set ERROR=%ERROR%,copy-sieve-info\r
 xcopy /R /Q /Y pgg        %GNUS_INFO_DIR%\r
 if ErrorLevel 1 set ERROR=%ERROR%,copy-pgg-info\r
+xcopy /R /Q /Y sasl        %GNUS_INFO_DIR%\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-sasl-info\r
 \r
 echo.\r
 echo ***************************************************************************\r
@@ -164,23 +179,61 @@ echo * if they aren't already there:
 echo *\r
 echo * * PGG: (pgg).   Emacs interface to various PGP implementations.\r
 echo * * Sieve: (sieve).       Managing Sieve scripts in Emacs.\r
+echo * * SASL: (sasl). The Emacs SASL library.\r
 echo ***************************************************************************\r
 echo.\r
 \r
 :etc\r
+if "%pause%" == "pause" pause\r
 cd ..\etc\r
 echo.\r
-echo Stand by while copying etc files.\r
+echo Stand by while copying etc files.\r
 echo.\r
+REM\r
 if not exist %GNUS_ETC_DIR% mkdir %GNUS_ETC_DIR%\r
+echo ** gnus-tut.txt ...\r
 xcopy /R /Q /Y gnus-tut.txt %GNUS_ETC_DIR%\r
 if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-gnus-tut-txt\r
-if not exist %GNUS_ETC_DIR%\gnus mkdir %GNUS_ETC_DIR%\gnus\r
-xcopy /R /Q /Y .\gnus\* %GNUS_ETC_DIR%\gnus\\r
-if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-gnus-*\r
-if not exist %GNUS_ETC_DIR%\smilies mkdir %GNUS_ETC_DIR%\smilies\r
-xcopy /R /Q /Y .\smilies\* %GNUS_ETC_DIR%\smilies\\r
-if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-smilies-*\r
+REM\r
+REM FIXME: Instead of C&P, we should use a FOR loop.\r
+REM\r
+set i=images\r
+if not exist %GNUS_ETC_DIR%\%i%\nul mkdir %GNUS_ETC_DIR%\%i%\r
+echo ** .\%i%\ ...\r
+xcopy /R /Q /Y .\%i%\*.* %GNUS_ETC_DIR%\%i%\\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-%i%\r
+REM\r
+set i=images\mail\r
+if not exist %GNUS_ETC_DIR%\%i%\nul mkdir %GNUS_ETC_DIR%\%i%\r
+echo ** .\%i%\ ...\r
+xcopy /R /Q /Y .\%i%\*.* %GNUS_ETC_DIR%\%i%\\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-%i%\r
+REM\r
+set i=images\gnus\r
+if not exist %GNUS_ETC_DIR%\%i%\nul mkdir %GNUS_ETC_DIR%\%i%\r
+echo ** .\%i%\ ...\r
+xcopy /R /Q /Y .\%i%\*.* %GNUS_ETC_DIR%\%i%\\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-%i%\r
+REM\r
+set i=images\smilies\r
+if not exist %GNUS_ETC_DIR%\%i%\nul mkdir %GNUS_ETC_DIR%\%i%\r
+echo ** .\%i%\ ...\r
+xcopy /R /Q /Y .\%i%\*.* %GNUS_ETC_DIR%\%i%\\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-%i%\r
+REM\r
+set i=images\smilies\grayscale\r
+if not exist %GNUS_ETC_DIR%\%i%\nul mkdir %GNUS_ETC_DIR%\%i%\r
+echo ** .\%i%\ ...\r
+xcopy /R /Q /Y .\%i%\*.* %GNUS_ETC_DIR%\%i%\\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-%i%\r
+REM\r
+set i=images\smilies\medium\r
+if not exist %GNUS_ETC_DIR%\%i%\nul mkdir %GNUS_ETC_DIR%\%i%\r
+echo ** .\%i%\ ...\r
+xcopy /R /Q /Y .\%i%\*.* %GNUS_ETC_DIR%\%i%\\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-%i%\r
+REM\r
+set i=\r
 goto warnings\r
 \r
 :nocopy\r
@@ -192,7 +245,7 @@ echo *
 echo * (add-to-list 'load-path "/Path/to/gnus/lisp")\r
 echo * (if (featurep 'xemacs)\r
 echo *     (add-to-list 'Info-directory-list "c:/Path/to/gnus/texi/")\r
-echo *   (add-to-list 'Info-default-directory-list "c:/Path/to/gnus/texi/")\r
+echo *   (add-to-list 'Info-default-directory-list "c:/Path/to/gnus/texi/"))\r
 echo * (require 'gnus-load)\r
 echo *\r
 echo * Replace c:/Path/to/gnus with the Path where your new Gnus is (that's here\r
@@ -258,6 +311,7 @@ goto usage
 :usage\r
 echo.\r
 echo ***************************************************************************\r
+REM echo * Usage: make.bat :[X]Emacs-exe-dir: [/copy] [ ^> inst-log.txt 2^>^&1 ]\r
 echo * Usage: make.bat :[X]Emacs-exe-dir: [/copy]\r
 echo *\r
 echo * where: :[X]Emacs-exe-dir: is the directory your\r
@@ -266,6 +320,8 @@ echo *           e.g. G:\Programme\XEmacs\XEmacs-21.4.11\i586-pc-win32\
 echo *           or G:\Emacs\bin\r
 echo *        /copy indicates that the compiled files should be copied to your\r
 echo *           emacs lisp, info, and etc site directories.\r
+REM echo *        ^> inst-log.txt 2^>^&1\r
+REM echo *           Log output to inst-log.txt\r
 echo *\r
 echo * Note: If you have Emacs/w3 you should set the environment variable\r
 echo *       W3DIR to the directory where w3 is installed eg.\r