I'm sending a patch for lisp/pixel-scroll.el. This patch lets mouse wheel scroll vertically by number of pixels returned by `frame-char-height' as suggested as below. https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00385.html Also, by considering response of display engine as suggested as below, this patch offers stable vertically scrolling even when window is horizontally scrolled. https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00621.html ChangeLog entry and patch to NEWS also are attached. * ChangeLog 2017-10-21 Tak Kunihiro Scroll vertically by number of pixels returned by `frame-char-height' with or without horizontally scrolled * lisp/pixel-scroll.el (pixel-resolution-fine-flag): When t, scroll pixels returned by `frame-char-height'. (pixel-scroll-up): Scroll by `frame-char-height'. Fix algorithm to move cursor to avoid unexpected jump. (pixel-scroll-down): Scroll by `frame-char-height'. (pixel-bob-at-top-p): Consider number of pixels that is about to scroll. (pixel-posn-y-at-point): Consider existence of an overlay string. Return nil when horizontally scrolled. (pixel-point-at-top-p): Consider number of pixels that is about to scroll. Use different algorithm when horizontally scrolled. (pixel-point-at-bottom-p): Consider number of pixels that is about to scroll. Return nil when horizontally scrolled. (pixel-scroll-pixel-down): Move cursor when horizontally scrolled. (pixel--whistlestop-line-up): Change cosmetics and move cursor when horizontally scrolled. (pixel-line-height): Call `pixel-visual-line-height' instead of `line-pixel-height'. (pixel-visual-line-height): New function to return height in pixels of text line where cursor is with or without horizontally scrolled, considering response of display engine. (pixel-visible-pos-in-window): New function to return position of a char shown on text line where cursor is on screen with or without horizontally scrolled.