Eli Zaretskii wrote: > > Date: Mon, 11 Sep 2023 17:36:59 +0100 > > From: Daniel Lopez > > > > To reproduce from emacs -Q: > > C-x b hello.py RET > > M-x python-mode > > On the first line, type the word "return", then press the Return key. > > On the second line, type one or more spaces. > > Press Backspace. This triggers the error message: > > python-indent-line: Wrong type argument: wholenump, -4 > > and, the last-typed space is not deleted. > > > > Backtrace of the error: > > Debugger entered--Lisp error: (wrong-type-argument wholenump -4) > > indent-line-to(-4) > > python-indent-line(t) > > python-indent-dedent-line() > > python-indent-dedent-line-backspace(1) > > funcall-interactively(python-indent-dedent-line-backspace 1) > > command-execute(python-indent-dedent-line-backspace) > > > > This can also happen with Python keywords/statements that tend to end a > > scope, eg. "break" or "raise", as well as "return". > > > > I guess the smart dedenting sees the "return" (or similar statement) at > > top-level scope and then tries to move the cursor to a parent scope / > > negative column that doesn't exist. Perhaps one of those indent > > functions could clamp itself somehow to not do that but I'm not sure > > where the best place for that would be. > > Thanks. > > kobarity, any suggestions or comments? Thank you for the report. The attached is the proposed fix.