home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / texmf / inputs / latex / unpacked / latexbug.tex < prev    next >
Encoding:
Text File  |  1995-06-21  |  19.9 KB  |  760 lines

  1. % \iffalse meta-comment
  2. %
  3. % Copyright 1993-1995 the LaTeX3 project and any individual authors
  4. % listed elsewhere in this file.  All rights reserved.
  5. % For further copyright information see the file legal.txt, and any
  6. % other copyright notices in this file.
  7. % This file is part of the LaTeX2e system.
  8. % ----------------------------------------
  9. %   This system is distributed in the hope that it will be useful,
  10. %   but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. %   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  12. %   For error reports concerning UNCHANGED versions of this file no more
  13. %   than one year old, see bugs.txt.
  14. %   Please do not request updates from us directly.  Primary
  15. %   distribution is through the CTAN archives.
  16. % IMPORTANT COPYRIGHT NOTICE:
  17. % You are NOT ALLOWED to distribute this file alone.
  18. % You are allowed to distribute this file under the condition that it is
  19. % distributed together with all the files listed in manifest.txt.
  20. % If you receive only some of these files from someone, complain!
  21. % Permission is granted to copy this file to another file with a clearly
  22. % different name and to customize the declarations in that copy to serve
  23. % the needs of your installation, provided that you comply with
  24. % the conditions in the file legal.txt.
  25. % However, NO PERMISSION is granted to produce or to distribute a
  26. % modified version of this file under its original name.
  27. %  
  28. % You are NOT ALLOWED to change this file.
  29. % \fi
  30. %%% ====================================================================
  31. %%%  @LaTeX-file{
  32. %%%     author          = "David Carlisle",
  33. %%%     version         = "1.19",
  34. %%%     date            = "08 March 1995",
  35. %%%     filename        = "latexbug.tex",
  36. %%%     email           = "latex-bugs@uni-mainz.de",
  37. %%%     codetable       = "ISO/ASCII",
  38. %%%     keywords        = "LaTeX, bugs, reporting",
  39. %%%     supported       = "yes",
  40. %%%     docstring       = "
  41. %%%
  42. %%%     LaTeX bug report generator.
  43. %%%     %%%%%%%%%%%%%%%%%%%%%%%%%%
  44. %%%
  45. %%%     Processing this file with LaTeX should produce
  46. %%%     a file latexbug.msg in the current directory.
  47. %%%
  48. %%%     latexbug.msg may be used as a template for submitting bug
  49. %%%     reports concerning files in the standard LaTeX distribution.
  50. %%%
  51. %%%     * Any bug report should include a small LaTeX test file
  52. %%%       that shows the bug, and the log that LaTeX produces on the
  53. %%%       test file.
  54. %%%
  55. %%%     * Reports should be in English.
  56. %%%
  57. %%%     * Reports should be as short as possible.
  58. %%%
  59. %%%     Please check before submitting a bug report that your format
  60. %%%     is not more than one year old. New LaTeX releases occur at
  61. %%%     6 monthly intervals, and so your bug may be fixed in a later
  62. %%%     release.
  63. %%%
  64. %%%     Completed bug report forms should be submitted to:
  65. %%%     latex-bugs@uni-mainz.de
  66. %%%
  67. %%%     Please:
  68. %%%     use the synopsis text as the `Subject' line of the message.
  69. %%%     ===========================================================
  70. %%%
  71. %%%     For example:
  72. %%%     Subject: \verb does not work inside \caption
  73. %%%
  74. %%%     So that your message has an identifying subject. 
  75. %%%     Do not use subject lines such as `LaTeX bug' as this does not
  76. %%%     help us to identify your message.
  77. %%%
  78. %%%
  79. %%%     Configuring latexbug
  80. %%%     ====================
  81. %%%     If you often test early release of LaTeX packages, and feel that
  82. %%%     you may need to use this program often, you may create a file
  83. %%%     latexbug.cfg
  84. %%%     This should contain the answers of certain standard questions.
  85. %%%     (Such as your name and email address.)
  86. %%%
  87. %%%     Currently the responses that may be stored in latexbug.cfg are:
  88. %%%     name address organisation and interactive.
  89. %%%     (If organisation is not set in the .cfg file latexbug does not
  90. %%%     prompt for it, as this is not vital information.)
  91. %%%
  92. %%%     For example, my personal latexbug.cfg looks like
  93. %%%     
  94. %%%     \def\name{David Carlisle}
  95. %%%     \def\address{carlisle@cs.man.ac.uk}
  96. %%%     \def\organisation{Manchester University}
  97. %%%     \def\interactive{y}
  98. %%%     
  99. %%%     A site latexbug.cfg might just set the \organisation, leaving
  100. %%%     the personal details to be filled in interactively by the user.
  101. %%%     
  102. %%%  }
  103. %%% ====================================================================
  104.  
  105. \ifcat{=
  106.  
  107. \catcode`\{=1 \let\bgroup{
  108. \catcode`\}=2 \let\egroup}
  109. \catcode`\#=6 
  110. \catcode`\^=7
  111. \catcode`\@=11
  112.  
  113. \newlinechar`\^^J
  114. \def\m@ne{-1 }
  115. \countdef\count@255
  116.  
  117. \def\fmtname{INITEX}
  118. \def\fmtversion{9999/00/00}
  119. \def\@secondoftwo#1#2{#2}
  120. \def\@empty{}
  121. \everyjob{\typeout{INITEX}}
  122. \def\space{ }
  123. \def\@spaces{\space\space\space\space}
  124. \let\@@end\end
  125. \let\loop\relax
  126. \expandafter\let\csname repeat\expandafter\endcsname
  127.                 \csname fi\endcsname
  128.  
  129. \chardef\msg15
  130. \immediate\openout\msg=\jobname.msg
  131.  
  132. \expandafter\edef\csname newif\endcsname#1#2{%
  133.   \let\noexpand\ifinteractive
  134.     \expandafter\noexpand\csname iffalse\endcsname}
  135.  
  136. \def\newcount#1{}
  137.  
  138. \def\dospecials{\catcode`\\=12 }
  139.  
  140. \def\typeout{\immediate\write17}
  141.  
  142. \def\two@digits#1{\ifnum#1<10 0\fi\number#1}
  143.  
  144. \def\wmsg#1#{\bgroup\@wmsg}
  145.  
  146. \def\@ifundefined#1#2#3%
  147.   {\expandafter\ifx\csname#1\endcsname\relax#2\else#3\fi}
  148. \else
  149. %%
  150. %% @ is a letter
  151. %%
  152. \catcode`\@=11
  153.  
  154. %%
  155. %% Output stream to produce the bug report template.
  156. %%
  157. \newwrite\msg
  158. \immediate\openout\msg=\jobname.msg
  159.  
  160.  
  161. %%
  162. %% Check that LaTeX2e is being used.
  163. %%
  164. \ifx\undefined\newcommand
  165.  \newlinechar`\^^J%
  166.  \immediate\write17{^^J%
  167.     You must use LaTeX2e to generate the bug report!^^J^^J%
  168.     If there is a bug in the installation procedure,^^J%
  169.     and you can not create LaTeX2e, you may use initex^^J%
  170.     to generate the report}%
  171.  
  172.  \let\relax\end
  173. \else
  174. \def\@tempa{LaTeX2e}\ifx\@tempa\fmtname\else
  175.  \immediate\write17{^^J%
  176.   Older Versions of LaTeX are no longer supported.^^J%
  177.   You must use LaTeX2e to generate the bug report!^^J^^J%
  178.   If there is a bug in the installation procedure,^^J%
  179.   and you can not create LaTeX2e, you may use initex^^J%
  180.   to generate the report}%
  181.  \let\relax\@@end
  182. \fi\fi
  183.  
  184. %%
  185. %% \wmsg writes to the terminal, and the .msg file
  186. %% \wmsg* just writes to the .msg file
  187. %% \typeout just writes to the terminal
  188. %%
  189.  
  190. \def\wmsg{\bgroup\@ifstar{\interactivefalse\@wmsg}\@wmsg}
  191.  
  192. \fi
  193.  
  194. \relax
  195. \endlinechar=-1
  196.  
  197. \def\@wmsg#1{%
  198.   \ifinteractive\immediate\write17{#1}\fi
  199.   \immediate\write\msg{#1}%
  200.   \egroup}
  201.  
  202. %%
  203. %% if \interactivefalse just make a blank template.
  204. %%
  205. \newif\ifinteractive
  206. \interactivetrue
  207.  
  208. %%
  209. %% Prompt for an answer from the user, if the answer is not
  210. %% provided by the cfg file.
  211. %%
  212.  
  213. \def\readifnotknown#1{%
  214.  \@ifundefined{#1}%
  215.     {{\message{#1> }%
  216.      \catcode`\^^I=12 \let\do\@makeother\dospecials
  217.      \global\read\m@ne t\expandafter o\csname#1\endcsname}}%
  218.     {\message{\csname#1\endcsname}}}
  219.  
  220. %%
  221. %% Pause so messages do not scroll off screen.
  222. %%
  223. \def\pause{%
  224.   \ifinteractive
  225.     \message{Press <return> key to continue. }%
  226.     \read\m@ne to \@tempa
  227.   \fi}
  228.  
  229. %%
  230. %% Opening Banner.
  231. %%
  232. \typeout{^^J%
  233. ============================================================^^J%
  234. ^^J%
  235. LaTeX bug report generator^^J%
  236. ==========================^^J%
  237. Processing this file with LaTeX will produce a template \jobname.msg^^J
  238. for submitting bug reports for the LaTeX distribution.^^J^^J
  239. * Please do not report bugs in contributed, non-standard, files to the
  240.   ^^J \space latex-bugs address.^^J
  241. * Please write your report in English.^^J
  242. * Please keep the report as short as possible.^^J%
  243. * If possible, check whether the bug has already been reported.^^J %
  244.   \space The bugs database is available on WWW:^^J \space
  245.    http://www.tex.ac.uk/CTAN/latex/bugs.html^^J}
  246.  
  247.  
  248. \ifinteractive
  249.   \InputIfFileExists{latexbug.cfg}{\typeout{** latexbug.cfg used **}}{}
  250. \fi
  251.  
  252. %% \batch is a `private' macro used to get a batchmode
  253. %% (actually \nonstopmode) run for use with latexbug.el
  254. \ifx\batch\undefined
  255.  
  256. \count@=0
  257. \ifinteractive
  258.  
  259. \typeout{%
  260. Several categories of files are supported,^^J%
  261. corresponding to directories in the standard LaTeX distribution:^^J^^J
  262. 0) LaTeX:\@spaces
  263.          The `base' format, and standard  classes such as `article'.^^J
  264. 1) tools:\@spaces
  265.          Packages supported by the LaTeX3 project team.^^J
  266. 2) graphics:\space 
  267.          The color and graphics packages.^^J
  268. 3) mfnfss: \space\space
  269.          Packages for using MetaFont fonts with NFSS (ie LaTeX2e).^^J
  270. 4) psnfss: \space\space
  271.          Packages for using PostScript fonts with NFSS (ie LaTeX2e).^^J
  272. 5) amslatex:\space
  273.          Classes and Packages supported by the AMS.^^J
  274. 6) babel:\@spaces
  275.          Packages supporting many different languages.^^J%
  276. }
  277. \message{Please select a category 0--6:  }
  278. \read\m@ne to \answer
  279. \count@=\answer\relax
  280. \else
  281. \typeout{As you are using INITEX, I will assume category `latex'}
  282. \fi
  283.  
  284. \ifcase\count@
  285. \def\category{latex}\or
  286. \def\category{tools}\or
  287. \def\category{graphics}\or
  288. \def\category{mfnfss}\or
  289. \def\category{psnfss}\or
  290. \def\category{amslatex}\or
  291.  
  292. \def\category{babel}\else
  293. \errhelp{Quit with `x' and then re-start latexbug}
  294. \def\badcategory{Only categories 0,...,6 are supported at this time}
  295. \errmessage{\badcategory}
  296. \fi
  297.  
  298.  
  299. \typeout{^^J%
  300. ============================================================^^J%
  301. ^^J%
  302. Please give a one line ( < 50 character ) description of the problem.%
  303. ^^J^^J%
  304. If you are using email to report the problem,^^J%
  305. please also use this text as the `Subject' line for the mail message:%
  306. ^^J \@spaces\@spaces\space
  307.                  |<------------------------------------------------>|} 
  308.  
  309.  
  310. \loop
  311. \let\synopsis\relax
  312. \readifnotknown{synopsis}
  313. \ifx\synopsis\@empty
  314. \repeat
  315.  
  316.  
  317. \typeout{%
  318. ^^J%
  319. \ifinteractive
  320. This report generator may be used in one of two ways.^^J%
  321. If you choose the interactive option, you will be prompted to answer^^J%
  322. several questions. Otherwise a blank template will be created for^^J%
  323. you to fill
  324.  in using your editor.^^J%
  325. \else
  326. INITEX should only be used for reporting bugs with the LaTeX2e^^J%
  327. installation procedure. If you have a working copy of LaTeX2e,^^J%
  328. please use that to generate the report.
  329. \fi}
  330.  
  331. \ifinteractive
  332. \typeout{Interactive session (y/n) ? }
  333. \readifnotknown{interactive}
  334.  
  335. \ifx\interactive\@empty
  336.    \def\interactive{n}
  337. \fi
  338.  
  339. %%
  340. %% Allow anything begining with `y' or `Y' for yes.
  341. %%
  342. \edef\interactive{\uccode`\expandafter\@car\interactive\@nil}
  343. \ifnum \interactive=`Y \else\interactivefalse\fi
  344. \else
  345. \def\interactive{`\N}
  346. \fi
  347.  
  348. \else
  349. \def\category{< CATEGORY >}
  350. \def\synopsis{< SYNOPSIS >}
  351. \batchmode
  352. \interactivefalse
  353. \def\interactive{`\N}
  354. \fi
  355.  
  356. %%
  357. %% Header in the msg file.
  358. %%
  359. \wmsg*{^^J%
  360.  LaTeX2e bug report.^^J%
  361. \ifnum \interactive=`Y Generated \else Template generated \fi
  362.  by latexbug.tex on \number\year/\two@digits\month/\two@digits\day^^J%
  363. ^^J%
  364.  Reports may be submitted by email to latex-bugs@uni-mainz.de^^J%
  365.  Please use the subject line:^^J%
  366.  Subject: \synopsis^^J%
  367.  ============================================================^^J}
  368.  
  369.  
  370.  
  371. %%
  372. %% Category of bug, obtained earlier but put out now, after the header.
  373. %%
  374. \wmsg{>Category: \category}
  375.  
  376. %%
  377. %% synopsis of bug, obtained earlier but put out now, after the header.
  378. %%
  379. \wmsg{>Synopsis: \synopsis}
  380.  
  381.  
  382. %%
  383. %% >Confidential: Default to no unless this is overridden
  384. %% in latexbug.cfg. If you want to send a one-off confidential
  385. %% report, just edit the latexbug.msg to say yes.
  386. %%
  387. \wmsg{>Confidential: \ifx\confidential\undefined
  388.                          no
  389.                        \else
  390.                          \confidential
  391.                        \fi}
  392.  
  393.  
  394. \begingroup
  395.  \global\let\format\@empty
  396.  \gdef\hyphenation{standard}
  397.  \def\immediate#1#{\xdef\hyphenation}
  398.  \def\typeout#1{\xdef\format{\format#1}}
  399.  \the\everyjob
  400. \endgroup
  401.  
  402. \wmsg{>Release: \format}
  403.  
  404. \ifinteractive
  405. %%
  406. %% if interactive, \wread reads a line (verbatim) and write it to the
  407. %% .msg file, until a blank line is entered.
  408. %%
  409.   \def\wread{{\catcode`\^^I=12 
  410.   \let\do\@makeother\dospecials
  411.   \let\lastanswer\answer
  412.   \message{=> }\read\m@ne to \answer
  413.   \ifx\lastanswer\@empty
  414.     \let\lastanswer\answer
  415.   \fi
  416.   \ifx\lastanswer\@empty
  417.   \else
  418.     \immediate\write\msg{\answer}
  419.     \expandafter\wread
  420.   \fi}}
  421. \else
  422. %%
  423. %% If non-interactive, \wread just writes a blank line to the .msg file,
  424. %% and \wmsg does not write to the terminal.
  425. %%
  426.   \def\wread{\wmsg{}}
  427. \fi
  428.  
  429. %%
  430. %% \copytomsg copies the contents of a file into the .msg file.
  431. %% (at least it does it as well as TeX can, so there may be
  432. %% transcription problems with 8-bit characters).
  433. %%
  434. %% It does a line count, and complains if the test file is
  435. %% too large.
  436.  
  437. \chardef\inputfile=15
  438.  
  439. \newcount\linecount
  440.  
  441. \def\copytomsg#1{{%
  442.    \def\do##1{\catcode`##1=11}%
  443.    \dospecials
  444.    \global\linecount\z@
  445.    \openin\inputfile#1\relax
  446.    \def\thefile{#1}%
  447.    \@copytomsg
  448.    \closein\inputfile}}
  449.  
  450. \def\@copytomsg{%
  451.    \ifeof\inputfile
  452.       \typeout{*** \thefile\space line count = \the\linecount}
  453.    \else
  454.       \global\advance\linecount\@ne
  455.       \read\inputfile to \inputline
  456.       \ifx\inputline\@empty
  457.          \wmsg*{}
  458.       \else
  459.          \wmsg*{\inputline}
  460.       \fi
  461.       \expandafter\@copytomsg
  462.    \fi}
  463.  
  464.  
  465. %%
  466. %% Test the age of the current format.
  467. %%
  468. \def\getage#1/#2/#3\@nil{%
  469.   \count@\year
  470.   \advance\count@-#1\relax
  471.   \multiply\count@ by 12\relax
  472.   \advance\count@\month
  473.   \advance\count@-#2\relax}
  474. %
  475. \expandafter\getage\fmtversion\@nil
  476. %%
  477. %% \count@ should now be the age of the format in months.
  478. %%
  479. \ifnum\count@>12
  480. \def\oldformat{^^J%
  481.    ! Your LaTeX installation is more than one year old.^^J%
  482.    ! Please consider updating LaTeX before submitting this report.^^J%
  483.    ! At least check a current latex.bug file, to see if the bug^^J%
  484.    ! has been fixed in the current release.^^J%
  485.    !}
  486. %%
  487. %% Put the message in a macro to improve the look of the error mesage.
  488. %%
  489.  
  490. \errhelp{If you still wish to complete the form, just type return.}
  491. \errmessage{\oldformat}
  492. \fi
  493.  
  494.  
  495. %%
  496. %% Now use \wmsg and \wread for each of the multi-line fields 
  497. %% in the form. Currently one-line fields use \read directly.
  498. %%
  499. \ifinteractive
  500.   \typeout{^^JYour name:}
  501.   \readifnotknown{name}
  502. \else
  503.   \ifx\name\undefined
  504.     \def\name{ < ENTER YOUR NAME > }
  505.   \fi
  506. \fi
  507.  
  508.  
  509. \ifinteractive
  510.   \typeout{^^JYour Address (preferably email):}
  511.   \readifnotknown{address}
  512. \else
  513.   \ifx\address\undefined
  514.     \def\address{ < ENTER YOUR EMAIL ADDRESS > }
  515.   \fi
  516. \fi
  517.  
  518. \wmsg*{>Originator: \address \space(\name)}
  519.  
  520. %%
  521. %% >Organisation: is really a GNATS multiline filed
  522. %% but we treat it as a one-line field.
  523. %%
  524. \wmsg*{>Organization: \ifx\organisation\undefined
  525.                         \ifx\organization\undefined\else
  526.                            \organization
  527.                         \fi
  528.                        \else
  529.                          \organisation
  530.                        \fi}
  531.  
  532.  
  533. %%
  534. %% Test which format is being used. These fields are completed
  535. %% automatically even if the blank template is being produced.
  536. %%
  537.  
  538. \wmsg*{>Environment:}
  539. \wmsg*{ Hyphenation: \hyphenation}
  540. \wmsg*{ TeX Version: \meaning\@TeXversion}
  541. \wmsg*{ Current Directory Syntax: \meaning\@currdir}
  542. \wmsg*{ Input Path: \meaning\input@path}
  543.  
  544.  
  545. \wmsg*{>Description:}
  546. \typeout{}
  547. \wmsg{Description of bug:}
  548. \ifinteractive
  549.   \typeout{%
  550.     \@spaces The answer to this  question may take several lines.^^J%
  551.     \@spaces (Each such line will be prompted by =>.)^^J%
  552.     \@spaces Typing TWO consecutive blank lines terminates the answer.}
  553. \else
  554. \wmsg{ < ENTER BUG REPORT HERE >}
  555. \fi
  556. \wread
  557.  
  558.  
  559.  
  560. %%
  561. %% insertion of the test file
  562. %%
  563.  
  564.  
  565.  
  566. \ifinteractive
  567.    \typeout{^^J%
  568.  Name of a SHORT, SELF-CONTAINED file which indicates the problem:^^J%
  569.  This file should be as small as possible (preferably < 60 lines)^^J%
  570.  Any non-standard files that the test file uses should be included^^J%
  571.  using the filecontents environment.^^J^^J%
  572. %
  573.  LaTeX will try to input this file, so give the full path^^J%
  574.  if the file is not in the current directory.^^J^^J%
  575. %
  576.  If you are not reporting a bug, and there is therefore^^J%
  577.  no test file, just hit <return>}
  578.    \message{filename> }\read\m@ne to \filename
  579. \else
  580.    \def\filename{}
  581. \fi
  582.  
  583. %% 
  584. %% Try to find the .tex file and .log file
  585. %%
  586.  
  587.  
  588. \ifx\filename\@empty
  589.   \ifx\LaTeX\undefinedcommand
  590.   \else
  591.     \ifinteractive
  592.       \typeout{^^J^^JNo test file.^^J^^J%
  593.       Three classes of report are supported:^^J^^J%
  594.       0) sw-bug:^^J\@spaces
  595.          Bug in the software, the report should include a test file.^^J
  596.       1) doc-bug:^^J\@spaces
  597.          Inaccuracies in the documentation.^^J
  598.       2) change-request:^^J\@spaces 
  599.          Not a bug, but rather a request for LaTeX to be changed.^^J}
  600.       \message{Please select a category 0--2:  }
  601.       \read\m@ne to \answer
  602.       \ifx\answer\@empty
  603.         \def\answer{-1}
  604.       \fi
  605.       \count@=\answer\relax
  606.       \else
  607.         \count@=\z@
  608.       \fi
  609.     \ifcase\count@
  610.       \ifinteractive\wmsg{>Class: sw-bug}\fi
  611.       \typeout{^^J! Please edit the message to add a test file and log!}
  612.       \pause
  613.       \wmsg*{^^J>How-To-Repeat:}
  614.       \wmsg*{%
  615.       Sample file which indicates the problem:^^J%
  616.       ========================================^^J%
  617.       \space< TEST FILE HERE >^^J%
  618.       ^^J%
  619.       The log file from running LaTeX on the sample:^^J%
  620.       ==============================================^^J%
  621.       \space< LOG FROM TEST FILE HERE >}
  622.     \or
  623.       \wmsg{>Class: doc-bug}
  624.     \or
  625.       \wmsg{>Class: change-request}
  626.     \else
  627.       \errhelp{Quit with `x' and then re-start latexbug}
  628.       \def\badcategory{Only classes 0,1,2 are supported at this time}
  629.       \errmessage{\badcategory}
  630.     \fi
  631.   \fi
  632. \else
  633.  
  634. \filename@parse\filename
  635.  
  636. \IfFileExists{\filename}{\edef\samplefile{\filename}}{}
  637.  
  638. \IfFileExists{\filename@area\filename@base.log}
  639.   {\edef\logfile{\filename@area\filename@base.log}}
  640.   {\IfFileExists{\filename@area\filename@base.lis}
  641.     {\edef\logfile{\filename@area\filename@base.lis}}
  642.     {}}
  643.  
  644.  
  645. %% 
  646. %% The example file goes here:
  647. %%
  648. \wmsg*{^^J>How-To-Repeat:}
  649.  
  650. \wmsg*{^^J%
  651. Sample file which indicates the problem:^^J%
  652. ========================================}
  653.  
  654. \ifx\samplefile\undefinedcommand
  655.    \typeout{^^J%
  656.       Sample file \filename\space not found.^^J%
  657.       Please edit \jobname.msg to include the sample file.}
  658.    \wmsg*{ < TEST FILE HERE >}
  659.    \pause
  660. \else
  661.    \copytomsg{\samplefile}
  662.    \ifnum\linecount>60
  663.     \typeout{%
  664. ^^J%
  665. !!! Your test file is \the\linecount\space lines long.^^J%
  666. !!! Such a large test file causes us problems:^^J%
  667. !!! * It makes it difficult to track down the error^^J%
  668. !!! * It makes our database for storing reports unnecessarily large.^^J%
  669. !!! ^^J%
  670. !!! Please, if at all possible, cut down your test file to the^^J%
  671. !!! smallest file that shows the behaviour.^^J}
  672.    \pause
  673.    \fi
  674. \fi
  675.  
  676.  
  677. %%
  678. %% The log file goes here:
  679. %%
  680. \wmsg*{^^J%
  681. The log file from running LaTeX on the sample:^^J%
  682. ==============================================}
  683.  
  684. \ifx\logfile\undefinedcommand
  685.    \typeout{^^J%
  686.       Log file \filename@area\filename@base.log not found.^^J%
  687.       Please edit \jobname.msg to include the log file.}
  688.    \wmsg*{ < < LOG FROM TEST FILE HERE >}
  689.    \pause
  690. \else
  691.    \copytomsg{\logfile}
  692. \fi
  693.  
  694. \fi
  695.  
  696.  
  697. %%
  698. %% Closing Banner.
  699. %%
  700. \typeout{^^J%
  701. ============================================================}
  702.  
  703. \ifinteractive
  704.  \typeout{^^J%
  705.    You may wish to make further changes to the bug report file:^^J%
  706.    `\jobname.msg'^^J%
  707.    using your editor.}
  708. \else
  709.  \typeout{^^J%
  710.    A template for submitting bug reports has been left in the file:^^J%
  711.    \jobname.msg^^J%
  712.    Please use your editor to complete the file before submitting^^J%
  713.    your report.}
  714. \fi
  715.  
  716. \let\ifinteractivetrue\iftrue
  717. \typeout{^^J%
  718.   If you have access to email, please send `\jobname.msg' to:^^J%
  719.   latex-bugs@uni-mainz.de  Please use the subject line:^^J%
  720.   \@spaces Subject: \synopsis^^J%
  721. ^^J%
  722.  (This subject will be used in all subsequent correspondence.)^^J%
  723. ^^J%
  724.   Your message will be entered into a publicly readable database^^J%
  725.   Accessable via the www (see bugs.txt for details).^^J%
  726.   If do not wish this message made public, Edit the^^J%
  727.   >Confidential: no^^J%
  728.   field to  yes  before submitting this message.^^J%
  729. ^^J%
  730.   Thank you for taking the time to submit a bug report.}
  731.  
  732. \wmsg*{^^J%
  733. ============================================================^^J
  734. ^^J%
  735.    End of LaTeX2e bug report.^^J%
  736. ============================================================}
  737.  
  738. %%
  739. %% Close the .msg output stream.
  740. %%
  741. \immediate\closeout\msg
  742.  
  743. %%
  744. %% This is the TeX primitive \end command.
  745. %%
  746. \@@end
  747.