X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/bc6b912fcbaff08dd0044a844273757c00494305..51635ef68ce82b62dcefa9fdd55a662604021709:/black.py?ds=sidebyside diff --git a/black.py b/black.py index c7cfa2f..537ba59 100644 --- a/black.py +++ b/black.py @@ -40,7 +40,7 @@ from blib2to3 import pygram, pytree from blib2to3.pgen2 import driver, token from blib2to3.pgen2.parse import ParseError -__version__ = "18.4a0" +__version__ = "18.4a1" DEFAULT_LINE_LENGTH = 88 # types syms = pygram.python_symbols @@ -1498,7 +1498,7 @@ def is_split_before_delimiter(leaf: Leaf, previous: Leaf = None) -> int: if ( leaf.type in VARARGS and leaf.parent - and leaf.parent.type in {syms.argument, syms.typedargslist} + and leaf.parent.type in {syms.argument, syms.typedargslist, syms.dictsetmaker} ): # * and ** might also be MATH_OPERATORS but in this case they are not. # Don't treat them as a delimiter. @@ -1998,6 +1998,9 @@ def normalize_string_quotes(leaf: Leaf) -> None: else: new_body = escaped_orig_quote.sub(rf"\1{orig_quote}", body) new_body = unescaped_new_quote.sub(rf"\1\\{new_quote}", new_body) + # Add escapes again for consecutive occurences of new_quote (sub + # doesn't match overlapping substrings). + new_body = unescaped_new_quote.sub(rf"\1\\{new_quote}", new_body) if new_quote == '"""' and new_body[-1] == '"': # edge case: new_body = new_body[:-1] + '\\"'