GNU bug report logs - #16196
24.3.50; Disable ding when scrolling

Previous Next

Package: emacs;

Reported by: Jan Djärv <jan.h.d <at> swipnet.se>

Date: Fri, 20 Dec 2013 06:10:02 UTC

Severity: minor

Tags: patch

Found in version 24.3.50

Fixed in version 27.1

Done: Stefan Kangas <stefan <at> marxist.se>

Bug is archived. No further changes may be made.

Full log


Message #14 received at 16196 <at> debbugs.gnu.org (full text, mbox):

From: Jan Djärv <jan.h.d <at> swipnet.se>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: "16196 <at> debbugs.gnu.org" <16196 <at> debbugs.gnu.org>
Subject: Re: bug#16196: 24.3.50; Disable ding when scrolling
Date: Fri, 20 Dec 2013 11:32:40 +0100
Hello. 

> 20 dec 2013 kl. 11:26 skrev Jan Djärv <jan.h.d <at> swipnet.se>:
> 
> Hello. 
> 
> 20 dec 2013 kl. 09:56 skrev Eli Zaretskii <eliz <at> gnu.org>:
> 
>>> From: Jan Djärv <jan.h.d <at> swipnet.se>
>>> Date: Fri, 20 Dec 2013 07:08:37 +0100
>>> 
>>> I think Emacs should by default not beep at all when scrolling and no movement can be done.
>> 
>> This could be hard to implement.  Most scrolling commands just examine
>> the text around point, and set the window-start for the next
>> redisplay, so they don't really know when no movement can be done.
>> Thus, the exact conditions for bitching "End of buffer" are not at all
>> what you could imagine, and not easily correlated with the situation
>> you describe.  For example, the next-line and previous-line commands
>> signal these errors when they find they are unable to scroll text,
>> something that might be utterly unrelated to hitting end of buffer.
> 
> I have in my .emacs:
> 
> (setq mwheel-scroll-up-function
>     '(lambda (amt)
>        (if (< (window-end) (point-max)) (scroll-up amt))))
> 
> (setq mwheel-scroll-down-function
>     '(lambda (amt)
>        (if (> (window-start) (point-min)) (scroll-down amt))))
> 
> This does what this bug report talks about, except in the horizontal direction. So it can't be that hard. 

On the C level I think it is a matter of not calling xsignal0 in window_scroll_(line|pixel)_based in window.c. 

    Jan D. 

> 
>> 
>>> It should just ignore it and do nothing, like most applications do.
>> 
>> Well, "do nothing" is something Emacs cannot easily do in this case,
>> since the part that "does nothing" is redisplay, which has no idea
>> about the scrolling command that just ran.
>> 
>>> At the very least there should be an option to turn off scrollrelated beeping.
>> 
>> This should be much easier to implement, although you may be surprised
>> to see in how many places we throw that particular error.  (Hint: grep
>> the Lisp sources for "'end-of-file".)
>> 
>> Patches are welcome, as usual.




This bug report was last modified 5 years and 232 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.