On Sep 13, 2009, at 5:38 PM, AggieDan04 wrote:
On Sep 13, 6:27 pm, Steven D'Aprano wrote:
On Sun, 13 Sep 2009 15:15:40 -0700, Chris Rebert wrote:
In fact it's pretty much impossible to automatically indent Python code that has had its indentation removed; it's impossible to know for sure
where the dedents should occur.

Just like most other syntactic elements -- if you remove all the return
statements from Python code, or dot operators, it's impossible to
automatically add them back in.

The only difference is that some (badly written?) applications mangle
leading whitespace, but very few feel free to remove other text on a whim.

I don't recall actually using a mail client or newsreader that removes leading whitespace when posting, but I've occasionally seen posts from
others with all indentation removed, so presumably such badly-behaved
applications do exist.

I haven't seen it in a mail client, but it's very common in internet
forums.

If you regularly deal with some sort of transport that messes with your leading whitespace, you may find Tools/scripts/pindent.py in the Python source distribution useful; it adds comments that act as block closers to your code, and can then use those comments to restore the correct indentation to a mangled version. (Most forums offer some sort of whitespace-preserving [code] tag, though; and pindent is relatively old, and apparently not well maintained (no support for "with" blocks)).

-Miles

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to