[docmaker] Fix code section parsing.

Stuff like

  {
    <bla>
  }

confused the parser, which incorrectly treated `<bla>' as a markup
tag.

* src/tools/docmaker/content.py (ContentProcessor::process_content):
Apply `re_markup_tags' only outside of code sections.
This commit is contained in:
Werner Lemberg 2017-12-08 20:15:15 +01:00
parent 98ba0c4a37
commit ea68f1c8d3
2 changed files with 40 additions and 7 deletions

View File

@ -1,3 +1,19 @@
2017-12-08 Werner Lemberg <wl@gnu.org>
[docmaker] Fix code section parsing.
Stuff like
{
<bla>
}
confused the parser, which incorrectly treated `<bla>' as a markup
tag.
* src/tools/docmaker/content.py (ContentProcessor::process_content):
Apply `re_markup_tags' only outside of code sections.
2017-12-08 Werner Lemberg <wl@gnu.org>
New `ftdriver.h' file, covering all driver modules.

View File

@ -453,15 +453,32 @@ class ContentProcessor:
markup_lines = []
first = 1
margin = -1
in_code = 0
for line in content:
found = None
for t in re_markup_tags:
m = t.match( line )
if in_code:
m = re_code_end.match( line )
if m and len( m.group( 1 ) ) <= margin:
in_code = 0
margin = -1
else:
m = re_code_start.match( line )
if m:
found = string.lower( m.group( 1 ) )
prefix = len( m.group( 0 ) )
line = " " * prefix + line[prefix:] # remove markup from line
break
in_code = 1
margin = len( m.group( 1 ) )
found = None
if not in_code:
for t in re_markup_tags:
m = t.match( line )
if m:
found = string.lower( m.group( 1 ) )
prefix = len( m.group( 0 ) )
# remove markup from line
line = " " * prefix + line[prefix:]
break
# is it the start of a new markup section ?
if found: