When pressing enter with the cursor like this: def test(): print("test") [cursor] Emacs (26.1) correctly just inserts a blank line. However, with this: def test(): if True: print("test") [cursor] Emacs inserts a blank line and indents it one level. With this: def test(): if True: if False: print("test") [cursor] it inserts a blank line and indents it two levels, etc. Moreover, with two methods like this: def test1(): if True: print("test") [cursor]def test2(): if True: print("test") pressing enter will also indent the def block, instead of just inserting the empty line.