$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r49242 - in branches/release: . libs/conversion libs/python/doc libs/python/doc/v2 libs/spirit/doc/lex libs/utility tools/inspect tools/quickbook tools/quickbook/detail
From: daniel_james_at_[hidden]
Date: 2008-10-10 05:29:22
Author: danieljames
Date: 2008-10-10 05:29:21 EDT (Fri, 10 Oct 2008)
New Revision: 49242
URL: http://svn.boost.org/trac/boost/changeset/49242
Log:
Merge quickbook workaround and fix some links.
Merged revisions 48987,49230-49231 via svnmerge from 
https://svn.boost.org/svn/boost/trunk
........
  r48987 | danieljames | 2008-09-28 13:21:39 +0100 (Sun, 28 Sep 2008) | 1 line
  
  Clean up some link errors.
........
  r49230 | danieljames | 2008-10-09 23:13:48 +0100 (Thu, 09 Oct 2008) | 1 line
  
  position_iterator is meant to be a forward iterator, so avoid using operator+ with it.
........
  r49231 | danieljames | 2008-10-09 23:14:14 +0100 (Thu, 09 Oct 2008) | 4 lines
  
  Work around the problems with window newlines in position_iterator. (I'm
  about to fix them, but this will get quickbook working immediately).
  
  Fixes #2155
........
Properties modified: 
   branches/release/   (props changed)
Text files modified: 
   branches/release/libs/conversion/lexical_cast.htm          |     6 +++---                                  
   branches/release/libs/python/doc/building.html             |     2 +-                                      
   branches/release/libs/python/doc/v2/CallPolicies.html      |     2 +-                                      
   branches/release/libs/spirit/doc/lex/lexer_quickstart3.qbk |     2 +-                                      
   branches/release/libs/spirit/doc/lex/tokens_values.qbk     |     2 +-                                      
   branches/release/libs/utility/operators.htm                |     2 +-                                      
   branches/release/tools/inspect/index.html                  |     6 +++---                                  
   branches/release/tools/quickbook/detail/template_stack.hpp |     3 ++-                                     
   branches/release/tools/quickbook/detail/utils.cpp          |    21 ++++++++++++++++++++-                   
   branches/release/tools/quickbook/index.html                |     4 ++--                                    
   10 files changed, 35 insertions(+), 15 deletions(-)
Modified: branches/release/libs/conversion/lexical_cast.htm
==============================================================================
--- branches/release/libs/conversion/lexical_cast.htm	(original)
+++ branches/release/libs/conversion/lexical_cast.htm	2008-10-10 05:29:21 EDT (Fri, 10 Oct 2008)
@@ -81,7 +81,7 @@
                         conversions, such as where precision or formatting need tighter control than is 
                         offered by the default behavior of <code>lexical_cast</code>, the conventional <code>
                                 stringstream</code> approach is recommended. Where the conversions are 
-			numeric to numeric, <code>numeric_cast</code>
+			numeric to numeric, <code>numeric_cast</code>
                         may offer more reasonable behavior than <code>lexical_cast</code>.
                 <p>
                         For a good discussion of the options and issues involved in string-based 
@@ -202,9 +202,9 @@
     Lexical conversion to these types is simply reading a byte from source but since the source has
     more than one byte, the exception is thrown.
     <p>Please use other integer types such as <code>int</code> or <code>short int</code>. If bounds checking
-    is important, you can also call numeric_cast:
+    is important, you can also call numeric_cast:
 
-<pre>numeric_cast<int8_t>(lexical_cast<int>("127"));</pre>
+<pre>numeric_cast<int8_t>(lexical_cast<int>("127"));</pre>
 
     <p> Q: What does <code>lexical_cast<std::string></code> of an <code>int8_t</code> or <code>uint8_t</code> not do what I expect?
     <br> A: As above, note that <code>int8_t</code> and <code>uint8_t</code> are actually chars and are formatted as such.  To avoid this, cast to an integer type first:
Modified: branches/release/libs/python/doc/building.html
==============================================================================
--- branches/release/libs/python/doc/building.html	(original)
+++ branches/release/libs/python/doc/building.html	2008-10-10 05:29:21 EDT (Fri, 10 Oct 2008)
@@ -9,7 +9,7 @@
 </head>
 <body>
 <div class="document" id="logo-boost-python-build-and-test-howto">
-<h1 class="title"><a class="reference external" href="../index.htm"><img alt="Boost C++ Libraries:" class="boost-logo" src="../../../boost.png" /></a> Boost.Python Build and Test HOWTO</h1>
+<h1 class="title"><a class="reference external" href="../index.html"><img alt="Boost C++ Libraries:" class="boost-logo" src="../../../boost.png" /></a> Boost.Python Build and Test HOWTO</h1>
 
 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
Modified: branches/release/libs/python/doc/v2/CallPolicies.html
==============================================================================
--- branches/release/libs/python/doc/v2/CallPolicies.html	(original)
+++ branches/release/libs/python/doc/v2/CallPolicies.html	2008-10-10 05:29:21 EDT (Fri, 10 Oct 2008)
@@ -137,7 +137,7 @@
         <td valign="top"><code>P::extract_return_type</code></td>
 
         <td>A model of <a href=
-          "../../../doc/refmanual/metafunction.html">Metafunction</a>.</td>
+          "../../../mpl/doc/refmanual/metafunction.html">Metafunction</a>.</td>
 
         <td>An MPL unary <a href=
           "../../../mpl/doc/refmanual/metafunction.html">Metafunction</a> used extract the return type from a given signature. By default it is derived from mpl::front.</td>
Modified: branches/release/libs/spirit/doc/lex/lexer_quickstart3.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/lexer_quickstart3.qbk	(original)
+++ branches/release/libs/spirit/doc/lex/lexer_quickstart3.qbk	2008-10-10 05:29:21 EDT (Fri, 10 Oct 2008)
@@ -20,7 +20,7 @@
 library. The [link spirit.lex.flowcontrol picture] below shows the common 
 flow control implemented while parsing combined with lexical analysis.
 
-[fig ./images/FlowOfControl.png..The common flow control implemented while parsing combined with lexical analysis..spirit.lex.flowcontrol]
+[fig ./images/flowofcontrol.png..The common flow control implemented while parsing combined with lexical analysis..spirit.lex.flowcontrol]
 
 Another problem related to the integration of the lexical analyzer with the 
 parser was to find a way how the defined tokens syntactically could be blended
Modified: branches/release/libs/spirit/doc/lex/tokens_values.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/tokens_values.qbk	(original)
+++ branches/release/libs/spirit/doc/lex/tokens_values.qbk	2008-10-10 05:29:21 EDT (Fri, 10 Oct 2008)
@@ -56,7 +56,7 @@
 was matched in. The following [link spirit.lex.tokenstructure figure] shows the 
 schematic structure of a token.
 
-[fig ./images/TokenStructure.png..The structure of a token..spirit.lex.tokenstructure]
+[fig ./images/tokenstructure.png..The structure of a token..spirit.lex.tokenstructure]
 
 The token value and the token state may be omitted for optimization reasons, 
 avoiding the token to carry more data than actually required. This 
Modified: branches/release/libs/utility/operators.htm
==============================================================================
--- branches/release/libs/utility/operators.htm	(original)
+++ branches/release/libs/utility/operators.htm	2008-10-10 05:29:21 EDT (Fri, 10 Oct 2008)
@@ -2022,7 +2022,7 @@
 </pre>
     </blockquote>
 
-    <p>Check the <a href="../../status/compiler_status.html">compiler status
+    <p>Check the <a href="http://www.boost.org/development/testing.html">compiler status
     report</a> for the test results with selected platforms.</p>
     <hr>
 
Modified: branches/release/tools/inspect/index.html
==============================================================================
--- branches/release/tools/inspect/index.html	(original)
+++ branches/release/tools/inspect/index.html	2008-10-10 05:29:21 EDT (Fri, 10 Oct 2008)
@@ -33,8 +33,8 @@
   inspect.cpp</a></li>
   <li>link_check.hpp and <a href="link_check.cpp">
   link_check.cpp</a></li>
-  <li>long_name_check.hpp and
-  long_name_check.cpp</li>
+  <li>path_name_check.hpp and
+  path_name_check.cpp</li>
   <li>tab_check.hpp and <a href="tab_check.cpp">
   tab_check.cpp</a></li>
 </ul>
@@ -56,4 +56,4 @@
 
 </body>
 
-</html>
\ No newline at end of file
+</html>
Modified: branches/release/tools/quickbook/detail/template_stack.hpp
==============================================================================
--- branches/release/tools/quickbook/detail/template_stack.hpp	(original)
+++ branches/release/tools/quickbook/detail/template_stack.hpp	2008-10-10 05:29:21 EDT (Fri, 10 Oct 2008)
@@ -17,6 +17,7 @@
 #include <boost/spirit/iterator/position_iterator.hpp>
 #include <boost/spirit/utility/functor_parser.hpp>
 #include <boost/spirit/symbols/symbols.hpp>
+#include <boost/next_prior.hpp>
 
 namespace quickbook
 {
@@ -63,7 +64,7 @@
                     scan.first = f;
                 }
                 if (len >= 0)
-                    scan.first = f+len;
+                    scan.first = boost::next(f, len);
                 return len;
             }
             
Modified: branches/release/tools/quickbook/detail/utils.cpp
==============================================================================
--- branches/release/tools/quickbook/detail/utils.cpp	(original)
+++ branches/release/tools/quickbook/detail/utils.cpp	2008-10-10 05:29:21 EDT (Fri, 10 Oct 2008)
@@ -181,6 +181,25 @@
         }
     }
 
+    // Copy a string, converting mac and windows style newlines to unix
+    // newlines.
+
+    template <class InputIterator, class OutputIterator>
+    void normalize_newlines(InputIterator begin, InputIterator end,
+            OutputIterator out)
+    {
+        while(begin != end) {
+            if(*begin == '\r') {
+                *out++ = '\n';
+                ++begin;
+                if(begin != end && *begin == '\n') ++begin;
+            }
+            else {
+                *out++ = *begin++;
+            }
+        }
+    }
+
     int load(std::string const& filename, std::string& storage)
     {
         using std::cerr;
@@ -200,7 +219,7 @@
         // Turn off white space skipping on the stream
         in.unsetf(ios::skipws);
 
-        std::copy(
+        normalize_newlines(
             istream_iterator<char>(in),
             istream_iterator<char>(),
             std::back_inserter(storage));
Modified: branches/release/tools/quickbook/index.html
==============================================================================
--- branches/release/tools/quickbook/index.html	(original)
+++ branches/release/tools/quickbook/index.html	2008-10-10 05:29:21 EDT (Fri, 10 Oct 2008)
@@ -1,10 +1,10 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
   <head>
-    <meta http-equiv="refresh" content="0; URL=doc/html/index.html">
+    <meta http-equiv="refresh" content="0; URL=../../doc/html/quickbook.html">
   </head>
   <body>
     Automatic redirection failed, click this 
-    link
+    link
   </body>
 </html>