Subject: Re: Scrolling bug with word-wrap in emacs -nw

From: Antoine Levitt <[email-masked]>
Date: Sat, 24 Dec 2011 18:04:03 +0100

24/12/11 17:32, Eli Zaretskii
>> From: Antoine Levitt <[email-masked]>
>> Cc: [email-masked],  [email-masked]
>> Date: Sat, 24 Dec 2011 16:29:56 +0100
>> 
>> > Can you copy-paste the exact text you type into the ERC window to
>> > reproduce this bug, starting with the connection, and everything you
>> > do afterwards?
>> 
>> Alright. So emacs -Q -nw (the -nw is important). M-x erc RET RET RET
>> RET, connect to freenode, you get to the server window. Type
>> 
>> /join #somethingtest RET, you get to the channel window.
>> 
>> M-: (setq word-wrap t) RET
>> M-x erc-scrolltobottom-enable RET
>> 
>> http://wowthisislongveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylong.com RET
>> a RET
>> a RET
>> ... etc until end of buffer. Then point goes to top, and the scrolling
>> doesn't work anymore.
>> 
>> I verified with latest trunk, I still see this.
>
> Yes, I see it as well, but it's a bug in erc.  "(elisp)Window Hooks"
> says:
>
>  -- Variable: window-scroll-functions
>      [...]
>      *Warning:* don't use this feature to alter the way the window is
>      scrolled.  It's not designed for that, and such use probably won't
>      work.
>
> But erc does precisely that which the manual says not to do.  It
> shouldn't.
>
> Incidentally, all this trickery is no longer needed with Emacs 24:
> just setting scroll-conservatively to a value larger than 100 will do
> the job nicely and without any problems.

So, should erc-scrollbottom be changed? ERC development seems a bit
dead.

Only using scroll-conservatively instead of erc-scrolltobottom has a few
disadvantages. erc-scrolltobottom has the advantage that one can never
see past the end of a buffer, similar to other IRC clients (and indeed,
text editors). With scroll-conservatively, if a window has say 2/3 the
height of the buffer, scrolling up and down results in one seeing the
bottom of the buffer around the middle of the window.

Actually, this is a behavior I'd like for emacs as a whole, to make it
behave more like other editors that never display anything past the end
of text. Is there any way to do it, some other variable one could set in
addition to scroll-conservatively?