unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#12927: 24.2; global-hl-line-mode and "scroll-conservatively=1000" take jump up-down the text when hold DOWN key (in *info* buffer).
@ 2012-11-18 21:13 Oleksandr Gavenko
  2012-11-19 16:43 ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Oleksandr Gavenko @ 2012-11-18 21:13 UTC (permalink / raw)
  To: 12927

As usual:

  $ emacs -Q

then:

  (setq scroll-conservatively 1000)
  (global-hl-line-mode 1)

and "C-h i". I press and hold DOWN key. After some time cursor reach end of
frame and then text scroll up but sometimes it seems as text jump down! And I
get fill that text moving have jerks.

I make record of this actions:

  $ cvlc screen:// --screen-fps=60 --no-sout-audio --sout "#transcode{venc=x264,quality:100,scale=1,fps=60}:duplicate{dst=std{access=file,mux=mp4,dst=desktop.ogg}}}"

To download (less then 1 MiB) this record:

  $ wget http://gavenkoa.users.sf.net/desktop.ogg

If slow down speed in video viewer you can see that sometimes point jump over
1 line (so move to the second line, without visiting next), so it lost smooth
scrolling. But on video it look better then in real screen. And I can't
describe it better as non naive English speaker...

Without (global-hl-line-mode 1) text only scroll up as desired (smooth,
without abrupt jumps).

In GNU Emacs 24.2.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.10)
 of 2012-09-09 on trouble, modified by Debian

-- 
Best regards!





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#12927: 24.2; global-hl-line-mode and "scroll-conservatively=1000" take jump up-down the text when hold DOWN key (in *info* buffer).
  2012-11-18 21:13 bug#12927: 24.2; global-hl-line-mode and "scroll-conservatively=1000" take jump up-down the text when hold DOWN key (in *info* buffer) Oleksandr Gavenko
@ 2012-11-19 16:43 ` Eli Zaretskii
  2012-11-20 17:46   ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2012-11-19 16:43 UTC (permalink / raw)
  To: Oleksandr Gavenko; +Cc: 12927

> From: Oleksandr Gavenko <gavenkoa@gmail.com>
> Date: Sun, 18 Nov 2012 23:13:22 +0200
> 
>   (setq scroll-conservatively 1000)
>   (global-hl-line-mode 1)
> 
> and "C-h i". I press and hold DOWN key. After some time cursor reach end of
> frame and then text scroll up but sometimes it seems as text jump down! And I
> get fill that text moving have jerks.

This is some bad interaction between scroll-conservatively and
window-vscroll, it somehow succeeds to activate code paths that I
never before saw in action.

As a temporary work-around, set auto-window-vscroll to nil.  I will
try to find a better solution when I have time.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#12927: 24.2; global-hl-line-mode and "scroll-conservatively=1000" take jump up-down the text when hold DOWN key (in *info* buffer).
  2012-11-19 16:43 ` Eli Zaretskii
@ 2012-11-20 17:46   ` Eli Zaretskii
  2012-11-20 20:36     ` Oleksandr Gavenko
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2012-11-20 17:46 UTC (permalink / raw)
  To: gavenkoa; +Cc: 12927

> Date: Mon, 19 Nov 2012 18:43:40 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 12927@debbugs.gnu.org
> 
> > From: Oleksandr Gavenko <gavenkoa@gmail.com>
> > Date: Sun, 18 Nov 2012 23:13:22 +0200
> > 
> >   (setq scroll-conservatively 1000)
> >   (global-hl-line-mode 1)
> > 
> > and "C-h i". I press and hold DOWN key. After some time cursor reach end of
> > frame and then text scroll up but sometimes it seems as text jump down! And I
> > get fill that text moving have jerks.
> 
> This is some bad interaction between scroll-conservatively and
> window-vscroll, it somehow succeeds to activate code paths that I
> never before saw in action.
> 
> As a temporary work-around, set auto-window-vscroll to nil.  I will
> try to find a better solution when I have time.

Should be fixed in revision 110927 on the emacs-24 branch.  Please
test.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#12927: 24.2; global-hl-line-mode and "scroll-conservatively=1000" take jump up-down the text when hold DOWN key (in *info* buffer).
  2012-11-20 17:46   ` Eli Zaretskii
@ 2012-11-20 20:36     ` Oleksandr Gavenko
  2012-11-20 20:47       ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Oleksandr Gavenko @ 2012-11-20 20:36 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 12927

On 2012-11-20, Eli Zaretskii wrote:

>> Date: Mon, 19 Nov 2012 18:43:40 +0200
>> From: Eli Zaretskii <eliz@gnu.org>
>> Cc: 12927@debbugs.gnu.org
>> 
>> > From: Oleksandr Gavenko <gavenkoa@gmail.com>
>> > Date: Sun, 18 Nov 2012 23:13:22 +0200
>> > 
>> >   (setq scroll-conservatively 1000)
>> >   (global-hl-line-mode 1)
>> > 
>> > and "C-h i". I press and hold DOWN key. After some time cursor reach end of
>> > frame and then text scroll up but sometimes it seems as text jump down! And I
>> > get fill that text moving have jerks.
>> 
>> This is some bad interaction between scroll-conservatively and
>> window-vscroll, it somehow succeeds to activate code paths that I
>> never before saw in action.
>> 
>> As a temporary work-around, set auto-window-vscroll to nil.  I will
>> try to find a better solution when I have time.
>
> Should be fixed in revision 110927 on the emacs-24 branch.  Please
> test.

I don't familiar with bzr:

  $ bzr up
  $ bzr info -v
  Repository checkout (format: 2a)
  Location:
    repository checkout root: .
          checkout of branch: bzr://bzr.savannah.gnu.org/emacs/trunk/
           shared repository: /home/user/devel/emacs/emacs-bzr

  Related branches:
    parent branch: bzr://bzr.savannah.gnu.org/emacs/trunk/
    submit branch: bzr://bzr.savannah.gnu.org/emacs/trunk/

  In the working tree:
        3541 unchanged
           0 modified
           0 added
           0 removed
           0 renamed
           2 unknown
        1514 ignored
         128 versioned subdirectories

  Branch history:
      110963 revisions
       10078 days old
     first revision: Thu 1985-04-18 00:48:29 +0000
    latest revision: Tue 2012-11-20 14:05:20 -0500

  Repository:
      123726 revisions

If that OK I perform clean build and test this build.

As previously:

  $ _dist/bin/emacs-24.3.50 -Q

  (setq scroll-conservatively 1000)
  (global-hl-line-mode 1)

"C-h i", then hold DOWN key - visually text scrolls up and some times jerks
down/up.

When I look to what happen with text I found some interesting thing which is
based on space between text boundary and window top/bottom (so info menu or
mode line hide of part text).

When (global-hl-line-mode -1) - text aligned to top of window. With "+1" text
some times make align to bottom of window so scroll down on less then half of
font weight pixels (and this happen when we move down and text must scroll
up!!).

So it needn't to hold DOWN, just  (setq scroll-conservatively 1000) and move
point to end of dir info buffer and press several times DOWN.

Sorry for my bad English. I expect you mostly understand that I try to say))

================================================================

Also I found that "(global-hl-line-mode 1)" slow down scrolling in CC-mode
enabled buffers in two or more times. Do I need report a bug?

-- 
Best regards!





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#12927: 24.2; global-hl-line-mode and "scroll-conservatively=1000" take jump up-down the text when hold DOWN key (in *info* buffer).
  2012-11-20 20:36     ` Oleksandr Gavenko
@ 2012-11-20 20:47       ` Eli Zaretskii
  2012-11-21 13:51         ` Stefan Monnier
  2012-11-21 22:14         ` Oleksandr Gavenko
  0 siblings, 2 replies; 8+ messages in thread
From: Eli Zaretskii @ 2012-11-20 20:47 UTC (permalink / raw)
  To: Oleksandr Gavenko; +Cc: 12927

> From: Oleksandr Gavenko <gavenkoa@gmail.com>
> Cc: 12927@debbugs.gnu.org
> Date: Tue, 20 Nov 2012 22:36:58 +0200
> 
> > Should be fixed in revision 110927 on the emacs-24 branch.  Please
> > test.
> 
> I don't familiar with bzr:
> 
>   $ bzr up
>   $ bzr info -v
>   Repository checkout (format: 2a)
>   Location:
>     repository checkout root: .
>           checkout of branch: bzr://bzr.savannah.gnu.org/emacs/trunk/
>            shared repository: /home/user/devel/emacs/emacs-bzr

This is the trunk, not the emacs-24 branch.  I committed the fix to
the emacs-24 branch.  You can wait until the changes from the branch
are merged onto the trunk, and test then.  Or you can checkout the
branch, like so:

  $ cd /home/user/devel/emacs/emacs-bzr
  $ bzr branch bzr://bzr.savannah.gnu.org/emacs/emacs-24

This will create an emacs-24 directory under
/home/user/devel/emacs/emacs-bzr, and you can then build it and try
the fix.

> Also I found that "(global-hl-line-mode 1)" slow down scrolling in CC-mode
> enabled buffers in two or more times. Do I need report a bug?

No, this is expected.  hl-line-mode adds itself to post-command-hook,
and moves its overlay after each command that changes the current
line.  What this does is completely disable the redisplay
optimizations used when only the cursor moves without any other
changes to the text, because moving an overlay requires a thorough
redisplay of the window, which is more expensive.

The only bug report that I can think of is a feature request to move
hl-line-mode into the display engine, because the display engine
knowns very well where's the current line (when it decides where to
display the cursor), and can do this highlighting better and much more
efficiently.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#12927: 24.2; global-hl-line-mode and "scroll-conservatively=1000" take jump up-down the text when hold DOWN key (in *info* buffer).
  2012-11-20 20:47       ` Eli Zaretskii
@ 2012-11-21 13:51         ` Stefan Monnier
  2012-11-21 22:14         ` Oleksandr Gavenko
  1 sibling, 0 replies; 8+ messages in thread
From: Stefan Monnier @ 2012-11-21 13:51 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 12927, Oleksandr Gavenko

>   $ cd /home/user/devel/emacs/emacs-bzr
>   $ bzr branch bzr://bzr.savannah.gnu.org/emacs/emacs-24
> This will create an emacs-24 directory under
> /home/user/devel/emacs/emacs-bzr, and you can then build it and try
> the fix.

He can also just "bzr switch bzr://bzr.savannah.gnu.org/emacs/emacs-24"
If he doesn't have a shared repository, this will be a lot more efficient.

        Stefan





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#12927: 24.2; global-hl-line-mode and "scroll-conservatively=1000" take jump up-down the text when hold DOWN key (in *info* buffer).
  2012-11-20 20:47       ` Eli Zaretskii
  2012-11-21 13:51         ` Stefan Monnier
@ 2012-11-21 22:14         ` Oleksandr Gavenko
  2012-11-22  3:45           ` Eli Zaretskii
  1 sibling, 1 reply; 8+ messages in thread
From: Oleksandr Gavenko @ 2012-11-21 22:14 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 12927

On 2012-11-20, Eli Zaretskii wrote:

>> From: Oleksandr Gavenko
>> 
>> > Should be fixed in revision 110927 on the emacs-24 branch.  Please
>> > test.
>> 
>> I don't familiar with bzr:
>> 
>>   $ bzr up
>>   $ bzr info -v
>>           checkout of branch: bzr://bzr.savannah.gnu.org/emacs/trunk/
>>            shared repository: /home/user/devel/emacs/emacs-bzr
>
> This is the trunk, not the emacs-24 branch.  I committed the fix to
> the emacs-24 branch.  You can wait until the changes from the branch
> are merged onto the trunk, and test then.  Or you can checkout the
> branch, like so:
>
>   $ cd /home/user/devel/emacs/emacs-bzr
>   $ bzr branch bzr://bzr.savannah.gnu.org/emacs/emacs-24
>
I test on 'emacs-24' branch (based on your instruction) and confirm that bug
go away!

>> Also I found that "(global-hl-line-mode 1)" slow down scrolling in CC-mode
>> enabled buffers in two or more times. Do I need report a bug?
>
> No, this is expected.  hl-line-mode adds itself to post-command-hook,
> and moves its overlay after each command that changes the current
> line.  What this does is completely disable the redisplay
> optimizations used when only the cursor moves without any other
> changes to the text, because moving an overlay requires a thorough
> redisplay of the window, which is more expensive.
>
> The only bug report that I can think of is a feature request to move
> hl-line-mode into the display engine, because the display engine
> knowns very well where's the current line (when it decides where to
> display the cursor), and can do this highlighting better and much more
> efficiently.

OK. I would like to see hl-line-mode into the display engine. I would make
appropriate a bug report...

-- 
Best regards!





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#12927: 24.2; global-hl-line-mode and "scroll-conservatively=1000" take jump up-down the text when hold DOWN key (in *info* buffer).
  2012-11-21 22:14         ` Oleksandr Gavenko
@ 2012-11-22  3:45           ` Eli Zaretskii
  0 siblings, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2012-11-22  3:45 UTC (permalink / raw)
  To: Oleksandr Gavenko; +Cc: 12927-done

> From: Oleksandr Gavenko <gavenkoa@gmail.com>
> Cc: 12927@debbugs.gnu.org
> Date: Thu, 22 Nov 2012 00:14:15 +0200
> 
> I test on 'emacs-24' branch (based on your instruction) and confirm that bug
> go away!

Thanks for testing.  I'm closing the bug.

> OK. I would like to see hl-line-mode into the display engine. I would make
> appropriate a bug report...

There's one already...





^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-11-22  3:45 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-18 21:13 bug#12927: 24.2; global-hl-line-mode and "scroll-conservatively=1000" take jump up-down the text when hold DOWN key (in *info* buffer) Oleksandr Gavenko
2012-11-19 16:43 ` Eli Zaretskii
2012-11-20 17:46   ` Eli Zaretskii
2012-11-20 20:36     ` Oleksandr Gavenko
2012-11-20 20:47       ` Eli Zaretskii
2012-11-21 13:51         ` Stefan Monnier
2012-11-21 22:14         ` Oleksandr Gavenko
2012-11-22  3:45           ` Eli Zaretskii

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).