Am 21.08.24 um 20:06 schrieb Michael Arndt via Bug reports for GNU Emacs, the Swiss army knife of text editors:
Hi,

I have a problem when indenting python files. There seems to be a case
when using indent-region changes the semantics of the python code. When
there is no blank line after an if-statement, the next line becomes part
of the if statement.

The problem can be reproduced by the following steps:

1. Start emacs -Q
2. Create a python file with the following contents:

if False:
     print("output1")
print("output2")

3. Use M-x mark-whole-buffer
4. Use M-x indent-region
5. The file contents change into:

if False:
     print("output1")
     print("output2")

The problem can be avoided by adding a blank line after the if statement.
Because I use a custom indentation function that calls (indent-region
(point-min) (point-max)) this can happen pretty quickly. Is this a
limitation of python-indent-region?

Greetings
Michael


Hi Michael,

I'm not maintaining the related code, just a comment:

as indent might by syntax at Python, there is not way for auto-formatting - unless you are happy with the outmost reasonable indent.

Best,

Andreas