GNU bug report logs -
#29737
27.0.50; pixel-scroll-mode is laggy
Previous Next
Reported by: Valentin Ignatyev <valentjedi <at> gmail.com>
Date: Sat, 16 Dec 2017 18:12:01 UTC
Severity: normal
Found in version 27.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #17 received at 29737 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> While I see that scrolling became pixel-wise indeed, it is also very
> laggy. CPU blows up to 100% and ui hangs and freezes. It works ok if
> I scroll slowly though. It happens with all my plugins and
> customizations and if I run emacs with -Q flag. My OS is Arch Linux
> and I also have HiDPI screen (it's MacBook 11,4, mid-2015).
On the previous commit <8eb6870be690128fb1cbc012c55093813c39830c>, I
revised two functions. I fixed `pixel-scroll-down' but I broke
`pixel-scroll-up'. I apologize for the careless commit.
With the current and broken `pixel-scroll-up', when EOB is shown on
top of the screen, emacs hangs (or goes in infinite while loop). The
pixel-scroll-up should be reverted to commit
<1bda71ec3b11eeb4d06c3da094a3cb21bac18d5c>.
I'm sending ChangeLog and a patch relative to the current master.
* ChangeLog
Fix vertical cursor motion in pixel-scroll.el
* lisp/pixel-scroll.el (pixel-scroll-up): Do not try to move cursor down when EOB
is shown at the top. This function is reverted to commit
1bda71ec3b11eeb4d06c3da094a3cb21bac18d5c. (bug#29737)
[pixel-scroll.el.diff (text/x-patch, inline)]
diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el
index f64a439..7024487
--- a/lisp/pixel-scroll.el
+++ b/lisp/pixel-scroll.el
@@ -110,11 +110,11 @@ This is an alternative of `scroll-up'. Scope moves downward."
pixel-resolution-fine-flag
(frame-char-height))
(pixel-line-height))))
- (while (pixel-point-at-top-p amt) ; prevent too late (multi tries)
- (vertical-motion 1)) ; move point downward
- (if (pixel-eob-at-top-p) ; when end-of-the-buffer is close
- (scroll-up 1) ; relay on robust method
- (pixel-scroll-pixel-up amt))))) ; move scope downward
+ (if (pixel-eob-at-top-p) ; when end-of-the-buffer is close
+ (scroll-up 1) ; relay on robust method
+ (while (pixel-point-at-top-p amt) ; prevent too late (multi tries)
+ (vertical-motion 1)) ; move point downward
+ (pixel-scroll-pixel-up amt))))) ; move scope downward
(defun pixel-scroll-down (&optional arg)
"Scroll text of selected window down ARG lines.
This bug report was last modified 7 years and 223 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.