bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#5924: 23.1; accept-process-output switching current-buffer


From: Uday S Reddy
Subject: bug#5924: 23.1; accept-process-output switching current-buffer
Date: Thu, 20 May 2010 10:50:28 +0100

Stefan Monnier writes:

> I've just installed a change in the Emacs Bzr trunk so that the
> current-buffer is preserved when running the Elisp code of process
> filters and sentinels.  If you can try this code (or try the patch
> below) to see if it fixes your problem, it would be helpful.

Hi Stephan, Sorry for the delay in getting back to you.  I have now
compiled and tried the latest bzr version (revno 100368).  But, it
seems to that the problem persists.

Here is my current proxy for accept-process-output:

  (defsubst vm-accept-process-output (process)
    "Accept output from PROCESS.  The variable `vm-imap-server-timeout'
  specifies how many seconds to wait before timing out.  If a timeout
  occurs, typically VM cannot proceed."
    ;; protect against possible buffer change due to bug in Emacs
    (let ((buf (current-buffer))
          (got-output (accept-process-output process vm-imap-server-timeout)))
      (if got-output
          (when (not (equal (current-buffer) buf))
            (if (string-lessp "24" emacs-version)
                ;; the Emacs bug should have been fixed
                (message 
                 "Emacs process output error: Buffer changed to %s" 
                 (current-buffer)))
            ;; recover from the bug
            (set-buffer buf))
        (vm-imap-protocol-error "No response from the IMAP server"))))

and the error came up pretty much the first time I tried it:

  Emacs process output error: Buffer changed to saved IMAP mailhost.c 10:31:09

The current-buffer should have been "IMAP mailhost.c 10:31.40".  But
it switched to the "IMAP mailhost.c 10:31:09" (call it the "old
buffer") because its process sent some output.

I am attaching the contents of the old buffer.  I think the last line
would have been output while the current accept-process-output was
done.  (Note that this line came in a few seconds after the current
process got started.)

So, there appears to be some deeper problem than originally thought.

Cheers,
Uday

3RhcnRpbmcgSU1BUCBzZXNzaW9uIFRodSBNYXkgMjAgMTA6MzE6MDkgMjAxMA0KY29ubmVjdGlu
ZyB0byBtYWlsaG9zdC5jcy5iaGFtLmFjLnVrOjE0Mw0KY29ubmVjdGVkIGZvciBmZXRjaA0KKiBP
SyBJTUFQNCBSZWFkeSBpbWFwIDAwMDFjZGYzDQ0KVk0gQ0FQQUJJTElUWQ0NCiogQ0FQQUJJTElU
WSBJTUFQNCBJTUFQNFJFVjENDQpWTSBPSyBDQVBBQklMSVRZDQ0KVk0gTE9HSU4gPHBhcmFtZXRl
cnMgb21pdHRlZD4NDQpWTSBPSyBMb2dnZWQgaW4uDQ0KVk0gU0VMRUNUICJJTkJPWCINDQoqIEZM
QUdTIChcQW5zd2VyZWQgXEZsYWdnZWQgXERlbGV0ZWQgXFNlZW4gXERyYWZ0IGZvcndhcmRlZCBm
aWxlZCByZWRpc3RyaWJ1dGVkICEgJEZvcndhcmRlZCA3MzUwIDczNTQgNzM5MSBzaWduZWQgKiBh
Y2NlcHQgYWN0aW9uIHBsYWdpYXJpc20gSnVuayBOb25KdW5rICFAKQ0NCiogT0sgW1BFUk1BTkVO
VEZMQUdTIChcQW5zd2VyZWQgXEZsYWdnZWQgXERlbGV0ZWQgXFNlZW4gXERyYWZ0IGZvcndhcmRl
ZCBmaWxlZCByZWRpc3RyaWJ1dGVkICEgJEZvcndhcmRlZCA3MzUwIDczNTQgNzM5MSBzaWduZWQg
KiBhY2NlcHQgYWN0aW9uIHBsYWdpYXJpc20gSnVuayBOb25KdW5rICFAIFwqKV0gRmxhZ3MgcGVy
bWl0dGVkLg0NCiogMjY0OCBFWElTVFMNDQoqIDAgUkVDRU5UDQ0KKiBPSyBbVUlEVkFMSURJVFkg
MTIxNzI0MzE0Nl0gVUlEcyB2YWxpZA0NCiogT0sgW1VJRE5FWFQgMjY2MDBdIFByZWRpY3RlZCBu
ZXh0IFVJRA0NClZNIE9LIFtSRUFELVdSSVRFXSBTZWxlY3QgY29tcGxldGVkLg0NClZNIFVJRCBG
RVRDSCAyNjQ3MToyNjQ3MSAoUkZDODIyLlNJWkUpDQ0KKiAyNTk0IEZFVENIIChSRkM4MjIuU0la
RSA1ODE3NSBVSUQgMjY0NzEpDQ0KVk0gT0sgRmV0Y2ggY29tcGxldGVkLg0NClZNIFVJRCBGRVRD
SCAyNjQ3MToyNjQ3MSAoQk9EWS5QRUVLW10pDQ0KKiAyNTk0IEZFVENIIChVSUQgMjY0NzEgQk9E
WVtdIHs1ODE3NX0NDQopDQ0KVk0gT0sgRmV0Y2ggY29tcGxldGVkLg0NClZNIE5PT1ANDQpWTSBP
SyBOT09QIGNvbXBsZXRlZC4NDQpWTSBVSUQgRkVUQ0ggMjY1ODI6MjY1ODIgKFJGQzgyMi5TSVpF
KQ0NCiogMjYzOCBGRVRDSCAoUkZDODIyLlNJWkUgMjE4MSBVSUQgMjY1ODIpDQ0KVk0gT0sgRmV0
Y2ggY29tcGxldGVkLg0NClZNIFVJRCBGRVRDSCAyNjU4MjoyNjU4MiAoQk9EWS5QRUVLW10pDQ0K
KiAyNjM4IEZFVENIIChVSUQgMjY1ODIgQk9EWVtdIHsyMTgxfQ0NCikNDQpWTSBPSyBGZXRjaCBj
b21wbGV0ZWQuDQ0KVk0gTk9PUA0NClZNIE9LIE5PT1AgY29tcGxldGVkLg0NClZNIFVJRCBGRVRD
SCAyNjQ3MToyNjQ3MSAoUkZDODIyLlNJWkUpDQ0KKiAyNTk0IEZFVENIIChSRkM4MjIuU0laRSA1
ODE3NSBVSUQgMjY0NzEpDQ0KVk0gT 0sgRmV0Y2ggY29tcGxldGVkLg0NClZNIFVJRCBGRVRDSCAy
NjQ3MToyNjQ3MSAoQk9EWS5QRUVLW10pDQ0KKiAyNTk0IEZFVENIIChVSUQgMjY0NzEgQk9EWVtd
IHs1ODE3NX0NDQopDQ0KVk0gT0sgRmV0Y2ggY29tcGxldGVkLg0NClZNIE5PT1ANDQpWTSBPSyBO
T09QIGNvbXBsZXRlZC4NDQpWTSBVSUQgRkVUQ0ggMjY1Nzg6MjY1NzggKFJGQzgyMi5TSVpFKQ0N
CiogMjYzNSBGRVRDSCAoUkZDODIyLlNJWkUgNTIzODggVUlEIDI2NTc4KQ0NClZNIE9LIEZldGNo
IGNvbXBsZXRlZC4NDQpWTSBVSUQgRkVUQ0ggMjY1Nzg6MjY1NzggKEJPRFkuUEVFS1tdKQ0NCiog
MjYzNSBGRVRDSCAoVUlEIDI2NTc4IEJPRFlbXSB7NTIzODh9DQ0KKQ0NClZNIE9LIEZldGNoIGNv
bXBsZXRlZC4NDQpWTSBMT0dPVVQNDQoqIEJZRSBMb2dnaW5nIG91dA0NClZNIE9LIExvZ291dCBj
b21wbGV0ZWQuDQ0KDQpQcm9jZXNzIElNQVA8Mj4gY29ubmVjdGlvbiBicm9rZW4gYnkgcmVtb3Rl
IHBlZXINCmVuZGluZyBJTUFQIHNlc3Npb24gVGh1IE1heSAyMCAxMDozMTo0MyAyMDEw
starting IMAP session Thu May 20 10:31:09 2010
connecting to mailhost.cs.bham.ac.uk:143
connected for fetch
* OK IMAP4 Ready imap 0001cdf3

VM CAPABILITY

* CAPABILITY IMAP4 IMAP4REV1

VM OK CAPABILITY

VM LOGIN <parameters omitted>

VM OK Logged in.

VM SELECT "INBOX"

* FLAGS (\Answered \Flagged \Deleted \Seen \Draft forwarded filed redistributed 
! $Forwarded 7350 7354 7391 signed * accept action plagiarism Junk NonJunk !@)

* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft forwarded filed 
redistributed ! $Forwarded 7350 7354 7391 signed * accept action plagiarism 
Junk NonJunk !@ \*)] Flags permitted.

* 2648 EXISTS

* 0 RECENT

* OK [UIDVALIDITY 1217243146] UIDs valid

* OK [UIDNEXT 26600] Predicted next UID

VM OK [READ-WRITE] Select completed.

VM UID FETCH 26471:26471 (RFC822.SIZE)

* 2594 FETCH (RFC822.SIZE 58175 UID 26471)

VM OK Fetch completed.

VM UID FETCH 26471:26471 (BODY.PEEK[])

* 2594 FETCH (UID 26471 BODY[] {58175}

)

VM OK Fetch completed.

VM NOOP

VM OK NOOP completed.

VM UID FETCH 26582:26582 (RFC822.SIZE)

* 2638 FETCH (RFC822.SIZE 2181 UID 26582)

VM OK Fetch completed.

VM UID FETCH 26582:26582 (BODY.PEEK[])

* 2638 FETCH (UID 26582 BODY[] {2181}

)

VM OK Fetch completed.

VM NOOP

VM OK NOOP completed.

VM UID FETCH 26471:26471 (RFC822.SIZE)

* 2594 FETCH (RFC822.SIZE 58175 UID 26471)

VM OK Fetch completed.

VM UID FETCH 26471:26471 (BODY.PEEK[])

* 2594 FETCH (UID 26471 BODY[] {58175}

)

VM OK Fetch completed.

VM NOOP

VM OK NOOP completed.

VM UID FETCH 26578:26578 (RFC822.SIZE)

* 2635 FETCH (RFC822.SIZE 52388 UID 26578)

VM OK Fetch completed.

VM UID FETCH 26578:26578 (BODY.PEEK[])

* 2635 FETCH (UID 26578 BODY[] {52388}

)

VM OK Fetch completed.

VM LOGOUT

* BYE Logging out

VM OK Logout completed.


Process IMAP<2> connection broken by remote peer
ending IMAP session Thu May 20 10:31:43 2010

reply via email to

[Prev in Thread] Current Thread [Next in Thread]