/usr/share/doc/texinfo/html/Conditional-Nesting.html is in texinfo-doc-nonfree 4.13a-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | <html lang="en">
<head>
<title>Conditional Nesting - GNU Texinfo 4.13</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="GNU Texinfo 4.13">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Conditionals.html#Conditionals" title="Conditionals">
<link rel="prev" href="set-clear-value.html#set-clear-value" title="set clear value">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This manual is for GNU Texinfo (version 4.13, 18 September 2008),
a documentation system that can produce both online information and a
printed manual from a single source.
Copyright (C) 1988, 1990, 1991, 1992, 1993, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover Texts
being ``A GNU Manual'', and with the Back-Cover Texts as in (a)
below. A copy of the license is included in the section entitled
``GNU Free Documentation License.''
(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual. Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
</head>
<body>
<div class="node">
<a name="Conditional-Nesting"></a>
<p>
Previous: <a rel="previous" accesskey="p" href="set-clear-value.html#set-clear-value">set clear value</a>,
Up: <a rel="up" accesskey="u" href="Conditionals.html#Conditionals">Conditionals</a>
<hr>
</div>
<h3 class="section">17.5 Conditional Nesting</h3>
<p><a name="index-Conditionals_002c-nested-1033"></a><a name="index-Nesting-conditionals-1034"></a>
Conditionals can be nested; however, the details are a little tricky.
The difficulty comes with failing conditionals, such as
<code>@ifhtml</code> when HTML is not being produced, where the included
text is to be ignored. However, it is not to be <em>completely</em>
ignored, since it is useful to have one <code>@ifset</code> inside another,
for example—that is a way to include text only if two conditions are
met. Here's an example:
<pre class="example"> @ifset somevar
@ifset anothervar
Both somevar and anothervar are set.
@end ifset
@ifclear anothervar
Somevar is set, anothervar is not.
@end ifclear
@end ifset
</pre>
<p>Technically, Texinfo requires that for a failing conditional, the
ignored text must be properly nested with respect to that failing
conditional. Unfortunately, it's not always feasible to check that
<em>all</em> conditionals are properly nested, because then the
processors could have to fully interpret the ignored text, which
defeats the purpose of the command. Here's an example illustrating
these rules:
<pre class="example"> @ifset a
@ifset b
@ifclear ok - ok, ignored
@end junky - ok, ignored
@end ifset
@c WRONG - missing @end ifset.
</pre>
<p>Finally, as mentioned above, all conditional commands must be on lines
by themselves, with no text (even spaces) before or after. Otherwise,
the processors cannot reliably determine which commands to consider
for nesting purposes.
</body></html>
|