bug-texinfo
[Top][All Lists]

## Re: Spurious diagnostics from texi2dvi -E

 From: Karl Berry Subject: Re: Spurious diagnostics from texi2dvi -E Date: Mon, 6 Apr 2015 23:31:20 GMT

    I would like to explore forgoing the use of sed to process @ifnottex
etc., and using the --iftex option to makeinfo.

It may well be plausible with current makeinfo.

Can someone explain what "Unfortunately makeinfo --iftex --no-ifinfo
doesn't work well enough (yet), makeinfo can't parse the TeX
commands, so work around with sed."  what TeX commands can't
makeinfo parse?

I wrote that in the days of makeinfo 4.  Just for starters, with that
makeinfo, any use of plain TeX braces (e.g., {\it foo}) failed.  Current
makeinfo can handle that, and more.

Contents of @iftex shouldn't be TeX commands anyway, TeX commands
would occur in @tex.

--iftex necessarily enables parsing of @tex as well as @iftex, like all
the --ifFMT options.

If changes are needed re error reporting, output generation, or whatever
else, well, this is software, anything is possible.  Patrice and I never
spent time hooking the new makeinfo into texi2dvi, although we had it in
the back of our minds.  My impression was that essentially no one used
-E, since I never got bug reports about it, and it was obviously
fragile.

If you want to pursue it, more power to you.  My suggestion would be to
make another option, say --expand-new, so experiments can be done
without disturbing any existing use of -E.  For one thing, it will be
necessary to detect the makeinfo version and fall back to sed if it's
still makeinfo 4 (or earlier).

I think the "menu before Top node" error, if it is annoying, could
be best dealt with by changes in the input Texinfo files to include
the menu within the @ifnottex conditional.

I strongly disagree.  Telling users to change their documents should
always be a extremely reluctant last resort.  @menu is inherently
non-TeX, so it should be treated as such.  I'd propose changing makeinfo
simply to omit that diagnostic if --iftex is specified.  If that does
not suit, I'd propose adding a configuration variable explicitly to tell
makeinfo to it complaint, and then texi2dvi can pass that variable.
Whatever is needed ...

karl