Update of /cvsroot/boost/boost/tools/quickbook/detail
In directory
sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv27189/tools/quickbook_backend/detail
Modified Files:
Tag: QUICKBOOK_BACKEND
actions.cpp actions.hpp actions_class.cpp actions_class.hpp
markups.hpp utils.cpp
Log Message:
Index: actions.cpp
===================================================================
RCS file: /cvsroot/boost/boost/tools/quickbook/detail/actions.cpp,v
retrieving revision 1.49.2.3
retrieving revision 1.49.2.4
diff -u -d -r1.49.2.3 -r1.49.2.4
--- actions.cpp 17 Apr 2007 00:42:01 -0000 1.49.2.3
+++ actions.cpp 1 Jul 2007 04:52:19 -0000 1.49.2.4
@@ -23,13 +23,48 @@
namespace quickbook
{
+
+ inline collector & backend_action::out() const
+ {
+ return out_ ? *out_ : actions.out;
+ }
+
+ inline collector & backend_action::phrase() const
+ {
+ return phrase_ ? *phrase_ : actions.phrase;
+ }
+
+ inline std::string backend_action::pop_phrase() const
+ {
+ std::string str;
+ phrase().swap(str);
+ return str;
+ }
+
+ inline std::string backend_action::pop_template_arg() const
+ {
+ std::string str = actions.template_info.front();
+ actions.template_info.erase(actions.template_info.begin());
+ return str;
+ }
+
+ void backend_action::operator()(iterator first, iterator last) const
+ {
+ actions.template_info.insert(
+ actions.template_info.begin(),
+ this->actions.backend_tag+"_"+this->action_name);
+ do_template_action::operator()(first,last);
+ if (out_) { *out_ << actions.phrase.str(); actions.phrase.clear(); }
+ if (phrase_) { *phrase_ << actions.phrase.str();
actions.phrase.clear(); }
+ }
+
// Handles line-breaks (DEPRECATED!!!)
void break_action::operator()(iterator first, iterator) const
{
boost::spirit::file_position const pos = first.get_position();
detail::outwarn(pos.file,pos.line) << "in column:" << pos.column << ",
"
<< "[br] and \\n are deprecated" << ".\n";
- phrase << break_mark;
+ backend_action::operator()();
}
void error_action::operator()(iterator first, iterator /*last*/) const
@@ -41,63 +76,75 @@
void phrase_action::operator()(iterator first, iterator last) const
{
- std::string str;
- phrase.swap(str);
- out << pre << str << post;
+ std::string str = pop_phrase();
+
+ backend_action::operator()(boost::assign::list_of
+ ("'''"+str+"'''")
+ //~ (str)
+ );
+
+ out() << actions.phrase.str();
+ actions.phrase.clear();
}
void header_action::operator()(iterator first, iterator last) const
{
- std::string str;
- phrase.swap(str);
+ std::string str = pop_phrase();
if (qbk_version_n < 103) // version 1.2 and below
{
- out << "<anchor id=\""
- << section_id << '.'
- << detail::make_identifier(str.begin(), str.end())
- << "\" />"
- << pre << str << post
- ;
+ std::string anchor =
+ actions.section_id + '.' +
+ detail::make_identifier(str.begin(), str.end());
+
+
backend_action(this->action_name+"_1_0",actions)(boost::assign::list_of
+ (str)
+ (anchor)
+ (section_level)
+ );
}
else // version 1.3 and above
{
std::string anchor =
- library_id + '.' + qualified_section_id + '.' +
+ actions.doc_id + '.' + actions.qualified_section_id + '.' +
detail::make_identifier(str.begin(), str.end());
- out << "<anchor id=\"" << anchor << "\"/>"
- << pre
- << "<link linkend=\"" << anchor << "\">"
- << str
- << "</link>"
- << post
- ;
+ backend_action::operator()(boost::assign::list_of
+ (str)
+ (anchor)
+ (section_level)
+ );
}
+
+ out() << phrase().str();
+ phrase().clear();
}
void generic_header_action::operator()(iterator first, iterator last) const
{
- int level_ = section_level + 2; // section_level is zero-based. We
need to use a
- // 0ne-based heading which is one
greater
- // than the current. Thus:
section_level + 2.
- if (level_ > 6) // The max is h6, clip it if it
goes
- level_ = 6; // further than that
- std::string str;
- phrase.swap(str);
-
+ // section_level is zero-based. We need to use a
+ // 0ne-based heading which is one greater
+ // than the current. Thus: section_level + 2.
+ int level_ = actions.section_level + 2;
+
+ // The max is h6, clip it if it goes
+ // further than that
+ if (level_ > 6) { level_ = 6; }
+
+ std::string str = pop_phrase();
+
std::string anchor =
- library_id + '.' + qualified_section_id + '.' +
+ actions.doc_id + '.' + actions.qualified_section_id + '.' +
detail::make_identifier(str.begin(), str.end());
-
- out
- << "<anchor id=\"" << anchor << "\"/>"
- << "<bridgehead renderas=\"sect" << level_ << "\">"
- << "<link linkend=\"" << anchor << "\">"
- << str
- << "</link>"
- << "</bridgehead>"
- ;
+
+ backend_action::operator()(boost::assign::list_of
+ (str)
+ (anchor)
+ (boost::lexical_cast<std::string>(level_))
+ );
+
+ out() << phrase().str();
+ phrase().clear();
}
void simple_phrase_action::operator()(iterator first, iterator last) const
@@ -173,7 +220,7 @@
std::string str;
out.swap(str);
- std::string::size_type pos = str.rfind("\n</listitem>");
+ std::string::size_type pos = str.rfind("</listitem>");
BOOST_ASSERT(pos <= str.size());
str.erase(str.begin()+pos, str.end());
out << str;
@@ -347,22 +394,13 @@
void image_action::operator()(iterator first, iterator last) const
{
- fs::path const img_path(std::string(first, last));
-
- phrase << "<inlinemediaobject>";
-
- phrase << "<imageobject><imagedata fileref=\"";
- while (first != last)
- detail::print_char(*first++, phrase.get());
- phrase << "\"></imagedata></imageobject>";
-
- // Also add a textobject -- use the basename of the image file.
- // This will mean we get "alt" attributes of the HTML img.
- phrase << "<textobject><phrase>";
- detail::print_string(fs::basename(img_path), phrase.get());
- phrase << "</phrase></textobject>";
-
- phrase << "</inlinemediaobject>";
+ std::string str(pop_template_arg());
+ std::string alt(fs::basename(str));
+
+ backend_action::operator()(boost::assign::list_of
+ (str)
+ (alt)
+ );
}
void macro_identifier_action::operator()(iterator first, iterator last)
const
@@ -434,9 +472,21 @@
<< template_info.size()-1
<< " argument(s) instead."
<< std::endl;
+ for (std::size_t i = 0; i < template_info.size(); ++i)
+ {
+ detail::outerr(pos.file,pos.line)
+ << "arg #" << i
+ << " == '" << template_info[i] << "'" << std::endl;
+ }
return false;
}
}
+ //~ for (std::size_t i = 0; i < template_info.size(); ++i)
+ //~ {
+ //~ detail::outwarn(pos.file,pos.line)
+ //~ << "arg #" << i
+ //~ << " == '" << template_info[i] << "'" << std::endl;
+ //~ }
return true;
}
@@ -1014,10 +1064,10 @@
void xml_author::operator()(std::pair<std::string, std::string> const&
author) const
{
- out << " <author>\n"
- << " <firstname>" << author.first << "</firstname>\n"
- << " <surname>" << author.second << "</surname>\n"
- << " </author>\n";
+ out << " <author>\n"
+ << " <firstname>" << author.first << "</firstname>\n"
+ << " <surname>" << author.second << "</surname>\n"
+ << " </author>\n";
}
void xml_year::operator()(std::string const &year) const
@@ -1084,21 +1134,23 @@
(actions.doc_last_revision)
);
+ backend_action("doc_info_author_pre",actions)();
for_each(
actions.doc_authors.begin()
, actions.doc_authors.end()
, backend_action("doc_info_author",actions));
+ backend_action("doc_info_author_post",actions)();
if (!actions.doc_copyright_holder.empty())
{
-
backend_action("doc_info_copyright_pre",actions)(std::list<std::string>());
+ backend_action("doc_info_copyright_pre",actions)();
for_each(
actions.doc_copyright_years.begin()
, actions.doc_copyright_years.end()
, backend_action("doc_info_copyright_year",actions));
-
backend_action("doc_info_copyright_post",actions)(std::list<std::string>());
+ backend_action("doc_info_copyright_post",actions)();
}
if (qbk_version_n < 103)
@@ -1173,12 +1225,4 @@
{
phrase.swap(out);
}
-
- void backend_action::operator()(iterator first, iterator last) const
- {
- actions.template_info.insert(
- actions.template_info.begin(),
- this->actions.backend_tag+"_"+this->action_name);
- do_template_action::operator()(first,last);
- }
}
Index: actions.hpp
===================================================================
RCS file: /cvsroot/boost/boost/tools/quickbook/detail/actions.hpp,v
retrieving revision 1.36.2.3
retrieving revision 1.36.2.4
diff -u -d -r1.36.2.3 -r1.36.2.4
--- actions.hpp 17 Apr 2007 00:42:01 -0000 1.36.2.3
+++ actions.hpp 1 Jul 2007 04:52:19 -0000 1.36.2.4
@@ -25,6 +25,8 @@
#include <boost/utility/enable_if.hpp>
#include <boost/mpl/has_xxx.hpp>
#include <boost/mpl/logical.hpp>
+#include <boost/optional.hpp>
+#include <boost/none.hpp>
#include "../syntax_highlight.hpp"
#include "./collector.hpp"
#include "./template_stack.hpp"
@@ -60,88 +62,6 @@
void operator()(iterator first, iterator /*last*/) const;
};
- struct phrase_action
- {
- // blurb, blockquote, preformatted, list_item,
- // unordered_list, ordered_list
-
- phrase_action(
- collector& out,
- collector& phrase,
- std::string const& pre,
- std::string const& post)
- : out(out)
- , phrase(phrase)
- , pre(pre)
- , post(post) {}
-
- void operator()(iterator first, iterator last) const;
-
- collector& out;
- collector& phrase;
- std::string pre;
- std::string post;
- };
-
- struct header_action
- {
- // Handles paragraph, h1, h2, h3, h4, h5, h6,
-
- header_action(
- collector& out,
- collector& phrase,
- std::string const& library_id,
- std::string const& section_id,
- std::string const& qualified_section_id,
- std::string const& pre,
- std::string const& post)
- : out(out)
- , phrase(phrase)
- , library_id(library_id)
- , section_id(section_id)
- , qualified_section_id(qualified_section_id)
- , pre(pre)
- , post(post) {}
-
- void operator()(iterator first, iterator last) const;
-
- collector& out;
- collector& phrase;
- std::string const& library_id;
- std::string const& section_id;
- std::string const& qualified_section_id;
- std::string pre;
- std::string post;
- };
-
- struct generic_header_action
- {
- // Handles h
-
- generic_header_action(
- collector& out,
- collector& phrase,
- std::string const& library_id,
- std::string const& section_id,
- std::string const& qualified_section_id,
- int const& section_level)
- : out(out)
- , phrase(phrase)
- , library_id(library_id)
- , section_id(section_id)
- , qualified_section_id(qualified_section_id)
- , section_level(section_level) {}
-
- void operator()(iterator first, iterator last) const;
-
- collector& out;
- collector& phrase;
- std::string const& library_id;
- std::string const& section_id;
- std::string const& qualified_section_id;
- int const& section_level;
- };
-
struct simple_phrase_action
{
// Handles simple text formats
@@ -411,18 +331,6 @@
collector& phrase;
};
- struct image_action
- {
- // Handles inline images
-
- image_action(collector& phrase)
- : phrase(phrase) {}
-
- void operator()(iterator first, iterator last) const;
-
- collector& phrase;
- };
-
struct markup_action
{
// A generic markup action
@@ -446,18 +354,6 @@
std::string str;
};
- struct break_action
- {
- // Handles line-breaks (DEPRECATED!!!)
-
- break_action(collector& phrase)
- : phrase(phrase) {}
-
- void operator()(iterator f, iterator) const;
-
- collector& phrase;
- };
-
struct macro_identifier_action
{
// Handles macro identifiers
@@ -707,6 +603,7 @@
BOOST_MPL_HAS_XXX_TRAIT_DEF(traits_type)
}
+ /// Action which calls a back end template to generate output.
struct backend_action : protected do_template_action
{
backend_action(
@@ -718,6 +615,20 @@
{
}
+ backend_action(
+ std::string const & action_name,
+ quickbook::actions & actions,
+ boost::optional<collector &> const & out,
+ boost::optional<collector &> const & phrase
+ )
+ : do_template_action(actions)
+ , action_name(action_name)
+ , out_(out)
+ , phrase_(phrase)
+ {
+ BOOST_ASSERT( ! (out_ && phrase_) );
+ }
+
void operator()(iterator first, iterator last) const;
template <typename C>
@@ -734,10 +645,6 @@
args.begin(),
args.end()
);
- actions.template_info.insert(
- actions.template_info.begin(),
- this->actions.backend_tag+"_"+this->action_name
- );
typedef position_iterator<std::string::const_iterator>
iterator_type;
std::string nothing;
iterator_type first(
@@ -745,7 +652,7 @@
actions.filename.native_file_string().c_str());
iterator_type last(
nothing.end(), nothing.end());
- do_template_action::operator()(first,last);
+ (*this)(first,last);
}
inline void operator()(std::pair<std::string,std::string> const &
args) const
@@ -757,8 +664,105 @@
{
(*this)(boost::assign::list_of(arg));
}
+
+ inline void operator()() const
+ {
+ (*this)(std::list<std::string>());
+ }
std::string action_name;
+ boost::optional<collector &> out_;
+ boost::optional<collector &> phrase_;
+
+ collector & out() const;
+
+ collector & phrase() const;
+
+ std::string pop_phrase() const;
+
+ std::string pop_template_arg() const;
+ };
+
+ struct generic_header_action : backend_action
+ {
+ // Handles h
+
+ generic_header_action(
+ std::string const & action_name,
+ quickbook::actions & actions
+ )
+ : backend_action(action_name,actions)
+ {
+ }
+
+ void operator()(iterator first, iterator last) const;
+ };
+
+ struct header_action : backend_action
+ {
+ // Handles h1, h2, h3, h4, h5, h6,
+
+ header_action(
+ std::string const & action_name,
+ std::string const & section_level,
+ quickbook::actions & actions
+ )
+ : backend_action(action_name,actions)
+ , section_level(section_level)
+ {
+ }
+
+ void operator()(iterator first, iterator last) const;
+
+ std::string section_level;
+ };
+
+ struct break_action : backend_action
+ {
+ // Handles line-breaks (DEPRECATED!!!)
+
+ break_action(
+ std::string const & action_name,
+ quickbook::actions & actions
+ )
+ : backend_action(action_name,actions)
+ {
+ }
+
+ void operator()(iterator f, iterator) const;
+ };
+
+ struct image_action : backend_action
+ {
+ // Handles inline images
+
+ image_action(
+ std::string const & action_name,
+ quickbook::actions & actions
+ )
+ : backend_action(action_name,actions)
+ {
+ }
+
+ void operator()(iterator first, iterator last) const;
+ };
+
+ struct phrase_action : backend_action
+ {
+ // blurb, blockquote, preformatted, list_item,
+ // unordered_list, ordered_list
+
+ phrase_action(
+ std::string const & action_name,
+ quickbook::actions & actions,
+ boost::optional<collector &> const & out,
+ boost::optional<collector &> const & phrase
+ )
+ : backend_action(action_name,actions,out,phrase)
+ {
+ }
+
+ void operator()(iterator first, iterator last) const;
};
}
Index: actions_class.cpp
===================================================================
RCS file: /cvsroot/boost/boost/tools/quickbook/detail/actions_class.cpp,v
retrieving revision 1.9.2.3
retrieving revision 1.9.2.4
diff -u -d -r1.9.2.3 -r1.9.2.4
--- actions_class.cpp 17 Apr 2007 00:42:01 -0000 1.9.2.3
+++ actions_class.cpp 1 Jul 2007 04:52:19 -0000 1.9.2.4
@@ -78,31 +78,31 @@
, code(out, phrase, temp, source_mode, macro, *this)
, code_block(phrase, phrase, temp, source_mode, macro, *this)
, inline_code(phrase, temp, source_mode, macro, *this)
- , paragraph(out, phrase, paragraph_pre, paragraph_post)
- , inside_paragraph(temp_para, phrase, paragraph_pre, paragraph_post)
- , 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)
- , h3(out, phrase, doc_id, section_id, qualified_section_id, h3_pre,
h3_post)
- , h4(out, phrase, doc_id, section_id, qualified_section_id, h4_pre,
h4_post)
- , h5(out, phrase, doc_id, section_id, qualified_section_id, h5_pre,
h5_post)
- , h6(out, phrase, doc_id, section_id, qualified_section_id, h6_pre,
h6_post)
+ , paragraph("paragraph",*this,boost::none,boost::none)
+ , inside_paragraph("paragraph",*this,boost::none,temp_para)
+ , h("heading",*this)
+ , h1("heading","1",*this)
+ , h2("heading","2",*this)
+ , h3("heading","3",*this)
+ , h4("heading","4",*this)
+ , h5("heading","5",*this)
+ , h6("heading","6",*this)
, hr(out, hr_)
- , blurb(out, temp_para, blurb_pre, blurb_post)
- , blockquote(out, temp_para, blockquote_pre, blockquote_post)
- , preformatted(out, phrase, preformatted_pre, preformatted_post)
- , warning(out, temp_para, warning_pre, warning_post)
- , caution(out, temp_para, caution_pre, caution_post)
- , important(out, temp_para, important_pre, important_post)
- , note(out, temp_para, note_pre, note_post)
- , tip(out, temp_para, tip_pre, tip_post)
+ , blurb("blurb",*this,boost::none,temp_para)
+ , blockquote("blockquote",*this,boost::none,temp_para)
+ , preformatted("preformatted",*this,boost::none,boost::none)
+ , warning("warning",*this,boost::none,temp_para)
+ , caution("caution",*this,boost::none,temp_para)
+ , important("important",*this,boost::none,temp_para)
+ , note("note",*this,boost::none,temp_para)
+ , tip("tip",*this,boost::none,temp_para)
, plain_char(phrase)
, raw_char(phrase)
, image("image",*this)
, list(out, list_buffer, list_indent, list_marks)
, list_format(list_buffer, list_indent, list_marks)
- , list_item(list_buffer, phrase, list_item_pre, list_item_post)
+ , list_item("list_item",*this,list_buffer,boost::none)
, funcref_pre(phrase, funcref_pre_)
, funcref_post(phrase, funcref_post_)
@@ -150,7 +150,7 @@
, start_varlistitem(phrase, start_varlistitem_)
, end_varlistitem(phrase, end_varlistitem_)
- , break_(phrase)
+ , break_("break",*this)
, macro_identifier(*this)
, macro_definition(*this)
, do_macro(phrase)
Index: actions_class.hpp
===================================================================
RCS file: /cvsroot/boost/boost/tools/quickbook/detail/actions_class.hpp,v
retrieving revision 1.9.2.3
retrieving revision 1.9.2.4
diff -u -d -r1.9.2.3 -r1.9.2.4
--- actions_class.hpp 17 Apr 2007 00:42:01 -0000 1.9.2.3
+++ actions_class.hpp 1 Jul 2007 04:52:19 -0000 1.9.2.4
@@ -121,7 +121,7 @@
phrase_action warning, caution, important, note, tip;
plain_char_action plain_char;
raw_char_action raw_char;
- backend_action image;
+ image_action image;
list_action list;
list_format_action list_format;
Index: markups.hpp
===================================================================
RCS file: /cvsroot/boost/boost/tools/quickbook/detail/markups.hpp,v
retrieving revision 1.6
retrieving revision 1.6.2.1
diff -u -d -r1.6 -r1.6.2.1
--- markups.hpp 27 Feb 2007 15:22:15 -0000 1.6
+++ markups.hpp 1 Jul 2007 04:52:19 -0000 1.6.2.1
@@ -14,39 +14,39 @@
{
const char* comment_pre = "<!--";
const char* comment_post = "-->";
- const char* paragraph_pre = "<para>\n";
- const char* paragraph_post = "</para>\n";
- const char* h1_pre = "<bridgehead renderas=\"sect1\">";
- const char* h1_post = "</bridgehead>";
- const char* h2_pre = "<bridgehead renderas=\"sect2\">";
- const char* h2_post = "</bridgehead>";
- const char* h3_pre = "<bridgehead renderas=\"sect3\">";
- const char* h3_post = "</bridgehead>";
- const char* h4_pre = "<bridgehead renderas=\"sect4\">";
- const char* h4_post = "</bridgehead>";
- const char* h5_pre = "<bridgehead renderas=\"sect5\">";
- const char* h5_post = "</bridgehead>";
- const char* h6_pre = "<bridgehead renderas=\"sect6\">";
- const char* h6_post = "</bridgehead>";
+ //~ const char* paragraph_pre = "<para>\n";
+ //~ const char* paragraph_post = "</para>\n";
+ //~ const char* h1_pre = "<bridgehead renderas=\"sect1\">";
+ //~ const char* h1_post = "</bridgehead>";
+ //~ const char* h2_pre = "<bridgehead renderas=\"sect2\">";
+ //~ const char* h2_post = "</bridgehead>";
+ //~ const char* h3_pre = "<bridgehead renderas=\"sect3\">";
+ //~ const char* h3_post = "</bridgehead>";
+ //~ const char* h4_pre = "<bridgehead renderas=\"sect4\">";
+ //~ const char* h4_post = "</bridgehead>";
+ //~ const char* h5_pre = "<bridgehead renderas=\"sect5\">";
+ //~ const char* h5_post = "</bridgehead>";
+ //~ const char* h6_pre = "<bridgehead renderas=\"sect6\">";
+ //~ const char* h6_post = "</bridgehead>";
const char* hr_ = "<para/>";
- const char* blurb_pre = "<sidebar role=\"blurb\">\n";
- const char* blurb_post = "</sidebar>\n";
- const char* blockquote_pre = "<blockquote><para>";
- const char* blockquote_post = "</para></blockquote>";
- const char* preformatted_pre = "<programlisting>";
- const char* preformatted_post = "</programlisting>";
- const char* warning_pre = "<warning><para>";
- const char* warning_post = "</para></warning>";
- const char* caution_pre = "<caution><para>";
- const char* caution_post = "</para></caution>";
- const char* important_pre = "<important><para>";
- const char* important_post = "</para></important>";
- const char* note_pre = "<note><para>";
- const char* note_post = "</para></note>";
- const char* tip_pre = "<tip><para>";
- const char* tip_post = "</para></tip>";
- const char* list_item_pre = "<listitem>\n";
- const char* list_item_post = "\n</listitem>";
+ //~ const char* blurb_pre = "<sidebar role=\"blurb\">\n";
+ //~ const char* blurb_post = "</sidebar>\n";
+ //~ const char* blockquote_pre = "<blockquote><para>";
+ //~ const char* blockquote_post = "</para></blockquote>";
+ //~ const char* preformatted_pre = "<programlisting>";
+ //~ const char* preformatted_post = "</programlisting>";
+ //~ const char* warning_pre = "<warning><para>";
+ //~ const char* warning_post = "</para></warning>";
+ //~ const char* caution_pre = "<caution><para>";
+ //~ const char* caution_post = "</para></caution>";
+ //~ const char* important_pre = "<important><para>";
+ //~ const char* important_post = "</para></important>";
+ //~ const char* note_pre = "<note><para>";
+ //~ const char* note_post = "</para></note>";
+ //~ const char* tip_pre = "<tip><para>";
+ //~ const char* tip_post = "</para></tip>";
+ //~ const char* list_item_pre = "<listitem>\n";
+ //~ const char* list_item_post = "\n</listitem>";
const char* bold_pre_ = "<emphasis role=\"bold\">";
const char* bold_post_ = "</emphasis>";
const char* italic_pre_ = "<emphasis>";
@@ -59,7 +59,7 @@
const char* strikethrough_post_ = "</emphasis>";
const char* quote_pre_ = "<quote>";
const char* quote_post_ = "</quote>";
- const char* break_mark = "<sbr/>\n";
+ //~ const char* break_mark = "<sbr/>\n";
const char* url_pre_ = "<ulink url=\"";
const char* url_post_ = "</ulink>";
const char* link_pre_ = "<link linkend=\"";
Index: utils.cpp
===================================================================
RCS file: /cvsroot/boost/boost/tools/quickbook/detail/utils.cpp,v
retrieving revision 1.14
retrieving revision 1.14.2.1
diff -u -d -r1.14 -r1.14.2.1
--- utils.cpp 21 Feb 2007 00:48:28 -0000 1.14
+++ utils.cpp 1 Jul 2007 04:52:19 -0000 1.14.2.1
@@ -30,6 +30,8 @@
case '>': out << ">"; break;
case '&': out << "&"; break;
case '"': out << """; break;
+ case '[': out << "["; break;
+ case ']': out << "]"; break;
default: out << ch; break;
// note ' is not included. see the curse of apos:
// http://fishbowl.pastiche.org/2003/07/01/the_curse_of_apos
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs