unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Alexander Miller <alexanderm@web.de>
To: 26445@debbugs.gnu.org
Subject: bug#26445: 26.0.50; Scroll margin and cursor movement working incorrectly when scrolling over different height lines
Date: Tue, 11 Apr 2017 18:50:55 +0200	[thread overview]
Message-ID: <624e8d20-8e9f-f164-d9e8-b81659eec2f7@web.de> (raw)

This is probably a continuation of bug#25792.

The issue is that scrolling downwards with a scroll-margin
has the cursor jumping again - this time the issue is caused by 
different height
lines. This does not simply mean being inside a buffer where some lines
are fontified to use a different height attribute than others. The
stutter already occurs due to the miniscule height differences
introduced by box or over- and underline face attributes.

The following bits of code can reproduce the issue in emacs -q:

* (custom-set-faces `(button ((t (:box "#ffffff" :underline nil 
:overline nil
:background nil :foreground "#ffffff")))))
* (setq scroll-margin 10 scroll-conservatively 101)
* (defun maketext ()
(interactive)
(dotimes (i 1000)
(insert (format "\ntext %s\n" i))
(insert-text-button (format "text %s" i))))
* (maketext)

Scrolling down in this text induces the same stutter as in the previous
bug. Strangely enough the issue only occurs when the cursor is in a
column other than the very first. Only scrolling downwards is affected,
at least in a way I was able to reproduce it in emacs -q.
I also do have the same issue with upwards scrolling in org-agenda buffers
when running a heavily modified spacemacs, with a theme that makes heavy
use of boxed and different height text, so it's difficult to say where
things start exactly.

The second, maybe wholly unrelated, part is the cursor's column
movement. This time scrolling in either direction is affected. To
reproduce put the cursor at the very end of a line containing
unboxed text and scroll down or up. The cursor will move to the previous
column on every boxed line and move back again for unboxed lines.


In GNU Emacs 26.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.10)
of 2017-04-10 built on a-laptop
Repository revision: 3ccd0ff1064a2836c379b13c2d5f4b11c5da1f88
Windowing system distributor 'The X.Org Foundation





             reply	other threads:[~2017-04-11 16:50 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-11 16:50 Alexander Miller [this message]
2017-04-13 19:09 ` bug#26445: 26.0.50; Scroll margin and cursor movement working incorrectly when scrolling over different height lines Noam Postavsky
2017-04-13 19:39   ` Eli Zaretskii
2017-04-13 20:05     ` Noam Postavsky
2017-04-13 21:07       ` Alexander Miller
2017-04-14  7:06         ` Eli Zaretskii
2017-04-14  7:46           ` Eli Zaretskii
2017-04-14 10:56           ` Alexander Miller
2017-04-14 12:16             ` Eli Zaretskii
     [not found]               ` <fa0f7cdf-fda4-ce15-9ff8-37ea1767c771@web.de>
2017-04-14 16:07                 ` Eli Zaretskii
2017-04-14  6:50       ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=624e8d20-8e9f-f164-d9e8-b81659eec2f7@web.de \
    --to=alexanderm@web.de \
    --cc=26445@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).