diff options
author | Karl Berry <karl@freefriends.org> | 2021-02-25 19:22:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-02-25 19:22:25 +0000 |
commit | ad547a6b5986815fda458221149728d9d9ab1d87 (patch) | |
tree | 16296910eb3eca724371474ea9aea3994dc69614 /Build/source/texk/makeindexk/tests | |
parent | 947b43de3dd21d58ccc2ffadefc4441ea1c2a813 (diff) |
restore Build,TODO from r57911
git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/makeindexk/tests')
-rwxr-xr-x | Build/source/texk/makeindexk/tests/makeindex.test | 17 | ||||
-rw-r--r-- | Build/source/texk/makeindexk/tests/nested-range-bb.idx | 6 | ||||
-rw-r--r-- | Build/source/texk/makeindexk/tests/nested-range-bb.tex | 72 | ||||
-rwxr-xr-x | Build/source/texk/makeindexk/tests/nested-range-test.pl | 29 | ||||
-rw-r--r-- | Build/source/texk/makeindexk/tests/nested-range.idx | 3 | ||||
-rw-r--r-- | Build/source/texk/makeindexk/tests/nested-range.tex | 33 | ||||
-rw-r--r-- | Build/source/texk/makeindexk/tests/sample.idx | 15 | ||||
-rw-r--r-- | Build/source/texk/makeindexk/tests/sample.ind | 15 |
8 files changed, 190 insertions, 0 deletions
diff --git a/Build/source/texk/makeindexk/tests/makeindex.test b/Build/source/texk/makeindexk/tests/makeindex.test new file mode 100755 index 00000000000..0f266aa778b --- /dev/null +++ b/Build/source/texk/makeindexk/tests/makeindex.test @@ -0,0 +1,17 @@ +#! /bin/sh -vx +# $Id$ +# Copyright 2017 Karl Berry <tex-live@tug.org> +# Copyright 2012 Peter Breitenlohner <tex-live@tug.org> +# You may freely use, modify and/or distribute this file. + +TEXMFCNF=$srcdir/../kpathsea +export TEXMFCNF + +rm -f sample.* + +./makeindex $srcdir/tests/sample.idx -o sample.ind1 -t sample.ilg1 \ + && diff $srcdir/tests/sample.ind sample.ind1 || exit 1 + +cat $srcdir/tests/sample.idx | ./makeindex >sample.ind2 2>sample.ilg2 \ + && diff $srcdir/tests/sample.ind sample.ind2 || exit 1 + diff --git a/Build/source/texk/makeindexk/tests/nested-range-bb.idx b/Build/source/texk/makeindexk/tests/nested-range-bb.idx new file mode 100644 index 00000000000..6575c81ab54 --- /dev/null +++ b/Build/source/texk/makeindexk/tests/nested-range-bb.idx @@ -0,0 +1,6 @@ +\indexentry{random text|(}{1} +\indexentry{periodic Hilbert transform|(}{1} +\indexentry{periodic Hilbert transform|(}{2} +\indexentry{random text|(}{2} +\indexentry{periodic Hilbert transform|)}{2} +\indexentry{random text|)}{2} diff --git a/Build/source/texk/makeindexk/tests/nested-range-bb.tex b/Build/source/texk/makeindexk/tests/nested-range-bb.tex new file mode 100644 index 00000000000..d2366dd6ccf --- /dev/null +++ b/Build/source/texk/makeindexk/tests/nested-range-bb.tex @@ -0,0 +1,72 @@ +% Copyright 2011 Barbara Beeton <tex-live@tug.org> +% You may freely use, modify and/or distribute this file. +% This is the original annotated test report, with various extra info. +% See below \end{document}. +\documentclass{amsbook} +\usepackage{verbatim} + +\makeindex + +\begin{document} + +\chapter{Demonstration of a Makeindex bug} + +\index{random text|(}% +Here we open an index span for ``random text''. + +\index{periodic Hilbert transform|(}% +How could we define the \emph{periodic Hilbert transform}? +Here is an open index span for ``periodic Hilbert transform''. + +(lots more text omitted) +\newpage + +We defined in Section~3 the +\index{periodic Hilbert transform|(}% +\emph{periodic Hilbert transform} or \emph{conjugate function}. +A second open index span for ``periodic Hilbert transform''. + +\index{random text|(}% +(more omitted text and a second open index span for ``random text'') + +Closing index spans for the two opened entries. +\index{periodic Hilbert transform|)}% +\index{random text|)}% + +\vspace{1\baselineskip} +\verbatiminput{\jobname.tex} +\newpage +\noindent This is the .idx file from the previous run: +\verbatiminput{\jobname.idx-prev} +\vspace{2\baselineskip} +This is the resulting .ilg file: +\verbatiminput{\jobname.ilg} +\vspace{2\baselineskip} +And the resulting .ind file; note spurious \verb+\(+ inclusions. +\verbatiminput{\jobname.ind} +\end{document} + + +Date: Thu, 22 Sep 2011 12:23:48 -0400 +From: Barbara Beeton +Subject: a makeindex bug + +[...] + +to get the desired output, run latex, then makeindex. +copy or rename <jobname>.idx to <jobname>.idx-prev, +rerun latex, and take a look at the output. (the +reason for the rename is that i've included in the +output listings of the .idx(-prev), .ilg, and .ind +files, all small, but very interesting.) + +the problem is that if a span is begun for a string +and then a second span is begun for the same string +without the first one being closed, the |( in the +input is put into the output as \( -- with the +result that an attempt to print the index will get +an unmatched $ error. the unmatched span is noted +in the .ilg file with a warning, but since most +people ignore warnings the first time around (i +certainly do), the unrecoverable (la)tex error in +the index can really throw them into a tizzy. diff --git a/Build/source/texk/makeindexk/tests/nested-range-test.pl b/Build/source/texk/makeindexk/tests/nested-range-test.pl new file mode 100755 index 00000000000..441328257d6 --- /dev/null +++ b/Build/source/texk/makeindexk/tests/nested-range-test.pl @@ -0,0 +1,29 @@ +#!/usr/bin/env perl +# $Id$ +# Public domain. Originally written 2011, Karl Berry. +# Check that makeindex doesn't create spurious output from nested ranges. +# See nested-range.tex and -bb.tex. + +# srcdir = makeindexk (in the source tree) +BEGIN { chomp ($srcdir = $ENV{"srcdir"} || `cd \`dirname $0\`/.. && pwd`); } +require "$srcdir/../tests/common-test.pl"; + +exit (&main ()); + +sub main { + my $ret = &test_run ("./makeindex", "$srcdir/tests/nested-range.idx", + "-o", "nested-range.ind", + "-t", "nested-range.ilg"); + + # The test fails if the output contains \(. + my $bad = 0; + local *IND; + $IND = "nested-range.ind"; + open (IND) || die "open($IND) failed: $!"; + while (<IND>) { + $bad = 1 if /\\\(/; + } + close (IND) || die "close($IND) failed: $!"; + + return $bad; +} diff --git a/Build/source/texk/makeindexk/tests/nested-range.idx b/Build/source/texk/makeindexk/tests/nested-range.idx new file mode 100644 index 00000000000..a1154a3d5dc --- /dev/null +++ b/Build/source/texk/makeindexk/tests/nested-range.idx @@ -0,0 +1,3 @@ +\indexentry{bad range|(}{1} +\indexentry{bad range|(}{2} +\indexentry{bad range|)}{2} diff --git a/Build/source/texk/makeindexk/tests/nested-range.tex b/Build/source/texk/makeindexk/tests/nested-range.tex new file mode 100644 index 00000000000..15be5e519a8 --- /dev/null +++ b/Build/source/texk/makeindexk/tests/nested-range.tex @@ -0,0 +1,33 @@ +% Copyright 2011 Barbara Beeton <tex-live@tug.org> +% You may freely use, modify and/or distribute this file. +% +% This is the minimal version that reproduces the bug. +% Some commented-out lines are some variations. +% For all the details, see nested-range-bb.tex. +% +\documentclass{article} + +\makeindex + +\begin{document} +\index{bad range|(}% +%\index{ok range|(}% +start. + +\newpage +\index{bad range|(}% +second page. + +\index{bad range|)}% +%\index{ok range|)}% +close. + +\end{document} + +\index{bad range|)}% +second close. + +\index{bad range|)}% +third close. + +\end{document} diff --git a/Build/source/texk/makeindexk/tests/sample.idx b/Build/source/texk/makeindexk/tests/sample.idx new file mode 100644 index 00000000000..394c0087af9 --- /dev/null +++ b/Build/source/texk/makeindexk/tests/sample.idx @@ -0,0 +1,15 @@ +\indexentry{alpha}{1} +\indexentry{random text|bold}{2} +\indexentry{random text|(}{9} +\indexentry{random text|)}{11} +\indexentry{alpha!beta}{3} +\indexentry{alpha!phi}{5} +\indexentry{alpha!phi!sigma}{6} +\indexentry{alpha!phi!rho}{7} +\indexentry{alpha!beta!delta}{8} +\indexentry{alpha!beta!gamma}{10} +\indexentry{alpha!phi!sigma}{12} +\indexentry{alpha!phi!rho}{12} +\indexentry{alpha!phi!sigma}{13} +\indexentry{alpha!phi!sigma}{14} +\indexentry{alpha!phi!rho}{14} diff --git a/Build/source/texk/makeindexk/tests/sample.ind b/Build/source/texk/makeindexk/tests/sample.ind new file mode 100644 index 00000000000..ea39facc389 --- /dev/null +++ b/Build/source/texk/makeindexk/tests/sample.ind @@ -0,0 +1,15 @@ +\begin{theindex} + + \item alpha, 1 + \subitem beta, 3 + \subsubitem delta, 8 + \subsubitem gamma, 10 + \subitem phi, 5 + \subsubitem rho, 7, 12, 14 + \subsubitem sigma, 6, 12--14 + + \indexspace + + \item random text, \bold{2}, 9--11 + +\end{theindex} |