public inbox for newlib-cvs@sourceware.org help / color / mirror / Atom feed
From: Jon TURNEY <jturney@sourceware.org> To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] makedocbook: Use raw strings for regexes Date: Sat, 12 Nov 2022 14:12:12 +0000 (GMT) [thread overview] Message-ID: <20221112141215.03DCC38376DA@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=2432d77099345ee3a4649d002750622d5db79c1b commit 2432d77099345ee3a4649d002750622d5db79c1b Author: Jon Turney <jon.turney@dronecode.org.uk> Date: Tue Nov 1 11:15:25 2022 +0000 makedocbook: Use raw strings for regexes Use raw strings for regexes. This is best practice, and fixes a number of "W605 invalid escape sequence" flakes. Diff: --- newlib/doc/makedocbook.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/newlib/doc/makedocbook.py b/newlib/doc/makedocbook.py index 4e83ab63a..5e46082df 100755 --- a/newlib/doc/makedocbook.py +++ b/newlib/doc/makedocbook.py @@ -107,7 +107,7 @@ def remove_noncomments(src): # A command is a single word of at least 3 characters, all uppercase, and alone on a line def iscommand(l): - if re.match('^[A-Z_]{3,}\s*$', l): + if re.match(r'^[A-Z_]{3,}\s*$', l): return True return False @@ -198,7 +198,7 @@ def function(c, l): descr = line_markup_convert(', '.join(descrlist)) # fpclassify includes an 'and' we need to discard - namelist = map(lambda v: re.sub('^and ', '', v.strip(), 1), namelist) + namelist = map(lambda v: re.sub(r'^and ', r'', v.strip(), 1), namelist) # strip off << >> surrounding name namelist = map(lambda v: v.strip().lstrip('<').rstrip('>'), namelist) # instantiate list to make it subscriptable @@ -297,11 +297,11 @@ def synopsis(c, t): s = '' for l in t.splitlines(): - if re.match('\s*(#|\[|struct)', l): + if re.match(r'\s*(#|\[|struct)', l): # preprocessor # directives, structs, comments in square brackets funcsynopsisinfo = lxml.etree.SubElement(funcsynopsis, 'funcsynopsisinfo') funcsynopsisinfo.text = l.strip() + '\n' - elif re.match('[Ll]ink with', l): + elif re.match(r'[Ll]ink with', l): pass else: s = s + l @@ -348,7 +348,7 @@ def synopsis_for_prototype(funcsynopsis, s): void = lxml.etree.SubElement(funcprototype, 'void') else: # Split parameters on ',' except if it is inside () - for p in re.split(',(?![^()]*\))', match.group(3)): + for p in re.split(r',(?![^()]*\))', match.group(3)): p = p.strip() if verbose: @@ -361,7 +361,7 @@ def synopsis_for_prototype(funcsynopsis, s): parameter = lxml.etree.SubElement(paramdef, 'parameter') # <[ ]> enclose the parameter name - match2 = re.match('(.*)<\[(.*)\]>(.*)', p) + match2 = re.match(r'(.*)<\[(.*)\]>(.*)', p) if verbose: print(match2.groups(), file=sys.stderr) @@ -472,16 +472,16 @@ def line_markup_convert(p): # also convert some simple texinfo markup # convert @emph{foo} to <emphasis>foo</emphasis> - s = re.sub('@emph{(.*?)}', '<emphasis>\\1</emphasis>', s) + s = re.sub(r'@emph{(.*?)}', r'<emphasis>\1</emphasis>', s) # convert @strong{foo} to <emphasis role=strong>foo</emphasis> - s = re.sub('@strong{(.*?)}', '<emphasis role="strong">\\1</emphasis>', s) + s = re.sub(r'@strong{(.*?)}', r'<emphasis role="strong">\1</emphasis>', s) # convert @minus{} to U+2212 MINUS SIGN s = s.replace('@minus{}', '−') # convert @dots{} to U+2026 HORIZONTAL ELLIPSIS s = s.replace('@dots{}', '…') # convert xref and pxref - s = re.sub('@xref{(.*?)}', "See <xref linkend='\\1'/>", s) + s = re.sub(r'@xref{(.*?)}', r"See <xref linkend='\1'/>", s) # very hacky way of dealing with @* to force a newline s = s.replace('@*', '</para><para>') @@ -562,7 +562,7 @@ def t_TABLEEND(t): def t_ITEM(t): r'o\s.*\n' - t.value = re.sub('o\s', '', lexer.lexmatch.group(0), 1) + t.value = re.sub(r'o\s', r'', lexer.lexmatch.group(0), 1) t.value = line_markup_convert(t.value) return t @@ -828,7 +828,7 @@ def main(file): print(s) # warn about texinfo commands which didn't get processed - match = re.search('@[a-z*]+', s) + match = re.search(r'@[a-z*]+', s) if match: print('texinfo command %s remains in output' % match.group(), file=sys.stderr)
reply other threads:[~2022-11-12 14:12 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20221112141215.03DCC38376DA@sourceware.org \ --to=jturney@sourceware.org \ --cc=newlib-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).