Commit Graph

10 Commits

Author SHA1 Message Date
Daniel James
5be4962caf Quickbook: Fix issue with mixed version templates.
If a 1.5 template called a 1.4 template, its parent would be its
'dynamic' parent (the 1.5 template), whose parent would be its lexical
parent - breaking the dynamic lookup. I've changed it so that when
using a dynamic lookup, 1.5+ templates are skipped over. That means
they can use whatever variable names they wish without issues.

It does mean that if a 1.4- template was specifically written to use
dynamic lookup, then it wouldn't be callable from 1.5. So it might
be better if they didn't skip over 1.5+ templates.

Alternatively if might be better to always lexical scoping, even for
older versions, on the assumption that it was a bug.

[SVN r75263]
2011-11-02 08:48:52 +00:00
Daniel James
c9e3ea1ec7 Quickbook: Represent callouts in value tree.
[SVN r75262]
2011-11-02 08:47:31 +00:00
Daniel James
0f28f2da9c Quickbook: Store template_body as just a value.
[SVN r75261]
2011-11-02 08:47:01 +00:00
Daniel James
4dea2a8ad5 Quickbook: Keep files in memory, stop tracking position in iterators.
Files are now permanently loaded. Quickbook substrings are stored as
references into the file. Now positions are stored as iterators into
the original file, the line and column is calculated when messages are
output.

This doesn't have much effect on efficiency but it simplifies a few
things.

[SVN r75253]
2011-11-02 07:57:47 +00:00
Daniel James
a2b3c3aa04 Quickbook: Merge from trunk to quickbook-dev.
[SVN r73365]
2011-07-25 21:41:36 +00:00
Daniel James
ff2fd55ac6 Quickbook: Use a different type for stored values.
And fix some bugs in the process.

[SVN r70529]
2011-03-24 21:25:50 +00:00
Daniel James
e478c5befb Quickbook: Use values for templates and snippets.
[SVN r70528]
2011-03-24 21:25:18 +00:00
Daniel James
496cdb2ed6 Merge improved unicode support on windows for quickbook.
[SVN r70044]
2011-03-17 00:12:56 +00:00
Daniel James
4fb6a45290 Use C strings in position_iterator.
Copying std::string in position_iterator was taking up a lot of
execution time.

[SVN r65104]
2010-08-29 11:20:57 +00:00
Daniel James
aafa5d83d2 Move the source files into a source directory.
[SVN r65030]
2010-08-26 20:56:37 +00:00