I noticed a bug for an edge case in the id generator. Wouldn't be too
hard to fix, but the implementation was too complicated with some really
pointless optimizations, so I rewrote it using a simpler brute force
method. Will be fine for now unless something has a lot of duplicate ids.
[SVN r85368]
Which sounds obvious when it's put like that. But I originally did this
in the parser because the parser was tracking lists anyway. But that
made a mess of handling `[ordered_list]` and `[itemized_list]`, I tried
fixing that but made a pig's ear of it.
The code for handling 'explicit lists' will still be a bit messy because
the generator is currently oblivious to what type of block element it's
generating markup for, and it needs to be aware for lists.
[SVN r85339]
The document id has never been generated from the filename. It comes
from the docinfo `id` attribute, or if that doesn't exist, it's
generated from the document title. Although, thanks to bugs, it's a bit
more complicated than that.
[SVN r85328]
There's a minor bug with escaped templates in 1.6 and I don't have time to
fix it, this will help limit its effect. As far as I'm aware no one uses
escaped templates with punctuation templates. Escaped templates are an
undocumented feature anyway.
[SVN r85285]
Doesn't work for: templates in lists or explicit list block elements
(because it detects when it's in a list based on the parser), but it is
usually at least as good as the older version.
This kind of thing would be much easier if I represented the lists in
data rather than translating them as they are parsed. Not sure if I'll
do that soon though.
[SVN r85247]
It's always okay to save `template_depth` and `min_section_level`
because they only change at template calls, and template calls are
always cleanly nested.
[SVN r85129]
Since this is often indented, does not treat indented blocks as code
blocks. This is inconsistent for lists, so maybe indented blocks in
lists should always be code, or never be code. Or maybe it should be a
bit smarter about nested indented blocks.
[SVN r85126]
Just to reduce confusion between the paragraph rule and the paragraph
action. Should possibly do this for all such local variables. I'll see
how it goes.
[SVN r85114]
Partly for clarity, and partly because there are too many things called
'block' and 'phrase'. The grammar names aren't great, but at least they
match. Might rething once I've done a lot of the 1.7 things.
[SVN r85113]
It's about to break because of a 1.6 change, but that doesn't matter because
it's an obsolete test. I've already removed it from my 1.7 development.
[SVN r84935]