X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scripts%2Fauxiliar%2Fmakelsr.py;h=ca7db5c5b2ca900fe047e6fc21bd91433bbcfa05;hb=f522e027e9d1bd444821d0b519ef3fe81af1afce;hp=593925b3bf456c17bb8d5fba1e932d2edc2712d2;hpb=bf905394c1c8b5e15255debc1d80fcf8aeb6086e;p=lilypond.git diff --git a/scripts/auxiliar/makelsr.py b/scripts/auxiliar/makelsr.py index 593925b3bf..ca7db5c5b2 100755 --- a/scripts/auxiliar/makelsr.py +++ b/scripts/auxiliar/makelsr.py @@ -66,6 +66,16 @@ notags_files = [] # mark the section that will be printed verbatim by lilypond-book end_header_re = re.compile ('(\\header {.+?doctitle = ".+?})\n', re.M | re.S) +doctitle_re = re.compile (r'(doctitle[a-zA-Z_]{0,6}\s*=\s*")((?:\\"|[^"\n])*)"') +texinfo_q_re = re.compile (r'@q{(.*?)}') +texinfo_qq_re = re.compile (r'@qq{(.*?)}') +def doctitle_sub (title_match): + # Comma forbidden in Texinfo node name + title = title_match.group (2).replace (',', '') + title = texinfo_q_re.sub (r"`\1'", title) + title = texinfo_qq_re.sub (r'\"\1\"', title) + return title_match.group (1) + title + '"' + def mark_verbatim_section (ly_code): return end_header_re.sub ('\\1 % begin verbatim\n\n', ly_code, 1) @@ -118,6 +128,7 @@ def copy_ly (srcdir, name, tags): texidoc_translation = texidoc_translation.replace ('\\', '\\\\') s = begin_header_re.sub ('\\g<0>\n' + texidoc_translation, s, 1) + s = doctitle_re.sub (doctitle_sub, s) if in_dir and in_dir in srcdir: s = LY_HEADER_LSR + add_tags (s, tags) else: @@ -198,6 +209,7 @@ def update_ly_in_place (snippet_path): texidoc_translation = open (texidoc_path).read () texidoc_translation = texidoc_translation.replace ('\\', '\\\\') contents = begin_header_re.sub ('\\g<0>\n' + texidoc_translation, contents, 1) + contents = doctitle_re.sub (doctitle_sub, contents) open (snippet_path, 'w').write (contents) if in_dir: