|
From: | Paul Pogonyshev |
Subject: | bug#57433: Emacs no longer moves point into visible port of the buffer |
Date: | Sat, 27 Aug 2022 18:12:49 +0200 |
> The "reason" is largely a side-effect of the implementation, I
> suspect.Would it then not be a good idea to improve it (not as part of this bug,of course)? E.g. currently the behavior is like below.Setup: Magit buffer with staged files, at least two. It looks like this:Staged changes (N)modified file1[invisible diff of file1]modified file2[invisible diff of file2]so essentially I, as a user, only see this in UI:Staged changes (N)modified file1modified file2Now, I put the point at the beginning of the third line ([^] is the point):Staged changes (N)modified file1[^]modified file2I press C-b, expecting that the point is moved to the end of theprevious line that I see. But it is not moved there, this is the result:Staged changes (N)modified file1[^]modified file2In reality, the point is in the invisible (to me, as the user) diff for file1.If I press C-b again, only now point is moved like I expected it to bemoved the last time:Staged changes (N)modified file1[^]modified file2So, the presence of invisible text between lines 2 and 3 changes theway C-b behaves and breaks my (as a user of Emacs) expectations,disrupting established editing flow. I'd say that the invisible textshould count as implementation details and shouldn't affect user-visible results at all.What do you think?PaulOn Sat, 27 Aug 2022 at 17:55, Eli Zaretskii <eliz@gnu.org> wrote:> From: Paul Pogonyshev <pogonyshev@gmail.com>
> Date: Sat, 27 Aug 2022 17:47:32 +0200
> Cc: Eli Zaretskii <eliz@gnu.org>, 57433@debbugs.gnu.org
>
> > Strange. Could you please double-check that you have commit
> > a2d62456a7b8da27fb9b64f71b6ce588f2d73287 in your worktree?
>
> I have rebuilt Emacs and now it works. I previously tried with applying
> the patch from "In that case, can you see if the patch below solves the
> original issue with Magit?" locally, but apparently did something wrong.
>
> So yes, it works for me now, sorry.
No need to be sorry, thanks for testing the fix. I'm therefore
closing the bug.
> > I think you are reading too much into what that text says. It says
> > that point moves to the edge of such a sequence, and that is what
> > happens here. No more, no less.
>
> Yeah, I see now that if you move with C-b, the point disappears within
> the diff for the previous file, even with Emacs 28, and then Magit
> misbehaves. To be honest, I'm not sure if that is useful (or maybe there
> is some reason for moving "to the edge" rather than outside an
> invisible sequence), but that's certainly not a regression in Emacs.
The "reason" is largely a side-effect of the implementation, I
suspect.
[Prev in Thread] | Current Thread | [Next in Thread] |