Block indentation in Python mode often gives silly results. For example, with 'emacs -q' create a Python buffer and type this: def foo (): try: pass except: pass Now 'C-x h TAB' gives something that is not valid at all: def foo (): try: pass except: pass Note that if you go to the 'except:' line and press 'TAB', 'except:' is indented back to its proper position. Further 'TAB's don't change this, i.e. mode understands that it cannot place 'except:' at any other indentation level. Emacs version (just compiled): GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.9) of 2014-10-26 Paul