Options class to reduce parameters to parse_document.

git-svn-id: http://svn.boost.org/svn/boost/trunk@84144 b8fc166d-592f-0410-95f2-cb63ce0dd405
Escape paths in dependency list - I want to make this optional.

git-svn-id: http://svn.boost.org/svn/boost/trunk@84145 b8fc166d-592f-0410-95f2-cb63ce0dd405
Make escaping dependent file names optional.

git-svn-id: http://svn.boost.org/svn/boost/trunk@84146 b8fc166d-592f-0410-95f2-cb63ce0dd405
Add comments to location finding code for indented blocks.

git-svn-id: http://svn.boost.org/svn/boost/trunk@84147 b8fc166d-592f-0410-95f2-cb63ce0dd405
Stop storing indentation in mapped source.

Instead work out the relevant position by finding the start of content
and working from there. It doesn't quite get it right if the position is
in the middle of the indentation, but that's fine.

I'm doing this because I want to be able to change the indentation if
it's a mix of tabs and spaces (which it currently messes up).

git-svn-id: http://svn.boost.org/svn/boost/trunk@84148 b8fc166d-592f-0410-95f2-cb63ce0dd405
Store start of unindented block, as the original start.

Was storing the position after the removed text, this meant that I had
to use a special case for the first line, but now the algorithm is smart
enough to get it right.

git-svn-id: http://svn.boost.org/svn/boost/trunk@84149 b8fc166d-592f-0410-95f2-cb63ce0dd405
Clean up mixed tabs/spaces when unindenting.

If the whitespace to be removed when unindenting a block is not
consistent, then replace all the indentation in that block with spaces
(i.e. expand tabs). This fixes some odd results that could happen, e.g.

    ....Line 1
    --->Line 2

(dots = spaces, arrow = tab) would become:

    ...Line 1
    Line 2

Because the first character was removed from each line. This now works
okay.

But I don't expand tabs when the whitespace that isn't removed is
inconsistent, which can have odd results, for example:

    ..Line 1
    ..->Line 2
    ......Line 3

Will just remove the first two spaces, resulting in:

    Line 1
    --->Line 2
    ....Line 3

This should be rare, as tabs after spaces are a bit odd. But maybe I
should convert to spaces more often. Perhaps when indentation is
inconsistent, or perhaps whenever a mixture of tabs and spaces are used,
or even always just do it.

git-svn-id: http://svn.boost.org/svn/boost/trunk@84150 b8fc166d-592f-0410-95f2-cb63ce0dd405
Only recognise preprocessor statements at the start of the line. Refs #8511.

git-svn-id: http://svn.boost.org/svn/boost/trunk@84151 b8fc166d-592f-0410-95f2-cb63ce0dd405
C++11 keywords. Refs #8541.

git-svn-id: http://svn.boost.org/svn/boost/trunk@84152 b8fc166d-592f-0410-95f2-cb63ce0dd405
Macros in docinfo blocks for 1.6. Refs #8543.

git-svn-id: http://svn.boost.org/svn/boost/trunk@84153 b8fc166d-592f-0410-95f2-cb63ce0dd405