Subject: Re: bug#858: Conflict between ERC mode tracking and ibuffer window shrinking

From: "Antoine Levitt" <[email-masked]>
Date: Fri, 5 Sep 2008 01:09:37 +0200

My suspicion was wrong, the binding doesn't change anything. I just said
that by looking at the comment, but didn't try. Sorry about that.
However, (defun erc-scroll-to-bottom (window display-start) nil) removes the
bug.
The bug should be reproducable with emacs -Q, the ibuffer configuration
lines I gave in the first bug report, and scroll-to-bottom mode on. I'm
using latest CVS, the bug also happens with a build from july.
Best of luck
Antoine
2008/9/5 John Paul Wallington <[email-masked]>

> > Hi,
>
> Hi Antoine,
>
> > I did some testing, and the bug was not in tracker as I suspected, it's
> in
> > scrolltobottom, in erc-goodies.el. This should be much easier for you to
> > debug: it's only a few lines long. I strongly suspect the part following
> > this comment is responsible :
> >       ;; Temporarily bind resize-mini-windows to nil so that users who
> have
> > it
> >       ;; set to a non-nil value will not suffer from premature minibuffer
> >       ;; shrinkage due to the below recenter call.  I have no idea why
> this
> >       ;; works, but it solves the problem, and has no negative side
> effects.
> >       ;; (Fran Litterio, 2003/01/07)
> >
> > Looks like it does have side effects after all :-)
>
> Sorry, I'm having difficulties reproducing the bug.
>
> Could you try getting rid of the code that binds
> `resize-mini-windows', perhaps using the function below, and test
> whether your suspicion is correct?
>
>
> (defun erc-scroll-to-bottom (window display-start)
>  "Changed to see whether not let binding `resize-mini-windows' to nil
> doesn't cause the bug."
>  (if (window-live-p window)
>      (erc-with-selected-window window
>        (save-restriction
>          (widen)
>          (when (and erc-insert-marker
>                     ;; we're editing a line. Scroll.
>                     (> (point) erc-insert-marker))
>            (save-excursion
>              (goto-char (point-max))
>              (recenter (or erc-input-line-position -1))
>              (sit-for 0)))))))
>