Subject: bug#61463: 29.0.60; python-shell-send-region moves point

From: kobarity <[email-masked]>
Date: Tue, 14 Feb 2023 00:43:39 +0900

Augusto Stoffel wrote:
> On Emacs -Q:
> 
> 1) M-x run-python
> 2) In the scratch buffer, type something, say 1 + 2 and mark it, leaving
>    point at the end.
> 3) M-x python-shell-send-string

Probably a typo of python-shell-send-region.

> Now the point is at the beginning of the region.  It was supposed not to
> move.
> 
> I suspect this might be due to a missing `save-excursion' in the
> definition of the local variable `single-p' in python.el.

Thank you for pointing that out.  You are right, `single-p' needs
`save-excursion'.  The same bug exists in `starts-at-first-line-p'.
I'm sorry for those bugs.

Atatched is a fix for this problem with improved ERTs to detect this
issue.