Gnus development mailing list
 help / color / mirror / Atom feed
* Final version of newmake.bat
@ 2003-03-18 23:43 Frank Schmitt
  2003-03-19  6:43 ` Kevin Greiner
  0 siblings, 1 reply; 10+ messages in thread
From: Frank Schmitt @ 2003-03-18 23:43 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 549 bytes --]

Hello

I once more reworked newmake.bat, which will soon (at least I hope so)
replace make.bat and make.x.bat.

I now use xcopy instead of copy since it's faster and has the option to
work quite, Gnus is now installed in site-lisp respectively
site-packages instead of overwriting the Gnus distributed with [X]Emacs
and there's more and better readable info for the user.

I tested it with Emacs 21.3 and XEmacs 21.4.11 under Windows XP, if
anything doesn't work for you drop me a note, otherwise I'll ask
someone with CVS access to put it in CVS.


[-- Attachment #2: newmake.bat --]
[-- Type: application/octet-stream, Size: 7751 bytes --]

@echo off

rem Written by Frank Schmitt <ich@frank-schmitt.net>
rem based on the work by David Charlap (shamino@writeme.com)
rem .
rem Clear PWD so emacs doesn't get confused
set GNUS_PWD_SAVE=%PWD%
set PWD=

if "%1" == "" goto usage

rem Emacs 20.7 no longer includes emacs.bat. Use emacs.exe if the batch file is
rem not present -- this also fixes the problem about too many parameters on Win9x.
if exist %1\emacs.bat goto ebat
if exist %1\emacs.exe goto eexe
if exist %1\xemacs.exe goto xemacs
goto noemacs

:ebat
set EMACS=emacs.bat
echo.
echo ***************************************************************************
echo * Using emacs.bat (If you've got en Emacs >= 20.3 please remove Emacs.bat, 
echo * it isn't needed anymore.
echo ***************************************************************************
echo.
goto emacs

:eexe
set EMACS=emacs.exe
echo.
echo ***************************************************************************
echo * Using emacs.exe
echo ***************************************************************************
echo.
goto emacs

:emacs
if not "%2" == "/copy" goto emacsnocopy
if not exist %1\..\site-lisp mkdir %1\..\site-lisp
if not exist %1\..\site-lisp\gnus mkdir %1\..\site-lisp\gnus
if not exist %1\..\site-lisp\subdirs.el set subdirwarning=yes
:emacsnocopy
set GNUS_INFO_DIR=%1\..\info
set GNUS_LISP_DIR=%1\..\site-lisp\gnus\lisp
set GNUS_ETC_DIR=%1\..\site-lisp\gnus\etc
goto lisp
      
:xemacs      
set EMACS=xemacs.exe
if not "%2" == "/copy" goto xemacsnocopy
if not exist %1\..\..\site-packages\ mkdir %1\..\..\site-packages\
if not exist %1\..\..\site-packages\info mkdir %1\..\..\site-packages\info
if not exist %1\..\..\site-packages\lisp mkdir %1\..\..\site-packages\lisp
if not exist %1\..\..\site-packages\etc mkdir %1\..\..\site-packages\etc
:xemacsnocopy
set GNUS_INFO_DIR=%1\..\..\site-packages\info
set GNUS_LISP_DIR=%1\..\..\site-packages\lisp\gnus
set GNUS_ETC_DIR=%1\..\..\site-packages\etc
echo.
echo ***************************************************************************
echo * Using xemacs.exe
echo ***************************************************************************
echo.
goto lisp

:lisp
set EMACSBATCH=call %1\%EMACS% -no-site-file -batch -q
cd lisp
if exist gnus-load.el del gnus-load.el
%EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-cus-load .
%EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-auto-load .
%EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-load
%EMACSBATCH% -l ./dgnushack.el -f dgnushack-compile
if not "%2" == "/copy" goto infotest
if not exist %GNUS_LISP_DIR% mkdir %GNUS_LISP_DIR%
xcopy /R /Q /Y *.el* %GNUS_LISP_DIR%
goto infotest

:infotest
cd ..\texi
if exist sieve del sieve
makeinfo sieve.texi
if exist sieve goto minfo 
REM It seems that makeinfo isn't available
set EMACSINFO=%EMACSBATCH% -l infohack.el -f batch-makeinfo
echo.
echo ***************************************************************************
echo * Using infohack.el, if you've got makeinfo.exe put it in PATH.
echo ***************************************************************************
echo.
goto info

:minfo
set EMACSINFO=makeinfo  
echo.
echo ***************************************************************************
echo * Using makeinfo
echo ***************************************************************************
echo.
goto info

:info
%EMACSINFO% message.texi
%EMACSINFO% emacs-mime.texi
%EMACSINFO% gnus.texi
%EMACSINFO% sieve.texi
%EMACSINFO% pgg.texi
if not "%2" == "/copy" goto nocopy
if not exist %GNUS_INFO_DIR% mkdir %GNUS_INFO_DIR%
xcopy /R /Q /Y gnus       %GNUS_INFO_DIR%
xcopy /R /Q /Y gnus-?     %GNUS_INFO_DIR%
xcopy /R /Q /Y gnus-??    %GNUS_INFO_DIR%
xcopy /R /Q /Y message    %GNUS_INFO_DIR%
xcopy /R /Q /Y message-?  %GNUS_INFO_DIR%
xcopy /R /Q /Y emacs-mime %GNUS_INFO_DIR%
xcopy /R /Q /Y sieve      %GNUS_INFO_DIR%
xcopy /R /Q /Y pgg        %GNUS_INFO_DIR%

echo.
echo ***************************************************************************
echo * You should add the following lines to 
echo * %GNUS_INFO_DIR%\dir 
echo * if they aren't already there:
echo *
echo * * PGG: (pgg).	Emacs interface to various PGP implementations.
echo * * Sieve: (sieve).	Managing Sieve scripts in Emacs.
echo ***************************************************************************
echo.

:etc
cd ..\etc
if not exist %GNUS_ETC_DIR% mkdir %GNUS_ETC_DIR%
xcopy /R /Q /Y gnus-tut.txt %GNUS_ETC_DIR%
if not exist %GNUS_ETC_DIR%\gnus mkdir %GNUS_ETC_DIR%\gnus
xcopy /R /Q /Y .\gnus\* %GNUS_ETC_DIR%\gnus\
if not exist %GNUS_ETC_DIR%\smilies mkdir %GNUS_ETC_DIR%\smilies
xcopy /R /Q /Y .\smilies\* %GNUS_ETC_DIR%\smilies\
goto warnings

:nocopy
echo.
echo ***************************************************************************
echo * You chose not to copy the files, therefore you should add the 
echo * following lines to the TOP of your [X]emacs customization file:
echo *
echo * (add-to-list 'load-path "/Path/to/gnus/lisp")
echo * (if (featurep 'xemacs)
echo *     (add-to-list 'Info-directory-list "c:/Path/to/gnus/texi/")
echo *   (add-to-list 'Info-default-directory-list "c:/Path/to/gnus/texi/")
echo * (require 'gnus-load)
echo *
echo * Replace c:/Path/to/gnus with the Path where your new Gnus is (that's here
echo * and yes, you've got to use forward slashes).
echo ***************************************************************************
echo.

:warnings
if not "%subdirwarning%" == "yes" goto warngnusload
echo.
echo ***************************************************************************
echo * There's no subdirs.el file in your site-lisp directory, you should
echo * therefor add the following line to the TOP of your Emacs
echo * customization file:
echo *
echo * (add-to-list 'load-path "/Path/to/emacs-site-lisp-directory/gnus/lisp")
echo * (require 'gnus-load)
echo * Yes, it must be forward slashes.
echo ***************************************************************************
echo.
goto done
:warngnusload
echo.
echo ***************************************************************************
echo * You should add the following line to the TOP of your Emacs
echo * customization file:
echo *
echo * (require 'gnus-load)
echo ***************************************************************************
echo.
:done
cd ..
goto end

:noemacs
echo.
echo ***************************************************************************
echo * Unable to find emacs.exe or xemacs.exe on the path you specified!
echo * STOP!
echo ***************************************************************************
echo.
goto usage

:usage
echo.
echo ***************************************************************************
echo * Usage: make.bat :[X]Emacs-exe-dir: [/copy]
echo *
echo * where: :[X]Emacs-exe-dir: is the directory your 
echo *           emacs.exe respectively xemacs.exe resides in, 
echo *           e.g. G:\Programme\XEmacs\XEmacs-21.4.11\i586-pc-win32\
echo *           or G:\Emacs\bin
echo *        /copy indicates that the compiled files should be copied to your
echo *           emacs lisp, info, and etc site directories.
echo *
echo * Note: If you have Emacs/w3 you should set the environment variable 
echo *       W3DIR to the directory where w3 is installed eg.
echo *                set W3DIR=d:\lisp\w3-4.0pre46\lisp
echo ***************************************************************************
echo.

:end
rem Restore environment variables
set PWD=%GNUS_PWD_SAVE%
set GNUS_PWD_SAVE=
set EMACSBATCH=
set GNUS_LISP_DIR=
set GNUS_INFO_DIR=
set GNUS_ETC_DIR=
set subdirwarning=

[-- Attachment #3: Type: text/plain, Size: 158 bytes --]



-- 
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them
In the Land of Mordor where the Shadows lie.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Final version of newmake.bat
  2003-03-18 23:43 Final version of newmake.bat Frank Schmitt
@ 2003-03-19  6:43 ` Kevin Greiner
  2003-03-19  7:16   ` Frank Schmitt
  0 siblings, 1 reply; 10+ messages in thread
From: Kevin Greiner @ 2003-03-19  6:43 UTC (permalink / raw)


Frank Schmitt <usereplyto@Frank-Schmitt.net> writes:

> Hello
>
> I once more reworked newmake.bat, which will soon (at least I hope so)
> replace make.bat and make.x.bat.
>
> I now use xcopy instead of copy since it's faster and has the option to
> work quite, Gnus is now installed in site-lisp respectively
> site-packages instead of overwriting the Gnus distributed with [X]Emacs
> and there's more and better readable info for the user.
>
> I tested it with Emacs 21.3 and XEmacs 21.4.11 under Windows XP, if
> anything doesn't work for you drop me a note, otherwise I'll ask
> someone with CVS access to put it in CVS.

Frank, 
I finally tried newmake and found that it worked quite well.  The only
nit is that every execution appears to exit abnormally.  The only
error message that I can see is shown below.


1 File(s) copied
9 File(s) copied
18 File(s) copied
1 File(s) copied
File not found - message-?
0 File(s) copied
1 File(s) copied
1 File(s) copied
1 File(s) copied


Thanks,
Kevin



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Final version of newmake.bat
  2003-03-19  6:43 ` Kevin Greiner
@ 2003-03-19  7:16   ` Frank Schmitt
  2003-03-19 15:05     ` Kevin Greiner
  0 siblings, 1 reply; 10+ messages in thread
From: Frank Schmitt @ 2003-03-19  7:16 UTC (permalink / raw)


Kevin Greiner <kgreiner@xpediantsolutions.com> writes:

> Frank, 
> I finally tried newmake and found that it worked quite well.  The only
> nit is that every execution appears to exit abnormally.  The only
> error message that I can see is shown below.
>
>
> 1 File(s) copied
> 9 File(s) copied
> 18 File(s) copied
> 1 File(s) copied
> File not found - message-?
> 0 File(s) copied
> 1 File(s) copied
> 1 File(s) copied
> 1 File(s) copied

What exactly do you mean with exits abnormally?
The error message above means that newmake.bat couldn't find the files
message-1 and message-2 in the texi directory so it seems that
generation of info files failed.

Could you tell me if newmake tells you "using makeinfo" or "using
infohack.el"? Are there any errors after the "using foo" message? Which
version of Emacs respectively XEmacs did you use? Which operating
system?

Thanks, Frank

-- 
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them
In the Land of Mordor where the Shadows lie.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Final version of newmake.bat
  2003-03-19  7:16   ` Frank Schmitt
@ 2003-03-19 15:05     ` Kevin Greiner
  2003-03-19 22:36       ` Frank Schmitt
  0 siblings, 1 reply; 10+ messages in thread
From: Kevin Greiner @ 2003-03-19 15:05 UTC (permalink / raw)


Frank Schmitt <usereplyto@Frank-Schmitt.net> writes:

> Kevin Greiner <kgreiner@xpediantsolutions.com> writes:
>
>> Frank, 
>> I finally tried newmake and found that it worked quite well.  The only
>> nit is that every execution appears to exit abnormally.  The only
>> error message that I can see is shown below.
>>
>>
>> 1 File(s) copied
>> 9 File(s) copied
>> 18 File(s) copied
>> 1 File(s) copied
>> File not found - message-?
>> 0 File(s) copied
>> 1 File(s) copied
>> 1 File(s) copied
>> 1 File(s) copied
>
> What exactly do you mean with exits abnormally?

The compilation buffer ends with
"Compilation exited abnormally with code 1 at Wed Mar 19 08:51:57"


> The error message above means that newmake.bat couldn't find the files
> message-1 and message-2 in the texi directory so it seems that
> generation of info files failed.

It appears, to me at least, that message.texi generated only one file "message".

 Converting message.texi to Info format...
 Formatting: Message ... 
 Formatting: Interface ... 
 Formatting: New Mail Message ... 
 Formatting: New News Message ... 
 Formatting: Reply ... 
 Formatting: Wide Reply ... 
 Formatting: Followup ... 
 Formatting: Canceling News ... 
 Formatting: Superseding ... 
 Formatting: Forwarding ... 
 Formatting: Resending ... 
 Formatting: Bouncing ... 
 Formatting: Mailing Lists ... 
 Formatting: Composing a correct MFT header automagically ... 
 Formatting: Honoring an MFT post ... 
 Formatting: Commands ... 
 Formatting: Buffer Entry ... 
 Formatting: Header Commands ... 
 Formatting: Commands for moving to headers ... 
 Formatting: Commands to change headers ... 
 Formatting: Movement ... 
 Formatting: Insertion ... 
 Formatting: MIME ... 
 Formatting: Security ... 
 Formatting: Using S/MIME ... 
 Formatting: Using PGP/MIME ... 
 Formatting: Various Commands ... 
 Formatting: Sending ... 
 Formatting: Mail Aliases ... 
 Formatting: Spelling ... 
 Formatting: Variables ... 
 Formatting: Message Headers ... 
 Formatting: Mail Headers ... 
 Formatting: Mail Variables ... 
 Formatting: News Headers ... 
 Formatting: News Variables ... 
 Formatting: Insertion Variables ... 
 Formatting: Various Message Variables ... 
 Formatting: Sending Variables ... 
 Formatting: Message Buffers ... 
 Formatting: Message Actions ... 
 Formatting: Compatibility ... 
 Formatting: Appendices ... 
 Formatting: Responses ... 
 Formatting: Index ... 
 Formatting: Key Index ... 
 Tagifying message ...
 Tagifying message done
 Formatting Info file...done.
 Saving file c:/Documents and Settings/Kevin Greiner/My Documents/Develop/GNUS/texi/message...
 Wrote c:/Documents and Settings/Kevin Greiner/My Documents/Develop/GNUS/texi/message


> Could you tell me if newmake tells you "using makeinfo" or "using
> infohack.el"?

infohack

> Are there any errors after the "using foo" message?

Just the 'file not found' message.

> Which
> version of Emacs respectively XEmacs did you use? 

21.2.1

>Which operating
> system?

windows-xp

Kevin



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Final version of newmake.bat
  2003-03-19 15:05     ` Kevin Greiner
@ 2003-03-19 22:36       ` Frank Schmitt
  2003-03-20  0:25         ` Kevin Greiner
  0 siblings, 1 reply; 10+ messages in thread
From: Frank Schmitt @ 2003-03-19 22:36 UTC (permalink / raw)


Kevin Greiner <kgreiner@xpediantsolutions.com> writes:

> The compilation buffer ends with
> "Compilation exited abnormally with code 1 at Wed Mar 19 08:51:57"

No idea about this one, however this is an Emacs message and I don't
think we can blame newmake.bat for this. This one comes before the
processing of info files, does it?

>> The error message above means that newmake.bat couldn't find the files
>> message-1 and message-2 in the texi directory so it seems that
>> generation of info files failed.
>
> It appears, to me at least, that message.texi generated only one file "message".

Indeed, if infohack.el is used to create the info files, only message
is created, while makeinfo creates message, message-1 and message-2.

This is weird and looks like a bug to me, but again I don't think that
newmake.bat is responsible but either infohack.el or message.texi.

-- 
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them
In the Land of Mordor where the Shadows lie.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Final version of newmake.bat
  2003-03-19 22:36       ` Frank Schmitt
@ 2003-03-20  0:25         ` Kevin Greiner
  2003-03-20  9:00           ` Frank Schmitt
  2003-03-20 22:57           ` But this one really is final (was: Final version of newmake.bat) Frank Schmitt
  0 siblings, 2 replies; 10+ messages in thread
From: Kevin Greiner @ 2003-03-20  0:25 UTC (permalink / raw)


Frank Schmitt <usereplyto@Frank-Schmitt.net> writes:

> Kevin Greiner <kgreiner@xpediantsolutions.com> writes:
>
>> The compilation buffer ends with
>> "Compilation exited abnormally with code 1 at Wed Mar 19 08:51:57"
>
> No idea about this one, however this is an Emacs message and I don't
> think we can blame newmake.bat for this. This one comes before the
> processing of info files, does it?

No. This is the last line in the compilation buffer.  Emacs is
reporting the process status returned by the external process just
executed (i.e. newmake).  Emacs follows the Unix convention that a
zero status indicates normal completion while a non-zero status
indicates an error.


>>> The error message above means that newmake.bat couldn't find the files
>>> message-1 and message-2 in the texi directory so it seems that
>>> generation of info files failed.
>>
>> It appears, to me at least, that message.texi generated only one file "message".
>
> Indeed, if infohack.el is used to create the info files, only message
> is created, while makeinfo creates message, message-1 and message-2.
>
> This is weird and looks like a bug to me, but again I don't think that
> newmake.bat is responsible but either infohack.el or message.texi.

Bug is probably too harsh of a word.  Infohack simply didn't format the
message file exactly like makeinfo.

I commented out the xcopy ... message-? line without changing the exit
status.

Adding 'edit /B 0' to the end of newmake fixes the exitlevel.  The
compilation buffer now ends with
  "Compilation finished at Wed Mar 19 18:22:46".

However, I understand that that syntax wasn't added until Windows
2000.

Kevin



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Final version of newmake.bat
  2003-03-20  0:25         ` Kevin Greiner
@ 2003-03-20  9:00           ` Frank Schmitt
  2003-03-20 22:57           ` But this one really is final (was: Final version of newmake.bat) Frank Schmitt
  1 sibling, 0 replies; 10+ messages in thread
From: Frank Schmitt @ 2003-03-20  9:00 UTC (permalink / raw)


Kevin Greiner <kgreiner@xpediantsolutions.com> writes:

> Bug is probably too harsh of a word.  Infohack simply didn't format the
> message file exactly like makeinfo.
>
> I commented out the xcopy ... message-? line without changing the exit
> status.
>
> Adding 'edit /B 0' to the end of newmake fixes the exitlevel.  The
> compilation buffer now ends with
>   "Compilation finished at Wed Mar 19 18:22:46".

Ah, I didn't get that you start newmake.bat from within Emacs. OK, I'll
add 

If exist message-1 xcopy message-1
If exist message-1 xcopy message-1

and try to find out how to correctly handle exit status.

-- 
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them
In the Land of Mordor where the Shadows lie.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* But this one really is final (was: Final version of newmake.bat)
  2003-03-20  0:25         ` Kevin Greiner
  2003-03-20  9:00           ` Frank Schmitt
@ 2003-03-20 22:57           ` Frank Schmitt
  2003-03-21  5:59             ` But this one really is final Kevin Greiner
  1 sibling, 1 reply; 10+ messages in thread
From: Frank Schmitt @ 2003-03-20 22:57 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 1023 bytes --]

Kevin Greiner <kgreiner@xpediantsolutions.com> writes:

> Frank Schmitt <usereplyto@Frank-Schmitt.net> writes:
>
>> Kevin Greiner <kgreiner@xpediantsolutions.com> writes:
>>
>>> The compilation buffer ends with
>>> "Compilation exited abnormally with code 1 at Wed Mar 19 08:51:57"
>>
>> No idea about this one, however this is an Emacs message and I don't
>> think we can blame newmake.bat for this. This one comes before the
>> processing of info files, does it?
>
> No. This is the last line in the compilation buffer.  Emacs is
> reporting the process status returned by the external process just
> executed (i.e. newmake).  Emacs follows the Unix convention that a
> zero status indicates normal completion while a non-zero status
> indicates an error.

Inspired by your post, I added error handling to newmake.bat (it checks
for the returncodes of the programs it calls and if there are errors,
it reports where they occurred and sets ERRORLEVEL to one, if there are
no errors it sets ERRORLEVEL to 0. 

Here we go:


[-- Attachment #2: newmake.bat --]
[-- Type: application/octet-stream, Size: 9701 bytes --]

@echo off

rem Written by Frank Schmitt <ich@frank-schmitt.net>
rem based on the work by David Charlap (shamino@writeme.com)
rem .
rem Clear PWD so emacs doesn't get confused
set GNUS_PWD_SAVE=%PWD%
set PWD=
set ERROR=:

if "%1" == "" goto usage

rem Emacs 20.7 no longer includes emacs.bat. Use emacs.exe if the batch file is
rem not present -- this also fixes the problem about too many parameters on Win9x.
if exist %1\emacs.bat goto ebat
if exist %1\emacs.exe goto eexe
if exist %1\xemacs.exe goto xemacs
goto noemacs

:ebat
set EMACS=emacs.bat
echo.
echo ***************************************************************************
echo * Using emacs.bat (If you've got en Emacs >= 20.3 please remove Emacs.bat, 
echo * it isn't needed anymore.
echo ***************************************************************************
echo.
goto emacs

:eexe
set EMACS=emacs.exe
echo.
echo ***************************************************************************
echo * Using emacs.exe
echo ***************************************************************************
echo.
goto emacs

:emacs
if not "%2" == "/copy" goto emacsnocopy
if not exist %1\..\site-lisp mkdir %1\..\site-lisp
if not exist %1\..\site-lisp\gnus mkdir %1\..\site-lisp\gnus
if not exist %1\..\site-lisp\subdirs.el set subdirwarning=yes
:emacsnocopy
set GNUS_INFO_DIR=%1\..\info
set GNUS_LISP_DIR=%1\..\site-lisp\gnus\lisp
set GNUS_ETC_DIR=%1\..\site-lisp\gnus\etc
goto lisp
      
:xemacs      
set EMACS=xemacs.exe
if not "%2" == "/copy" goto xemacsnocopy
if not exist %1\..\..\site-packages\ mkdir %1\..\..\site-packages\
if not exist %1\..\..\site-packages\info mkdir %1\..\..\site-packages\info
if not exist %1\..\..\site-packages\lisp mkdir %1\..\..\site-packages\lisp
if not exist %1\..\..\site-packages\etc mkdir %1\..\..\site-packages\etc
:xemacsnocopy
set GNUS_INFO_DIR=%1\..\..\site-packages\info
set GNUS_LISP_DIR=%1\..\..\site-packages\lisp\gnus
set GNUS_ETC_DIR=%1\..\..\site-packages\etc
echo.
echo ***************************************************************************
echo * Using xemacs.exe
echo ***************************************************************************
echo.
goto lisp

:lisp
set EMACSBATCH=call %1\%EMACS% -no-site-file -batch -q
cd lisp
if exist gnus-load.el del gnus-load.el
echo.
echo Stand by while generating autoloads.
echo.
%EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-cus-load .
if ErrorLevel 1 set ERROR=make-cus-load
%EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-auto-load .
if ErrorLevel 1 set ERROR=%ERROR%,make-auto-load
%EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-load
if ErrorLevel 1 set ERROR=%ERROR%,make-load
echo.
echo Stand by while compiling lisp files.
echo.
%EMACSBATCH% -l ./dgnushack.el -f dgnushack-compile
if ErrorLevel 1 set ERROR=%ERROR%,compile

if not "%2" == "/copy" goto infotest
echo.
echo Stand by while copying lisp files.
echo.
if not exist %GNUS_LISP_DIR% mkdir %GNUS_LISP_DIR%
xcopy /R /Q /Y *.el* %GNUS_LISP_DIR%
if ErrorLevel 1 set ERROR=%ERROR%,copy-lisp
goto infotest

:infotest
cd ..\texi
if exist sieve del sieve
makeinfo sieve.texi
if exist sieve goto minfo 
REM It seems that makeinfo isn't available
set EMACSINFO=%EMACSBATCH% -l infohack.el -f batch-makeinfo
echo.
echo ***************************************************************************
echo * Using infohack.el, if you've got makeinfo.exe put it in PATH.
echo ***************************************************************************
echo.
goto info

:minfo
set EMACSINFO=makeinfo  
echo.
echo ***************************************************************************
echo * Using makeinfo
echo ***************************************************************************
echo.
goto info

:info
echo.
echo Stand by while generating info files.
echo.
%EMACSINFO% emacs-mime.texi
if ErrorLevel 1 set ERROR=%ERROR%,emacs-mime.texi
%EMACSINFO% gnus.texi
if ErrorLevel 1 set ERROR=%ERROR%,gnus.texi
%EMACSINFO% sieve.texi
if ErrorLevel 1 set ERROR=%ERROR%,sieve.texi
%EMACSINFO% pgg.texi
if ErrorLevel 1 set ERROR=%ERROR%,pgg.texi
%EMACSINFO% message.texi
if ErrorLevel 1 set ERROR=%ERROR%,message.texi

if not "%2" == "/copy" goto nocopy
if not exist %GNUS_INFO_DIR% mkdir %GNUS_INFO_DIR%

echo.
echo Stand by while copying info files.
echo.
xcopy /R /Q /Y gnus       %GNUS_INFO_DIR%
if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-info
xcopy /R /Q /Y gnus-?     %GNUS_INFO_DIR%
if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-x-info
xcopy /R /Q /Y gnus-??    %GNUS_INFO_DIR%
if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-xx-info
xcopy /R /Q /Y message    %GNUS_INFO_DIR%
if ErrorLevel 1 set ERROR=%ERROR%,copy-message-info
if exist message-1 xcopy /R /Q /Y message-?  %GNUS_INFO_DIR%
if ErrorLevel 1 set ERROR=%ERROR%,copy-message-x-info
xcopy /R /Q /Y emacs-mime %GNUS_INFO_DIR%
if ErrorLevel 1 set ERROR=%ERROR%,copy-emacs-mime-info
xcopy /R /Q /Y sieve      %GNUS_INFO_DIR%
if ErrorLevel 1 set ERROR=%ERROR%,copy-sieve-info
xcopy /R /Q /Y pgg        %GNUS_INFO_DIR%
if ErrorLevel 1 set ERROR=%ERROR%,copy-pgg-info

echo.
echo ***************************************************************************
echo * You should add the following lines to 
echo * %GNUS_INFO_DIR%\dir 
echo * if they aren't already there:
echo *
echo * * PGG: (pgg).	Emacs interface to various PGP implementations.
echo * * Sieve: (sieve).	Managing Sieve scripts in Emacs.
echo ***************************************************************************
echo.

:etc
cd ..\etc
echo.
echo Stand by while copying etc files.
echo.
if not exist %GNUS_ETC_DIR% mkdir %GNUS_ETC_DIR%
xcopy /R /Q /Y gnus-tut.txt %GNUS_ETC_DIR%
if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-gnus-tut-txt
if not exist %GNUS_ETC_DIR%\gnus mkdir %GNUS_ETC_DIR%\gnus
xcopy /R /Q /Y .\gnus\* %GNUS_ETC_DIR%\gnus\
if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-gnus-*
if not exist %GNUS_ETC_DIR%\smilies mkdir %GNUS_ETC_DIR%\smilies
xcopy /R /Q /Y .\smilies\* %GNUS_ETC_DIR%\smilies\
if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-smilies-*
goto warnings

:nocopy
echo.
echo ***************************************************************************
echo * You chose not to copy the files, therefore you should add the 
echo * following lines to the TOP of your [X]emacs customization file:
echo *
echo * (add-to-list 'load-path "/Path/to/gnus/lisp")
echo * (if (featurep 'xemacs)
echo *     (add-to-list 'Info-directory-list "c:/Path/to/gnus/texi/")
echo *   (add-to-list 'Info-default-directory-list "c:/Path/to/gnus/texi/")
echo * (require 'gnus-load)
echo *
echo * Replace c:/Path/to/gnus with the Path where your new Gnus is (that's here
echo * and yes, you've got to use forward slashes).
echo ***************************************************************************
echo.

:warnings
if not "%subdirwarning%" == "yes" goto warngnusload
echo.
echo ***************************************************************************
echo * There's no subdirs.el file in your site-lisp directory, you should
echo * therefor add the following line to the TOP of your Emacs
echo * customization file:
echo *
echo * (add-to-list 'load-path "/Path/to/emacs-site-lisp-directory/gnus/lisp")
echo * (require 'gnus-load)
echo * Yes, it must be forward slashes.
echo ***************************************************************************
echo.
goto warnerrors

:warngnusload
echo.
echo ***************************************************************************
echo * You should add the following line to the TOP of your Emacs
echo * customization file:
echo *
echo * (require 'gnus-load)
echo ***************************************************************************
echo.

:warnerrors
if "%ERROR%"==":" goto noerrors
set errorlevel=1
echo.
echo ***************************************************************************
echo * WARNING ERRORS OCCURRED!
echo * You should look for error messages in the output of the called programs
echo * and try to find out what exactly went wrong.
echo * Errors occured in the following modules:
echo * %ERROR%
echo ***************************************************************************
echo.
goto done

:noerrors
set errorlevel=0

:done
cd ..
goto end

:noemacs
echo.
echo ***************************************************************************
echo * Unable to find emacs.exe or xemacs.exe on the path you specified!
echo * STOP!
echo ***************************************************************************
echo.
goto usage

:usage
echo.
echo ***************************************************************************
echo * Usage: make.bat :[X]Emacs-exe-dir: [/copy]
echo *
echo * where: :[X]Emacs-exe-dir: is the directory your 
echo *           emacs.exe respectively xemacs.exe resides in, 
echo *           e.g. G:\Programme\XEmacs\XEmacs-21.4.11\i586-pc-win32\
echo *           or G:\Emacs\bin
echo *        /copy indicates that the compiled files should be copied to your
echo *           emacs lisp, info, and etc site directories.
echo *
echo * Note: If you have Emacs/w3 you should set the environment variable 
echo *       W3DIR to the directory where w3 is installed eg.
echo *                set W3DIR=d:\lisp\w3-4.0pre46\lisp
echo ***************************************************************************
echo.

:end
rem Restore environment variables
set PWD=%GNUS_PWD_SAVE%
set GNUS_PWD_SAVE=
set EMACSBATCH=
set GNUS_LISP_DIR=
set GNUS_INFO_DIR=
set GNUS_ETC_DIR=
set subdirwarning=
set ERROR=

[-- Attachment #3: Type: text/plain, Size: 158 bytes --]



-- 
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them
In the Land of Mordor where the Shadows lie.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: But this one really is final
  2003-03-20 22:57           ` But this one really is final (was: Final version of newmake.bat) Frank Schmitt
@ 2003-03-21  5:59             ` Kevin Greiner
  2003-03-21  7:50               ` Frank Schmitt
  0 siblings, 1 reply; 10+ messages in thread
From: Kevin Greiner @ 2003-03-21  5:59 UTC (permalink / raw)


Frank Schmitt <usereplyto@Frank-Schmitt.net> writes:

> Kevin Greiner <kgreiner@xpediantsolutions.com> writes:
>
>> Frank Schmitt <usereplyto@Frank-Schmitt.net> writes:
>>
>>> Kevin Greiner <kgreiner@xpediantsolutions.com> writes:
>>>
>>>> The compilation buffer ends with
>>>> "Compilation exited abnormally with code 1 at Wed Mar 19 08:51:57"
>>>
>>> No idea about this one, however this is an Emacs message and I don't
>>> think we can blame newmake.bat for this. This one comes before the
>>> processing of info files, does it?
>>
>> No. This is the last line in the compilation buffer.  Emacs is
>> reporting the process status returned by the external process just
>> executed (i.e. newmake).  Emacs follows the Unix convention that a
>> zero status indicates normal completion while a non-zero status
>> indicates an error.
>
> Inspired by your post, I added error handling to newmake.bat (it checks
> for the returncodes of the programs it calls and if there are errors,
> it reports where they occurred and sets ERRORLEVEL to one, if there are
> no errors it sets ERRORLEVEL to 0. 
>
> Here we go:

perfection.

Thanks,
Kevin



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: But this one really is final
  2003-03-21  5:59             ` But this one really is final Kevin Greiner
@ 2003-03-21  7:50               ` Frank Schmitt
  0 siblings, 0 replies; 10+ messages in thread
From: Frank Schmitt @ 2003-03-21  7:50 UTC (permalink / raw)


Kevin Greiner <kgreiner@xpediantsolutions.com> writes:

> Frank Schmitt <usereplyto@Frank-Schmitt.net> writes:
>
>> Inspired by your post, I added error handling to newmake.bat (it checks
>> for the returncodes of the programs it calls and if there are errors,
>> it reports where they occurred and sets ERRORLEVEL to one, if there are
>> no errors it sets ERRORLEVEL to 0. 
>
> perfection.

I wait with the blush until the first bug-reports hit ground. :-)

-- 
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them
In the Land of Mordor where the Shadows lie.



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2003-03-21  7:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-18 23:43 Final version of newmake.bat Frank Schmitt
2003-03-19  6:43 ` Kevin Greiner
2003-03-19  7:16   ` Frank Schmitt
2003-03-19 15:05     ` Kevin Greiner
2003-03-19 22:36       ` Frank Schmitt
2003-03-20  0:25         ` Kevin Greiner
2003-03-20  9:00           ` Frank Schmitt
2003-03-20 22:57           ` But this one really is final (was: Final version of newmake.bat) Frank Schmitt
2003-03-21  5:59             ` But this one really is final Kevin Greiner
2003-03-21  7:50               ` Frank Schmitt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).