In those cases, parentheses are removed when the entire statement fits
in one line, or if the inner expression doesn't have any delimiters to
-further split on. Otherwise, the parentheses are always added.
+further split on. If there is only a single delimiter and the expression
+starts or ends with a bracket, the parenthesis can also be successfully
+omitted since the existing bracket pair will organize the expression
+neatly anyway. Otherwise, the parentheses are added.
+
+Please note that *Black* does not add or remove any additional nested
+parentheses that you might want to have for clarity or further
+code organization. For example those parentheses are not going to be
+removed:
+```py3
+return not (this or that)
+decision = (maybe.this() and values > 0) or (maybe.that() and values < 0)
+```
### Call chains
as a [fluent interface](https://en.wikipedia.org/wiki/Fluent_interface).
*Black* formats those treating dots that follow a call or an indexing
operation like a very low priority delimiter. It's easier to show the
-behavior than to explain it. Look at the example::
+behavior than to explain it. Look at the example:
```py3
def example(session):
result = (
* fixed non-deterministic formatting when multiple pairs of removable parentheses
were used (#183)
+* fixed multiline strings being unnecessarily wrapped in optional
+ parentheses in long assignments (#215)
+
* fixed not splitting long from-imports with only a single name
* fixed Python 3.6+ file discovery by also looking at function calls with