Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r63713 - in trunk/tools/quickbook: . detail test
From: daniel_james_at_[hidden]
Date: 2010-07-06 19:10:13


Author: danieljames
Date: 2010-07-06 19:10:10 EDT (Tue, 06 Jul 2010)
New Revision: 63713
URL: http://svn.boost.org/trac/boost/changeset/63713

Log:
Backport improved paragraphs from spirit 2 version

Templates are no longer expanded inside paragraphs, although callout
lists still are. Refs #4302.
Text files modified:
   trunk/tools/quickbook/block.hpp | 3
   trunk/tools/quickbook/detail/actions.cpp | 24 +++++-
   trunk/tools/quickbook/detail/actions.hpp | 14 +++
   trunk/tools/quickbook/detail/actions_class.cpp | 2
   trunk/tools/quickbook/detail/actions_class.hpp | 2
   trunk/tools/quickbook/test/callouts.gold | 60 +++++++---------
   trunk/tools/quickbook/test/import.gold | 140 +++++++++++++++++++--------------------
   trunk/tools/quickbook/test/quickbook-manual.gold | 104 ++++++++++++-----------------
   trunk/tools/quickbook/test/template-section.gold | 30 ++++----
   trunk/tools/quickbook/test/templates.gold | 20 +----
   10 files changed, 195 insertions(+), 204 deletions(-)

Modified: trunk/tools/quickbook/block.hpp
==============================================================================
--- trunk/tools/quickbook/block.hpp (original)
+++ trunk/tools/quickbook/block.hpp 2010-07-06 19:10:10 EDT (Tue, 06 Jul 2010)
@@ -59,7 +59,8 @@
                     | list [actions.list]
                     | hr [actions.hr]
                     | comment >> +eol
- | paragraph [actions.paragraph]
+ | paragraph [actions.inside_paragraph]
+ [actions.write_paragraphs]
                     | eol
                     )
                     ;

Modified: trunk/tools/quickbook/detail/actions.cpp
==============================================================================
--- trunk/tools/quickbook/detail/actions.cpp (original)
+++ trunk/tools/quickbook/detail/actions.cpp 2010-07-06 19:10:10 EDT (Tue, 06 Jul 2010)
@@ -67,7 +67,7 @@
         out << pre << str << post;
     }
 
- void implicit_paragraph_action::operator()(iterator first, iterator last) const
+ void implicit_paragraph_action::operator()() const
     {
         std::string str;
         phrase.swap(str);
@@ -749,6 +749,7 @@
         bool parse_template(
             std::string& body
           , std::string& result
+ , bool& is_block
           , boost::spirit::classic::file_position const& template_pos
           , quickbook::actions& actions
         )
@@ -764,7 +765,7 @@
             std::string::const_iterator iter = body.begin();
             while (iter != body.end() && ((*iter == ' ') || (*iter == '\t')))
                 ++iter; // skip spaces and tabs
- bool is_block = (iter != body.end()) && ((*iter == '\r') || (*iter == '\n'));
+ is_block = (iter != body.end()) && ((*iter == '\r') || (*iter == '\n'));
             bool r = false;
 
             if (actions.template_escape)
@@ -796,6 +797,7 @@
                 first.set_position(template_pos);
                 iterator last(body.end(), body.end());
                 r = boost::spirit::classic::parse(first, last, block_p).full;
+ actions.inside_paragraph();
                 actions.out.swap(result);
             }
             return r;
@@ -827,6 +829,7 @@
         BOOST_ASSERT(symbol);
             
         std::string result;
+ bool is_block;
         actions.push(); // scope the actions' states
         {
             // Store the current section level so that we can ensure that
@@ -881,7 +884,7 @@
             body.assign(tpl->begin(), tpl->end());
             body.reserve(body.size()+2); // reserve 2 more
 
- if (!parse_template(body, result, template_pos, actions))
+ if (!parse_template(body, result, is_block, template_pos, actions))
             {
                 boost::spirit::classic::file_position const pos = first.get_position();
                 detail::outerr(pos.file,pos.line)
@@ -909,7 +912,13 @@
         }
 
         actions.pop(); // restore the actions' states
- actions.phrase << result; // print it!!!
+ if(is_block) {
+ actions.inside_paragraph();
+ actions.temp_para << result; // print it!!!
+ }
+ else {
+ actions.phrase << result; // print it!!!
+ }
         --actions.template_depth;
     }
 
@@ -1644,5 +1653,12 @@
     {
         phrase.swap(out);
     }
+
+ void copy_stream_action::operator()(iterator first, iterator last) const
+ {
+ std::string str;
+ phrase.swap(str);
+ out << str;
+ }
 }
 

Modified: trunk/tools/quickbook/detail/actions.hpp
==============================================================================
--- trunk/tools/quickbook/detail/actions.hpp (original)
+++ trunk/tools/quickbook/detail/actions.hpp 2010-07-06 19:10:10 EDT (Tue, 06 Jul 2010)
@@ -100,7 +100,8 @@
         , pre(pre)
         , post(post) {}
 
- void operator()(iterator first, iterator last) const;
+ void operator()() const;
+ void operator()(iterator first, iterator last) const { (*this)(); }
 
         collector& out;
         collector& phrase;
@@ -855,6 +856,17 @@
         std::string& out;
         collector& phrase;
     };
+
+ struct copy_stream_action
+ {
+ copy_stream_action(collector& out, collector& phrase)
+ : out(out) , phrase(phrase) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& out;
+ collector& phrase;
+ };
 }
 
 #ifdef BOOST_MSVC

Modified: trunk/tools/quickbook/detail/actions_class.cpp
==============================================================================
--- trunk/tools/quickbook/detail/actions_class.cpp (original)
+++ trunk/tools/quickbook/detail/actions_class.cpp 2010-07-06 19:10:10 EDT (Tue, 06 Jul 2010)
@@ -78,8 +78,8 @@
         , code(out, phrase, syntax_p)
         , code_block(phrase, phrase, syntax_p)
         , inline_code(phrase, syntax_p)
- , paragraph(out, phrase, paragraph_pre, paragraph_post)
         , inside_paragraph(temp_para, phrase, paragraph_pre, paragraph_post)
+ , write_paragraphs(out, temp_para)
         , h(out, phrase, doc_id, section_id, qualified_section_id, section_level)
         , h1(out, phrase, doc_id, section_id, qualified_section_id, h1_pre, h1_post)
         , h2(out, phrase, doc_id, section_id, qualified_section_id, h2_pre, h2_post)

Modified: trunk/tools/quickbook/detail/actions_class.hpp
==============================================================================
--- trunk/tools/quickbook/detail/actions_class.hpp (original)
+++ trunk/tools/quickbook/detail/actions_class.hpp 2010-07-06 19:10:10 EDT (Tue, 06 Jul 2010)
@@ -113,8 +113,8 @@
         code_action code;
         code_action code_block;
         inline_code_action inline_code;
- implicit_paragraph_action paragraph;
         implicit_paragraph_action inside_paragraph;
+ copy_stream_action write_paragraphs;
         generic_header_action h;
         header_action h1, h2, h3, h4, h5, h6;
         markup_action hr;

Modified: trunk/tools/quickbook/test/callouts.gold
==============================================================================
--- trunk/tools/quickbook/test/callouts.gold (original)
+++ trunk/tools/quickbook/test/callouts.gold 2010-07-06 19:10:10 EDT (Tue, 06 Jul 2010)
@@ -9,67 +9,61 @@
     Example 1:
   </para>
   <para>
- <para>
- Now we can define a function that simulates an ordinary six-sided die.
- </para>
- <para>
-
+ Now we can define a function that simulates an ordinary six-sided die.
+ </para>
+ <para>
+
 <programlisting><phrase role="keyword">int</phrase> <phrase role="identifier">roll_die</phrase><phrase role="special">()</phrase> <phrase role="special">{</phrase>
   <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="identifier">dist</phrase><phrase role="special">(</phrase><phrase role="number">1</phrase><phrase role="special">,</phrase> <phrase role="number">6</phrase><phrase role="special">);</phrase> <!--quickbook-escape-prefix--><co id="callout_tests0co" linkends="callout_tests0" /><!--quickbook-escape-postfix-->
 <phrase role="special">}</phrase>
 
 </programlisting>
- </para>
- <para>
- <calloutlist><callout arearefs="callout_tests0co" id="callout_tests0"><para> create a uniform_int distribution </para></callout></calloutlist>
- </para>
+ </para>
+ <para>
+ <calloutlist><callout arearefs="callout_tests0co" id="callout_tests0"><para> create a uniform_int distribution </para></callout></calloutlist>
   </para>
   <para>
     Example 2:
   </para>
   <para>
- <para>
-
+
 <programlisting><phrase role="keyword">int</phrase> <phrase role="identifier">roll_die</phrase><phrase role="special">()</phrase> <phrase role="special">{</phrase>
   <!--quickbook-escape-prefix--><co id="callout_tests1co" linkends="callout_tests1" /><!--quickbook-escape-postfix--><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">variate_generator</phrase><phrase role="special">&lt;</phrase><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">mt19937</phrase><phrase role="special">&amp;,</phrase> <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="special">&gt;</phrase> <phrase role="identifier">die</phrase><phrase role="special">(</phrase><phrase role="identifier">gen</phrase><phrase role="special">,</phrase> <phrase role="identifier">dist</phrase><phrase role="special">);</phrase>
 <phrase role="special">}</phrase>
 
 </programlisting>
- </para>
- <para>
- <calloutlist><callout arearefs="callout_tests1co" id="callout_tests1"><para>
- </para>
- <important>
- <para>
- test
- </para>
- </important>
+ </para>
+ <para>
+ <calloutlist><callout arearefs="callout_tests1co" id="callout_tests1"><para>
+ </para>
+ <important>
     <para>
- </para></callout></calloutlist>
+ test
     </para>
+ </important>
+ <para>
+ </para></callout></calloutlist>
   </para>
   <para>
     Example 3:
   </para>
   <para>
- <para>
-
+
 <programlisting><phrase role="keyword">int</phrase> <phrase role="identifier">roll_die</phrase><phrase role="special">()</phrase> <phrase role="special">{</phrase>
   <!--quickbook-escape-prefix--><co id="callout_tests2co" linkends="callout_tests2" /><!--quickbook-escape-postfix--><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">variate_generator</phrase><phrase role="special">&lt;</phrase><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">mt19937</phrase><phrase role="special">&amp;,</phrase> <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="special">&gt;</phrase> <phrase role="identifier">die</phrase><phrase role="special">(</phrase><phrase role="identifier">gen</phrase><phrase role="special">,</phrase> <phrase role="identifier">dist</phrase><phrase role="special">);</phrase>
 <phrase role="special">}</phrase>
 
 </programlisting>
- </para>
- <para>
- <calloutlist><callout arearefs="callout_tests2co" id="callout_tests2"><para>
- </para>
- <important>
- <para>
- test
- </para>
- </important>
+ </para>
+ <para>
+ <calloutlist><callout arearefs="callout_tests2co" id="callout_tests2"><para>
+ </para>
+ <important>
     <para>
- </para></callout></calloutlist>
+ test
     </para>
+ </important>
+ <para>
+ </para></callout></calloutlist>
   </para>
 </article>

Modified: trunk/tools/quickbook/test/import.gold
==============================================================================
--- trunk/tools/quickbook/test/import.gold (original)
+++ trunk/tools/quickbook/test/import.gold 2010-07-06 19:10:10 EDT (Tue, 06 Jul 2010)
@@ -5,99 +5,93 @@
   <articleinfo>
   </articleinfo>
   <para>
- <para>
- This is the <emphasis role="bold"><emphasis>foo</emphasis></emphasis> function.
- </para>
- <para>
- This description can have paragraphs...
- </para>
- <itemizedlist>
- <listitem>
- <simpara>
- lists
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- etc.
- </simpara>
- </listitem>
- </itemizedlist>
- <para>
- And any quickbook block markup.
- </para>
- <para>
-
+ This is the <emphasis role="bold"><emphasis>foo</emphasis></emphasis> function.
+ </para>
+ <para>
+ This description can have paragraphs...
+ </para>
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ lists
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ etc.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ <para>
+ And any quickbook block markup.
+ </para>
+ <para>
+
 <programlisting><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">string</phrase> <phrase role="identifier">foo</phrase><phrase role="special">()</phrase>
 <phrase role="special">{</phrase>
     <phrase role="comment">// return 'em, foo man!
 </phrase> <phrase role="keyword">return</phrase> <phrase role="string">&quot;foo&quot;</phrase><phrase role="special">;</phrase>
 <phrase role="special">}</phrase>
 </programlisting>
- </para>
   </para>
   <para>
- <para>
- This is the Python <emphasis role="bold"><emphasis>foo</emphasis></emphasis>
- function.
- </para>
- <para>
- This description can have paragraphs...
- </para>
- <itemizedlist>
- <listitem>
- <simpara>
- lists
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- etc.
- </simpara>
- </listitem>
- </itemizedlist>
- <para>
- And any quickbook block markup.
- </para>
- <para>
-
+ This is the Python <emphasis role="bold"><emphasis>foo</emphasis></emphasis>
+ function.
+ </para>
+ <para>
+ This description can have paragraphs...
+ </para>
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ lists
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ etc.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ <para>
+ And any quickbook block markup.
+ </para>
+ <para>
+
 <programlisting><phrase role="keyword">def</phrase> <phrase role="identifier">foo</phrase><phrase role="special">():</phrase>
     <phrase role="comment"># return 'em, foo man!
 </phrase> <phrase role="keyword">return</phrase> <phrase role="string">&quot;foo&quot;</phrase>
 
 </programlisting>
- </para>
   </para>
   <para>
- <para>
- This is the C <emphasis role="bold"><emphasis>foo</emphasis></emphasis> function.
- </para>
- <para>
- This description can have paragraphs...
- </para>
- <itemizedlist>
- <listitem>
- <simpara>
- lists
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- etc.
- </simpara>
- </listitem>
- </itemizedlist>
- <para>
- And any quickbook block markup.
- </para>
- <para>
-
+ This is the C <emphasis role="bold"><emphasis>foo</emphasis></emphasis> function.
+ </para>
+ <para>
+ This description can have paragraphs...
+ </para>
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ lists
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ etc.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ <para>
+ And any quickbook block markup.
+ </para>
+ <para>
+
 <programlisting><phrase role="keyword">char</phrase><phrase role="special">*</phrase> <phrase role="identifier">foo</phrase><phrase role="special">()</phrase>
 <phrase role="special">{</phrase>
     <phrase role="comment">// return 'em, foo man!
 </phrase> <phrase role="keyword">return</phrase> <phrase role="string">&quot;foo&quot;</phrase><phrase role="special">;</phrase>
 <phrase role="special">}</phrase>
 </programlisting>
- </para>
   </para>
 </article>

Modified: trunk/tools/quickbook/test/quickbook-manual.gold
==============================================================================
--- trunk/tools/quickbook/test/quickbook-manual.gold (original)
+++ trunk/tools/quickbook/test/quickbook-manual.gold 2010-07-06 19:10:10 EDT (Tue, 06 Jul 2010)
@@ -2060,12 +2060,10 @@
           Which will expand to:
         </para>
         <para>
- <para>
- Hi, my name is James Bond. I am 39 years old. I am a Spy.
- </para>
- <para>
- Hi, my name is Santa Clause. I am 87 years old. I am a Big Red Fatso.
- </para>
+ Hi, my name is James Bond. I am 39 years old. I am a Spy.
+ </para>
+ <para>
+ Hi, my name is Santa Clause. I am 87 years old. I am a Big Red Fatso.
         </para>
         <caution>
           <para>
@@ -2689,52 +2687,48 @@
           And the result is:
         </para>
         <para>
- <para>
- This is the <emphasis role="bold"><emphasis>foo</emphasis></emphasis>
- function.
- </para>
- <para>
- This description can have paragraphs...
- </para>
- <itemizedlist>
- <listitem>
- <simpara>
- lists
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- etc.
- </simpara>
- </listitem>
- </itemizedlist>
- <para>
- And any quickbook block markup.
- </para>
- <para>
-
+ This is the <emphasis role="bold"><emphasis>foo</emphasis></emphasis> function.
+ </para>
+ <para>
+ This description can have paragraphs...
+ </para>
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ lists
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ etc.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ <para>
+ And any quickbook block markup.
+ </para>
+ <para>
+
 <programlisting><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">string</phrase> <phrase role="identifier">foo</phrase><phrase role="special">()</phrase>
 <phrase role="special">{</phrase>
     <phrase role="comment">// return 'em, foo man!
 </phrase> <phrase role="keyword">return</phrase> <phrase role="string">&quot;foo&quot;</phrase><phrase role="special">;</phrase>
 <phrase role="special">}</phrase>
 </programlisting>
- </para>
- <para>
- This is the <emphasis role="bold"><emphasis>bar</emphasis></emphasis>
- function
- </para>
- <para>
-
+ </para>
+ <para>
+ This is the <emphasis role="bold"><emphasis>bar</emphasis></emphasis> function
+ </para>
+ <para>
+
 <programlisting><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">string</phrase> <phrase role="identifier">bar</phrase><phrase role="special">()</phrase>
 <phrase role="special">{</phrase>
     <phrase role="comment">// return 'em, bar man!
 </phrase> <phrase role="keyword">return</phrase> <phrase role="string">&quot;bar&quot;</phrase><phrase role="special">;</phrase>
 <phrase role="special">}</phrase></programlisting>
- </para>
- <para>
- Some trailing text here
- </para>
+ </para>
+ <para>
+ Some trailing text here
         </para>
         <anchor id="quickbook.syntax.block.import.code_snippet_markup"/>
         <bridgehead renderas="sect5">
@@ -2798,18 +2792,16 @@
           for details. Example:
         </para>
         <para>
- <para>
-
+
 <programlisting><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">string</phrase> <phrase role="identifier">foo_bar</phrase><phrase role="special">()</phrase> <!--quickbook-escape-prefix--><co id="quickbook0co" linkends="quickbook0" /><!--quickbook-escape-postfix-->
 <phrase role="special">{</phrase>
     <phrase role="keyword">return</phrase> <phrase role="string">&quot;foo-bar&quot;</phrase><phrase role="special">;</phrase> <!--quickbook-escape-prefix--><co id="quickbook1co" linkends="quickbook1" /><!--quickbook-escape-postfix-->
 <phrase role="special">}</phrase>
 </programlisting>
- </para>
- <para>
- <calloutlist><callout arearefs="quickbook0co" id="quickbook0"><para> The <emphasis>Mythical</emphasis> FooBar. See <ulink url="http://en.wikipedia.org/wiki/Foobar">Foobar
- for details</ulink> </para></callout><callout arearefs="quickbook1co" id="quickbook1"><para> return 'em, foo-bar man! </para></callout></calloutlist>
- </para>
+ </para>
+ <para>
+ <calloutlist><callout arearefs="quickbook0co" id="quickbook0"><para> The <emphasis>Mythical</emphasis> FooBar. See <ulink url="http://en.wikipedia.org/wiki/Foobar">Foobar
+ for details</ulink> </para></callout><callout arearefs="quickbook1co" id="quickbook1"><para> return 'em, foo-bar man! </para></callout></calloutlist>
         </para>
         <para>
           Checkout <ulink url="../../test/stub.cpp">stub.cpp</ulink> to see the actual
@@ -3731,13 +3723,11 @@
               </para>
             </entry>
             <entry>
- <para>
-
+
 <programlisting><!--quickbook-escape-prefix--># one
 # two
 # three
 <!--quickbook-escape-postfix--></programlisting>
- </para>
             </entry>
             <entry>
               <para>
@@ -3753,13 +3743,11 @@
               </para>
             </entry>
             <entry>
- <para>
-
+
 <programlisting><!--quickbook-escape-prefix-->* one
 * two
 * three
 <!--quickbook-escape-postfix--></programlisting>
- </para>
             </entry>
             <entry>
               <para>
@@ -3996,14 +3984,12 @@
               </para>
             </entry>
             <entry>
- <para>
-
+
 <programlisting><!--quickbook-escape-prefix-->[table Title
 [[a][b][c]]
 [[a][b][c]]
 ]
 <!--quickbook-escape-postfix--></programlisting>
- </para>
             </entry>
             <entry>
               <para>
@@ -4018,14 +4004,12 @@
               </para>
             </entry>
             <entry>
- <para>
-
+
 <programlisting><!--quickbook-escape-prefix-->[variablelist Title
 [[a][b]]
 [[a][b]]
 ]
 <!--quickbook-escape-postfix--></programlisting>
- </para>
             </entry>
             <entry>
               <para>

Modified: trunk/tools/quickbook/test/template-section.gold
==============================================================================
--- trunk/tools/quickbook/test/template-section.gold (original)
+++ trunk/tools/quickbook/test/template-section.gold 2010-07-06 19:10:10 EDT (Tue, 06 Jul 2010)
@@ -6,22 +6,20 @@
   <articleinfo>
   </articleinfo>
   <para>
+ It's a pity if the whole template is wrapped in a paragraph.
+ </para>
+ <section id="section_in_a_template.test">
+ <title><link linkend="section_in_a_template.test">Test</link></title>
     <para>
- It's a pity if the whole template is wrapped in a paragraph.
+ Hello.
     </para>
- <section id="section_in_a_template.test">
- <title><link linkend="section_in_a_template.test">Test</link></title>
- <para>
- Hello.
- </para>
- <anchor id="section_in_a_template.test.just_to_test_id_generation"/>
- <bridgehead renderas="sect3">
- <link linkend="section_in_a_template.test.just_to_test_id_generation">Just
- to test id generation</link>
- </bridgehead>
- <para>
- Goodbye.
- </para>
- </section>
- </para>
+ <anchor id="section_in_a_template.test.just_to_test_id_generation"/>
+ <bridgehead renderas="sect3">
+ <link linkend="section_in_a_template.test.just_to_test_id_generation">Just
+ to test id generation</link>
+ </bridgehead>
+ <para>
+ Goodbye.
+ </para>
+ </section>
 </article>

Modified: trunk/tools/quickbook/test/templates.gold
==============================================================================
--- trunk/tools/quickbook/test/templates.gold (original)
+++ trunk/tools/quickbook/test/templates.gold 2010-07-06 19:10:10 EDT (Tue, 06 Jul 2010)
@@ -13,24 +13,18 @@
       foo baz
     </para>
     <para>
- <para>
- foo baz
- </para>
+ foo baz
     </para>
     <para>
- <para>
- This is a complete paragraph. kalamazoo kalamazoo kalamazoo kalamazoo kalamazoo
- kalamazoo kalamazoo kalamazoo kalamazoo.... blah blah blah......
- </para>
+ This is a complete paragraph. kalamazoo kalamazoo kalamazoo kalamazoo kalamazoo
+ kalamazoo kalamazoo kalamazoo kalamazoo.... blah blah blah......
     </para>
     <para>
       <hey>baz</hey>
     </para>
     <para>
- <para>
- This is a complete paragraph. madagascar madagascar madagascar madagascar
- madagascar madagascar madagascar madagascar madagascar.... blah blah blah......
- </para>
+ This is a complete paragraph. madagascar madagascar madagascar madagascar madagascar
+ madagascar madagascar madagascar madagascar.... blah blah blah......
     </para>
     <para>
       zoom peanut zoom
@@ -44,14 +38,12 @@
     <para>
       wxyz wxyz trail
     </para>
- <para>
-
+
 <programlisting><phrase role="keyword">int</phrase> <phrase role="identifier">main</phrase><phrase role="special">()</phrase>
 <phrase role="special">{</phrase>
     <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">cout</phrase> <phrase role="special">&lt;&lt;</phrase> &quot;Hello, World&quot; <phrase role="special">&lt;&lt;</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">endl</phrase><phrase role="special">;</phrase>
 <phrase role="special">}</phrase>
 </programlisting>
- </para>
     <para>
       x<superscript>2</superscript>
     </para>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk