GNU bug report logs - #70038
29.3.50; Shift up/down in buffer with images on M-x other-window with some fonts

Previous Next

Package: emacs;

Reported by: Ramon Diaz-Uriarte <rdiaz02 <at> gmail.com>

Date: Wed, 27 Mar 2024 20:26:01 UTC

Severity: normal

Found in version 29.3.50

Full log


View this message in rfc822 format

From: martin rudalics <rudalics <at> gmx.at>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: luangruo <at> yahoo.com, 70038 <at> debbugs.gnu.org
Subject: bug#70038: 29.3.50; Shift up/down in buffer with images on M-x other-window with some fonts
Date: Wed, 17 Apr 2024 10:02:12 +0200
> I hope this is now more clear.

Thanks.  So when we enter the part headed by

  if ((w->optional_new_start || window_frozen_p (w))

then the single aim is apparently to make sure that the cursor line
remains fully visible.

When we enter that part because window_frozen_p (w) is set, we ignore
the scroll margins because we assume that preserving the window start
position is more important in this situation.

When we enter that part because w->optional_new_start was set, we assume
that the caller ('recenter', 'delete-other-windows-internal') has done
its part to obey the scroll margins but still might have failed to keep
the cursor visible.

Is that interpretation correct?  If so, it might make sense to put some
explanation into a comment for that part because, at least for me, it's
a priori not clear that the same treatment is wanted for keeping the
previous start position of a window and for one that has been explicitly
changed.  I've spent almost an hour to arrive at the conclusion above.
Things like this comment in 'delete-other-windows-internal'

	  /* We need to do this, so that the window-scroll-functions
	     get called.  */
	  w->optional_new_start = true;

were distracting even further.

martin




This bug report was last modified 1 year and 53 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.