Subject: Re: bug#9831: cause of bug found! [PATCH]

From: Mark Lillibridge <[email-masked]>
Date: Wed, 26 Oct 2011 19:53:58 -0700

>   >     Sorry, more background.  The bug OP and I am reporting is as
>   > follows: we have two Rmail buffers, say A and B, each with summary
>   > buffers.  However, only A and it's summary are displayed in windows.  We
>   > then output the current message from A to B via 'o'.  The bug is that at
>   > this point the summary for B becomes displayed when it should not.
>  
>  I'm probably too silly to understand.  John was talking about "o" not
>  doing the right thing, but IIUC "o" calls `rmail-output' and not
>  `rmail-summary-output' in his case.  At least that's what I deduct from
>  his "When reading mail o writes the message to another file, or buffer
>  if it is loaded" and the doc-string of `rmail-output' saying "Append
>  this message to mail file FILE-NAME".  Then John says that "It also
>  changes to that buffer and this seriously interferes with work flow, as
>  it is inconsistent with when the file is not in a buffer" but
>  unfortunately I don't understand what "changes to that buffer" means in
>  this context.

    Yes, 'o' calls rmail-output from an Rmail buffer and
rmail-summary-output from the associated summary buffer.  Both suffer
from the bug we are talking about.

    What John means by "changes to that buffer" is that his window
showing rmail-buffer A changes to a *different* rmail-buffer, namely the
one he was outputting the message to.  Note that this buffer change does
not occur when the targeted rmail file is not held in a buffer, hence
John's comments about inconsistency.

>   > but because of the bug if this summary was produced by rmail-summary, it
>   > will be displayed.
>   >
>   >     Why? rmail-update-summary makes a saved function call (depending on
>   > the filtering requested, a different call is necessary to rebuild the
>   > summary) to update the summary.  If the summary was originally created via
>   > rmail-summary, then the saved call is (rmail-summary), which because of
>   > the bug displays the summary.
>   >
>   >     Why?  Because someone incorrectly added code to display the summary
>   > buffer on summary update to rmail-summary.
>  
>  According to our Logs `rmail-update-summary' hasn't been changed for
>  many years.

    I never said that function got changed; remember that it is an
indirection function.  One of the functions it can call, namely
rmail-summary, has been changed since Rmail 22.  I don't have convenient
access to the source control system so I can't tell you when that change
was made.

>  I still suppose your's is a different bug.  But I suspect that any of
>  these bugs may have its cause in a recent change of the buffer display
>  routines.  Unfortunately, I'm not of much help here since I don't use
>  rmail.

    Let's ask John if my patch makes his bug go away.  It certainly
makes mine go way.

- Mark