$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r84147 - trunk/tools/quickbook/src
From: dnljms_at_[hidden]
Date: 2013-05-05 09:45:22
Author: danieljames
Date: 2013-05-05 09:45:21 EDT (Sun, 05 May 2013)
New Revision: 84147
URL: http://svn.boost.org/trac/boost/changeset/84147
Log:
Add comments to location finding code for indented blocks.
Text files modified: 
   trunk/tools/quickbook/src/files.cpp |    15 +++++++++++++--                         
   1 files changed, 13 insertions(+), 2 deletions(-)
Modified: trunk/tools/quickbook/src/files.cpp
==============================================================================
--- trunk/tools/quickbook/src/files.cpp	(original)
+++ trunk/tools/quickbook/src/files.cpp	2013-05-05 09:45:21 EDT (Sun, 05 May 2013)
@@ -293,10 +293,16 @@
             switch (section->section_type) {
                 case mapped_file_section::normal:
                     return pos - section->our_pos + section->original_pos;
+
                 case mapped_file_section::empty:
                     return section->original_pos;
+
                 case mapped_file_section::indented: {
+                    // Will contain the start of the current line.
                     boost::string_ref::size_type our_line = section->our_pos;
+
+                    // Will contain the number of lines in the block before
+                    // the current line.
                     unsigned newline_count = 0;
 
                     for(boost::string_ref::size_type i = section->our_pos;
@@ -307,10 +313,13 @@
                             ++newline_count;
                         }
                     }
-                    
+
+                    // Simple case for the first line, as we already know the
+                    // corresponding position for the start of line.
                     if (newline_count == 0)
                         return pos - section->our_pos + section->original_pos;
 
+                    // The start of the line in the original source.
                     boost::string_ref::size_type original_line =
                         section->original_pos;
                     
@@ -319,7 +328,8 @@
                             --newline_count;
                         ++original_line;
                     }
-                    
+
+                    // Skip over indentation
                     for(unsigned i = section->indentation; i > 0; --i) {
                         if (original->source()[original_line] == '\n' ||
                             original->source()[original_line] == '\0') break;
@@ -331,6 +341,7 @@
                     assert(original->source()[original_line] ==
                         source()[our_line]);
 
+                    // Calculate the position
                     return original_line + (pos - our_line);
                 }
                 default: