]> git.madduck.net Git - etc/vim.git/commitdiff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Support PEP 572 in while statements (#1028)
authorPablo Galindo <Pablogsal@gmail.com>
Wed, 18 Sep 2019 11:54:40 +0000 (12:54 +0100)
committerZsolt Dollenstein <zsol.zsol@gmail.com>
Wed, 18 Sep 2019 11:54:40 +0000 (12:54 +0100)
Commit d8fa8df0526de9c0968e0a3568008f58eae45364 added support for
parsing and formatting PEP572, but it missed the posibility to add
PEP572 syntax in while statements.

blib2to3/Grammar.txt
tests/data/pep_572.py

index daecb15e936a2d3236e5ac45f3d22c05a0869812..d90710f6eefff900fbea8f03244d4627f61b4995 100644 (file)
@@ -108,7 +108,7 @@ assert_stmt: 'assert' test [',' test]
 compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | with_stmt | funcdef | classdef | decorated | async_stmt
 async_stmt: ASYNC (funcdef | with_stmt | for_stmt)
 if_stmt: 'if' namedexpr_test ':' suite ('elif' namedexpr_test ':' suite)* ['else' ':' suite]
 compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | with_stmt | funcdef | classdef | decorated | async_stmt
 async_stmt: ASYNC (funcdef | with_stmt | for_stmt)
 if_stmt: 'if' namedexpr_test ':' suite ('elif' namedexpr_test ':' suite)* ['else' ':' suite]
-while_stmt: 'while' test ':' suite ['else' ':' suite]
+while_stmt: 'while' namedexpr_test ':' suite ['else' ':' suite]
 for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite]
 try_stmt: ('try' ':' suite
            ((except_clause ':' suite)+
 for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite]
 try_stmt: ('try' ':' suite
            ((except_clause ':' suite)+
index 2b240bee2e8cfe713404640211d25bee3a683810..563e8a7740ebccd0b81f497dc544da1cd24cdfee 100644 (file)
@@ -38,3 +38,6 @@ if self._is_special and (ans := self._check_nans(context=context)):
 foo(b := 2, a=1)
 foo((b := 2), a=1)
 foo(c=(b := 2), a=1)
 foo(b := 2, a=1)
 foo((b := 2), a=1)
 foo(c=(b := 2), a=1)
+
+while x:= f(x):
+    pass