Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

take tort.idx and tortW.idx into account #13

Open
Reissner opened this issue Oct 13, 2024 · 2 comments
Open

take tort.idx and tortW.idx into account #13

Reissner opened this issue Oct 13, 2024 · 2 comments

Comments

@Reissner
Copy link

The file tort.idx is extracted from package makeindex
and serves as a testcase.
It makes makeindex write a lot of errors and warnings into the ILG file.

In contrast, upmendex writes only part of the errors.
Seemingly, if an error occurs, the warnings are suppressed (which I consider ok).

upmendex' deviations from makeindex are in detail:

  • Whereas errors on extra @ and ! are recognized, extra | are not.
  • Errors on illegal null fields are not recognized.
@Reissner
Copy link
Author

If upmendex faces errors, it does not create an ind file.
This is ok, since this allows to detect the problem also.
If we modify tort.idx, so to speak weaken it, if we remove the lines which cause errors,
we arrive at tortW.idx.
Running upmendex on tort.idx consequently creates tort.ind and in tort.ilg errors disappear
but warnings show up.

Although makeindex yields a lot of warnings, upmendex only detects unmatched ( and unmatched ).
The warnings given by `makeindex refer to

  • Illegal range formation: starting & ending pages are of different types.
  • Inconsistent page encapsulator xx within range.
  • Conflicting entries: multiple encaps for the same page under same key.
  • Range closing operator has an inconsistent encapsulator iii.

The according IND file shows according entries which look... hm. weird.

@t-tk
Copy link
Owner

t-tk commented Nov 3, 2024

Thank you for your report.
I tried to improve error treatment 988a539

tort.ilg1 before ::

This is upmendex version 1.09 [ICU 70.1] (TeX Live 2025/dev).
Scanning input file ../../../texk/upmendex/tests/tort.idx.
Error: Extra `@' in ../../../texk/upmendex/tests/tort.idx, line 3.
Error: Extra `!' in ../../../texk/upmendex/tests/tort.idx, line 4....done (32 entries accepted, 2 rejected).
32 entries accepted, 2 rejected.
2 errors, written in tort.ilg1.
Nothing written in output file.

tort.ilg1 after ::

This is upmendex version 1.09 [ICU 70.1] (TeX Live 2025/dev).
Scanning input file ../../../texk/upmendex/tests/tort.idx.
Error: Illegal null field in ../../../texk/upmendex/tests/tort.idx, line 1.
Error: Illegal null field in ../../../texk/upmendex/tests/tort.idx, line 2.
Error: Extra `@' in ../../../texk/upmendex/tests/tort.idx, line 3.
Error: Extra `!' in ../../../texk/upmendex/tests/tort.idx, line 4.
Bad encap string in ../../../texk/upmendex/tests/tort.idx, line 5....done (29 entries accepted, 5 rejected).
29 entries accepted, 5 rejected.
5 errors, written in tort.ilg1.
Nothing written in output file.

upmendex output for tortW.idx is still different from makeindex.
But I do not have motivation to be more compatible.

t-tk added a commit that referenced this issue Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants