Subject: bug#59290: 29.0.50; [PATCH] Buffer-localize temporary-goal-column

From: Eli Zaretskii <[email-masked]>
Date: Wed, 16 Nov 2022 14:24:45 +0200

> From: dick <[email-masked]>
> Date: Tue, 15 Nov 2022 16:52:10 -0500
> 
> emacs -Q -l cl-lib --eval " \
> (with-temp-buffer \
>   (save-excursion \
>     (insert \"עִבְרִית\nעִבְרִית\")) \
>   (call-interactively (function next-line)) \
>   (with-temp-buffer \
>     (save-excursion (insert \"English\nEnglish\")) \
>     (call-interactively (function next-line)) \
>     (cl-assert (zerop (current-column)))))"
> 
> 
> >From 44ca27270bdd7786ddb36469149128b6d18aac9a Mon Sep 17 00:00:00 2001
> From: dickmao <[email-masked]>
> Date: Tue, 15 Nov 2022 16:03:48 -0500
> Subject: [PATCH] Temporary goal column leaks
> 
> * lisp/simple.el (temporary-goal-column): Buffer-localize.
> * test/lisp/simple-tests.el (line-move-visual-goal-column-leakage):
> Test it.

Thanks, but please provide a meaningful commit log message with an
explanation of the problem and the solution.  AFAIU, it isn't
self-evident.  For example, if I invoke the program interactively in a
running Emacs session, the problem doesn't happen.  Your test seems to
acknowledge that, as is evidenced by this:

> +(ert-deftest line-move-visual-goal-column-leakage ()
> +  (skip-unless (not noninteractive))  <<<<<<<<<<<<<<<<<<<<<<<

but without any explanation.

With the root cause of this stated explicitly, it might be that we
will want or at least consider a different solution.