D5995: contrib: enforce wrapping too-long lines with () instead of \

durin42 (Augie Fackler) phabricator at mercurial-scm.org
Wed Feb 20 19:34:24 EST 2019


durin42 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  This is the style I prefer, and an anecdotal exploration of styles
  recommended in style guides etc. Further, to quote pep8:
  
  > The preferred way of wrapping long lines is by using Python's implied
  >  line continuation inside parentheses, brackets and braces. Long lines
  >  can be broken over multiple lines by wrapping expressions in
  >  parentheses. These should be used in preference to using a backslash
  >  for line continuation.
  
  So I think this is a virtuous change.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D5995

AFFECTED FILES
  contrib/check-code.py
  tests/test-contrib-check-code.t

CHANGE DETAILS

diff --git a/tests/test-contrib-check-code.t b/tests/test-contrib-check-code.t
--- a/tests/test-contrib-check-code.t
+++ b/tests/test-contrib-check-code.t
@@ -7,6 +7,9 @@
   > def toto( arg1, arg2):
   >     del(arg2)
   >     return ( 5+6, 9)
+  > def badwrap():
+  >     return 1 + \\
+  >        2
   > NO_CHECK_EOF
   $ cat > quote.py <<NO_CHECK_EOF
   > # let's use quote in comments
@@ -42,6 +45,9 @@
    >     return ( 5+6, 9)
    gratuitous whitespace in () or []
    missing whitespace in expression
+  ./wrong.py:5:
+   >     return 1 + \
+   Use () to wrap long lines in Python, not \
   ./quote.py:5:
    > '"""', 42+1, """and
    missing whitespace in expression
diff --git a/contrib/check-code.py b/contrib/check-code.py
--- a/contrib/check-code.py
+++ b/contrib/check-code.py
@@ -233,6 +233,7 @@
 
 pypats = [
   [
+    (r'\\$', 'Use () to wrap long lines in Python, not \\'),
     (r'^\s*def\s*\w+\s*\(.*,\s*\(',
      "tuple parameter unpacking not available in Python 3+"),
     (r'lambda\s*\(.*,.*\)',



To: durin42, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list