$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r68609 - branches/quickbook-filenames/tools/quickbook/src
From: dnljms_at_[hidden]
Date: 2011-02-01 19:19:38
Author: danieljames
Date: 2011-02-01 19:19:24 EST (Tue, 01 Feb 2011)
New Revision: 68609
URL: http://svn.boost.org/trac/boost/changeset/68609
Log:
Nicer link break warnings.
Text files modified: 
   branches/quickbook-filenames/tools/quickbook/src/actions.cpp       |    43 +++++++++++++++++++++++++++++++++++---- 
   branches/quickbook-filenames/tools/quickbook/src/actions_class.cpp |     1                                         
   branches/quickbook-filenames/tools/quickbook/src/actions_class.hpp |     1                                         
   3 files changed, 40 insertions(+), 5 deletions(-)
Modified: branches/quickbook-filenames/tools/quickbook/src/actions.cpp
==============================================================================
--- branches/quickbook-filenames/tools/quickbook/src/actions.cpp	(original)
+++ branches/quickbook-filenames/tools/quickbook/src/actions.cpp	2011-02-01 19:19:24 EST (Tue, 01 Feb 2011)
@@ -51,9 +51,23 @@
         if(!actions.output_pre(phrase)) return;
 
         file_position const pos = first.get_position();
-        detail::outwarn(actions.filename, pos.line)
-            << "in column:" << pos.column << ", "
-            << "[br] and \\n are deprecated" << ".\n";
+        if(*first == '\\')
+        {
+            detail::outwarn(actions.filename, pos.line)
+                << "in column:" << pos.column << ", "
+                << "'\\n' is deprecated, pleases use '[br]' instead" << ".\n";
+        }
+
+        if(!actions.warned_about_breaks)
+        {
+            detail::outwarn(actions.filename, pos.line)
+                << "line breaks generate invalid boostbook"
+                << "    (will only note first occurrence)."
+                << "\n";
+
+            actions.warned_about_breaks = true;
+        }
+            
         phrase << break_mark;
     }
 
@@ -499,10 +513,18 @@
         }
     }
 
-    void image_action::operator()(iterator, iterator) const
+    void image_action::operator()(iterator first, iterator) const
     {
         if(!actions.output_pre(phrase)) return;
 
+        if(!fs::portable_posix_name(image_fileref))
+        {
+            detail::outwarn(actions.filename, first.get_position().line)
+                << "Image path isn't portable: "
+                << detail::utf8(image_fileref)
+                << std::endl;
+        }
+
         // Find the file basename and extension.
         //
         // Not using Boost.Filesystem because I want to stay in UTF-8.
@@ -511,6 +533,7 @@
         std::string::size_type pos;
         std::string stem,extension;
 
+        // TODO: This doesn't work for windows paths
         pos = image_fileref.rfind('/');
         stem = pos == std::string::npos ?
             image_fileref :
@@ -1320,7 +1343,17 @@
     {
         // Given a source file and the current filename, calculate the
         // path to the source file relative to the output directory.
-        fs::path path = detail::generic_to_path(std::string(first, last));
+
+        std::string path_text(first, last);
+        if(!fs::portable_posix_name(path_text))
+        {
+            detail::outwarn(actions.filename, first.get_position().line)
+                << "Path isn't portable: "
+                << detail::utf8(path_text)
+                << std::endl;
+        }
+        
+        fs::path path = detail::generic_to_path(path_text);
         if (!path.is_complete())
         {
             fs::path infile = fs::absolute(actions.filename).normalize();
Modified: branches/quickbook-filenames/tools/quickbook/src/actions_class.cpp
==============================================================================
--- branches/quickbook-filenames/tools/quickbook/src/actions_class.cpp	(original)
+++ branches/quickbook-filenames/tools/quickbook/src/actions_class.cpp	2011-02-01 19:19:24 EST (Tue, 01 Feb 2011)
@@ -76,6 +76,7 @@
         , saved_anchors()
         , no_eols(true)
         , suppress(false)
+        , warned_about_breaks(false)
 
     // actions
         , error(*this)
Modified: branches/quickbook-filenames/tools/quickbook/src/actions_class.hpp
==============================================================================
--- branches/quickbook-filenames/tools/quickbook/src/actions_class.hpp	(original)
+++ branches/quickbook-filenames/tools/quickbook/src/actions_class.hpp	2011-02-01 19:19:24 EST (Tue, 01 Feb 2011)
@@ -125,6 +125,7 @@
         string_list             saved_anchors;
         bool                    no_eols;
         bool                    suppress;
+        bool                    warned_about_breaks;
 
     // push/pop the states and the streams
         void copy_macros_for_write();