summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/base/latexbug.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/base/latexbug.tex')
-rw-r--r--Master/texmf-dist/tex/latex/base/latexbug.tex831
1 files changed, 831 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/base/latexbug.tex b/Master/texmf-dist/tex/latex/base/latexbug.tex
new file mode 100644
index 00000000000..b43ebf25407
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/base/latexbug.tex
@@ -0,0 +1,831 @@
+% \iffalse meta-comment
+%
+% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+%%% ====================================================================
+%%% @LaTeX-file{
+%%% author = "David Carlisle",
+%%% version = "$Revision: 15.3 $",
+%%% date = "$Date: 2004/01/28 22:20:12 $",
+%%% filename = "latexbug.tex",
+%%% email = "latex-bugs@latex-project.org",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "LaTeX, bugs, reporting",
+%%% supported = "yes",
+%%% docstring = "
+%%%
+%%% LaTeX bug report generator.
+%%% %%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%
+%%% Processing this file with LaTeX should produce
+%%% a file latexbug.msg in the current directory.
+%%%
+%%% latexbug.msg may be used as a template for submitting bug
+%%% reports concerning files in the standard LaTeX distribution.
+%%%
+%%% * Any bug report should include a small LaTeX test file
+%%% that shows the bug, and the log that LaTeX produces on the
+%%% test file.
+%%%
+%%% * Reports should be in English.
+%%%
+%%% * Reports should be as short as possible.
+%%%
+%%% Please check before submitting a bug report that your format
+%%% is not more than two years old. New LaTeX releases occur at
+%%% regular intervals, and so your bug may be fixed in a later
+%%% release.
+%%%
+%%% Completed bug report forms should be submitted to:
+%%% latex-bugs@latex-project.org
+%%%
+%%% Please:
+%%% use the synopsis text as the `Subject' line of the message.
+%%% ===========================================================
+%%%
+%%% For example:
+%%% Subject: \verb does not work inside \caption
+%%%
+%%% So that your message has an identifying subject.
+%%% Do not use subject lines such as `LaTeX bug' as this does not
+%%% help us to identify your message.
+%%%
+%%% To follow up an existing report, include the bug reference, e.g.
+%%% "latex/1234: ", preceding the subject text.
+%%%
+%%% Configuring latexbug
+%%% ====================
+%%% If you often test early release of LaTeX packages, and feel that
+%%% you may need to use this program often, you may create a file
+%%% latexbug.cfg
+%%% This should contain the answers of certain standard questions.
+%%% (Such as your name and email address.)
+%%%
+%%% Currently the responses that may be stored in latexbug.cfg are:
+%%% name address organisation and interactive.
+%%% (If organisation is not set in the .cfg file latexbug does not
+%%% prompt for it, as this is not vital information.)
+%%%
+%%% For example, a personal latexbug.cfg could look like
+%%%
+%%% \def\name{My Real Name}
+%%% \def\address{name@some.place}
+%%% \def\organisation{My Institution}
+%%% \def\interactive{y}
+%%%
+%%% A site latexbug.cfg might just set the \organisation, leaving
+%%% the personal details to be filled in interactively by the user.
+%%%
+%%% }
+%%% ====================================================================
+
+% Test if we are using INITEX (or a strange format that does not
+% have { as a `group open' character).
+\ifcat{=
+
+\catcode`\{=1 \let\bgroup{
+\catcode`\}=2 \let\egroup}
+\catcode`\#=6
+\catcode`\^=7
+\catcode`\@=11
+
+\newlinechar`\^^J
+\def\m@ne{-1 }
+\countdef\count@255
+
+\def\fmtname{INITEX}
+\def\fmtversion{9999/00/00}
+\def\@secondoftwo#1#2{#2}
+\def\@empty{}
+\everyjob{\typeout{INITEX}}
+\def\space{ }
+\def\@spaces{\space\space\space\space}
+\let\@@end\end
+\let\loop\relax
+
+% hide outer macro names as we are inside an if
+\expandafter\let\csname repeat\expandafter\endcsname
+ \csname fi\endcsname
+
+\chardef\msg15
+\immediate\openout\msg=\jobname.msg
+
+\expandafter\edef\csname newif\endcsname#1#2{%
+ \let\noexpand\ifinteractive
+ \expandafter\noexpand\csname iffalse\endcsname}
+
+\expandafter\def\csname newcount\endcsname#1{}
+
+\def\dospecials{\catcode`\\=12 }
+
+\def\typeout{\immediate\write17}
+
+\def\two@digits#1{\ifnum#1<10 0\fi\number#1}
+
+\def\wmsg#1#{\bgroup\@wmsg}
+
+\def\@ifundefined#1#2#3%
+ {\expandafter\ifx\csname#1\endcsname\relax#2\else#3\fi}
+
+\def\@inputfiles{INITEX}
+\else
+%%
+%% @ is a letter
+%%
+\catcode`\@=11
+
+%%
+%% Grab the initex file list
+%%
+%% If this file is called via
+%% latex "\input{latexbug}" or some
+%% similar command sequence rather than
+%% latex latexbug
+%% then the debugging info in \reserved@a will already have been lost.
+%% This might not matter, but if it does we may ask the user to resubmit
+%% the report.
+\ifx\reserved@b\@undefined
+ \ifx\reserved@a\@gobble
+ \def\@inputfiles{NONE}
+ \else
+ \let\@inputfiles\reserved@a
+ \fi
+\else
+ \def\@inputfiles{LOST}
+\fi
+
+%%
+%% Output stream to produce the bug report template.
+%%
+\newwrite\msg
+\immediate\openout\msg=\jobname.msg
+
+
+%%
+%% Check that LaTeX2e is being used.
+%%
+\ifx\undefined\newcommand
+ \newlinechar`\^^J%
+ \immediate\write17{^^J%
+ You must use LaTeX2e to generate the bug report!^^J^^J%
+ If there is a bug in the installation procedure,^^J%
+ and you can not create LaTeX2e, you may use initex^^J%
+ to generate the report}%
+
+ \let\relax\end
+\else
+\def\@tempa{LaTeX2e}\ifx\@tempa\fmtname\else
+ \immediate\write17{^^J%
+ Older Versions of LaTeX are no longer supported.^^J%
+ You must use LaTeX2e to generate the bug report!^^J^^J%
+ If there is a bug in the installation procedure,^^J%
+ and you can not create LaTeX2e, you may use initex^^J%
+ to generate the report}%
+ \let\relax\@@end
+\fi\fi
+
+%%
+%% \wmsg writes to the terminal, and the .msg file
+%% \wmsg* just writes to the .msg file
+%% \typeout just writes to the terminal
+%%
+
+\def\wmsg{\bgroup\@ifstar{\interactivefalse\@wmsg}\@wmsg}
+
+\fi
+
+\relax
+\endlinechar=-1
+
+\def\@wmsg#1{%
+ \ifinteractive\immediate\write17{#1}\fi
+ \immediate\write\msg{#1}%
+ \egroup}
+
+%%
+%% if \interactivefalse just make a blank template.
+%%
+\newif\ifinteractive
+\interactivetrue
+
+%%
+%% Prompt for an answer from the user, if the answer is not
+%% provided by the cfg file.
+%%
+
+\def\readifnotknown#1{%
+ \@ifundefined{#1}%
+ {{\message{#1> }%
+ \catcode`\^^I=12 \let\do\@makeother\dospecials
+ \global\read\m@ne t\expandafter o\csname#1\endcsname}}%
+ {\message{\csname#1\endcsname}}}
+
+%%
+%% Pause so messages do not scroll off screen.
+%%
+\def\pause{%
+ \ifinteractive
+ \message{Press <return> key to continue. }%
+ \read\m@ne to \@tempa
+ \fi}
+
+%%
+%% Opening Banner.
+%%
+\typeout{^^J%
+============================================================^^J%
+^^J%
+LaTeX bug report generator^^J%
+==========================^^J%
+Processing this file with LaTeX will produce a template \jobname.msg^^J
+for submitting bug reports for the LaTeX distribution.^^J^^J
+* Please do not report bugs in contributed, non-standard, files to the
+ ^^J \space latex-bugs address.^^J
+* Please write your report in English.^^J
+* Please keep the report as short as possible.^^J%
+* If possible, check whether the bug has already been reported.^^J %
+ \space The bugs database is available on WWW:^^J \space
+ http://www.latex-project.org/bugs.html^^J}
+
+
+\ifinteractive
+ \InputIfFileExists{latexbug.cfg}{\typeout{** latexbug.cfg used **}}{}
+\fi
+
+%% \batch is a `private' macro used to get a batchmode
+%% (actually \nonstopmode) run for use with latexbug.el
+\ifx\batch\undefined
+
+\def\getcategory{%
+\count@=0
+\ifinteractive
+
+\typeout{%
+* Please carefully select the category as different categories^^J
+\space\space are supported by different people!^^J^^J%
+0) LaTeX:\@spaces
+ The `base' format, and standard classes only (base).^^J
+1) tools:\@spaces
+ Packages supported by the LaTeX3 project team (tools).^^J
+2) graphics:\space
+ The color and graphics packages (graphics).^^J
+3) mfnfss: \space\space
+ Packages for using some MetaFont fonts (mfnfss).^^J
+4) psnfss: \space\space
+ Packages for using PostScript fonts LaTeX (psnfss).^^J
+5) amslatex:\space
+ AMS supported Classes and Packages (amsfonts and amslatex).^^J
+6) babel:\@spaces
+ Packages supporting many different languages (babel).^^J%
+7) expl3:\@spaces
+ Experimental packages for TeX programmers. (expl3)^^J%
+8) cyrillic: Packages for using Cyrillic fonts (cyrillic).^^J}
+
+\message{Please select a category 0--8: }
+\read\m@ne to \answer
+\if!\answer!\let\answer\m@ne\fi
+\count@=\answer\relax
+\else
+\typeout{As you are using INITEX, I will assume category `latex'}
+\fi
+
+\ifcase\count@
+\def\category{latex}\or
+\def\category{tools}\or
+\def\category{graphics}\or
+\def\category{mfnfss}\or
+\def\category{psnfss}\or
+\def\category{amslatex}\or
+\def\category{babel}\or
+\def\category{expl3}\or
+\def\category{cyrillic}%
+\else
+\errhelp{Retry with <return>, or quit with x.}
+\def\badcategory{Only categories 0,...,8 are supported at this time}
+\errmessage{\badcategory}
+\expandafter\getcategory
+\fi}
+\getcategory
+
+
+\typeout{^^J%
+============================================================^^J%
+^^J%
+Please give a one line ( < 50 character ) description of the problem.%
+^^J^^J%
+If you are using email to report the problem,^^J%
+please also use this text as the `Subject' line for the mail message:%
+^^J \@spaces\@spaces\space
+ |<------------------------------------------------>|}
+
+
+\loop
+\let\synopsis\relax
+\readifnotknown{synopsis}
+\ifx\synopsis\@empty
+\repeat
+
+
+\typeout{%
+^^J%
+\ifinteractive
+This report generator may be used in one of two ways.^^J%
+If you choose the interactive option, you will be prompted to answer^^J%
+several questions. Otherwise a blank template will be created for^^J%
+you to fill in using your editor.^^J%
+\else
+INITEX should only be used for reporting bugs with the LaTeX2e^^J%
+installation procedure. If you have a working copy of LaTeX2e,^^J%
+please use that to generate the report.
+\fi}
+
+\ifinteractive
+\typeout{Interactive session (y/n) ? }
+\readifnotknown{interactive}
+
+\ifx\interactive\@empty
+ \def\interactive{n}
+\fi
+
+%%
+%% Allow anything begining with `y' or `Y' for yes.
+%%
+\edef\interactive{\uccode`\expandafter\@car\interactive\@nil}
+\ifnum \interactive=`Y \else\interactivefalse\fi
+\else
+\def\interactive{`\N}
+\fi
+
+\else
+\def\category{< CATEGORY >}
+\def\synopsis{< SYNOPSIS >}
+\batchmode
+\interactivefalse
+\def\interactive{`\N}
+\fi
+
+%%
+%% Header in the msg file.
+%%
+\wmsg*{^^J%
+ LaTeX2e bug report.^^J%
+\ifnum \interactive=`Y Generated \else Template generated \fi
+ by latexbug.tex on \number\year/\two@digits\month/\two@digits\day^^J%
+^^J%
+ Reports may be submitted by email to latex-bugs@latex-project.org^^J%
+ Please use the subject line:^^J%
+ Subject: \synopsis^^J%
+^^J%
+ To follow up an existing report, include the bug reference, e.g.^^J
+ "latex/1234: ", preceding the subject text.^^J
+ ============================================================^^J}
+
+
+
+%%
+%% Category of bug, obtained earlier but put out now, after the header.
+%%
+\wmsg{>Category: \category}
+
+%%
+%% synopsis of bug, obtained earlier but put out now, after the header.
+%%
+\wmsg{>Synopsis: \synopsis}
+
+
+%%
+%% >Confidential: Default to no unless this is overridden
+%% in latexbug.cfg. If you want to send a one-off confidential
+%% report, just edit the latexbug.msg file to say yes.
+%%
+\wmsg{>Confidential: \ifx\confidential\undefined
+ no
+ \else
+ \confidential
+ \fi}
+
+
+%% Try to catch various formats that babel has used to add to the banner
+%% over the years. Currently it uses \typeout, so put the first \typeout
+%% in \format and the second in \hyphenation. Earlier releases used
+%% \immedite\write
+\begingroup
+ \global\let\format\@empty
+ \gdef\hyphenation{standard}
+ \def\immediate#1#{\xdef\hyphenation}
+ \def\typeout#1{%
+ \xdef\format{\format#1}\def\typeout##1{\xdef\hyphenation{##1}}}
+ \the\everyjob
+\endgroup
+
+\wmsg{>Release: \format}
+
+\ifinteractive
+%%
+%% if interactive, \wread reads a line (verbatim) and writes it to the
+%% .msg file, until two consecutive blank lines are entered.
+%%
+ \def\wread{%
+ \begingroup
+ \catcode`\^^I=12
+ \let\do\@makeother\dospecials
+ \wreadloop}
+
+ \def\wreadloop{%
+ \let\lastanswer\answer
+ \message{=> }\read\m@ne to \answer
+ \ifx\lastanswer\@empty
+ \let\lastanswer\answer
+ \fi
+ \ifx\lastanswer\@empty
+ \endgroup
+ \else
+ \immediate\write\msg{\answer}%
+ \expandafter\wreadloop
+ \fi}
+\else
+%%
+%% If non-interactive, \wread just writes a blank line to the .msg file,
+%% and \wmsg does not write to the terminal.
+%%
+ \def\wread{\wmsg{}}
+\fi
+
+%%
+%% \copytomsg copies the contents of a file into the .msg file.
+%% (at least it does it as well as TeX can, so there may be
+%% transcription problems with 8-bit characters).
+%%
+%% It does a line count, and complains if the test file is
+%% too large.
+
+\chardef\inputfile=15
+
+\newcount\linecount
+
+\def\copytomsg#1{{%
+ \def\do##1{\catcode`##1=11}%
+ \dospecials
+ \global\linecount\z@
+ \openin\inputfile#1\relax
+ \def\thefile{#1}%
+ \@copytomsg
+ \closein\inputfile}}
+
+\def\@copytomsg{%
+ \ifeof\inputfile
+ \typeout{*** \thefile\space line count = \the\linecount}
+ \else
+ \global\advance\linecount\@ne
+ \read\inputfile to \inputline
+ \ifx\inputline\@empty
+ \wmsg*{}
+ \else
+ \wmsg*{\inputline}
+ \fi
+ \expandafter\@copytomsg
+ \fi}
+
+
+%%
+%% Test the age of the current format.
+%%
+\def\getage#1/#2/#3\@nil{%
+ \count@\year
+ \advance\count@-#1\relax
+ \multiply\count@ by 12\relax
+ \advance\count@\month
+ \advance\count@-#2\relax}
+%
+\expandafter\getage\fmtversion\@nil
+%%
+%% \count@ should now be the age of the format in months.
+%%
+%% Take a generous definition of `year'.
+\ifnum\count@>65
+\def\oldformat{^^J%
+ ! Your LaTeX installation is more than five years old.^^J%
+ ! Please consider updating LaTeX before submitting this report.^^J%
+ ! At least check a current LaTeX changes.txt file, to see if the^^J%
+ ! bug has been fixed in the current release.^^J%
+ !}
+%%
+%% Put the message in a macro to improve the look of the error mesage.
+%%
+
+\errhelp{If you still wish to complete the form, just type return.}
+\errmessage{\oldformat}
+\fi
+
+%%
+%% Test fonts not customised too much. (unless using initex)
+%%
+\ifx\loop\relax\else
+\edef\fontdefaults{%
+ \encodingdefault/\familydefault/\seriesdefault/\shapedefault}
+\def\standardfontdefaults{OT1/cmr/m/n}
+\ifx\fontdefaults\standardfontdefaults\else
+\wmsg*{>Unformatted:}
+\wmsg{Normal font: \fontdefaults}
+\def\customisedfonts{^^J%
+! This format has customised font defaults.^^J%
+! Please try to re-create the error using a standard format^^J%
+! before submitting this report}
+\errhelp{If you still wish to complete the form, just type return.}
+\errmessage{\customisedfonts}
+\fi
+\fi
+
+%%
+%% Now use \wmsg and \wread for each of the multi-line fields
+%% in the form.
+%% One line fields use \readifnotknown, which will only prompt
+%% if the field has not already been set in the configuration file.
+%%
+\ifinteractive
+ \typeout{^^JYour name:}
+ \readifnotknown{name}
+\else
+ \ifx\name\undefined
+ \def\name{ < ENTER YOUR NAME > }
+ \fi
+\fi
+
+
+\ifinteractive
+ \typeout{^^JYour Address (preferably email):}
+ \readifnotknown{address}
+\else
+ \ifx\address\undefined
+ \def\address{ < ENTER YOUR EMAIL ADDRESS > }
+ \fi
+\fi
+
+\wmsg*{>Originator: \address \space(\name)}
+
+%%
+%% >Organisation: is really a GNATS multiline field
+%% but we treat it as a one-line field.
+%%
+\wmsg*{>Organization: \ifx\organisation\undefined
+ \ifx\organization\undefined\else
+ \organization
+ \fi
+ \else
+ \organisation
+ \fi}
+
+
+%%
+%% Test which format is being used. These fields are completed
+%% automatically even if the blank template is being produced.
+%%
+
+\wmsg*{>Environment:}
+\wmsg*{ Hyphenation: \hyphenation}
+\wmsg*{ \string\@TeXversion: \meaning\@TeXversion
+ \ifx\@TeXversion\@@undefined
+ \space (Standard setting for TeX3.141 and later)\fi}
+\wmsg*{ \string\@currdir: \meaning\@currdir}
+\wmsg*{ \string\input@path: \meaning\input@path
+ \ifx\input@path\@@undefined
+ \space (Standard setting)\fi}
+
+\wmsg*{>Unformatted:}
+\wmsg*{ *** Initex configuration files}
+%%
+%% These are in a comma separated list, so locally reset
+%% \newlinechar
+{\newlinechar`\,
+ \wmsg*{\@inputfiles}}
+\wmsg*{ ***}
+
+\wmsg*{>Description:}
+\typeout{}
+\wmsg{Description of bug:}
+\ifinteractive
+ \typeout{%
+ \@spaces The answer to this question may take several lines.^^J%
+ \@spaces (Each such line will be prompted by =>.)^^J%
+ \@spaces Typing TWO consecutive blank lines terminates the answer.}
+\else
+\wmsg{ < ENTER BUG REPORT HERE >}
+\fi
+\wread
+
+
+
+%%
+%% insertion of the test file
+%%
+
+
+
+\ifinteractive
+ \typeout{^^J%
+ Name of a SHORT, SELF-CONTAINED file which indicates the problem:^^J%
+ This file should be as small as possible (preferably < 60 lines)^^J%
+ Any non-standard files that the test file uses should be included^^J%
+ using the filecontents environment.^^J^^J%
+%
+ LaTeX will try to input this file, so give the full path^^J%
+ if the file is not in the current directory.^^J^^J%
+%
+ If you are not reporting a bug, and there is therefore^^J%
+ no test file, just hit <return>}
+ \message{filename> }\read\m@ne to \filename
+\else
+ \def\filename{}
+\fi
+
+%%
+%% Try to find the .tex file and .log file
+%%
+
+
+\ifx\filename\@empty
+ \ifx\LaTeX\undefinedcommand
+ \else
+ \ifinteractive
+ \typeout{^^J^^JNo test file.^^J^^J%
+ Three classes of report are supported:^^J^^J%
+ 0) sw-bug:^^J\@spaces
+ Bug in the software, the report should include a test file.^^J
+ 1) doc-bug:^^J\@spaces
+ Inaccuracies in the documentation.^^J
+ 2) change-request:^^J\@spaces
+ Not a bug, but rather a request for LaTeX to be changed.^^J}
+ \message{Please select a category 0--2: }
+ \read\m@ne to \answer
+ \ifx\answer\@empty
+ \def\answer{-1}
+ \fi
+ \count@=\answer\relax
+ \else
+ \count@=\z@
+ \fi
+ \ifcase\count@
+ \ifinteractive\wmsg{>Class: sw-bug}\fi
+ \typeout{^^J! Please edit the message to add a test file and log!}
+ \pause
+ \wmsg*{^^J>How-To-Repeat:}
+ \wmsg*{%
+ Sample file which indicates the problem:^^J%
+ ========================================^^J%
+ \space< TEST FILE HERE >^^J%
+ ^^J%
+ The log file from running LaTeX on the sample:^^J%
+ ==============================================^^J%
+ \space< LOG FROM TEST FILE HERE >}
+ \or
+ \wmsg{>Class: doc-bug}
+ \or
+ \wmsg{>Class: change-request}
+ \else
+ \errhelp{Quit with `x' and then re-start latexbug}
+ \def\badcategory{Only classes 0,1,2 are supported at this time}
+ \errmessage{\badcategory}
+ \fi
+ \fi
+\else
+
+\filename@parse\filename
+
+\IfFileExists{\filename}{\edef\samplefile{\filename}}{}
+
+\IfFileExists{\filename@area\filename@base.log}
+ {\edef\logfile{\filename@area\filename@base.log}}
+ {\IfFileExists{\filename@area\filename@base.lis}
+ {\edef\logfile{\filename@area\filename@base.lis}}
+ {}}
+
+
+%%
+%% The example file goes here:
+%%
+\wmsg*{^^J>How-To-Repeat:}
+
+\wmsg*{^^J%
+Sample file which indicates the problem:^^J%
+========================================}
+
+\ifx\samplefile\undefinedcommand
+ \typeout{^^J%
+ Sample file \filename\space not found.^^J%
+ Please edit \jobname.msg to include the sample file.}
+ \wmsg*{ < TEST FILE HERE >}
+ \pause
+\else
+ \copytomsg{\samplefile}
+ \ifnum\linecount>60
+ \typeout{%
+^^J%
+!!! Your test file is \the\linecount\space lines long.^^J%
+!!! Such a large test file causes us problems:^^J%
+!!! * It makes it difficult to track down the error^^J%
+!!! * It makes our database for storing reports unnecessarily large.^^J%
+!!! ^^J%
+!!! Please, if at all possible, cut down your test file to the^^J%
+!!! smallest file that shows the behaviour.^^J}
+ \pause
+ \fi
+\fi
+
+
+%%
+%% The log file goes here:
+%%
+\wmsg*{^^J%
+The log file from running LaTeX on the sample:^^J%
+==============================================}
+
+\ifx\logfile\undefinedcommand
+ \typeout{^^J%
+ Log file \filename@area\filename@base.log not found.^^J%
+ Please edit \jobname.msg to include the log file.}
+ \wmsg*{ < < LOG FROM TEST FILE HERE >}
+ \pause
+\else
+ \copytomsg{\logfile}
+\fi
+
+\fi
+
+
+%%
+%% Closing Banner.
+%%
+\typeout{^^J%
+============================================================}
+
+\ifinteractive
+ \typeout{^^J%
+ You may wish to make further changes to the bug report file:^^J%
+ `\jobname.msg'^^J%
+ using your editor.}
+\else
+ \typeout{^^J%
+ A template for submitting bug reports has been left in the file:^^J%
+ \jobname.msg^^J%
+ Please use your editor to complete the file before submitting^^J%
+ your report.}
+\fi
+
+\let\ifinteractivetrue\iftrue
+\typeout{^^J%
+ If you have access to email, please send `\jobname.msg' to:^^J%
+ latex-bugs@latex-project.org Please use the subject line:^^J%
+ \@spaces Subject: \synopsis^^J%
+^^J%
+ (This subject will be used in all subsequent correspondence.)^^J%
+^^J%
+ To follow up an existing report, include the bug reference, e.g.^^J%
+ "latex/1234: ", preceding the subject text.^^J%
+^^J%
+ Your message will be entered into a publicly readable database^^J%
+ Accessable via the www (see bugs.txt for details).^^J%
+ If do not wish this message made public, Edit the^^J%
+ >Confidential: no^^J%
+ field to yes before submitting this message.^^J%
+^^J%
+ Thank you for taking the time to submit a bug report.}
+
+\wmsg*{^^J%
+============================================================^^J
+^^J%
+ End of LaTeX2e bug report.^^J%
+============================================================}
+
+%%
+%% Close the .msg output stream.
+%%
+\immediate\closeout\msg
+
+%%
+%% This is the TeX primitive \end command.
+%%
+\@@end