Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r70958 - in branches/quickbook-dev/tools/quickbook: src test/include
From: dnljms_at_[hidden]
Date: 2011-04-03 15:18:14


Author: danieljames
Date: 2011-04-03 15:18:12 EDT (Sun, 03 Apr 2011)
New Revision: 70958
URL: http://svn.boost.org/trac/boost/changeset/70958

Log:
Quickbook: Scope templates in `include` in 1.6
Added:
   branches/quickbook-dev/tools/quickbook/test/include/templates-1.5.gold (contents, props changed)
   branches/quickbook-dev/tools/quickbook/test/include/templates-1.5.quickbook (contents, props changed)
   branches/quickbook-dev/tools/quickbook/test/include/templates-1.6.gold (contents, props changed)
   branches/quickbook-dev/tools/quickbook/test/include/templates-1.6.quickbook (contents, props changed)
   branches/quickbook-dev/tools/quickbook/test/include/templates-inc1.quickbook (contents, props changed)
Text files modified:
   branches/quickbook-dev/tools/quickbook/src/actions.cpp | 15 +++++----------
   branches/quickbook-dev/tools/quickbook/src/actions_class.cpp | 14 ++++++++------
   branches/quickbook-dev/tools/quickbook/src/actions_class.hpp | 12 ++++++++++--
   branches/quickbook-dev/tools/quickbook/test/include/Jamfile.v2 | 2 ++
   4 files changed, 25 insertions(+), 18 deletions(-)

Modified: branches/quickbook-dev/tools/quickbook/src/actions.cpp
==============================================================================
--- branches/quickbook-dev/tools/quickbook/src/actions.cpp (original)
+++ branches/quickbook-dev/tools/quickbook/src/actions.cpp 2011-04-03 15:18:12 EDT (Sun, 03 Apr 2011)
@@ -1749,18 +1749,13 @@
     {
         assert(load_type == block_tags::include ||
             load_type == block_tags::import);
-
- if (load_type == block_tags::import)
- {
- detail::outerr(actions.filename)
- << "Quickbook import not implemented yet.\n";
- ++actions.error_count;
- return;
- }
     
         {
- file_state state(actions);
-
+ file_state state(actions,
+ load_type == block_tags::import ? file_state::scope_none :
+ qbk_version_n >= 106u ? file_state::scope_all :
+ file_state::scope_macros);
+
             actions.filename = paths.filename;
             actions.filename_relative = paths.filename_relative;
 

Modified: branches/quickbook-dev/tools/quickbook/src/actions_class.cpp
==============================================================================
--- branches/quickbook-dev/tools/quickbook/src/actions_class.cpp (original)
+++ branches/quickbook-dev/tools/quickbook/src/actions_class.cpp 2011-04-03 15:18:12 EDT (Sun, 03 Apr 2011)
@@ -94,14 +94,17 @@
         return *grammar_;
     }
 
- file_state::file_state(actions& a)
+ file_state::file_state(actions& a, scope_flags scope)
         : a(a)
+ , scope(scope)
         , doc_id(a.doc_id)
         , filename(a.filename)
         , filename_relative(a.filename_relative)
- , macro(a.macro)
         , source_mode(a.source_mode)
+ , macro()
     {
+ if (scope & scope_macros) macro = a.macro;
+ if (scope & scope_templates) a.templates.push();
         a.values.builder.save();
     }
 
@@ -111,12 +114,13 @@
         boost::swap(a.doc_id, doc_id);
         boost::swap(a.filename, filename);
         boost::swap(a.filename_relative, filename_relative);
- a.macro = macro;
         boost::swap(a.source_mode, source_mode);
+ if (scope & scope_templates) a.templates.pop();
+ if (scope & scope_macros) a.macro = macro;
     }
     
     template_state::template_state(actions& a)
- : file_state(a)
+ : file_state(a, file_state::scope_all)
         , section_level(a.section_level)
         , min_section_level(a.min_section_level)
         , section_id(a.section_id)
@@ -124,12 +128,10 @@
     {
         a.out.push();
         a.phrase.push();
- a.templates.push();
     }
 
     template_state::~template_state()
     {
- a.templates.pop();
         a.phrase.pop();
         a.out.pop();
         boost::swap(a.section_level, section_level);

Modified: branches/quickbook-dev/tools/quickbook/src/actions_class.hpp
==============================================================================
--- branches/quickbook-dev/tools/quickbook/src/actions_class.hpp (original)
+++ branches/quickbook-dev/tools/quickbook/src/actions_class.hpp 2011-04-03 15:18:12 EDT (Sun, 03 Apr 2011)
@@ -114,15 +114,23 @@
 
     struct file_state
     {
- explicit file_state(actions&);
+ enum scope_flags {
+ scope_none = 0,
+ scope_macros = 1,
+ scope_templates = 2,
+ scope_all = 3
+ };
+
+ explicit file_state(actions&, scope_flags);
         ~file_state();
         
         quickbook::actions& a;
+ scope_flags scope;
         std::string doc_id;
         fs::path filename;
         fs::path filename_relative;
- string_symbols macro;
         std::string source_mode;
+ string_symbols macro;
     private:
         file_state(file_state const&);
         file_state& operator=(file_state const&);

Modified: branches/quickbook-dev/tools/quickbook/test/include/Jamfile.v2
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/include/Jamfile.v2 (original)
+++ branches/quickbook-dev/tools/quickbook/test/include/Jamfile.v2 2011-04-03 15:18:12 EDT (Sun, 03 Apr 2011)
@@ -20,6 +20,8 @@
     [ quickbook-test doc-title1a-1.5 ]
     [ quickbook-test section ]
     [ quickbook-test section-unclosed ]
+ [ quickbook-test templates-1.5 ]
+ [ quickbook-test templates-1.6 ]
     [ quickbook-error-test section-fail1 ]
     [ quickbook-error-test section-fail2 ]
     ;

Added: branches/quickbook-dev/tools/quickbook/test/include/templates-1.5.gold
==============================================================================
--- (empty file)
+++ branches/quickbook-dev/tools/quickbook/test/include/templates-1.5.gold 2011-04-03 15:18:12 EDT (Sun, 03 Apr 2011)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE article PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
+<article id="templates_1_5" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+ <title>Templates 1.5</title>
+ <para>
+ Inline:templates-inc1.quickbook
+ </para>
+ <para>
+ Foo:templates-1.5.quickbook
+ </para>
+</article>

Added: branches/quickbook-dev/tools/quickbook/test/include/templates-1.5.quickbook
==============================================================================
--- (empty file)
+++ branches/quickbook-dev/tools/quickbook/test/include/templates-1.5.quickbook 2011-04-03 15:18:12 EDT (Sun, 03 Apr 2011)
@@ -0,0 +1,7 @@
+[article Templates 1.5
+[quickbook 1.5]
+]
+
+[include templates-inc1.quickbook]
+
+[foo]
\ No newline at end of file

Added: branches/quickbook-dev/tools/quickbook/test/include/templates-1.6.gold
==============================================================================
--- (empty file)
+++ branches/quickbook-dev/tools/quickbook/test/include/templates-1.6.gold 2011-04-03 15:18:12 EDT (Sun, 03 Apr 2011)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE article PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
+<article id="templates_1_6" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+ <title>Templates 1.6</title>
+ <para>
+ Inline:templates-inc1.quickbook
+ </para>
+ <para>
+ [foo]
+ </para>
+</article>

Added: branches/quickbook-dev/tools/quickbook/test/include/templates-1.6.quickbook
==============================================================================
--- (empty file)
+++ branches/quickbook-dev/tools/quickbook/test/include/templates-1.6.quickbook 2011-04-03 15:18:12 EDT (Sun, 03 Apr 2011)
@@ -0,0 +1,7 @@
+[article Templates 1.6
+[quickbook 1.6]
+]
+
+[include templates-inc1.quickbook]
+
+[foo]

Added: branches/quickbook-dev/tools/quickbook/test/include/templates-inc1.quickbook
==============================================================================
--- (empty file)
+++ branches/quickbook-dev/tools/quickbook/test/include/templates-inc1.quickbook 2011-04-03 15:18:12 EDT (Sun, 03 Apr 2011)
@@ -0,0 +1,4 @@
+Inline:__FILENAME__
+
+[template foo Foo:__FILENAME__]
+


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk