<<< Date Index >>>     <<< Thread Index >>>

mutt/2225: wish: Use $pop_delete while viewing a POP box



>Number:         2225
>Notify-List:    
>Category:       mutt
>Synopsis:       wish: Use $pop_delete while viewing a POP box
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    mutt-dev
>State:          open
>Keywords:       
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Wed May 10 11:05:04 +0200 2006
>Originator:     TAKAHASHI Tamotsu
>Release:        1.5.11 and current
>Organization:
http://www.momonga-linux.org/
>Environment:
OpenBSD 3.9

POP server: InterMail (of plala.or.jp)

>Description:

Mutt deletes POP messages without asking me when it timeouts.
If mutt's POP feature has a bug (and it really does - but it's
another PR), I lose messages without realizing that!

Mutt already has $pop_delete. Please use it!

>How-To-Repeat:

0. Press 'c'.
1. Input some POP mailbox name.
2. (A bug occurs)
3. (POP connection timeouts)
4. The mailbox loses messages.


>Fix:
Unknown

But I guess something like this will do:

Index: pop.c
===================================================================
RCS file: /home/roessler/cvs/mutt/pop.c,v
retrieving revision 3.9
diff -p -u -b -r3.9 pop.c
--- pop.c       21 Oct 2005 04:35:37 -0000      3.9
+++ pop.c       10 May 2006 08:35:47 -0000
@@ -465,6 +465,11 @@ int pop_sync_mailbox (CONTEXT *ctx, int 
     if (pop_reconnect (ctx) < 0)
       return -1;
 
+    /* Ask me even if POPDELETE == M_NO */
+    if ((quadoption (OPT_POPDELETE) == M_YES) ||
+        (mutt_yesorno (_("Delete messages from server?"),
+                       (quadoption (OPT_POPDELETE) == M_ASKYES)) == M_YES))
+    {
     mutt_message (_("Marking %d messages deleted..."), ctx->deleted);
 
     for (i = 0, ret = 0; ret == 0 && i < ctx->msgcount; i++)
@@ -475,6 +480,9 @@ int pop_sync_mailbox (CONTEXT *ctx, int 
        ret = pop_query (pop_data, buf, sizeof (buf));
       }
     }
+    }
+    else
+      ret = 0;
 
     if (ret == 0)
     {

>Add-To-Audit-Trail:

>Unformatted:
 ----gnatsweb-attachment----
 Content-Type: application/octet-stream; name="patch-1.5.11cvs.tamo.popdelete.1"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename="patch-1.5.11cvs.tamo.popdelete.1"
 
 PyBzZW5kMi5jCkluZGV4OiBwb3AuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9yb2Vzc2xl
 ci9jdnMvbXV0dC9wb3AuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMy45CmRpZmYgLXAgLXUgLXIz
 LjkgcG9wLmMKLS0tIHBvcC5jCTIxIE9jdCAyMDA1IDA0OjM1OjM3IC0wMDAwCTMuOQorKysgcG9w
 LmMJMTAgTWF5IDIwMDYgMDg6MzQ6NTcgLTAwMDAKQEAgLTQ2NSwxNiArNDY1LDI0IEBAIGludCBw
 b3Bfc3luY19tYWlsYm94IChDT05URVhUICpjdHgsIGludCAKICAgICBpZiAocG9wX3JlY29ubmVj
 dCAoY3R4KSA8IDApCiAgICAgICByZXR1cm4gLTE7CiAKLSAgICBtdXR0X21lc3NhZ2UgKF8oIk1h
 cmtpbmcgJWQgbWVzc2FnZXMgZGVsZXRlZC4uLiIpLCBjdHgtPmRlbGV0ZWQpOwotCi0gICAgZm9y
 IChpID0gMCwgcmV0ID0gMDsgcmV0ID09IDAgJiYgaSA8IGN0eC0+bXNnY291bnQ7IGkrKykKKyAg
 ICAvKiBBc2sgbWUgZXZlbiBpZiBQT1BERUxFVEUgPT0gTV9OTyAqLworICAgIGlmICgocXVhZG9w
 dGlvbiAoT1BUX1BPUERFTEVURSkgPT0gTV9ZRVMpIHx8CisgICAgICAgIChtdXR0X3llc29ybm8g
 KF8oIkRlbGV0ZSBtZXNzYWdlcyBmcm9tIHNlcnZlcj8iKSwKKyAgICAgICAgICAgICAgICAgICAg
 ICAgKHF1YWRvcHRpb24gKE9QVF9QT1BERUxFVEUpID09IE1fQVNLWUVTKSkgPT0gTV9ZRVMpKQog
 ICAgIHsKLSAgICAgIGlmIChjdHgtPmhkcnNbaV0tPmRlbGV0ZWQpCisgICAgICBtdXR0X21lc3Nh
 Z2UgKF8oIk1hcmtpbmcgJWQgbWVzc2FnZXMgZGVsZXRlZC4uLiIpLCBjdHgtPmRlbGV0ZWQpOwor
 CisgICAgICBmb3IgKGkgPSAwLCByZXQgPSAwOyByZXQgPT0gMCAmJiBpIDwgY3R4LT5tc2djb3Vu
 dDsgaSsrKQogICAgICAgewotCXNucHJpbnRmIChidWYsIHNpemVvZiAoYnVmKSwgIkRFTEUgJWRc
 clxuIiwgY3R4LT5oZHJzW2ldLT5yZWZubyk7Ci0JcmV0ID0gcG9wX3F1ZXJ5IChwb3BfZGF0YSwg
 YnVmLCBzaXplb2YgKGJ1ZikpOworICAgICAgICBpZiAoY3R4LT5oZHJzW2ldLT5kZWxldGVkKQor
 ICAgICAgICB7CisgICAgICAgICAgc25wcmludGYgKGJ1Ziwgc2l6ZW9mIChidWYpLCAiREVMRSAl
 ZFxyXG4iLCBjdHgtPmhkcnNbaV0tPnJlZm5vKTsKKyAgICAgICAgICByZXQgPSBwb3BfcXVlcnkg
 KHBvcF9kYXRhLCBidWYsIHNpemVvZiAoYnVmKSk7CisgICAgICAgIH0KICAgICAgIH0KICAgICB9
 CisgICAgZWxzZQorICAgICAgcmV0ID0gMDsKIAogICAgIGlmIChyZXQgPT0gMCkKICAgICB7Cg==