On 4 March 2015 at 15:31, Sergey Poznyakoff <[email protected]> wrote: > Thanks for spotting that out. Please find attached an improved patch. > Many thanks, Sergey. There is the same problem with macro redefinition, although less likely to occur in real documents, when a macro is defined within the Top node. Test file below.
I would like to explore forgoing the use of sed to process @ifnottex etc., and using the --iftex option to 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." means - what TeX commands can't makeinfo parse? Contents of @iftex shouldn't be TeX commands anyway, TeX commands would occur in @tex. I found another option to makeinfo that could be used to expand the macros: "-c DUMP_TEXI=1 --macro-expand=-" - this avoids generating Info output that is discarded, and reduces the amount of error messages related to document structuring. Unlike "-c TEXINFO_OUTPUT_FORMAT=plaintexinfo -o-" it will manage to output the macro expansion even if there is an error, like "menu before Top node". 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. \input texinfo @c -*-texinfo-*- @setfilename t.info @settitle Test @iftex @macro Message In tex @end macro @end iftex @ifnottex @node Top @top Top @macro Message In not tex @end macro This is the top node. @end ifnottex @menu * Preface:: @end menu @node Preface @chapter Preface @Message word word @bye
