kennethreitz/clint — pull request #116 by jta (2014-07-04 17:51:39+00:00)
Title: Always dedent when leaving indent context manager.

The indent context manager doesn't play well with exception handling. Raising an exception within a nested block will bypass dedentation. As a toy example in python3:

```
from clint.textui import puts, indent
from contextlib import suppress

puts("Unindented.")
with suppress(TypeError), indent(2):
puts("Indented.")
raise TypeError
puts("Still indented :(.")
```