bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Using macros in @item


From: Stepan Kasal
Subject: Re: Using macros in @item
Date: Fri, 24 Oct 2003 19:10:02 +0200
User-agent: Mutt/1.4.1i

Hello,

On Fri, Oct 24, 2003 at 11:28:28AM -0400, Karl Berry wrote:
>     --iftex, or --ifnottex?  It seems clear that the former is right, but
>     then because makeinfo is run with --iftex (well, --iftex simulated via
>     the sed script), it doesn't see the @top, and complains about it:
> 
> Exactly.  I don't have a solution for this either :(.

well, it seems clear the makeinfo -E should silently work as a macro
preprocessor, omitting as much of the usual checks as possible.
The problem seems to be how to implement it.

My knowledge of the ``makeinfo'' program is really minamal, but I tried
the trivial patch attached below.
With this patch applied to a not-so-old copy of cvs tree, I was able to run
``texi2dvi -e'' on texinfo.txi and info.texi .
info-stnd.texi complains about some internal errors I'm not able to fix.

Is it possible to work in this direction to get the desired behaviour?

Looking forward to your explanation, Karl.

Have a nice day,
        Stepan


--- texinfo/makeinfo/makeinfo.c.orig    2003-07-16 06:05:24.000000000 +0200
+++ texinfo/makeinfo/makeinfo.c 2003-10-24 18:57:30.000000000 +0200
@@ -729,6 +729,9 @@
         }
     }
 
+  if (macro_expansion_output_stream)
+    validating = 0;
+
   if (!validating)
     expensive_validation = 0;
 
--- texinfo/makeinfo/insertion.c.orig   2003-07-16 06:05:24.000000000 +0200
+++ texinfo/makeinfo/insertion.c        2003-10-24 18:50:08.000000000 +0200
@@ -1433,7 +1433,7 @@
 void
 cm_menu ()
 {
-  if (current_node == NULL)
+  if (current_node == NULL && !macro_expansion_output_stream)
     {
       warning (_("@menu seen before first @node, creating `Top' node"));
       warning (_("perhaps your @top node should be wrapped in @ifnottex rather 
than @ifinfo?"));
@@ -1446,7 +1446,7 @@
 void
 cm_detailmenu ()
 {
-  if (current_node == NULL)
+  if (current_node == NULL && !macro_expansion_output_stream)
     { /* Problems anyway, @detailmenu should always be inside @menu.  */
       warning (_("@detailmenu seen before first node, creating `Top' node"));
       execute_string ("@node address@hidden Top\n");




reply via email to

[Prev in Thread] Current Thread [Next in Thread]