]> git.wincent.com - wikitext.git/commit
Fix BLOCKQUOTE_START after lists
authorWincent Colaiuta <win@wincent.com>
Thu, 17 Apr 2008 20:01:20 +0000 (22:01 +0200)
committerWincent Colaiuta <win@wincent.com>
Thu, 17 Apr 2008 20:01:20 +0000 (22:01 +0200)
commit675972319b09accb56df9f66a7039ba10381cfe4
tree55f330ca302ce104e89ce5513adf995c2dc7424b
parent1b2ccc093f4af5b4c64bf28df16914739737a191
Fix BLOCKQUOTE_START after lists

BLOCKQUOTE_START tokens were getting emitted as literal escapes if they
appeared after a list; this was because we explicitly prohibited them
from appearing inside scopes like LI. The problem then arises on leaving
such a list, because on the next line the scope will be "UL, LI" and so
the parser incorrectly forbids the BLOCKQUOTE_START in that context.

The solution is to refactor the BLOCKQUOTE_START case along similar
lines to PRE_START. We now explicitly disallow it inside BLOCKQUOTE
scopes, but everywhere else we employ the normal rollback-then-emit
behaviour. This produces correct output for well-formatted input, and
easily diagnosed bad output for malformed input.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
ext/parser.c
spec/regressions_spec.rb