aspiers / smooth-scrolling

Emacs smooth scrolling package
107 stars 14 forks source link

Possible incompatibility with eww #27

Open ghost opened 6 years ago

ghost commented 6 years ago

Description

In eww, with smooth-scrolling-mode on, <backspace> (or, more accurately, scroll-down-command) does not seem work as I might expect when reaching the bottom of a page. If I turn smooth-scrolling-mode back off, <backspace> works again as expected.

Expected behavior

  1. Reach the bottom of a page
  2. Hit <backspace>
  3. Cursor moves up

Observed behavior

  1. Reach the bottom of a page
  2. Hit <backspace>
  3. Cursor moves up a few lines
  4. Hit <backspace> a few more times
  5. Cursor returns to where it was in step 3

What happens during step 4 changes depending on the page. Sometimes the cursor will move to the bottom of the page, sometimes it will disappear entirely from view. The cursor consistently, however, returns to where it was in step 3 after a certain number of <backspace> presses.

Environment

I have not changed any of my mappings for eww, nor any of my settings for smooth-scrolling (other than turning it on and off).

Here is the partial output of C-h k <backspace>:

DEL (translated from <backspace>) runs the command scroll-down-command
(found in eww-mode-map), which is an interactive compiled Lisp
function in ‘window.el’.

It is bound to <delete>, DEL, S-SPC, <prior>, M-v.

And here is the partial output of C-h k SPC:

SPC runs the command scroll-up-command (found in eww-mode-map), which
is an interactive compiled Lisp function in ‘window.el’.

It is bound to SPC, C-v, <next>.

Here is my testing system:

ghost commented 6 years ago

This does not seem to occur when I set smooth-scroll-margin to a low number, like 1 or 2. I actually find that I prefer this behavior over the default, so I will just set that in my init file. Attribution: I got the idea from #23; thanks.

aspiers commented 5 months ago

Thanks for the report and sorry for the very slow response. Please see #34 - would love to get your feedback!