GNU bug report logs - #14598
24.3; global-hl-line-mode + text-scale-adjust + next-line + scrolling

Previous Next

Package: emacs;

Reported by: Phil Sainty <psainty <at> orcon.net.nz>

Date: Wed, 12 Jun 2013 12:07:02 UTC

Severity: wishlist

Tags: wontfix

Found in version 24.3

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 14598 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Phil Sainty <psainty <at> orcon.net.nz>
Cc: 14598 <at> debbugs.gnu.org
Subject: Re: bug#14598: 24.3;
 global-hl-line-mode + text-scale-adjust + next-line + scrolling
Date: Wed, 12 Jun 2013 20:27:57 +0300
> Date: Thu, 13 Jun 2013 00:05:48 +1200
> From: Phil Sainty <psainty <at> orcon.net.nz>
> 
> With global-hl-line-mode enabled (but not local hl-line-mode,
> which is implemented differently) and with a smaller font via
> text-scale-adjust, scrolling off the bottom of the window with
> next-line gets incredibly glitchy.

Unfortunately, my only suggestion is "don't do that": either don't use
global-hl-line-mode, or don't make your default face smaller using
text-scale-adjust.  Emacs does all scroll calculations assuming the
original default face size, which was in effect when the frame was
created.  This design assumes that the frame mostly uses that size,
with occasional smaller or larger characters here and there; resizing
_all_ of the text breaks that assumption.  On top of that,
global-hl-line-mode installs both pre-command-hook and
post-command-hook which manipulate overlays, which kills all of the
clever tricks Emacs has up its sleeve to deal with variable fonts and
partially visible lines.  What you see as result is basically a
recenter on every C-n, except that sometimes Emacs scrolls by just a
few pixels to make a line fully visible.

Fixing this would mean a major redesign of the scrolling support in
the display engine.  Patches are welcome, as always.  Until then, this
will remain a wishlist, I'm afraid.

Sorry.




This bug report was last modified 12 years and 11 days ago.

Previous Next


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