r'''(?mx)
(?P<match>
<lilypond
- (\s*(?P<options>.*?)\s*:)?\s*
+ (\s+(?P<options>.*?))?\s*:\s*
(?P<code>.*?)
- />)''',
+ \s*/>)''',
'lilypond_block':
r'''(?msx)
\s*(?P<options>.*?)\s*
>
(?P<code>.*?)
- </lilypond>)''',
+ </lilypond\s*>)''',
'lilypond_file':
r'''(?mx)
\s*(?P<options>.*?)\s*
>
\s*(?P<filename>.*?)\s*
- </lilypondfile>)''',
+ </lilypondfile\s*>)''',
'multiline_comment':
r'''(?smx)
if langdefs.LANGDICT[document_language].enable_ly_identifier_l10n:
for v in ly_var_def_re.findall (s):
- s = re.sub (r"(?m)(^|[' \\#])%s([^a-zA-Z])" % v,
+ s = re.sub (r"(?m)(?<!\\clef)(^|[' \\#])%s([^a-zA-Z])" % v,
"\\1" + t (v) + "\\2",
s)
for id in ly_context_id_re.findall (s):
option_list = []
for option in self.get_option_list ():
for name in PROCESSING_INDEPENDENT_OPTIONS:
- if not option.startswith (name):
- option_list.append (option)
+ if option.startswith (name):
+ break
+ else:
+ option_list.append (option)
option_string = ','.join (option_list)
-
compose_dict = {}
compose_types = [NOTES, PREAMBLE, LAYOUT, PAPER]
for a in compose_types:
hash = md5 (self.relevant_contents (self.ly ()))
for option in self.get_option_list ():
for name in PROCESSING_INDEPENDENT_OPTIONS:
- if not option.startswith (name):
- hash.update (option)
+ if option.startswith (name):
+ break
+ else:
+ hash.update (option)
## let's not create too long names.
self.checksum = hash.hexdigest ()[:10]