From 3cba56888656227280754595f4715258d6c29355 Mon Sep 17 00:00:00 2001
From: Po Lu <luangruo@yahoo.com>
Date: Tue, 30 Nov 2021 14:05:18 +0800
Subject: [PATCH] Fix annoying bell rings when pixel scrolling to buffer limits

* lisp/pixel-scroll.el (pixel-scroll-precision): Don't ding at
buffer limits.
---
 lisp/pixel-scroll.el | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el
index 888320cf1ae..1af292139ea 100644
--- a/lisp/pixel-scroll.el
+++ b/lisp/pixel-scroll.el
@@ -480,9 +480,15 @@ wheel."
           (if (> (abs delta) (window-text-height window t))
               (mwheel-scroll event nil)
             (with-selected-window window
-              (if (< delta 0)
-	          (pixel-scroll-precision-scroll-down (- delta))
-                (pixel-scroll-precision-scroll-up delta)))))
+              (condition-case nil
+                  (if (< delta 0)
+	              (pixel-scroll-precision-scroll-down (- delta))
+                    (pixel-scroll-precision-scroll-up delta))
+                ;; Do not ding at buffer limits.  Show a message instead.
+                (beginning-of-buffer
+                 (message (error-message-string '(beginning-of-buffer))))
+                (end-of-buffer
+                 (message (error-message-string '(end-of-buffer))))))))
       (mwheel-scroll event nil))))
 
 ;;;###autoload
-- 
2.39.5