[Top][All Lists]

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

Re: ifset documentation

From: Patrice Dumas
Subject: Re: ifset documentation
Date: Thu, 18 Aug 2005 00:35:02 +0200
User-agent: Mutt/

On Wed, Aug 17, 2005 at 11:31:04PM +0200, Karl Berry wrote:
>     I think a precision is in order.
> I am not sure I want to be precise :(.  For one thing, I think
> texinfo.tex and makeinfo might behave differently; I've never done any
> exhaustive testing.  Did you test with both?

I begun my testings with makeinfo. The whole story is that I tried 
my-bib-macros.texi with texi2html and found that texi2html don't handle right
nested @ifclear. That's what got me interested in that matter. A quick
check of texi2dvi shows that texi2dvi fails on my-bib-macros.texi.

> Is there some real document that fails, or are you looking for a spec to
> implement in texi2html, or ... ?

I am looking for a spec to implement in texi2html but in the meantime I 
should test makeinfo and texi2dvi.

Here is a first testcase that breaks makeinfo and texi2dvi: @ignore
is ignored in @ifset, or not handled right:

@c ===============================
@ifset a
@end ignore
@end ifset
@c ===============================

address@hidden examples]$ makeinfo bug_makeinfo_nested_ifset.texi
bug_makeinfo_nested_ifset.texi:8: Reached eof before matching @end ifset.

Runaway argument?
! File ended while scanning use of @next.
<inserted text>

Same if you replace @ignore by @html, or by @verbatim or @ifset is enclosed
in @verb{}. 

In my opinion these are bugs, meaning that I think that @ignore, @html 
and so on shouldn't be ignored in @ifset. However you may have another advice
on that matter.

What I would like to know is whether user defined macros and @values should
be expanded in @ifset. It matters (especially for macros) as a user defined
macro could lead to a @ignore or something similar appearing.

It seems that @macro aren't expanded in @ifset currently, as the following
snippet doesn't lead to an error:

@c ===============================
@macro addifset
@end macro

@ifset a
@end ifset
@c ===============================

Is it the right thing? I don't have a firm idea on that. Maybe do what is 
easier from the implementation perpective.


reply via email to

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