# HG changeset patch # User Raphaël Gomès # Date 1564731851 -7200 # Node ID 70bd1965bd07531c668a47e349628e2416f4e0f9 # Parent 74b4cd091e0dd5328ee2b985d770144c35962307 byteify-strings: handle multi-line strings in _ensuresysstr The current implementation did not handle calls like `repo.ui.log("first line" "other line")` correctly. diff -r 74b4cd091e0d -r 70bd1965bd07 contrib/byteify-strings.py --- a/contrib/byteify-strings.py Wed May 22 16:22:06 2019 -0700 +++ b/contrib/byteify-strings.py Fri Aug 02 09:44:11 2019 +0200 @@ -78,9 +78,19 @@ already been done. """ - st = tokens[j] - if st.type == token.STRING and st.string.startswith(("'", '"')): - sysstrtokens.add(st) + k = j + currtoken = tokens[k] + while currtoken.type in (token.STRING, token.NEWLINE, tokenize.NL): + k += 1 + if ( + currtoken.type == token.STRING + and currtoken.string.startswith(("'", '"')) + ): + sysstrtokens.add(currtoken) + try: + currtoken = tokens[k] + except IndexError: + break coldelta = 0 # column increment for new opening parens coloffset = -1 # column offset for the current line (-1: TBD)