Subject: bug#43380: 28.0.50; [PATCH] Set mwheel default scroll value to 1

From: Theodor Thornhill <[email-masked]>
Date: Sun, 13 Sep 2020 20:26:16 +0200

Hello!

In the spirit of moving towards a more "modern" emacs, I'll address with
a patch the thing that actually confuses me personally the most.  Also,
it seems like an (dare I say it) uncontroversial change: set default
scroll value to 1.  It is mentioned as a small step towards the "smooth"
scrolling.  Is there some other places that needs to be updated?

Have a nice day!
Theodor Thornhill

diff --git a/etc/NEWS b/etc/NEWS
index db2adcec15..7e95b55d0b 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -127,6 +127,11 @@ the mouse cursor is on the scroll bars, fringes, margins, header line,
 and mode line.  ('mwheel-mode' is enabled by default on most graphical
 displays.)
 
+---
+** Mouse wheel scrolling now defaults to one line at a time
+Default value is changed as discussed in etc/TODO.
+Old default of five lines at a time is now bound to Shift modifier.
+
 ---
 ** The default value of 'frame-title-format' and icon-title-format' has changed.
 These variables are used to display the title bar of visible frames
diff --git a/etc/TODO b/etc/TODO
index 152a29964f..b445b67360 100644
--- a/etc/TODO
+++ b/etc/TODO
@@ -924,17 +924,14 @@ features of that interface could be implemented NS.
 
 **** Smooth scrolling -- maybe not a good idea
 Today, by default, scrolling with a trackpad makes the text move in
-steps of five lines.  (Scrolling with SHIFT scrolls one line at a time.)
+steps of one line.  (Scrolling with SHIFT scrolls five lines at a time.)
 
 The "mac" port provides smooth, pixel-based, scrolling.  This is a very
-popular features.  However, there are drawbacks to this method: what
+popular feature.  However, there are drawbacks to this method: what
 happens if only a fraction of a line is visible at the top of a
 window, is the partially visible text considered part of the window or
 not?  (Technically, what should 'window-start' return.)
 
-An alternative would be to make one-line scrolling the default on NS
-(or in Emacs in general).
-
 Note: This feature might not be allowed to be implemented until also
 implemented in Emacs for a free system.
 
diff --git a/lisp/mwheel.el b/lisp/mwheel.el
index 3b93bd1d5e..0e65ba883c 100644
--- a/lisp/mwheel.el
+++ b/lisp/mwheel.el
@@ -85,7 +85,7 @@ mouse-wheel-inhibit-click-time
   :type 'number)
 
 (defcustom mouse-wheel-scroll-amount
-  '(5 ((shift) . 1) ((meta) . nil) ((control) . text-scale))
+  '(1 ((shift) . 5) ((meta) . nil) ((control) . text-scale))
   "Amount to scroll windows by when spinning the mouse wheel.
 This is an alist mapping the modifier key to the amount to scroll when
 the wheel is moved with the modifier key depressed.
@@ -125,7 +125,7 @@ mouse-wheel-scroll-amount
                     (float :tag "Scroll fraction of window")
                     (const :tag "Change face size" :value text-scale)))))
   :set 'mouse-wheel-change-button
-  :version "27.1")
+  :version "28.1")
 
 (defcustom mouse-wheel-progressive-speed t
   "If non-nil, the faster the user moves the wheel, the faster the scrolling.