Subject: bug#13122: save-excursion not saving point

From: Andreas Schwab <[email-masked]>
Date: Sat, 27 Apr 2019 11:59:48 +0200

On Apr 27 2019, Tino Calancha <[email-masked]> wrote:

> On Sat, 27 Apr 2019, Eli Zaretskii wrote:
>
>>> From: Tino Calancha <[email-masked]>
>>> Date: Sat, 27 Apr 2019 04:53:56 +0900
>>>
>>> ;; Following expression should eval as non-nil
>>> (let ((pos 3))
>>>   (with-temp-buffer
>>>     (insert "abcdef")
>>>     (goto-char pos)
>>>     (save-excursion (transpose-chars 2))
>>>     (= pos (point))))
>>> => nil
>
> I read that warning; maybe getting `nil' is above is expected; if that's
> the case then we can close the report again.

Since the form inside save-excursion can modify the text before point,
there is never a guarantee that the numeric value of point stays the
same.  And if point points inside the modified text, it is generally
unspecified how point moves during the modification.

Andreas.

-- 
Andreas Schwab, [email-masked]
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."