GNU bug report logs -
#36884
Default python mode with electric-indent-mode sometimes indents empty lines
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Perhaps this behavior exists because there can also be a situation like
this:
def test():
print("test")
[cursor, on empty line in middle of indented block]
print("test")
where what electric indent does after pressing RET (creates new line
aligned to the print statements) makes sense. I think it is mostly
irritating though, and editors I tested, Vim and Sublime Text, do not
automatically indent in any of the situations I mentioned.
FWIW this works as a workaround for me:
(setq electric-indent-functions
'((lambda (inserted-char)
(when (eq major-mode 'python-mode)
;; Do not auto-indent after inserting any empty line
(when (save-excursion
(previous-line)
(beginning-of-line)
(looking-at "^\s*$"))
'no-indent)))))
Cheers,
Jarek
On Fri, Aug 2, 2019 at 3:26 AM Noam Postavsky <npostavs <at> gmail.com> wrote:
> Andreas Röhler <andreas.roehler <at> easy-emacs.de> writes:
>
> > AFAIU electric-indent-mode doesn't run a timer, cursor position alone
> > would not trigger it.
>
> electric-indent-mode works from post-self-insert-hook. Not sure how
> cursor position and timers are related.
>
>
>
>
[Message part 2 (text/html, inline)]
This bug report was last modified 5 years and 324 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.